$ od -c -N 50000 [_CD8_]<ifs>IfsFileSys.dm!2
0000000  377  \0  \0   I   f   s   O   p   e   n   .   b   c   p   l  \0
0000020  373 225   ( 302 200  \0  \0 376 001  \0   q 331   /   /       I
0000040    f   s   O   p   e   n   .   b   c   p   l       -   -       O
0000060    p   e   n   /   C   l   o   s   e       a   n       I   F   S
0000100   \r   /   /       C   o   p   y   r   i   g   h   t       X   e
0000120    r   o   x       C   o   r   p   o   r   a   t   i   o   n    
0000140    1   9   7   9   ,       1   9   8   0  \r  \r   /   /       L
0000160    a   s   t       m   o   d   i   f   i   e   d       A   p   r
0000200    i   l       1   9   ,       1   9   8   0           1   2   :
0000220    1   9       P   M       b   y       T   a   f   t  \r  \r   g
0000240    e   t       "   I   f   s   F   i   l   e   s   .   d   e   c
0000260    l   "  \r   g   e   t       "   S   t   r   e   a   m   s   .
0000300    d   "  \r   g   e   t       "   I   F   S   .   d   e   c   l
0000320    "  \r   g   e   t       "   D   i   s   k   s   .   d   "  \r
0000340   \r   e   x   t   e   r   n   a   l  \r   [  \r   /   /       O
0000360    u   t   g   o   i   n   g       p   r   o   c   e   d   u   r
0000400    e   s  \r   O   p   e   n   I   F   S   ;       C   l   o   s
0000420    e   I   F   S  \r   O   p   e   n   I   F   S 376 001  \0   :
0000440   \t   P   a   r   t   1   ;       O   p   e   n   I   F   S   P
0000460    a   r   t   2   ;       O   p   e   n   I   F   S   T   r   e
0000500    e  \r   O   p   e   n   T   F   S   D   i   s   k   ;       C
0000520    l   o   s   e   T   F   S   D   i   s   k   ;       I   n   i
0000540    t   D   i   s   k   s  \r  \r   /   /       I   n   c   o   m
0000560    i   n   g       p   r   o   c   e   d   u   r   e   s  \r   T
0000600    F   S   I   n   i   t   ;       T   F   S   C   l   o   s   e
0000620    ;       I   F   S   C   r   e   a   t   e   D   D   M   g   r
0000640    ;       T   F   S   D   i   s   k   M   o   d   e   l  \r   I
0000660    F   S   E   r   r   o   r   ;       M   u   l   t   E   q   ;
0000700        F   r   e   e   P   o   i   n   t   e   r   ;       E   n
0000720    q   u   e   u   e   ;       U   n   q   u   e   u   e   ;    
0000740    B   l   o   c   k  \r   A   l   l   o   c   a   t   e   ;    
0000760    F   r   e   e   ;       M   o   v   e   B   l   o   c   k   ;
0001000        Z   e   r   o   ;       D   e   f   a   u   l   t   A   r
0001020    g   s   ;       M   i   n  \r   O   p   e   n   F   i   l   e
0001040    ; 376 001  \0 034   -       C   l   o   s   e   s   ;       R
0001060    e   a   d   B   l   o   c   k  \r   E   x   t   r   a   c   t
0001100    S   u   b   s   t   r   i   n   g   ;       S   t   r   i   n
0001120    g   C   o   m   p   a   r   e  \r   C   a   l   l   e   r   s
0001140    F   r   a   m   e   ;       R   e   t   u   r   n   F   r   o
0001160    m   ;       E   x   t   e   n   d   S   t   a   c   k   C   a
0001200    l   l  \r   C   r   e   a   t   e   O   F   T   ;       D   e
0001220    s   t   r   o   y   O   F   T   ;       L   o   c   k   ;    
0001240    U   n   l   o   c   k  \r   O   p   e   n   F   P   T   r   e
0001260    e   ;       C   l   o   s   e   B   T   r   e   e  \r   D   i
0001300    r   C   o   m   p   a   r   e   K   e   y   ;       D   i   r
0001320    E   n   t   r   y   L   e   n   g   t   h  \r  \r   /   /    
0001340    O   u   t   g   o   i   n   g       s   t   a   t   i   c   s
0001360   \r   f   s   Q   ;       d   r   i   v   e   T   a   b   ;    
0001400    i   f   s   D   D   M   g   r   ;       o   p   e   n   L   o
0001420    c   k  \r  \r   /   /       I   n   c   o   m   i   n   g    
0001440    s   t   a   t   i   c 376 001  \0 361   ~   s  \r   s   y   s
0001460    Z   o   n   e   ;       b   i   g   Z   o   n   e   ;       p
0001500    r   i   m   a   r   y   I   F   S  \r   ]  \r  \r   s   t   a
0001520    t   i   c       [       d   r   i   v   e   T   a   b   ;    
0001540    i   f   s   D   D   M   g   r   ;       f   s   Q   ;       o
0001560    p   e   n   L   o   c   k       ]  \r  \r   m   a   n   i   f
0001600    e   s   t       e   c   R   e   t   u   r   n   F   r   o   m
0001620        =       1   7  \r  \r   /   /       L   o   c   a   l    
0001640    s   t   r   u   c   t   u   r   e   s       u   s   e   d    
0001660    t   o       k   e   e   p       t   r   a   c   k       o   f
0001700        d   i   s   k   s       i   n       O   p   e   n   I   F
0001720    S   P   a   r   t   1  \r   s   t   r   u   c   t   u   r   e
0001740        P   D   S   K   :  \r   [  \r   d   i   s   k       w   o
0001760    r   d  \r   t   h   i   s   U   n   i   t       w   o   r   d
0002000   \r   c   r   e   a   t   e   d       w   o   r   d       2  \r
0002020    ]  \r  \r   s   t   r   u   c   t   u   r   e       P   L   D
0002040    T   ^   0   ,   n   D   i   s   k   s   - 376 001  \0   Y   8
0002060    1       @   P   D   S   K  \r   m   a   n   i   f   e   s   t
0002100        l   e   n   P   L   D   T       =       s   i   z   e    
0002120    P   L   D   T   /   1   6  \r  \f  \r   /   /   O   p   e   n
0002140    I   F   S       i   s       s   p   l   i   t       i   n   t
0002160    o       t   w   o       p   a   r   t   s       b   e   c   a
0002200    u   s   e       I   F   S       i   n   i   t   i   a   l   i
0002220    z   a   t   i   o   n  \r   /   /   n   e   e   d   s       t
0002240    h   e       r   e   s   u   l   t   s       o   f       O   p
0002260    e   n   I   F   S   P   a   r   t   1       t   o       s   e
0002300    t       u   p       t   h   e       v   i   r   t   u   a   l
0002320   \r   /   /   m   e   m   o   r   y   ,       w   h   i   c   h
0002340        m   u   s   t       b   e       d   o   n   e       b   e
0002360    f   o   r   e       c   a   l   l   i   n   g       O   p   e
0002400    n   I   F   S   P   a   r   t   2   .  \r  \r   /   /   O   p
0002420    e   n   I   F   S       c   a   l   l   s       T   F   S   I
0002440    n   i   t       w   h   i   c   h       c   a   l   l   s    
0002460  376 001  \0 322 241   O   p   e   n   F   i   l   e       -    
0002500    w   h   i   c   h       t   a   k   e   s  \r   /   /   l   o
0002520    t   s       o   f       s   t   a   c   k       s   p   a   c
0002540    e   .           T   h   e   r   e       i   s       p   l   e
0002560    n   t   y       o   f       s   t   a   c   k       a   v   a
0002600    i   l   a   b   l   e  \r   /   /   d   u   r   i   n   g    
0002620    i   n   i   t   i   a   l   i   z   a   t   i   o   n       w
0002640    h   e   n       t   h   e       i   n   d   i   v   i   d   u
0002660    a   l       p   a   r   t   s       a   r   e       c   a   l
0002700    l   e   d   ,  \r   /   /   b   u   t       n   o   t       d
0002720    u   r   i   n   g       n   o   r   m   a   l       o   p   e
0002740    r   a   t   i   o   n   ,       s   o       O   p   e   n   I
0002760    F   S       e   x   t   e   n   d   s       t   h   e       s
0003000    t   a   c   k  \r   /   /   b   e   f   o   r   e       c   a
0003020    l   l   i   n   g       t   h   e       p   a   r   t   s   .
0003040   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0003060    -   -   -   -   - 376 001  \0   p 360   -   -   -   -   -   -
0003100    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0003160    -   -   -   -  \r   l   e   t       O   p   e   n   I   F   S
0003200    (   i   d   ,   l   v   E   c   )       =       E   x   t   e
0003220    n   d   S   t   a   c   k   C   a   l   l   (   2   0   4   8
0003240    ,       D   o   O   p   e   n   ,       i   d   ,       l   v
0003260    E   c   )  \r   /   /   -   -   -   -   -   -   -   -   -   -
0003300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0003400    -   -  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -
0003420    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0003460    -   -   -   -   -   -   -   -   -   - 376 001  \0 020 226   -
0003500    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0003520    -   -   -   -   -   -   -  \r   a   n   d       D   o   O   p
0003540    e   n   (   i   d   ,       l   v   E   c   )       =       v
0003560    a   l   o   f  \r   /   /   -   -   -   -   -   -   -   -   -
0003600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0003700    -   -   -  \r   [  \r   L   o   c   k   (   o   p   e   n   L
0003720    o   c   k   ,       t   r   u   e   )  \r   l   e   t       r
0003740    e   s       =       O   p   e   n   I   F   S   P   a   r   t
0003760    2   (   O   p   e   n   I   F   S   P   a   r   t   1   (   i
0004000    d   ,       l   v   E   c   )   ,       l   v   E   c   )  \r
0004020    U   n   l   o   c   k   (   o   p   e   n   L   o   c   k   )
0004040   \r   r   e   s   u   l   t   i   s       r   e   s  \r   ]  \r
0004060   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   - 376
0004100  001  \0   J 257   -   -   -   -   -   -   -   -   -   -   -   -
0004120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0004200    -   -   -   -  \r   a   n   d       C   l   o   s   e   I   F
0004220    S   (   i   f   s   ,       f   o   r   c   e   ;       n   u
0004240    m   a   r   g   s       n   a   )       =       v   a   l   o
0004260    f  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0004300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0004400   \r   /   /   i   f       f   o   r   c   e       =       t   r
0004420    u   e   ,       t   h   e       i   f   s       w   i   l   l
0004440        b   e       c   l   o   s   e   d       r   e   g   a   r
0004460    d   l   e   s   s       o   f       w   h   e   t   h   e   r
0004500   \r   /   /     376 001  \0   (   $   t   h   e   r   e       a
0004520    r   e       o   p   e   n       f   i   l   e   s   .  \r   /
0004540    /   i   f       f   o   r   c   e       =       f   a   l   s
0004560    e       o   r       o   m   i   t   t   e   d   ,       C   l
0004600    o   s   e   I   F   S       w   i   l   l       r   e   t   u
0004620    r   n       f   a   l   s   e       i   f  \r   /   /       t
0004640    h   e       d   i   r   e   c   t   o   r   y       i   s    
0004660    l   o   c   k   e   d       o   r       t   h   e   r   e    
0004700    a   r   e       o   p   e   n       f   i   l   e   s   .  \r
0004720    [  \r   i   f       n   a       l   s       2       t   h   e
0004740    n       f   o   r   c   e       =       f   a   l   s   e  \r
0004760    L   o   c   k   (   o   p   e   n   L   o   c   k   ,       t
0005000    r   u   e   )  \r   u   n   t   i   l       L   o   c   k   (
0005020    l   v       i   f   s   >   >   I   F   S   .   d   i   r   L
0005040    o   c   k   ,       t   r   u   e   ,       t   r   u   e   )
0005060        d   o  \r               [       i   f   s   >   >   I   F
0005100    S   .   d   i   r   L   o   c   k 376 001  \0 330 024   C   o
0005120    n   f   l   i   c   t       =       t   r   u   e   ;       B
0005140    l   o   c   k   (   )       ]  \r   u   n   l   e   s   s    
0005160    f   o   r   c   e       d   o  \r               i   f       i
0005200    f   s   >   >   I   F   S   .   o   f   t       n   e       0
0005220        t   h   e   n       u   n   l   e   s   s       D   e   s
0005240    t   r   o   y   O   F   T   (   i   f   s   )       r   e   s
0005260    u   l   t   i   s       f   a   l   s   e  \r   i   f       i
0005300    f   s   >   >   I   F   S   .   d   i   r   B   T   r   e   e
0005320        n   e       0       t   h   e   n       C   l   o   s   e
0005340    B   T   r   e   e   (   i   f   s   >   >   I   F   S   .   d
0005360    i   r   B   T   r   e   e   )  \r   f   o   r       l   U   n
0005400    i   t       =       0       t   o       i   f   s   >   >   I
0005420    F   S   .   n   u   m   U   n   i   t   s   -   1       d   o
0005440        C   l   o   s   e   T   F   S   D   i   s   k   (   i   f
0005460    s   >   >   I   F   S   .   l   p   d   t   ^   l   U   n   i
0005500    t   )  \r   U   n   q   u   e   u   e   (   f   s   Q 376 001
0005520   \0   " 351   ,   i   f   s   )  \r   D   e   s   t   r   o   y
0005540    I   F   S   (   i   f   s   )  \r   U   n   l   o   c   k   (
0005560    o   p   e   n   L   o   c   k   )  \r   r   e   s   u   l   t
0005600    i   s       t   r   u   e  \r   ]  \r  \r   /   /   -   -   -
0005620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0005720    -   -   -   -   -   -   -   -   -  \r   a   n   d       D   e
0005740    s   t   r   o   y   I   F   S   (   i   f   s   )       b   e
0005760   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0006000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0006060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0006100    [  \r   F   r   e   e   P   o   i   n   t   e   r   (   l   v
0006120        i   f 376 001  \0   8   ^   s   >   >   I   F   S   .   o
0006140    f   t   ,       l   v       i   f   s   >   >   I   F   S   .
0006160    i   d   ,       l   v       i   f   s   >   >   I   F   S   .
0006200    n   a   m   e   )  \r   F   r   e   e   (   s   y   s   Z   o
0006220    n   e   ,       i   f   s   )  \r   ]  \r  \f  \r   /   /   -
0006240    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0006340    -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d    
0006360    O   p   e   n   I   F   S   P   a   r   t   1   (   i   d   ,
0006400        l   v   E   r   r   o   r   C   o   d   e   )       =    
0006420    v   a   l   o   f  \r   /   /   -   -   -   -   -   -   -   -
0006440    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0006520    -   -   -   -   -   -   -   - 376 001  \0   8   L   -   -   -
0006540    -   -   -   -   -   -   -   -   -  \r   /   /   r   e   t   u
0006560    r   n   s       a   n       i   f   s       s   t   r   u   c
0006600    t   u   r   e       o   r       f   a   l   s   e       w   i
0006620    t   h       @   l   v   E   r   r   o   r   C   o   d   e    
0006640    s   a   y   i   n   g       w   h   y  \r   [  \r   /   /   t
0006660    r   y       T   F   S   I   n   i   t       o   n       a   l
0006700    l       p   h   y   s   i   c   a   l       u   n   i   t   s
0006720        t   h   a   t       a   r   e   n   '   t       n   o   w
0006740        o   p   e   n  \r   l   e   t       h   o   m   e       =
0006760        A   l   l   o   c   a   t   e   (   s   y   s   Z   o   n
0007000    e   ,       l   e   n   H   o   m   e   )  \r   l   e   t    
0007020    i   f   s       =       0  \r   l   e   t       p   l   d   t
0007040        =       v   e   c       l   e   n   P   L   D   T  \r   Z
0007060    e   r   o   (   p   l   d   t   ,       l   e   n   P   L   D
0007100    T   )  \r   f   o   r       d   r   i   v   e       =       0
0007120        t   o       n   D   r   i   v   e   s   -   1 376 001  \0
0007140    W   *       d   o       f   o   r       f   s       =       0
0007160        t   o       1       d   o  \r               i   f       d
0007200    r   i   v   e   T   a   b   >   >   D   r   i   v   e   T   a
0007220    b   ^   d   r   i   v   e   .   d   i   s   k   ^   f   s    
0007240    e   q       0       t   h   e   n  \r                        
0007260    [  \r                           i   f       f   s       n   e
0007300        0       t   h   e   n  \r                                
0007320        [  \r                                       l   e   t    
0007340    d   i   s   k   0       =       d   r   i   v   e   T   a   b
0007360    >   >   D   r   i   v   e   T   a   b   ^   d   r   i   v   e
0007400    .   d   i   s   k   ^   0  \r                                
0007420        i   f       d   i   s   k   0       e   q       0       %
0007440        T   F   S   D   i   s   k   M   o   d   e   l   (   d   i
0007460    s   k   0   )       n   e       3   0   0       l   o   o   p
0007500   \r                                       ]  \r                
0007520            l   e   t       d   i   s   k       =       O   p   e
0007540    n   T 376 001  \0 275   5   F   S   D   i   s   k   (   d   r
0007560    i   v   e   ,       f   s   )  \r                           i
0007600    f       d   i   s   k       e   q       0       l   o   o   p
0007620            /   /   n   o       p   a   c   k       o   r       n
0007640    o       d   r   i   v   e  \r                           l   e
0007660    t       s       =       O   p   e   n   F   i   l   e   (   "
0007700    I   F   S   .   h   o   m   e   "   ,       k   s   T   y   p
0007720    e   R   e   a   d   O   n   l   y   ,       0   ,       0   ,
0007740        0   ,       0   ,       0   ,       0   ,       d   i   s
0007760    k   )  \r                           i   f       s       e   q
0010000        0       t   h   e   n       [       C   l   o   s   e   T
0010020    F   S   D   i   s   k   (   d   i   s   k   )   ;       l   o
0010040    o   p       ]           /   /   n   o   t       i   f   s  \r
0010060                            R   e   a   d   B   l   o   c   k   (
0010100    s   ,       h   o   m   e   ,       l   e   n   H   o   m   e
0010120    )  \r                           C   l   o   s   e   s   (   s
0010140    )  \r                     376 001  \0 177 021       i   f    
0010160    S   t   r   i   n   g   C   o   m   p   a   r   e   (   i   d
0010200    ,       l   v       h   o   m   e   >   >   H   o   m   e   .
0010220    i   d   )       n   e       0       t   h   e   n  \r        
0010240                                [       C   l   o   s   e   T   F
0010260    S   D   i   s   k   (   d   i   s   k   )   ;       l   o   o
0010300    p       ]           /   /   w   r   o   n   g       i   d  \r
0010320                            l   e   t       p   d   s   k       =
0010340        l   v       p   l   d   t   >   >   P   L   D   T   ^   (
0010360    2   *   d   r   i   v   e   +   f   s   )  \r                
0010400            p   d   s   k   >   >   P   D   S   K   .   d   i   s
0010420    k       =       d   i   s   k  \r                           p
0010440    d   s   k   >   >   P   D   S   K   .   t   h   i   s   U   n
0010460    i   t       =       h   o   m   e   >   >   H   o   m   e   .
0010500    t   h   i   s   U   n   i   t  \r                           M
0010520    o   v   e   B   l   o   c   k   (   l   v       p   d   s   k
0010540    >   >   P   D   S   K   .   c   r   e   a   t 376 001  \0 266
0010560  223   e   d   ,       l   v       h   o   m   e   >   >   H   o
0010600    m   e   .   c   r   e   a   t   e   d   ,       l   T   I   M
0010620    E   )  \r                           i   f       h   o   m   e
0010640    >   >   H   o   m   e   .   t   h   i   s   U   n   i   t    
0010660    e   q       0       t   h   e   n  \r                        
0010700                [           /   /       F   o   u   n   d       l
0010720    o   g   i   c   a   l       u   n   i   t       0   ,       c
0010740    r   e   a   t   e       I   F   S       s   t   r   u   c   t
0010760    u   r   e  \r                                       i   f    
0011000    i   f   s       n   e       0       t   h   e   n  \r        
0011020                                            [       F   r   e   e
0011040    (   s   y   s   Z   o   n   e   ,       h   o   m   e   )   ;
0011060        O   p   e   n   I   F   S   F   a   i   l   (   e   c   2
0011100    L   U   n   i   t   0   s   ,       p   l   d   t   ,       i
0011120    f   s   )       ]  \r                                       i
0011140    f   s       =       A   l   l   o   c   a   t   e   (   s   y
0011160    s 376 001  \0   d 303   Z   o   n   e   ,       l   e   n   I
0011200    F   S   )  \r                                       Z   e   r
0011220    o   (   i   f   s   ,       l   e   n   I   F   S   )  \r    
0011240                                    i   f   s   >   >   I   F   S
0011260    .   l   o   g   P   a   g   e   L   e   n   g   t   h       =
0011300        d   i   s   k   >   >   D   S   K   .   l   n   P   a   g
0011320    e   S   i   z   e  \r                                       i
0011340    f   s   >   >   I   F   S   .   p   a   g   e   L   e   n   g
0011360    t   h       =       1       l   s   h   i   f   t       i   f
0011400    s   >   >   I   F   S   .   l   o   g   P   a   g   e   L   e
0011420    n   g   t   h  \r                                       i   f
0011440    s   >   >   I   F   S   .   n   u   m   U   n   i   t   s    
0011460    =       h   o   m   e   >   >   H   o   m   e   .   n   u   m
0011500    U   n   i   t   s  \r                                       i
0011520    f   s   >   >   I   F   S   .   t   y   p   e       =       h
0011540    o   m   e   >   >   H   o   m   e   .   t   y   p   e  \r    
0011560                          376 001  \0 260   ^           i   f   s
0011600    >   >   I   F   S   .   i   d       =       E   x   t   r   a
0011620    c   t   S   u   b   s   t   r   i   n   g   (   l   v       h
0011640    o   m   e   >   >   H   o   m   e   .   i   d   )  \r        
0011660                                i   f   s   >   >   I   F   S   .
0011700    n   a   m   e       =       E   x   t   r   a   c   t   S   u
0011720    b   s   t   r   i   n   g   (   l   v       h   o   m   e   >
0011740    >   H   o   m   e   .   n   a   m   e   )  \r                
0011760                        M   o   v   e   B   l   o   c   k   (   l
0012000    v       i   f   s   >   >   I   F   S   .   c   r   e   a   t
0012020    e   d   ,       l   v       h   o   m   e   >   >   H   o   m
0012040    e   .   c   r   e   a   t   e   d   ,       l   T   I   M   E
0012060    )  \r                                       ]  \r            
0012100                ]  \r   F   r   e   e   (   s   y   s   Z   o   n
0012120    e   ,       h   o   m   e   )  \r   i   f       i   f   s    
0012140    e   q       0       t   h   e   n       O   p   e   n   I   F
0012160    S   F   a   i   l   (   e   c   N   o   L 376 001  \0   6 022
0012200    U   n   i   t   0   ,       p   l   d   t   ,       0   )    
0012220        /   /   n   o       l   o   g   i   c   a   l       u   n
0012240    i   t       0       f   o   u   n   d  \r  \f  \r   /   /    
0012260    O   p   e   n   I   F   S   P   a   r   t   1       (   c   o
0012300    n   t   '   d   )  \r  \r   /   /       I   n   s   e   r   t
0012320        p   a   c   k   s       w   i   t   h       t   h   e    
0012340    c   o   r   r   e   c   t       P   D   S   K   .   c   r   e
0012360    a   t   e   d       i   n   t   o       t   h   e       i   f
0012400    s   ,  \r   /   /       c   o   u   n   t   i   n   g       t
0012420    h   e       n   u   m   b   e   r       o   f       p   a   c
0012440    k   s       i   n   s   e   r   t   e   d       a   s       w
0012460    e       g   o  \r   l   e   t       n   u   m   U   n   i   t
0012500    s       =       0  \r   f   o   r       d   r   i   v   e    
0012520    =       0       t   o       n   D   r   i   v   e   s   -   1
0012540        d   o       f   o   r       f   s       =       0       t
0012560    o       1       d   o  \r               [  \r               l
0012600  376 001  \0 250   g   e   t       p   d   s   k       =       l
0012620    v       p   l   d   t   >   >   P   L   D   T   ^   (   2   *
0012640    d   r   i   v   e   +   f   s   )  \r               i   f    
0012660    p   d   s   k   >   >   P   D   S   K   .   d   i   s   k    
0012700    n   e       0       t   h   e   n  \r                        
0012720    t   e   s   t       M   u   l   t   E   q   (   l   v       p
0012740    d   s   k   >   >   P   D   S   K   .   c   r   e   a   t   e
0012760    d   ,       l   v       i   f   s   >   >   I   F   S   .   c
0013000    r   e   a   t   e   d   )  \r                                
0013020        i   f   s   o  \r                                        
0013040            [  \r                                                
0013060    i   f       i   f   s   >   >   I   F   S   .   l   p   d   t
0013100    ^   (   p   d   s   k   >   >   P   D   S   K   .   t   h   i
0013120    s   U   n   i   t   )       n   e       0       t   h   e   n
0013140   \r                                                            
0013160    O   p   e   n   I   F   S   F   a   i   l   (   e   c   D   u
0013200    p   L   U   n   i 376 001  \0 254 021   t   ,       p   l   d
0013220    t   ,       i   f   s   )  \r                                
0013240                    i   f   s   >   >   I   F   S   .   l   p   d
0013260    t   ^   (   p   d   s   k   >   >   P   D   S   K   .   t   h
0013300    i   s   U   n   i   t   )       =       p   d   s   k   >   >
0013320    P   D   S   K   .   d   i   s   k  \r                        
0013340                            d   r   i   v   e   T   a   b   >   >
0013360    D   r   i   v   e   T   a   b   ^   d   r   i   v   e   .   i
0013400    f   s       =       i   f   s  \r                            
0013420                        n   u   m   U   n   i   t   s       =    
0013440    n   u   m   U   n   i   t   s   +   1  \r                    
0013460                                ]  \r                            
0013500            i   f   n   o   t  \r                                
0013520                    [       C   l   o   s   e   T   F   S   D   i
0013540    s   k   (   p   d   s   k   >   >   P   D   S   K   .   d   i
0013560    s   k   )   ;       p   d   s   k   >   >   P   D   S   K   .
0013600    d   i   s   k       =       0       ] 376 001  \0  \r 235  \r
0013620                ]  \r  \r   /   /       D   i   d       w   e    
0013640    f   i   n   d       a   l   l       t   h   e       l   o   g
0013660    i   c   a   l       u   n   i   t   s   ?  \r   i   f       n
0013700    u   m   U   n   i   t   s       n   e       i   f   s   >   >
0013720    I   F   S   .   n   u   m   U   n   i   t   s       t   h   e
0013740    n       O   p   e   n   I   F   S   F   a   i   l   (   e   c
0013760    N   u   m   U   n   i   t   s   ,       p   l   d   t   ,    
0014000    i   f   s   )  \r  \r   E   n   q   u   e   u   e   (   f   s
0014020    Q   ,   i   f   s   )  \r   r   e   s   u   l   t   i   s    
0014040    i   f   s  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -
0014060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0014160    -   -   -   -   -  \r   a   n   d       O   p   e   n   I   F
0014200    S   F   a   i   l   (   c   o   d   e   ,       p   l   d 376
0014220  001  \0   n 374   t   ,       i   f   s   )       b   e  \r   /
0014240    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0014260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0014340    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   /   /
0014360        F   r   e   e   s       t   h   e       i   f   s       i
0014400    f       n   o   n   z   e   r   o   ,       c   l   o   s   e
0014420    s       a   l   l       o   p   e   n       d   i   s   k   s
0014440        n   a   m   e   d       i   n       p   l   d   t   ,  \r
0014460    /   /       s   t   o   r   e   s       t   h   e       e   r
0014500    r   o   r       c   o   d   e       i   n       t   h   e    
0014520    c   a   l   l   e   r   '   s       l   v   E   r   r   o   r
0014540    C   o   d   e   ,       a   n   d       r   e   t   u   r   n
0014560    s  \r   /   /       f   a   l   s   e       f   r   o   m    
0014600    t   h   e       c   a   l   l   e   r   .           T   h   i
0014620    s       p   r 376 001  \0 366   M   o   c   e   d   u   r   e
0014640        k   n   o   w   s       t   h   a   t       t   h   e    
0014660    s   e   c   o   n   d       a   r   g   u   m   e   n   t  \r
0014700    /   /       o   f       t   h   e       c   a   l   l   e   r
0014720        i   s       l   v   E   r   r   o   r   C   o   d   e   .
0014740   \r   [  \r   i   f       i   f   s       n   e       0       t
0014760    h   e   n       D   e   s   t   r   o   y   I   F   S   (   i
0015000    f   s   )  \r   f   o   r       i       =       0       t   o
0015020        n   D   i   s   k   s   -   1       d   o  \r            
0015040    i   f       p   l   d   t   >   >   P   L   D   T   ^   i   .
0015060    d   i   s   k       n   e       0       t   h   e   n       C
0015100    l   o   s   e   T   F   S   D   i   s   k   (   p   l   d   t
0015120    >   >   P   L   D   T   ^   i   .   d   i   s   k   )  \r   l
0015140    e   t       c   f       =       C   a   l   l   e   r   s   F
0015160    r   a   m   e   (   )  \r   @   (   c   f   !   5   )       =
0015200        c   o   d   e  \r   R   e   t   u   r   n   F   r   o   m
0015220    (   c   f   ,       f   a   l   s 376 001  \0   < 334   e   )
0015240   \r   I   F   S   E   r   r   o   r   (   e   c   R   e   t   u
0015260    r   n   F   r   o   m   )  \r   ]  \r  \r   /   /   -   -   -
0015300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0015400    -   -   -   -   -   -   -   -   -  \r   a   n   d       O   p
0015420    e   n   T   F   S   D   i   s   k   (   d   r   i   v   e   ,
0015440        f   s   )       =       v   a   l   o   f  \r   /   /   -
0015460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0015560    -   -   -   -   -   -   -   -   -   -   -  \r   [  \r   l   e
0015600    t       d   i   s   k       =       T   F   S   I   n   i   t
0015620    (   s   y   s   Z   o   n   e   ,       t   r   u   e 376 001
0015640   \0   9 022   ,       #   4   0   0   *   f   s       +       d
0015660    r   i   v   e   ,       i   f   s   D   D   M   g   r   )  \r
0015700    d   r   i   v   e   T   a   b   >   >   D   r   i   v   e   T
0015720    a   b   ^   d   r   i   v   e   .   d   i   s   k   ^   f   s
0015740        =       d   i   s   k  \r   r   e   s   u   l   t   i   s
0015760        d   i   s   k  \r   ]  \r  \r   /   /   -   -   -   -   -
0016000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0016100    -   -   -   -   -   -   -  \r   a   n   d       C   l   o   s
0016120    e   T   F   S   D   i   s   k   (   d   i   s   k   )       b
0016140    e  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0016160    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0016240    -   -   - 376 001  \0 217   p   -   -   -   -   -   -   -   -
0016260    -   -   -   -   -  \r   [  \r   l   e   t       d   t   e    
0016300    =       l   v       d   r   i   v   e   T   a   b   >   >   D
0016320    r   i   v   e   T   a   b   ^   (   d   i   s   k   >   >   D
0016340    S   K   .   d   r   i   v   e   N   u   m   b   e   r   )  \r
0016360    T   F   S   C   l   o   s   e   (   d   i   s   k   ,       t
0016400    r   u   e   )  \r   f   o   r       f   s       =       0    
0016420    t   o       1       d   o  \r               i   f       d   i
0016440    s   k       e   q       d   t   e   >   >   D   T   E   .   d
0016460    i   s   k   ^   f   s       t   h   e   n       d   t   e   >
0016500    >   D   T   E   .   d   i   s   k   ^   f   s       =       0
0016520   \r   i   f       d   t   e   >   >   D   T   E   .   d   i   s
0016540    k   ^   0       e   q       0       &       d   t   e   >   >
0016560    D   T   E   .   d   i   s   k   ^   1       e   q       0    
0016600    t   h   e   n       d   t   e   >   >   D   T   E   .   i   f
0016620    s       =       0  \r   ]  \r  \f  \r   /   /   -   -   -   -
0016640    -   -   -   -   -   -   -   - 376 001  \0   F 253   -   -   -
0016660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0016740    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   a   n
0016760    d       O   p   e   n   I   F   S   P   a   r   t   2   (   i
0017000    f   s   ,       l   v   E   r   r   o   r   C   o   d   e   )
0017020        =       v   a   l   o   f  \r   /   /   -   -   -   -   -
0017040    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0017140    -   -   -   -   -   -   -  \r   [  \r   i   f       i   f   s
0017160        n   e       0       t   h   e   n           /   /   O   p
0017200    e   n   I   F   S   P   a   r   t   1       f   a   i   l   e
0017220    d   .           D   o       n   o   t   h   i   n   g   .  \r
0017240                [  \r               /   /   o   p   e 376 001  \0
0017260  213 341   n       t   h   e       d   i   r   e   c   t   o   r
0017300    y       B   -   T   r   e   e   .           N   e   e   d    
0017320    i   f   p       f   o   r       I   F   S   .   D   i   r   .
0017340   \r               l   e   t       i   f   p       =       v   e
0017360    c       l   F   P   ;       Z   e   r   o   (   i   f   p   ,
0017400        l   F   P   )  \r               l   e   t       i   f   s
0017420    D   i   r       =       O   p   e   n   F   i   l   e   (   "
0017440    I   F   S   .   D   i   r   "   ,       k   s   T   y   p   e
0017460    R   e   a   d   O   n   l   y   ,       0   ,       0   ,    
0017500    i   f   p   ,  \r                   0   ,       0   ,       0
0017520    ,       i   f   s   >   >   I   F   S   .   l   p   d   t   ^
0017540    0   )  \r               i   f       i   f   s   D   i   r    
0017560    e   q       0       t   h   e   n       O   p   e   n   I   F
0017600    S   F   a   i   l   (   e   c   N   o   I   F   S   D   i   r
0017620    ,       i   f   s   )  \r               C   l   o   s   e   s
0017640    (   i   f   s   D   i   r   )  \r               i   f   p   >
0017660    >   I 376 001  \0   x   m   F   P   .   u   n   i   t       =
0017700        0  \r               /   /       A   s   s   i   g   n    
0017720    e   n   o   u   g   h       v   M   e   m       f   o   r    
0017740    1   0   0   0       d   i   s   k       p   a   g   e   s    
0017760    p   e   r       u   n   i   t   ,       u   p       t   o    
0020000    a       m   a   x   i   m   u   m       o   f       3   0   0
0020020    0  \r               i   f   s   >   >   I   F   S   .   d   i
0020040    r   B   T   r   e   e       =       O   p   e   n   I   F   S
0020060    T   r   e   e   (   i   f   p   ,       i   f   s   ,       0
0020100    ,       0   ,       0   ,  \r                   M   i   n   (
0020120    1   0   0   0   *   i   f   s   >   >   I   F   S   .   n   u
0020140    m   U   n   i   t   s   ,       3   0   0   0   )   )  \r    
0020160            /   /   I   n   i   t   i   a   l   i   z   e       t
0020200    h   e       O   p   e   n       F   i   l   e       T   a   b
0020220    l   e  \r               C   r   e   a   t   e   O   F   T   (
0020240    i   f   s   ,       1   6   )           /   /       m   u   s
0020260    t       b   e       p   o 376 001  \0   ,   @   w   e   r    
0020300    o   f       2  \r               ]  \r   r   e   s   u   l   t
0020320    i   s       i   f   s  \r   ]  \r  \r   /   /   -   -   -   -
0020340    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0020440    -   -   -   -   -   -   -   -  \r   a   n   d       O   p   e
0020460    n   I   F   S   T   r   e   e   (   i   f   p   ,       i   f
0020500    s   ,       C   o   m   p   a   r   e   K   e   y   R   t   n
0020520    ,       L   e   n   g   t   h   R   t   n   ,       i   n   i
0020540    t   i   a   l   i   z   e   T   r   e   e   ,  \r       d   i
0020560    s   k   P   a   g   e   s   ,       l   o   g   B   T   r   e
0020600    e   P   a   g   e   L   e   n   g   t   h   ;       n   u   m
0020620    a   r   g   s       n   a   )       =       v   a   l   o   f
0020640   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0020660    -   -   -   -   -   -   -   -   -   -   -   - 376 001  \0   %
0020700    Y   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0020720    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0020760    -   -   -   -  \r   [  \r   D   e   f   a   u   l   t   A   r
0021000    g   s   (   l   v       n   a   ,       -   2   ,       D   i
0021020    r   C   o   m   p   a   r   e   K   e   y   ,       D   i   r
0021040    E   n   t   r   y   L   e   n   g   t   h   ,       0   ,    
0021060    0   ,       0   )  \r   r   e   s   u   l   t   i   s       O
0021100    p   e   n   F   P   T   r   e   e   (   i   f   p   ,       i
0021120    f   s   >   >   I   F   S   .   l   p   d   t   ^   (   i   f
0021140    p   >   >   I   F   P   .   u   n   i   t   )   ,       C   o
0021160    m   p   a   r   e   K   e   y   R   t   n   ,  \r       L   e
0021200    n   g   t   h   R   t   n   ,       i   n   i   t   i   a   l
0021220    i   z   e   T   r   e   e   ,       d   i   s   k   P   a   g
0021240    e   s   ,       l   o   g   B   T   r   e   e   P   a   g   e
0021260    L   e   n   g   t   h   )  \r   ]  \r  \r   /   /   -   -   -
0021300    - 376 001  \0 376   q   -   -   -   -   -   -   -   -   -   -
0021320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0021400    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   a
0021420    n   d       I   n   i   t   D   i   s   k   s   (   )       b
0021440    e  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0021460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0021560   \r   [  \r   /   /       I   n   i   t   i   a   l   i   z   e
0021600        v   a   r   i   o   u   s       d   i   s   k   -   r   e
0021620    l   a   t   e   d       d   a   t   a       s   t   r   u   c
0021640    t   u   r   e   s  \r   i   f   s   D   D   M   g   r       =
0021660        I   F   S   C   r   e   a   t   e   D   D   M   g   r   (
0021700    )  \r   d   r   i   v 376  \0   u   d 030   e   T   a   b    
0021720    =       A   l   l   o   c   a   t   e   (   s   y   s   Z   o
0021740    n   e   ,       l   e   n   D   r   i   v   e   T   a   b   +
0021760    4   )   ;       Z   e   r   o   (   d   r   i   v   e   T   a
0022000    b   ,       l   e   n   D   r   i   v   e   T   a   b   +   4
0022020    )  \r   f   s   Q       =       d   r   i   v   e   T   a   b
0022040    +   l   e   n   D   r   i   v   e   T   a   b  \r   o   p   e
0022060    n   L   o   c   k       =       f   s   Q   +   2  \r   ]  \r
0022100  377  \0  \0   I   f   s   G   e   t   C   r   e   a   t   e   .
0022120    b   c   p   l  \0 373 230 035   g 325  \0  \0 376 001  \0   M
0022140  202   /   /       I   F   S   G   e   t   C   r   e   a   t   e
0022160    .   b   c   p   l       -   -       d   i   a   l   o   g   u
0022200    e       t   o       g   e   t       p   a   r   a   m   e   t
0022220    e   r   s       f   o   r       I   F   S       c   r   e   a
0022240    t   i   o   n  \r   /   /       C   o   p   y   r   i   g   h
0022260    t       X   e   r   o   x       C   o   r   p   o   r   a   t
0022300    i   o   n       1   9   7   9   ,       1   9   8   0  \r  \r
0022320    /   /       L   a   s   t       m   o   d   i   f   i   e   d
0022340        N   o   v   e   m   b   e   r       1   4   ,       1   9
0022360    8   1           1   0   :   3   8       A   M       b   y    
0022400    T   a   f   t  \r  \r   g   e   t       "   I   f   s   .   d
0022420    e   c   l   "  \r   g   e   t       "   I   f   s   F   i   l
0022440    e   s   .   d   e   c   l   "  \r  \r   e   x   t   e   r   n
0022460    a   l  \r   [  \r   /   /       O   u   t   g   o   i   n   g
0022500        p   r   o   c   e   d   u   r   e   s  \r   G   e   t   C
0022520    r   e   a   t   e   P   a   r   a   m   s   ;       D   e   s
0022540    t 376 001  \0   3 201   r   o   y   C   r   e   a   t   e   P
0022560    a   r   a   m   s  \r  \r   /   /       I   n   c   o   m   i
0022600    n   g       p   r   o   c   e   d   u   r   e   s  \r   A   l
0022620    l   o   c   a   t   e   ;       F   r   e   e   ;       Z   e
0022640    r   o   ;       F   r   e   e   P   o   i   n   t   e   r  \r
0022660    I   n   i   t   C   m   d   ;       G   e   t   S   t   r   i
0022700    n   g   ;       G   e   t   N   u   m   b   e   r   ;       C
0022720    o   n   f   i   r   m   ;       E   n   a   b   l   e   C   a
0022740    t   c   h   ;       E   n   d   C   a   t   c   h  \r   B   e
0022760    g   i   n   D   e   f   a   u   l   t   P   h   r   a   s   e
0023000    ;       E   n   d   D   e   f   a   u   l   t   P   h   r   a
0023020    s   e   ;       C   m   d   E   r   r   o   r   ;       B   a
0023040    c   k   u   p   P   h   r   a   s   e   ;       T   e   l   n
0023060    e   t   A   b   o   r   t   i   n   g  \r   C   l   o   s   e
0023100    s   ;       W   s   s   ;       W   n   s   ;       P   u   t
0023120    T   e   m   p   l   a   t   e   ;       E   x   t   r   a   c
0023140    t   S   u   b   s   t 376 001  \0 215   ]   r   i   n   g  \r
0023160   \r   /   /       I   n   c   o   m   i   n   g       s   t   a
0023200    t   i   c   s  \r   s   y   s   Z   o   n   e   ;       d   r
0023220    i   v   e   T   a   b  \r   ]  \r  \f  \r   /   /   -   -   -
0023240    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0023340    -   -   -   -   -   -   -   -   -  \r   l   e   t       G   e
0023360    t   C   r   e   a   t   e   P   a   r   a   m   s   (   i   f
0023400    s   T   y   p   e   )       =       v   a   l   o   f  \r   /
0023420    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0023440    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0023520    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   /   /
0023540        R   e   q   u   e   s   t   s       t 376 001  \0 336   #
0023560    h   e       o   p   e   r   a   t   o   r       t   o       s
0023600    p   e   c   i   f   y       p   a   r   a   m   e   t   e   r
0023620    s       f   o   r       c   r   e   a   t   i   n   g       a
0023640    n       I   F   S   .  \r   /   /       i   f   s   T   y   p
0023660    e       s   h   o   u   l   d       b   e       e   i   t   h
0023700    e   r       i   f   s   T   y   p   e   P   r   i   m   a   r
0023720    y       o   r       i   f   s   T   y   p   e   B   a   c   k
0023740    u   p   .  \r   /   /       R   e   t   u   r   n   s       a
0023760        f   i   l   l   e   d   -   i   n       C   P   a   r    
0024000    s   t   r   u   c   t   u   r   e       (   s   e   e       i
0024020    f   s   .   d   e   c   l   )   .  \r   /   /       R   e   t
0024040    u   r   n   s       z   e   r   o       i   f       t   h   e
0024060        u   s   e   r       a   b   o   r   t   s       o   u   t
0024100    .  \r   [  \r   l   e   t       c   P   a   r   ,       c   s
0024120        =       n   i   l   ,       n   i   l  \r               [
0024140        /   /       r   e   p   e   a   t  \r               c   s
0024160  376 001  \0   ! 377       =       I   n   i   t   C   m   d   (
0024200    1   0   0   +   3   0   *   n   D   r   i   v   e   s   ,    
0024220    n   D   r   i   v   e   s   +   5   )  \r               i   f
0024240        c   s       n   e       0       b   r   e   a   k  \r    
0024260            i   f       T   e   l   n   e   t   A   b   o   r   t
0024300    i   n   g   (   )       r   e   s   u   l   t   i   s       0
0024320   \r               ]       r   e   p   e   a   t  \r   i   f    
0024340    E   n   a   b   l   e   C   a   t   c   h   (   c   s   )    
0024360    t   h   e   n       [       D   e   s   t   r   o   y   C   r
0024400    e   a   t   e   P   a   r   a   m   s   (   c   P   a   r   )
0024420    ;       E   n   d   C   a   t   c   h   (   c   s   )       ]
0024440   \r   c   P   a   r       =       A   l   l   o   c   a   t   e
0024460    (   s   y   s   Z   o   n   e   ,       l   e   n   C   P   a
0024500    r   )  \r   Z   e   r   o   (   c   P   a   r   ,       l   e
0024520    n   C   P   a   r   )  \r   c   P   a   r   >   >   C   P   a
0024540    r   .   t   y   p   e       =       i   f   s   T   y   p   e
0024560   \r   u   n   l   e 376 001  \0 002 313   s   s       C   o   n
0024600    f   i   r   m   (   c   s   ,       "   *   n   D   o       y
0024620    o   u       r   e   a   l   l   y       w   a   n   t       t
0024640    o       c   r   e   a   t   e       a       f   i   l   e    
0024660    s   y   s   t   e   m   ?   "   )  \r               d   o    
0024700    [       C   l   o   s   e   s   (   c   s   )   ;       D   e
0024720    s   t   r   o   y   C   r   e   a   t   e   P   a   r   a   m
0024740    s   (   c   P   a   r   )   ;       r   e   s   u   l   t   i
0024760    s       0       ]  \r  \r   l   e   t       e   r   r   M   s
0025000    g       =       v   a   l   o   f  \r               [  \r    
0025020            W   s   s   (   c   s   ,       "   *   n   N   u   m
0025040    b   e   r       o   f       d   i   s   k       u   n   i   t
0025060    s   :       "   )  \r               l   e   t       n   u   m
0025100    U   n   i   t   s       =       G   e   t   N   u   m   b   e
0025120    r   (   c   s   )  \r               i   f       n   u   m   U
0025140    n   i   t   s       l   e       0       %       n   u   m   U
0025160    n   i   t   s       g   r       n   D 376 001  \0 305 017   r
0025200    i   v   e   s       r   e   s   u   l   t   i   s       "    
0025220    ?   "  \r               c   P   a   r   >   >   C   P   a   r
0025240    .   n   u   m   U   n   i   t   s       =       n   u   m   U
0025260    n   i   t   s  \r               f   o   r       u       =    
0025300    0       t   o       n   u   m   U   n   i   t   s   -   1    
0025320    d   o  \r                           [  \r                    
0025340        P   u   t   T   e   m   p   l   a   t   e   (   c   s   ,
0025360        "   *   n   L   o   g   i   c   a   l       u   n   i   t
0025400        $   2   O       =       D   i   s   k       d   r   i   v
0025420    e   :       "   ,       u   )  \r                           l
0025440    e   t       p   U   n   i   t       =       G   e   t   N   u
0025460    m   b   e   r   (   c   s   ,       8   )  \r                
0025500            i   f       p   U   n   i   t       l   s       0    
0025520    %       p   U   n   i   t       g   e       n   D   r   i   v
0025540    e   s       r   e   s   u   l   t   i   s       "       ?   "
0025560   \r                           i   f       d   r   i   v   e 376
0025600  001  \0   | 321   T   a   b   >   >   D   r   i   v   e   T   a
0025620    b   ^   p   U   n   i   t   .   i   f   s       n   e       0
0025640        r   e   s   u   l   t   i   s       "       d   r   i   v
0025660    e       a   l   r   e   a   d   y       i   n       u   s   e
0025700    "  \r                           f   o   r       i       =    
0025720    0       t   o       u   -   1       d   o  \r                
0025740                        i   f       p   U   n   i   t       e   q
0025760        c   P   a   r   >   >   C   P   a   r   .   l   p   M   a
0026000    p   ^   i       r   e   s   u   l   t   i   s       "       d
0026020    r   i   v   e       r   e   p   e   a   t   e   d   "  \r    
0026040                        c   P   a   r   >   >   C   P   a   r   .
0026060    l   p   M   a   p   ^   u       =       p   U   n   i   t  \r
0026100                            ]  \r               t   e   s   t    
0026120    i   f   s   T   y   p   e       e   q       i   f   s   T   y
0026140    p   e   P   r   i   m   a   r   y  \r                        
0026160    i   f   s   o       c   P   a   r   >   >   C   P   a   r   .
0026200    i   d       = 376 001  \0   { 233       E   x   t   r   a   c
0026220    t   S   u   b   s   t   r   i   n   g   (   "   P   r   i   m
0026240    a   r   y   "   )  \r                           i   f   n   o
0026260    t  \r                                       [  \r            
0026300                            W   s   s   (   c   s   ,       "   *
0026320    n   F   i   l   e       s   y   s   t   e   m       I   D   :
0026340        "   )  \r                                       c   P   a
0026360    r   >   >   C   P   a   r   .   i   d       =       G   e   t
0026400    S   t   r   i   n   g   (   c   s   )  \r                    
0026420                    ]  \r               W   s   s   (   c   s   ,
0026440        "   *   n   F   i   l   e       s   y   s   t   e   m    
0026460    n   a   m   e   :       "   )  \r               l   e   t    
0026500    B   r   e   a   k   C   r   (   c   s   ,       c   h   a   r
0026520    )       =       c   h   a   r       e   q       $   *   n  \r
0026540                c   P   a   r   >   >   C   P   a   r   .   n   a
0026560    m   e       =       G   e   t   S   t   r   i   n   g   (   c
0026600    s   ,       B   r   e   a   k   C 376 001  \0   c   T   r   )
0026620   \r               c   P   a   r   >   >   C   P   a   r   .   d
0026640    i   r   S   i   z   e       =       n   u   m   U   n   i   t
0026660    s   *   1   0   0   0           /   /       d   e   f   a   u
0026700    l   t       d   i   r   e   c   t   o   r   y       s   i   z
0026720    e  \r               W   s   s   (   c   s   ,       "   *   n
0026740    D   i   r   e   c   t   o   r   y       s   i   z   e       (
0026760    p   a   g   e   s   )   :       "   )  \r               B   e
0027000    g   i   n   D   e   f   a   u   l   t   P   h   r   a   s   e
0027020    (   c   s   )  \r               W   n   s   (   c   s   ,    
0027040    c   P   a   r   >   >   C   P   a   r   .   d   i   r   S   i
0027060    z   e   )  \r               E   n   d   D   e   f   a   u   l
0027100    t   P   h   r   a   s   e   (   c   s   )  \r               c
0027120    P   a   r   >   >   C   P   a   r   .   d   i   r   S   i   z
0027140    e       =       G   e   t   N   u   m   b   e   r   (   c   s
0027160    )  \r               r   e   s   u   l   t   i   s       0  \r
0027200                ]  \r   i   f       e   r   r   M   s   g 376 001
0027220   \0 341 213       n   e       0       t   h   e   n  \r        
0027240        [       C   m   d   E   r   r   o   r   (   c   s   ,    
0027260    e   r   r   M   s   g   )   ;       B   a   c   k   u   p   P
0027300    h   r   a   s   e   (   c   s   )       ]  \r  \r   l   e   t
0027320        o   k       =       C   o   n   f   i   r   m   (   c   s
0027340    ,       "   *   n   O   k   ?   "   )  \r   C   l   o   s   e
0027360    s   (   c   s   )  \r   i   f       o   k       r   e   s   u
0027400    l   t   i   s       c   P   a   r  \r   D   e   s   t   r   o
0027420    y   C   r   e   a   t   e   P   a   r   a   m   s   (   c   P
0027440    a   r   )  \r   ]       r   e   p   e   a   t  \r  \r   /   /
0027460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0027560    -   -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d
0027600        D   e   s   t   r   o   y   C   r   e   a   t   e   P   a
0027620    r   a   m 376  \0 244   $ 303   s   (   c   P   a   r   )    
0027640    b   e  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0027660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0027760    -  \r   [  \r   F   r   e   e   P   o   i   n   t   e   r   (
0030000    l   v       c   P   a   r   >   >   C   P   a   r   .   i   d
0030020    ,       l   v       c   P   a   r   >   >   C   P   a   r   .
0030040    n   a   m   e   )  \r   F   r   e   e   (   s   y   s   Z   o
0030060    n   e   ,       c   P   a   r   )  \r   ]  \r 377  \0  \0   I
0030100    f   s   C   r   e   a   t   e   1   .   b   c   p   l  \0 373
0030120  223 361 307 250  \0  \0 376 001  \0 226   6   /   /       I   F
0030140    S   C   r   e   a   t   e   1   .   b   c   p   l       -   -
0030160        c   o   d   e       f   o   r       c   r   e   a   t   i
0030200    n   g       a   n       I   n   t   e   r   i   m       F   i
0030220    l   e       S   y   s   t   e   m  \r   /   /  \t   T   h   i
0030240    s       p   o   r   t   i   o   n       m   u   s   t       b
0030260    e       r   e   s   i   d   e   n   t       d   u   r   i   n
0030300    g       P   r   i   m   a   r   y       I   F   S       c   r
0030320    e   a   t   i   o   n  \r   /   /       C   o   p   y   r   i
0030340    g   h   t       X   e   r   o   x       C   o   r   p   o   r
0030360    a   t   i   o   n       1   9   7   9  \r  \r   /   /       L
0030400    a   s   t       m   o   d   i   f   i   e   d       J   u   l
0030420    y       1   4   ,       1   9   7   9           9   :   0   7
0030440        P   M       b   y       T   a   f   t  \r  \r   g   e   t
0030460        "   i   f   s   .   d   e   c   l   "  \r   g   e   t    
0030500    "   i   f   s   f   i   l   e   s   .   d   e   c   l   "  \r
0030520    g   e   t       "   d   i   s   k   s   . 376 001  \0 266 214
0030540    d   "  \r   g   e   t       "   t   f   s   .   d   "  \r   g
0030560    e   t       "   i   f   s   d   i   r   s   .   d   e   c   l
0030600    "  \r   g   e   t       "   s   t   r   e   a   m   s   .   d
0030620    "  \r  \r   e   x   t   e   r   n   a   l  \r   [  \r   /   /
0030640        O   u   t   g   o   i   n   g       p   r   o   c   e   d
0030660    u   r   e   s  \r   C   r   e   a   t   e   I   F   S   P   a
0030700    r   t   1   ;       C   r   e   a   t   e   I   F   S   D   i
0030720    s   k   ;       O   p   e   n   S   y   s   t   e   m   F   i
0030740    l   e  \r  \r   /   /       I   n   c   o   m   i   n   g    
0030760    p   r   o   c   e   d   u   r   e   s  \r   T   F   S   N   e
0031000    w   D   i   s   k   ;       T   F   S   I   n   i   t   ;    
0031020    T   F   S   C   l   o   s   e   ;       T   F   S   D   i   s
0031040    k   M   o   d   e   l   ;       A   s   s   i   g   n   D   i
0031060    s   k   P   a   g   e   ;       R   e   l   e   a   s   e   D
0031100    i   s   k   P   a   g   e  \r   A   l   l   o   c   a   t   e
0031120    ;       F   r   e   e   ;       M   o   v   e   B   l   o   c
0031140  376 001  \0   \ 356   k   ;       Z   e   r   o   ;       R   e
0031160    a   d   C   a   l   e   n   d   a   r   ;       C   o   p   y
0031200    S   t   r   i   n   g  \r   O   p   e   n   F   i   l   e   ;
0031220        W   r   i   t   e   B   l   o   c   k   ;       C   l   o
0031240    s   e   s   ;       S   y   s   E   r   r   ;       I   F   S
0031260    E   r   r   o   r  \r   F   i   l   e   L   e   n   g   t   h
0031300    ;       P   o   s   i   t   i   o   n   P   a   g   e  \r  \r
0031320    /   /       I   n   c   o   m   i   n   g       s   t   a   t
0031340    i   c   s  \r   s   y   s   Z   o   n   e  \r   ]  \r  \f  \r
0031360    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0031400    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0031460    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   l   e
0031500    t       C   r   e   a   t   e   I   F   S   P   a   r   t   1
0031520    (   c   P   a   r   )       =       v   a   l   o   f  \r   /
0031540    /   -   -   -   - 376 001  \0 241   L   -   -   -   -   -   -
0031560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0031660    -  \r   /   /   P   e   r   f   o   r   m   s       t   h   e
0031700        f   i   r   s   t       p   a   r   t       o   f       I
0031720    F   S       c   r   e   a   t   i   o   n   .           I   t
0031740        c   a   l   l   s       o   n   l   y       t   h   o   s
0031760    e  \r   /   /   p   r   o   c   e   d   u   r   e   s       t
0032000    h   a   t       a   r   e       r   e   s   i   d   e   n   t
0032020        a   t       i   n   i   t   i   a   l   i   z   a   t   i
0032040    o   n       t   i   m   e       s   o       a   s       t   o
0032060        p   e   r   m   i   t  \r   /   /   c   r   e   a   t   i
0032100    n   g       a       p   r   i   m   a   r   y       I   F   S
0032120    .           S   p   e   c   i   f   i   c   a   l   l   y   ,
0032140        i   t       c   r   e   a   t   e 376 001  \0 373 241   s
0032160        a       v   i   r   g   i   n       A   l   t   o       f
0032200    i   l   e  \r   /   /   s   y   s   t   e   m       o   n    
0032220    e   a   c   h       p   a   c   k       a   n   d       c   r
0032240    e   a   t   e   s       a   l   l       t   h   e       s   y
0032260    s   t   e   m       f   i   l   e   s   .           W   h   e
0032300    n       i   t       i   s       d   o   n   e   ,  \r   /   /
0032320    i   t       T   F   S   C   l   o   s   e   s       a   l   l
0032340        u   n   i   t   s       i   t       h   a   s       T   F
0032360    S   I   n   i   t   e   d   ,       a   n   d       i   t    
0032400    d   o   e   s       n   o   t       t   o   u   c   h  \r   /
0032420    /   t   h   e       s   y   s   t   e   m       p   h   y   s
0032440    i   c   a   l   -   l   o   g   i   c   a   l       d   i   s
0032460    k       t   a   b   l   e   ,       s   o       t   h   e    
0032500    c   a   l   l   e   r       i   s       e   x   p   e   c   t
0032520    e   d  \r   /   /   t   o       d   o       a   n       O   p
0032540    e   n   I   F   S   P   a   r   t   1       b   e   f   o 376
0032560  001  \0 370   I   r   e       c   a   l   l   i   n   g       C
0032600    r   e   a   t   e   I   F   S   P   a   r   t   2   .  \r   /
0032620    /   R   e   t   u   r   n   s       z   e   r   o       i   f
0032640        s   u   c   c   e   s   s   f   u   l       a   n   d    
0032660    a   n       e   r   r   o   r       c   o   d   e       i   f
0032700        u   n   s   u   c   c   e   s   s   f   u   l   .  \r   [
0032720   \r   /   /   b   u   i   l   d       h   o   m   e       b   l
0032740    o   c   k  \r   l   e   t       h   o   m   e       =       A
0032760    l   l   o   c   a   t   e   (   s   y   s   Z   o   n   e   ,
0033000        l   e   n   H   o   m   e   )  \r   Z   e   r   o   (   h
0033020    o   m   e   ,       l   e   n   H   o   m   e   )  \r   h   o
0033040    m   e   >   >   H   o   m   e   .   t   y   p   e       =    
0033060    c   P   a   r   >   >   C   P   a   r   .   t   y   p   e  \r
0033100    h   o   m   e   >   >   H   o   m   e   .   n   u   m   U   n
0033120    i   t   s       =       c   P   a   r   >   >   C   P   a   r
0033140    .   n   u   m   U   n   i   t   s  \r   R   e   a   d   C   a
0033160    l   e   n   d 376 001  \0 217 352   a   r   (   l   v       h
0033200    o   m   e   >   >   H   o   m   e   .   c   r   e   a   t   e
0033220    d   )  \r   C   o   p   y   S   t   r   i   n   g   (   l   v
0033240        h   o   m   e   >   >   H   o   m   e   .   i   d   ,    
0033260    c   P   a   r   >   >   C   P   a   r   .   i   d   )  \r   C
0033300    o   p   y   S   t   r   i   n   g   (   l   v       h   o   m
0033320    e   >   >   H   o   m   e   .   n   a   m   e   ,       c   P
0033340    a   r   >   >   C   P   a   r   .   n   a   m   e   )  \r  \r
0033360    /   /       C   h   e   c   k       a   l   l       t   h   e
0033400        d   r   i   v   e   s       t   o       m   a   k   e    
0033420    s   u   r   e       t   h   e   y       a   r   e       t   h
0033440    e   r   e       a   n   d  \r   /   /       t   o       s   e
0033460    e       w   h   e   t   h   e   r       t   h   e   y       a
0033500    r   e       T   -   3   0   0   s  \r   f   o   r       u   n
0033520    i   t       =       0       t   o       c   P   a   r   >   >
0033540    C   P   a   r   .   n   u   m   U   n   i   t   s   -   1    
0033560    d   o  \r               [  \r     376 001  \0   ) 021        
0033600    l   e   t       d   i   s   k       =       T   F   S   I   n
0033620    i   t   (   s   y   s   Z   o   n   e   ,       f   a   l   s
0033640    e   ,       c   P   a   r   >   >   C   P   a   r   .   l   p
0033660    M   a   p   ^   u   n   i   t   ,       0   ,       t   r   u
0033700    e   )  \r               i   f       d   i   s   k       e   q
0033720        0       t   h   e   n       [       F   r   e   e   (   s
0033740    y   s   Z   o   n   e   ,       h   o   m   e   )   ;       r
0033760    e   s   u   l   t   i   s       e   c   N   o   t   O   n   L
0034000    i   n   e       ]  \r               i   f       T   F   S   D
0034020    i   s   k   M   o   d   e   l   (   d   i   s   k   )       e
0034040    q       3   0   0       t   h   e   n  \r                    
0034060        [           /   /       A   d   d       a       l   o   g
0034100    i   c   a   l       u   n   i   t       f   o   r       t   h
0034120    e       s   e   c   o   n   d       h   a   l   f       o   f
0034140        t   h   i   s       T   -   3   0   0  \r                
0034160            c   P   a   r   >   >   C   P   a   r   .   l 376 001
0034200   \0   m 336   p   M   a   p   ^   (   h   o   m   e   >   >   H
0034220    o   m   e   .   n   u   m   U   n   i   t   s   )       =    
0034240    #   4   0   0       +       c   P   a   r   >   >   C   P   a
0034260    r   .   l   p   M   a   p   ^   u   n   i   t  \r            
0034300                h   o   m   e   >   >   H   o   m   e   .   n   u
0034320    m   U   n   i   t   s       =       h   o   m   e   >   >   H
0034340    o   m   e   .   n   u   m   U   n   i   t   s   +   1  \r    
0034360                        ]  \r               T   F   S   C   l   o
0034400    s   e   (   d   i   s   k   )  \r               ]  \r  \r   /
0034420    /   d   o       t   h   e       i   n   i   t   i   a   l   i
0034440    z   a   t   i   o   n       f   o   r       e   a   c   h    
0034460    l   o   g   i   c   a   l       u   n   i   t  \r   l   e   t
0034500        r   e   s       =       n   i   l  \r   f   o   r       u
0034520    n   i   t       =       0       t   o       h   o   m   e   >
0034540    >   H   o   m   e   .   n   u   m   U   n   i   t   s   -   1
0034560        d   o  \r               [  \r               r   e   s    
0034600    =       C 376 001  \0 315   (   r   e   a   t   e   I   F   S
0034620    D   i   s   k   (   u   n   i   t   ,       c   P   a   r   >
0034640    >   C   P   a   r   .   l   p   M   a   p   ^   u   n   i   t
0034660    ,       h   o   m   e   ,       c   P   a   r   >   >   C   P
0034700    a   r   .   d   i   r   S   i   z   e   )  \r               i
0034720    f       r   e   s       n   e       0       b   r   e   a   k
0034740   \r               ]  \r  \r   F   r   e   e   (   s   y   s   Z
0034760    o   n   e   ,       h   o   m   e   )  \r   r   e   s   u   l
0035000    t   i   s       r   e   s  \r   ]  \r  \f  \r   /   /   -   -
0035020    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0035120    -   -   -   -   -   -   -   -   -  \r   a   n   d       C   r
0035140    e   a   t   e   I   F   S   D   i   s   k   (   u   n   i   t
0035160    ,       d   r   i   v   e   ,       h   o   m   e   ,       d
0035200    i   r   S   i   z   e   )     376 001  \0 300 276   =       v
0035220    a   l   o   f  \r   /   /   -   -   -   -   -   -   -   -   -
0035240    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0035340    -   -  \r   /   /       I   n   i   t   i   a   l   i   z   e
0035360    s       l   o   g   i   c   a   l       u   n   i   t       o
0035400    f       a   n       I   F   S   .           R   e   t   u   r
0035420    n   s       z   e   r   o       i   f       s   u   c   c   e
0035440    s   s   f   u   l       a   n   d       a   n  \r   /   /    
0035460    e   r   r   o   r       c   o   d   e       i   f       u   n
0035500    s   u   c   c   e   s   s   f   u   l   .           D   r   i
0035520    v   e       m   a   y       b   e       #   4   0   0   +   d
0035540    r   i   v   e   #       t   o       d   e   s   i   g   n   a
0035560    t   e       t   h   e  \r   /   /       s   e   c   o   n   d
0035600        h   a   l   f       o   f       a       T   - 376 001  \0
0035620  313   <   3   0   0   .           d   i   r   S   i   z   e    
0035640    i   s       t   h   e       n   u   m   b   e   r       o   f
0035660        p   a   g   e   s       t   o       p   r   e   a   l   l
0035700    o   c   a   t   e  \r   /   /       f   o   r       I   F   S
0035720    .   d   i   r   ;       n   e   e   d   e   d       o   n   l
0035740    y       i   f       u   n   i   t   =   0   .  \r   [  \r   /
0035760    /       E   r   a   s   e       t   h   e       d   i   s   k
0036000   \r   u   n   l   e   s   s       T   F   S   N   e   w   D   i
0036020    s   k   (   s   y   s   Z   o   n   e   ,       d   r   i   v
0036040    e   )       r   e   s   u   l   t   i   s       e   c   C   a
0036060    n   t   T   F   S   N   e   w   D   i   s   k  \r  \r   /   /
0036100        C   r   e   a   t   e       I   F   S   .   H   o   m   e
0036120    .  \r   /   /       A   l   l   o   c   a   t   e       s   y
0036140    s   t   e   m       f   i   l   e   s       n   e   x   t    
0036160    t   o       t   h   e       D   D       i   n       t   h   e
0036200        m   i   d   d   l   e       o   f       t   h   e       d
0036220    i   s 376 001  \0 345 376   k   .  \r   l   e   t       d   i
0036240    s   k       =       T   F   S   I   n   i   t   (   s   y   s
0036260    Z   o   n   e   ,       t   r   u   e   ,       d   r   i   v
0036300    e   )  \r   i   f       d   i   s   k       e   q       0    
0036320    r   e   s   u   l   t   i   s       e   c   C   a   n   t   T
0036340    F   S   I   n   i   t  \r   R   e   l   e   a   s   e   D   i
0036360    s   k   P   a   g   e   (   d   i   s   k   ,       A   s   s
0036400    i   g   n   D   i   s   k   P   a   g   e   (   d   i   s   k
0036420    ,       d   i   s   k   >   >   T   F   S   D   S   K   .   V
0036440    D   A   d   i   s   k   D   D   ^   1   )   )  \r   l   e   t
0036460        s   t   r       =       O   p   e   n   S   y   s   t   e
0036500    m   F   i   l   e   (   d   i   s   k   ,       "   I   F   S
0036520    .   H   o   m   e   "   )  \r   h   o   m   e   >   >   H   o
0036540    m   e   .   t   h   i   s   U   n   i   t       =       u   n
0036560    i   t  \r   W   r   i   t   e   B   l   o   c   k   (   s   t
0036600    r   ,       h   o   m   e   ,       l   e   n   H   o   m   e
0036620    )  \r   C   l   o   s   e 376 001  \0 356       s   (   s   t
0036640    r   )  \r  \r   /   /       I   f       t   h   i   s       i
0036660    s       l   o   g   i   c   a   l       u   n   i   t       0
0036700    ,       c   r   e   a   t   e       I   F   S   .   D   i   r
0036720    .  \r   /   /       I   f       u   n   i   t       0       o
0036740    f       a       p   r   i   m   a   r   y       I   F   S   ,
0036760        c   r   e   a   t   e       o   t   h   e   r       s   y
0037000    s   t   e   m       f   i   l   e   s       a   l   s   o   .
0037020   \r   i   f       u   n   i   t       e   q       0       t   h
0037040    e   n  \r               [  \r               C   r   e   a   t
0037060    e   S   y   s   t   e   m   F   i   l   e   (   d   i   s   k
0037100    ,       "   I   F   S   .   D   i   r   "   ,       d   i   r
0037120    S   i   z   e   )  \r               i   f       h   o   m   e
0037140    >   >   H   o   m   e   .   t   y   p   e       e   q       i
0037160    f   s   T   y   p   e   P   r   i   m   a   r   y       t   h
0037200    e   n  \r                           [  \r                    
0037220        C   r   e   a   t   e   S   y   s   t   e 376 001  \0 315
0037240   \v   m   F   i   l   e   (   d   i   s   k   ,       "   I   F
0037260    S   .   S   w   a   p   "   ,       i   f   s   S   w   a   p
0037300    P   a   g   e   s   )  \r                           C   r   e
0037320    a   t   e   S   y   s   t   e   m   F   i   l   e   (   d   i
0037340    s   k   ,       "   I   F   S   .   E   r   r   o   r   s   "
0037360    ,       i   f   s   E   r   r   o   r   P   a   g   e   s   )
0037400   \r                           C   r   e   a   t   e   S   y   s
0037420    t   e   m   F   i   l   e   (   d   i   s   k   ,       "   I
0037440    F   S   .   S   y   m   s   "   ,       i   f   s   S   y   m
0037460    s   P   a   g   e   s   )  \r                           ]  \r
0037500                ]  \r   R   e   l   e   a   s   e   D   i   s   k
0037520    P   a   g   e   (   d   i   s   k   ,       A   s   s   i   g
0037540    n   D   i   s   k   P   a   g   e   (   d   i   s   k   ,    
0037560    0   )   )  \r   T   F   S   C   l   o   s   e   (   d   i   s
0037600    k   )  \r   r   e   s   u   l   t   i   s       0  \r   ]  \r
0037620   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0037640    - 376 001  \0 213   z   -   -   -   -   -   -   -   -   -   -
0037660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0037740    -   -   -  \r   a   n   d       C   r   e   a   t   e   S   y
0037760    s   t   e   m   F   i   l   e   (   d   i   s   k   ,       n
0040000    a   m   e   ,       p   a   g   e   s   )       b   e  \r   /
0040020    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0040040    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0040120    -   -   -   -   -   -   -   -   -   -   -   -  \r   /   /   C
0040140    r   e   a   t   e   s       a       b   l   a   n   k       f
0040160    i   l   e       o   f       t   h   e       s   p   e   c   i
0040200    f   i   e   d       l   e   n   g   t   h       (   i   n    
0040220    p   a   g   e   s   )  \r   [  \r   l   e   t       s   t   r
0040240        =       O   p   e 376 001  \0   ?  \b   n   S   y   s   t
0040260    e   m   F   i   l   e   (   d   i   s   k   ,       n   a   m
0040300    e   )  \r   P   o   s   i   t   i   o   n   P   a   g   e   (
0040320    s   t   r   ,       p   a   g   e   s   )  \r   C   l   o   s
0040340    e   s   (   s   t   r   )  \r   ]  \r  \r   /   /   -   -   -
0040360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0040460    -   -   -   -   -   -   -   -  \r   a   n   d       O   p   e
0040500    n   S   y   s   t   e   m   F   i   l   e   (   d   i   s   k
0040520    ,       n   a   m   e   )       =       v   a   l   o   f  \r
0040540    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0040560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0040640    -   -   -   -   -   -   -   -   -   -   - 376  \0 177 334 203
0040660    -   -  \r   [  \r   l   e   t       s   t   r       =       O
0040700    p   e   n   F   i   l   e   (   n   a   m   e   ,       0   ,
0040720        0   ,       0   ,       0   ,       0   ,       0   ,    
0040740    0   ,       d   i   s   k   )  \r   i   f       s   t   r    
0040760    e   q       0       t   h   e   n       I   F   S   E   r   r
0041000    o   r   (   e   c   C   r   e   a   t   e   E   s   s   e   n
0041020    t   i   a   l   F   i   l   e   ,       n   a   m   e   )  \r
0041040    r   e   s   u   l   t   i   s       s   t   r  \r   ]  \r 377
0041060   \0  \0   I   f   s   C   r   e   a   t   e   2   .   b   c   p
0041100    l  \0 373 230   # 355   (  \0  \0 376 001  \0   i   C   /   /
0041120        I   F   S   C   r   e   a   t   e   2   .   b   c   p   l
0041140        -   -       c   o   d   e       f   o   r       c   r   e
0041160    a   t   i   n   g       a   n       I   n   t   e   r   i   m
0041200        F   i   l   e       S   y   s   t   e   m  \r   /   /  \t
0041220    T   h   i   s       p   o   r   t   i   o   n       n   e   e
0041240    d       n   o   t       b   e       i   n       t   h   e    
0041260    r   e   s   i   d   e   n   t       i   n   i   t   i   a   l
0041300    i   z   a   t   i   o   n  \r   /   /       C   o   p   y   r
0041320    i   g   h   t       X   e   r   o   x       C   o   r   p   o
0041340    r   a   t   i   o   n       1   9   7   9   ,       1   9   8
0041360    0   ,       1   9   8   1  \r  \r   /   /       L   a   s   t
0041400        m   o   d   i   f   i   e   d       N   o   v   e   m   b
0041420    e   r       1   9   ,       1   9   8   1           9   :   1
0041440    9       A   M       b   y       T   a   f   t  \r  \r   g   e
0041460    t       "   i   f   s   .   d   e   c   l   "  \r   g   e   t
0041500        "   i   f   s   f   i   l   e   s   .   d   e   c 376 001
0041520   \0 375 221   l   "  \r   g   e   t       "   i   f   s   d   i
0041540    r   s   .   d   e   c   l   "  \r   g   e   t       "   s   t
0041560    r   e   a   m   s   .   d   "  \r  \r   e   x   t   e   r   n
0041600    a   l  \r   [  \r   /   /       O   u   t   g   o   i   n   g
0041620        p   r   o   c   e   d   u   r   e   s  \r   C   r   e   a
0041640    t   e   I   F   S   ;       C   r   e   a   t   e   I   F   S
0041660    P   a   r   t   2   ;       C   r   e   a   t   e   S   y   s
0041700    t   e   m   E   n   t   r   i   e   s   ;  \r  \r   /   /    
0041720    I   n   c   o   m   i   n   g       p   r   o   c   e   d   u
0041740    r   e   s  \r   C   r   e   a   t   e   I   F   S   P   a   r
0041760    t   1   ;       O   p   e   n   I   F   S   P   a   r   t   1
0042000    ;       O   p   e   n   I   F   S   P   a   r   t   2   ;    
0042020    C   l   o   s   e   I   F   S  \r   O   p   e   n   I   F   S
0042040    T   r   e   e   ;       C   l   o   s   e   B   T   r   e   e
0042060   \r   T   F   S   D   i   s   k   M   o   d   e   l   ;       O
0042100    p   e   n   D   i   s   k   ;       O   p   e   n   S   y   s
0042120    t   e   m 376 001  \0 214   Q   F   i   l   e   ;       C   r
0042140    e   a   t   e   I   F   S   D   i   s   k  \r   C   r   e   a
0042160    t   e   O   F   T   ;       D   e   s   t   r   o   y   O   F
0042200    T   ;       C   r   e   a   t   e   U   s   e   r   ;       T
0042220    r   a   n   s   f   e   r   L   e   a   d   e   r   P   a   g
0042240    e  \r   C   r   e   a   t   e   F   D   ;       D   e   s   t
0042260    r   o   y   F   D   ;       L   o   o   k   u   p   I   F   S
0042300    F   i   l   e   ;       G   e   t   B   u   f   f   e   r   F
0042320    o   r   F   D   ;       L   o   c   k   D   i   r   F   D   ;
0042340        U   n   l   o   c   k   D   i   r   F   D  \r   C   r   e
0042360    a   t   e   D   i   r   e   c   t   o   r   y   E   n   t   r
0042400    y   ;       U   p   d   a   t   e   D   I   F   R   e   c   ;
0042420        U   p   d   a   t   e   P   a   g   e   U   s   a   g   e
0042440   \r   L   o   c   k   ;       U   n   l   o   c   k   ;       E
0042460    x   t   e   n   d   S   t   a   c   k   C   a   l   l   ;    
0042500    I   F   S   E   r   r   o   r  \r   C   o   p   y   S   t   r
0042520    i   n   g   ;       C   r   e 376 001  \0 002 360   a   t   e
0042540    S   t   r   i   n   g   S   t   r   e   a   m   ;       P   u
0042560    t   T   e   m   p   l   a   t   e  \r   D   e   f   a   u   l
0042600    t   A   r   g   s   ;       S   y   s   A   l   l   o   c   a
0042620    t   e   ;       S   y   s   F   r   e   e   ;       M   o   v
0042640    e   B   l   o   c   k   ;       Z   e   r   o  \r   O   p   e
0042660    n   F   i   l   e   ;       K   s   H   i   n   t   L   a   s
0042700    t   P   a   g   e   F   a   ;       C   l   o   s   e   s   ;
0042720        R   e   a   d   B   l   o   c   k   ;       W   r   i   t
0042740    e   B   l   o   c   k  \r  \r   /   /       I   n   c   o   m
0042760    i   n   g       s   t   a   t   i   c   s  \r   d   r   i   v
0043000    e   T   a   b   ;       o   p   e   n   L   o   c   k  \r   ]
0043020   \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0043040    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0043120    -   -   -   -   -   -   -   -   -   -   -   -   - 376 001  \0
0043140  353 345   -   -  \r   l   e   t       C   r   e   a   t   e   I
0043160    F   S   (   c   P   a   r   ,       l   v   E   r   r   o   r
0043200    )       =       E   x   t   e   n   d   S   t   a   c   k   C
0043220    a   l   l   (   3   0   0   0   ,       D   o   C   r   e   a
0043240    t   e   ,       c   P   a   r   ,       l   v   E   r   r   o
0043260    r   )  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0043300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0043400   \r   /   /       C   r   e   a   t   e   s       a   n   d    
0043420    o   p   e   n   s       a   n       I   F   S       u   s   i
0043440    n   g       t   h   e       p   a   r   a   m   e   t   e   r
0043460    s       s   u   p   p   l   i   e   d       i   n       c   P
0043500    a   r   .  \r   /   /       i   d       a   n   d       n   a
0043520    m   e       a   r   e       s   t   r   i   n   g   s       t
0043540    o     376 001  \0 265   K   i   n   s   e   r   t       i   n
0043560    t   o       t   h   e       h   o   m   e       b   l   o   c
0043600    k   .  \r   /   /       n   u   m   U   n   i   t   s       i
0043620    s       t   h   e       n   u   m   b   e   r       o   f    
0043640    d   i   s   k       u   n   i   t   s       i   n       t   h
0043660    e       f   i   l   e       s   y   s   t   e   m   .  \r   /
0043700    /       l   p   M   a   p       i   s       a       v   e   c
0043720    t   o   r       d   e   s   c   r   i   b   i   n   g       t
0043740    h   e       l   o   g   i   c   a   l   -   t   o   -   p   h
0043760    y   s   i   c   a   l       u   n   i   t  \r   /   /       n
0044000    u   m   b   e   r       m   a   p   .           i   f   s   T
0044020    y   p   e       i   s       o   n   e       o   f       i   f
0044040    s   T   y   p   e   P   r   i   m   a   r   y       o   r    
0044060    i   f   s   T   y   p   e   B   a   c   k   u   p   .  \r   /
0044100    /       I   f       s   u   c   c   e   s   s   f   u   l   ,
0044120        r   e   t   u   r   n   s       t   h   e       i   f   s
0044140        s   t   r   u   c   t 376 001  \0 376 363   u   r   e   .
0044160            I   f       u   n   s   u   c   c   e   s   s   f   u
0044200    l   ,  \r   /   /       s   t   o   r   e   s       a   n    
0044220    e   r   r   o   r       c   o   d   e       i   n       @   l
0044240    v   E   r   r   o   r       a   n   d       r   e   t   u   r
0044260    n   s       z   e   r   o   .  \r  \r   /   /   -   -   -   -
0044300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0044400    -   -   -   -   -   -   -  \r   a   n   d       D   o   C   r
0044420    e   a   t   e   (   c   P   a   r   ,       l   v   E   r   r
0044440    o   r   )       =       v   a   l   o   f  \r   /   /   -   -
0044460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0044540    -   -   -   -   -   -   -   -   -   -   -   - 376 001  \0 006
0044560  375   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   [
0044600   \r   @   l   v   E   r   r   o   r       =       C   r   e   a
0044620    t   e   I   F   S   P   a   r   t   1   (   c   P   a   r   )
0044640   \r   i   f       @   l   v   E   r   r   o   r       n   e    
0044660    0       r   e   s   u   l   t   i   s       0  \r   L   o   c
0044700    k   (   o   p   e   n   L   o   c   k   ,       t   r   u   e
0044720    )  \r   l   e   t       i   f   s       =       O   p   e   n
0044740    I   F   S   P   a   r   t   1   (   c   P   a   r   >   >   C
0044760    P   a   r   .   i   d   ,       l   v   E   r   r   o   r   )
0045000   \r   i   f       i   f   s       n   e       0       t   h   e
0045020    n  \r               [  \r               C   r   e   a   t   e
0045040    I   F   S   P   a   r   t   2   (   i   f   s   )  \r        
0045060        i   f   s       =       O   p   e   n   I   F   S   P   a
0045100    r   t   2   (   i   f   s   ,       l   v   E   r   r   o   r
0045120    )  \r               ]  \r   U   n   l   o   c   k   (   o   p
0045140    e   n   L   o   c   k   )  \r   r   e   s   u   l   t   i   s
0045160      376 001  \0   E 261   i   f   s  \r   ]  \r  \f  \r   /   /
0045200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0045300    -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d    
0045320    C   r   e   a   t   e   I   F   S   P   a   r   t   2   (   i
0045340    f   s   )       b   e  \r   /   /   -   -   -   -   -   -   -
0045360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0045460    -   -   -   -  \r   /   /       P   e   r   f   o   r   m   s
0045500        t   h   e       s   e   c   o   n   d       p   a   r   t
0045520        o   f       I   F   S       c   r   e   a   t   i   o   n
0045540    ,       g   i   v   e   n       t   h   e       i   f   s    
0045560    s   t   r   u   c   t 376 001  \0 003   #   u   r   e  \r   /
0045600    /       r   e   t   u   r   n   e   d       b   y       O   p
0045620    e   n   I   F   S   P   a   r   t   1   .           I   t    
0045640    i   n   i   t   i   a   l   i   z   e   s       t   h   e    
0045660    d   i   r   e   c   t   o   r   y       B   -   t   r   e   e
0045700    ,  \r   /   /       e   n   t   e   r   s       a   l   l    
0045720    s   y   s   t   e   m       f   i   l   e   s       i   n   t
0045740    o       i   t   ,       a   n   d       c   l   o   s   e   s
0045760        i   t   .  \r   [  \r   /   /       i   n   i   t   i   a
0046000    l   i   z   e       t   h   e       B   -   t   r   e   e  \r
0046020    l   e   t       f   p       =       v   e   c       l   F   P
0046040   \r   T   F   S   N   a   m   e   T   o   F   P   (   "   I   F
0046060    S   .   D   i   r   "   ,       i   f   s   >   >   I   F   S
0046100    .   l   p   d   t   ^   0   ,       f   p   )  \r   i   f   s
0046120    >   >   I   F   S   .   d   i   r   B   T   r   e   e       =
0046140        O   p   e   n   I   F   S   T   r   e   e   (   f   p   ,
0046160        i   f   s   ,       0   ,       0   , 376 001  \0   v 317
0046200        t   r   u   e   ,       1   0   0   0   )  \r   C   r   e
0046220    a   t   e   O   F   T   (   i   f   s   ,       8   )  \r  \r
0046240    /   /       m   a   k   e       i   n   i   t   i   a   l    
0046260    D   i   r   e   c   t   o   r   y       I   n   f   o   r   m
0046300    a   t   i   o   n       F   i   l   e   s  \r   m   a   n   i
0046320    f   e   s   t       c   a   p   W   h   e   e   l       =    
0046340    #   1   0   0   0   0   0       r   s   h   i   f   t       o
0046360    f   f   s   e   t       C   a   p   a   b   i   l   i   t   i
0046400    e   s   .   w   h   e   e   l  \r   C   r   e   a   t   e   U
0046420    s   e   r   (   "   S   y   s   t   e   m   "   ,       "   i
0046440    f   s   "   ,       1   0   0   0   0   ,       0   ,       c
0046460    a   p   W   h   e   e   l   ,       t   r   u   e   ,       i
0046500    f   s   )  \r   Z   e   r   o   W   r   i   t   e   D   a   t
0046520    e   (   i   f   s   ,       "   <   S   y   s   t   e   m   >
0046540    !   1   "   )  \r   i   f       i   f   s   >   >   I   F   S
0046560    .   t   y   p   e       e   q       i   f   s   T   y   p   e
0046600  376 001  \0   x  \f   P   r   i   m   a   r   y       t   h   e
0046620    n  \r               [  \r               C   r   e   a   t   e
0046640    U   s   e   r   (   "   D   e   f   a   u   l   t   -   U   s
0046660    e   r   "   ,       "   *   n   "   ,       1   0   0   0   ,
0046700        0   ,       0   ,       t   r   u   e   ,       i   f   s
0046720    )  \r               C   r   e   a   t   e   U   s   e   r   (
0046740    "   M   a   i   l   "   ,       "   *   n   "   ,       1   0
0046760    0   0   0   ,       "   S   y   s   t   e   m   "   ,       0
0047000    ,       f   a   l   s   e   ,       i   f   s   )  \r        
0047020        Z   e   r   o   W   r   i   t   e   D   a   t   e   (   i
0047040    f   s   ,       "   <   D   e   f   a   u   l   t   -   U   s
0047060    e   r   >   !   1   "   )  \r               Z   e   r   o   W
0047100    r   i   t   e   D   a   t   e   (   i   f   s   ,       "   <
0047120    M   a   i   l   >   !   1   "   )  \r               ]  \r  \r
0047140    /   /       m   a   k   e       d   i   r   e   c   t   o   r
0047160    y       e   n   t   r   i   e   s       i   n       <   S   y
0047200    s   t   e   m   > 376 001  \0 316 341       f   o   r       a
0047220    l   l       s   y   s   t   e   m       f   i   l   e   s  \r
0047240    C   r   e   a   t   e   S   y   s   t   e   m   E   n   t   r
0047260    y   (   i   f   s   ,       0   ,       "   I   F   S   .   D
0047300    i   r   "   )  \r   i   f       i   f   s   >   >   I   F   S
0047320    .   t   y   p   e       e   q       i   f   s   T   y   p   e
0047340    P   r   i   m   a   r   y       t   h   e   n  \r            
0047360    [  \r               C   r   e   a   t   e   S   y   s   t   e
0047400    m   E   n   t   r   y   (   i   f   s   ,       0   ,       "
0047420    I   F   S   .   S   w   a   p   "   )  \r               C   r
0047440    e   a   t   e   S   y   s   t   e   m   E   n   t   r   y   (
0047460    i   f   s   ,       0   ,       "   I   F   S   .   E   r   r
0047500    o   r   s   "   ,       0   ,       f   t   T   e   x   t   ,
0047520        t   r   u   e   )  \r               C   r   e   a   t   e
0047540    S   y   s   t   e   m   E   n   t   r   y   (   i   f   s   ,
0047560        0   ,       "   I   F   S   .   S   y   m   s   "   ,    
0047600    0   ,       0   ,       t   r   u   e 376 001  \0 221 334   )
0047620   \r               ]  \r   f   o   r       i       =       0    
0047640    t   o       i   f   s   >   >   I   F   S   .   n   u   m   U
0047660    n   i   t   s   -   1       d   o       C   r   e   a   t   e
0047700    S   y   s   t   e   m   E   n   t   r   i   e   s   (   i   f
0047720    s   ,       i   )  \r  \r   C   l   o   s   e   B   T   r   e
0047740    e   (   i   f   s   >   >   I   F   S   .   d   i   r   B   T
0047760    r   e   e   )  \r   i   f   s   >   >   I   F   S   .   d   i
0050000    r   B   T   r   e   e       =       0  \r   u   n   l   e   s
0050020    s       D   e   s   t   r   o   y   O   F   T   (   i   f   s
0050040    )       d   o       I   F   S   E   r   r   o   r   (   e   c
0050060    C   a   n   t   D   e   s   t   r   o   y   O   F   T   )  \r
0050100    ]  \r  \f  \r   /   /   -   -   -   -   -   -   -   -   -   -
0050120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0050200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   - 376
0050220  001  \0   g 034   -   -  \r   a   n   d       Z   e   r   o   W
0050240    r   i   t   e   D   a   t   e   (   i   f   s   ,       n   a
0050260    m   e   )       b   e  \r   /   /   -   -   -   -   -   -   -
0050300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0050400    -   -   -   -  \r   /   /       T   h   e       p   u   r   p
0050420    o   s   e       o   f       t   h   i   s       e   x   e   r
0050440    c   i   s   e       i   s       t   o       c   a   u   s   e
0050460        t   h   e       f   i   l   e       t   o       b   e    
0050500    v   e   r   y       o   l   d  \r   /   /       a   n   d    
0050520    h   e   n   c   e       e   l   i   g   i   b   l   e       f
0050540    o   r       r   e   s   t   o   r   a   t   i   o   n       b
0050560    y       t   h   e       b   a   c   k   u   p       s   y   s
0050600    t   e   m   .           T   h   i   s       i   s       n   e
0050620    c   e   s   s 376 001  \0   E   u   a   r   y  \r   /   /    
0050640    f   o   r       <   S   y   s   t   e   m   >   !   1       a
0050660    n   d       <   D   e   f   a   u   l   t   -   U   s   e   r
0050700    >   !   1   ,       s   i   n   c   e       t   h   e   s   e
0050720        a   r   e       c   r   e   a   t   e   d       b   y  \r
0050740    /   /       C   r   e   a   t   e   I   F   S       w   i   t
0050760    h       d   u   m   m   y       i   n   f   o   r   m   a   t
0051000    i   o   n       a   n   d       t   h   e       r   e   a   l
0051020        s   t   u   f   f       m   u   s   t       b   e       r
0051040    e   s   t   o   r   e   d  \r   /   /       f   r   o   m    
0051060    t   h   e       b   a   c   k   u   p       s   y   s   t   e
0051100    m   .  \r   [  \r   l   e   t       f   d       =       L   o
0051120    o   k   u   p   I   F   S   F   i   l   e   (   n   a   m   e
0051140    ,       l   c   V   E   x   p   l   i   c   i   t   ,       0
0051160    ,       i   f   s   )  \r   i   f       f   d       e   q    
0051200    0       t   h   e   n       I   F   S   E   r   r   o   r   (
0051220    e   c   T   r   i   d   e   n   t 376 001  \0   5   &   F   i
0051240    l   e   ,       n   a   m   e   )  \r   l   e   t       b   u
0051260    f       =       G   e   t   B   u   f   f   e   r   F   o   r
0051300    F   D   (   f   d   )  \r   T   r   a   n   s   f   e   r   L
0051320    e   a   d   e   r   P   a   g   e   (   f   d   ,       b   u
0051340    f   )  \r   Z   e   r   o   (   l   v       b   u   f   >   >
0051360    I   L   D   .   w   r   i   t   t   e   n   ,       2   )  \r
0051400    T   r   a   n   s   f   e   r   L   e   a   d   e   r   P   a
0051420    g   e   (   f   d   ,       b   u   f   ,       t   r   u   e
0051440    )  \r   S   y   s   F   r   e   e   (   b   u   f   )  \r   D
0051460    e   s   t   r   o   y   F   D   (   f   d   )  \r   ]  \r  \r
0051500    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0051520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0051600    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   a   n
0051620    d       T   F   S   N   a   m   e   T   o   F   P   ( 376 001
0051640   \0 321   G   n   a   m   e   ,       d   i   s   k   ,       f
0051660    p   )       =       v   a   l   o   f  \r   /   /   -   -   -
0051700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0052000    -   -   -   -   -   -   -   -  \r   /   /       L   o   o   k
0052020    s       u   p       t   h   e       T   F   S       f   i   l
0052040    e       o   n       t   h   e       s   p   e   c   i   f   i
0052060    e   d       d   i   s   k       a   n   d       s   t   o   r
0052100    e   s       t   h   e  \r   /   /       f   i   l   e   '   s
0052120        F   P       i   n       t   h   e       s   t   r   u   c
0052140    t   u   r   e       p   o   i   n   t   e   d       t   o    
0052160    b   y       f   p   .  \r   /   /       R   e   t   u   r   n
0052200    s       t   h   e       s   i   z   e       o   f       t   h
0052220    e       f   i   l   e       i   n       p   a   g   e   s   .
0052240   \r   [  \r 376 001  \0 245 034   Z   e   r   o   (   f   p   ,
0052260        l   F   P   )  \r   l   e   t       s   t   r       =    
0052300    O   p   e   n   F   i   l   e   (   n   a   m   e   ,       k
0052320    s   T   y   p   e   R   e   a   d   O   n   l   y   ,       0
0052340    ,       0   ,       f   p   ,       0   ,       0   ,       0
0052360    ,       d   i   s   k   )  \r   i   f       s   t   r       e
0052400    q       0       t   h   e   n       I   F   S   E   r   r   o
0052420    r   (   e   c   T   r   i   d   e   n   t   F   i   l   e   ,
0052440        n   a   m   e   )  \r   l   e   t       p   a   g   e   s
0052460        =       K   s   H   i   n   t   L   a   s   t   P   a   g
0052500    e   F   a   (   s   t   r   )   >   >   F   A   .   p   a   g
0052520    e   N   u   m   b   e   r   +   1  \r   C   l   o   s   e   s
0052540    (   s   t   r   )  \r   r   e   s   u   l   t   i   s       p
0052560    a   g   e   s  \r   ]  \r  \f  \r   /   /   -   -   -   -   -
0052600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0052640    -   -   -   -   -   -   -   - 376 001  \0 335 222   -   -   -
0052660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0052700    -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d    
0052720    C   r   e   a   t   e   S   y   s   t   e   m   E   n   t   r
0052740    i   e   s   (   i   f   s   ,       u   n   i   t   )       b
0052760    e  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0053000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0053060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0053100    [  \r   C   r   e   a   t   e   S   y   s   t   e   m   E   n
0053120    t   r   y   (   i   f   s   ,       u   n   i   t   ,       "
0053140    I   F   S   .   H   o   m   e   "   ,       t   r   u   e   )
0053160   \r   C   r   e   a   t   e   S   y   s   t   e   m   E   n   t
0053200    r   y   (   i   f   s   ,       u   n   i   t   ,       "   S
0053220    y   s   D   i   r   "   ,       t   r   u   e   )  \r   C   r
0053240    e   a   t   e   S   y   s   t   e   m   E   n   t 376 001  \0
0053260  214 204   r   y   (   i   f   s   ,       u   n   i   t   ,    
0053300    "   D   i   s   k   D   e   s   c   r   i   p   t   o   r   "
0053320    ,       t   r   u   e   )  \r   ]  \r  \r   /   /   -   -   -
0053340    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0053440    -   -   -   -   -   -   -   -  \r   a   n   d       C   r   e
0053460    a   t   e   S   y   s   t   e   m   E   n   t   r   y   (   i
0053500    f   s   ,       u   n   i   t   ,       n   a   m   e   ,    
0053520    a   p   p   e   n   d   ,       f   i   l   e   T   y   p   e
0053540    ,       w   o   r   l   d   ;       n   u   m   a   r   g   s
0053560        n   a   )       b   e  \r   /   /   -   -   -   -   -   -
0053600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0053660    -   - 376 001  \0 214   j   -   -   -   -   -   -   -   -   -
0053700    -   -   -   -   -   -   -   -   -   -  \r   /   /       C   r
0053720    e   a   t   e   s       a   n       I   F   S       d   i   r
0053740    e   c   t   o   r   y       e   n   t   r   y       f   o   r
0053760        t   h   e       T   F   S       f   i   l   e       "   n
0054000    a   m   e   "  \r   /   /       o   n       l   o   g   i   c
0054020    a   l       u   n   i   t       "   u   n   i   t   "   .    
0054040        I   f       "   a   p   p   e   n   d   "       i   s    
0054060    f   a   l   s   e       o   r       n   o   t       s   u   p
0054100    p   l   i   e   d   ,  \r   /   /       t   h   e       I   F
0054120    S       n   a   m   e       f   o   r       T   F   S       f
0054140    i   l   e       "   f   o   o   "       i   s       "   <   S
0054160    y   s   t   e   m   >   f   o   o   !   1   "   .  \r   /   /
0054200        I   f       u   n   i   t       i   s       s   u   p   p
0054220    l   i   e   d   ,       t   h   e       n   a   m   e       i
0054240    s       "   <   S   y   s   t   e   m   >   f   o   o   .   u
0054260    !   1   "   .  \r   /   / 376 001  \0   . 002       "   w   o
0054300    r   l   d   "       s   h   o   u   l   d       b   e       t
0054320    r   u   e       i   f       t   h   e       f   i   l   e    
0054340    i   s       t   o       b   e       r   e   a   d   a   b   l
0054360    e       b   y       t   h   e       w   o   r   l   d   .  \r
0054400    /   /       A   l   s   o       f   i   x   e   s       u   p
0054420        t   h   e       l   e   a   d   e   r       p   a   g   e
0054440        t   o       h   a   v   e       a   l   l       c   o   r
0054460    r   e   c   t       I   F   S       s   t   u   f   f   .  \r
0054500    [  \r   D   e   f   a   u   l   t   A   r   g   s   (   l   v
0054520        n   a   ,       -   3   ,       f   a   l   s   e   ,    
0054540    f   t   B   i   n   a   r   y   ,       f   a   l   s   e   )
0054560   \r  \r   /   /       l   o   o   k   u   p       t   h   e    
0054600    s   u   p   p   l   i   e   d       T   F   S       n   a   m
0054620    e  \r   l   e   t       f   p       =       v   e   c       l
0054640    F   P  \r   l   e   t       p   a   g   e   s       =       T
0054660    F   S   N   a   m   e   T   o   F   P   (   n 376 001  \0 256
0054700  026   a   m   e   ,       i   f   s   >   >   I   F   S   .   l
0054720    p   d   t   ^   u   n   i   t   ,       f   p   )  \r   f   p
0054740    >   >   I   F   P   .   u   n   i   t       =       u   n   i
0054760    t  \r  \r   /   /       c   o   n   s   t   r   u   c   t    
0055000    I   F   S       n   a   m   e       a   n   d       b   u   i
0055020    l   d       F   D  \r   l   e   t       i   f   s   N   a   m
0055040    e       =       S   y   s   A   l   l   o   c   a   t   e   (
0055060    l   e   n   P   a   t   h   N   a   m   e   )  \r   M   a   k
0055100    e   I   F   S   N   a   m   e   (   i   f   s   N   a   m   e
0055120    ,       n   a   m   e   ,       (   a   p   p   e   n   d   ?
0055140        u   n   i   t   ,       -   1   )   )  \r   l   e   t    
0055160    f   d       =       C   r   e   a   t   e   F   D   (   i   f
0055200    s   N   a   m   e   ,       l   c   C   r   e   a   t   e   +
0055220    l   c   V   N   e   x   t   ,       0   ,       i   f   s   )
0055240   \r   i   f       f   d       e   q       0       t   h   e   n
0055260        I   F   S   E   r   r   o   r   (   e   c   I   l   l   e
0055300    g 376 001  \0 336 263   a   l   E   x   i   s   t   i   n   g
0055320    N   a   m   e   ,       i   f   s   N   a   m   e   )  \r  \r
0055340    /   /       m   a   k   e       I   F   S       d   i   r   e
0055360    c   t   o   r   y       e   n   t   r   y  \r   L   o   c   k
0055400    D   i   r   F   D   (   f   d   ,       l   o   c   k   W   r
0055420    i   t   e   )  \r   M   o   v   e   B   l   o   c   k   (   l
0055440    v       f   d   >   >   F   D   .   d   r   >   >   D   R   .
0055460    f   p   ,       f   p   ,       l   F   P   )  \r   C   r   e
0055500    a   t   e   D   i   r   e   c   t   o   r   y   E   n   t   r
0055520    y   (   f   d   )  \r  \r   /   /       f   i   x       u   p
0055540        t   h   e       l   e   a   d   e   r       p   a   g   e
0055560   \r   l   e   t       b   u   f       =       G   e   t   B   u
0055600    f   f   e   r   F   o   r   F   D   (   f   d   )  \r   T   r
0055620    a   n   s   f   e   r   L   e   a   d   e   r   P   a   g   e
0055640    (   f   d   ,       b   u   f   )  \r   m   a   n   i   f   e
0055660    s   t       l   L   D       =       o   f   f   s   e   t    
0055700    I   L   D   .   p   a 376 001  \0 342 032   t   h   N   a   m
0055720    e   /   1   6  \r   Z   e   r   o   (   b   u   f   +   l   L
0055740    D   ,       i   f   s   >   >   I   F   S   .   p   a   g   e
0055760    L   e   n   g   t   h   -   l   L   D   )  \r   C   o   p   y
0056000    S   t   r   i   n   g   (   l   v       b   u   f   >   >   I
0056020    L   D   .   p   a   t   h   N   a   m   e   ,       i   f   s
0056040    N   a   m   e   )  \r   b   u   f   >   >   I   L   D   .   r
0056060    e   a   d   P   r   o   t   .   o   w   n   e   r       =    
0056100    t   r   u   e           /   /       o   n   l   y       o   w
0056120    n   e   r       c   a   n       r   e   a   d  \r   b   u   f
0056140    >   >   I   L   D   .   r   e   a   d   P   r   o   t   .   w
0056160    o   r   l   d       =       w   o   r   l   d  \r   C   o   p
0056200    y   S   t   r   i   n   g   (   l   v       b   u   f   >   >
0056220    I   L   D   .   a   u   t   h   o   r   ,       "   S   y   s
0056240    t   e   m   "   )  \r   b   u   f   >   >   I   L   D   .   t
0056260    y   p   e       =       f   i   l   e   T   y   p   e  \r   b
0056300    u   f   >   >   I   L   D   .   b   y   t 376 001  \0 346 254
0056320    e   S   i   z   e       =       8  \r   b   u   f   >   >   I
0056340    L   D   .   u   n   d   e   l   e   t   a   b   l   e       =
0056360        t   r   u   e  \r   b   u   f   >   >   I   L   D   .   n
0056400    o   B   a   c   k   u   p       =       t   r   u   e  \r   T
0056420    r   a   n   s   f   e   r   L   e   a   d   e   r   P   a   g
0056440    e   (   f   d   ,       b   u   f   ,       t   r   u   e   )
0056460   \r   S   y   s   F   r   e   e   (   b   u   f   )  \r   U   n
0056500    l   o   c   k   D   i   r   F   D   (   f   d   )  \r  \r   U
0056520    p   d   a   t   e   D   I   F   R   e   c   (   f   d   ,    
0056540    U   p   d   a   t   e   P   a   g   e   U   s   a   g   e   ,
0056560        p   a   g   e   s   )  \r   D   e   s   t   r   o   y   F
0056600    D   (   f   d   )  \r   S   y   s   F   r   e   e   (   i   f
0056620    s   N   a   m   e   )  \r   ]  \r  \r   /   /   -   -   -   -
0056640    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0056720  376 001  \0 357 347   -   -   -   -   -   -   -   -   -   -   -
0056740    -   -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d
0056760        M   a   k   e   I   F   S   N   a   m   e   (   i   f   s
0057000    N   a   m   e   ,       t   f   s   N   a   m   e   ,       u
0057020    n   i   t   )       b   e  \r   /   /   -   -   -   -   -   -
0057040    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0057140    -   -   -   -   -  \r   [  \r   l   e   t       s       =    
0057160    C   r   e   a   t   e   S   t   r   i   n   g   S   t   r   e
0057200    a   m   (   i   f   s   N   a   m   e   ,       m   a   x   P
0057220    a   t   h   N   a   m   e   C   h   a   r   s   )  \r   P   u
0057240    t   T   e   m   p   l   a   t   e   (   s   ,       (   u   n
0057260    i   t       g   e       0   ?       "   <   S   y   s   t   e
0057300    m   >   $   S   .   $   O   !   1   "   ,       "   <   S   y
0057320    s   t   e   m   > 376  \0   #   &  \t   $   S   !   1   "   )
0057340    ,       t   f   s   N   a   m   e   ,       u   n   i   t   )
0057360   \r   C   l   o   s   e   s   (   s   )  \r   ]  \r 377  \0  \0
0057400    I   f   s   E   x   t   e   n   d   .   b   c   p   l  \0 373
0057420  230   # 357      \0  \0 376 001  \0 245   R   /   /       I   F
0057440    S   E   x   t   e   n   d   .   b   c   p   l       -   -    
0057460    c   o   d   e       f   o   r       e   x   t   e   n   d   i
0057500    n   g       a   n       I   n   t   e   r   i   m       F   i
0057520    l   e       S   y   s   t   e   m  \r   /   /       C   o   p
0057540    y   r   i   g   h   t       X   e   r   o   x       C   o   r
0057560    p   o   r   a   t   i   o   n       1   9   7   9   ,       1
0057600    9   8   1  \r  \r   /   /       L   a   s   t       m   o   d
0057620    i   f   i   e   d       N   o   v   e   m   b   e   r       1
0057640    9   ,       1   9   8   1           9   :   2   4       A   M
0057660        b   y       T   a   f   t  \r  \r   g   e   t       "   I
0057700    f   s   .   d   e   c   l   "  \r   g   e   t       "   I   f
0057720    s   F   i   l   e   s   .   d   e   c   l   "  \r  \r   e   x
0057740    t   e   r   n   a   l  \r   [  \r   /   /       O   u   t   g
0057760    o   i   n   g       p   r   o   c   e   d   u   r   e   s  \r
0060000    E   x   t   e   n   d   I   F   S  \r  \r   /   /       I   n
0060020    c   o   m   i   n   g       p   r   o   c 376 001  \0 244 022
0060040    e   d   u   r   e   s  \r   E   x   t   e   n   d   S   t   a
0060060    c   k   C   a   l   l   ;       L   o   c   k   ;       U   n
0060100    l   o   c   k  \r   T   F   S   D   i   s   k   M   o   d   e
0060120    l   ;       S   y   s   A   l   l   o   c   a   t   e   ;    
0060140    S   y   s   F   r   e   e  \r   W   r   i   t   e   B   l   o
0060160    c   k   ;       R   e   a   d   B   l   o   c   k   ;       C
0060200    l   o   s   e   s  \r   O   p   e   n   T   F   S   D   i   s
0060220    k   ;       C   r   e   a   t   e   I   F   S   D   i   s   k
0060240   \r   C   r   e   a   t   e   S   y   s   t   e   m   E   n   t
0060260    r   i   e   s   ;       O   p   e   n   S   y   s   t   e   m
0060300    F   i   l   e  \r  \r   /   /       I   n   c   o   m   i   n
0060320    g       s   t   a   t   i   c   s  \r   d   r   i   v   e   T
0060340    a   b   ;       o   p   e   n   L   o   c   k  \r   ]  \r  \r
0060360    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0060400    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0060440  376 001  \0 205   c   -   -   -   -   -   -   -   -   -   -   -
0060460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0060500    -   -  \r   l   e   t       E   x   t   e   n   d   I   F   S
0060520    (   i   f   s   ,       d   r   i   v   e   )       =       E
0060540    x   t   e   n   d   S   t   a   c   k   C   a   l   l   (   3
0060560    0   0   0   ,       D   o   E   x   t   e   n   d   ,       i
0060600    f   s   ,       d   r   i   v   e   )  \r   /   /   -   -   -
0060620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0060720    -   -   -   -   -   -   -   -  \r   /   /       E   x   t   e
0060740    n   d   s       a       r   u   n   n   i   n   g       I   F
0060760    S       b   y       a   d   d   i   n   g       a       n   e
0061000    w       d   r   i   v   e       t   o       i   t   .  \r   /
0061020    /       R   e   t   u   r   n   s       z   e   r   o       i
0061040    f       s   u   c 376 001  \0   M 202   c   e   s   s   f   u
0061060    l       a   n   d       a   n       e   r   r   o   r       c
0061100    o   d   e       i   f       u   n   s   u   c   c   e   s   s
0061120    f   u   l   .  \r  \r   /   /   -   -   -   -   -   -   -   -
0061140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0061240    -   -   -  \r   a   n   d       D   o   E   x   t   e   n   d
0061260    (   i   f   s   ,       d   r   i   v   e   )       =       v
0061300    a   l   o   f  \r   /   /   -   -   -   -   -   -   -   -   -
0061320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0061420    -   -  \r   [  \r   l   e   t       e   c       =       E   x
0061440    t   e   n   d   O   n   e   D   i   s 376 001  \0 314   h   k
0061460    (   i   f   s   ,       d   r   i   v   e   )  \r   i   f    
0061500    e   c       e   q       0       &       T   F   S   D   i   s
0061520    k   M   o   d   e   l   (   i   f   s   >   >   I   F   S   .
0061540    l   p   d   t   ^   (   i   f   s   >   >   I   F   S   .   n
0061560    u   m   U   n   i   t   s   -   1   )   )       e   q       3
0061600    0   0       t   h   e   n  \r               e   c       =    
0061620    E   x   t   e   n   d   O   n   e   D   i   s   k   (   i   f
0061640    s   ,       #   4   0   0   +   d   r   i   v   e   )        
0061660    /   /       P   u   t       s   e   c   o   n   d       f   i
0061700    l   e       s   y   s   t   e   m       o   n       T   -   3
0061720    0   0  \r   r   e   s   u   l   t   i   s       e   c  \r   ]
0061740   \r  \f  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0061760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0062040    -   -   -   -   -   -   -   -   -   -   -   -   -   -   - 376
0062060  001  \0   A 347   -  \r   a   n   d       E   x   t   e   n   d
0062100    O   n   e   D   i   s   k   (   i   f   s   ,       d   r   i
0062120    v   e   )       =       v   a   l   o   f  \r   /   /   -   -
0062140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0062240    -   -   -   -   -   -   -   -   -  \r   [  \r   /   /       G
0062260    e   t       a       c   o   p   y       o   f       t   h   e
0062300        h   o   m   e       b   l   o   c   k       f   o   r    
0062320    t   h   e       e   x   i   s   t   i   n   g       i   f   s
0062340   \r   l   e   t       n   a   m   e       =       "   I   F   S
0062360    .   H   o   m   e   "  \r   l   e   t       s       =       O
0062400    p   e   n   S   y   s   t   e   m   F   i   l   e   (   i   f
0062420    s   >   >   I   F   S   .   l   p   d   t   ^   0   ,       n
0062440    a   m   e   )  \r   l   e   t       h   o   m   e       =    
0062460    S   y   s   A 376 001  \0  \a 354   l   l   o   c   a   t   e
0062500    (   l   e   n   H   o   m   e   )  \r   R   e   a   d   B   l
0062520    o   c   k   (   s   ,       h   o   m   e   ,       l   e   n
0062540    H   o   m   e   )  \r   C   l   o   s   e   s   (   s   )  \r
0062560   \r   /   /       U   p   d   a   t   e       t   o       a   c
0062600    c   o   u   n   t       f   o   r       n   e   w       u   n
0062620    i   t  \r   l   e   t       n   e   w   U   n   i   t       =
0062640        h   o   m   e   >   >   H   o   m   e   .   n   u   m   U
0062660    n   i   t   s  \r   h   o   m   e   >   >   H   o   m   e   .
0062700    n   u   m   U   n   i   t   s       =       n   e   w   U   n
0062720    i   t   +   1  \r  \r   /   /       C   r   e   a   t   e    
0062740    v   i   r   g   i   n       f   i   l   e       s   y   s   t
0062760    e   m       o   n       n   e   w       d   r   i   v   e  \r
0063000    l   e   t       e   c       =       C   r   e   a   t   e   I
0063020    F   S   D   i   s   k   (   n   e   w   U   n   i   t   ,    
0063040    d   r   i   v   e   ,       h   o   m   e   )  \r   i   f    
0063060    e   c       e   q       0       t 376 001  \0   T 033   h   e
0063100    n  \r               [  \r               L   o   c   k   (   o
0063120    p   e   n   L   o   c   k   ,       t   r   u   e   )  \r  \r
0063140                /   /       U   p   d   a   t   e       t   h   e
0063160        h   o   m   e       b   l   o   c   k   s       o   f    
0063200    a   l   l       e   x   i   s   t   i   n   g       u   n   i
0063220    t   s  \r               f   o   r       i       =       0    
0063240    t   o       n   e   w   U   n   i   t   -   1       d   o  \r
0063260                            [  \r                           s    
0063300    =       O   p   e   n   S   y   s   t   e   m   F   i   l   e
0063320    (   i   f   s   >   >   I   F   S   .   l   p   d   t   ^   i
0063340    ,       n   a   m   e   )  \r                           h   o
0063360    m   e   >   >   H   o   m   e   .   t   h   i   s   U   n   i
0063400    t       =       i  \r                           W   r   i   t
0063420    e   B   l   o   c   k   (   s   ,       h   o   m   e   ,    
0063440    l   e   n   H   o   m   e   )  \r                           C
0063460    l   o   s   e   s   (   s   )  \r                     376 001
0063500   \0   t   E       ]  \r  \r               /   /       I   n   s
0063520    e   r   t       t   h   e       n   e   w       d   i   s   k
0063540        i   n   t   o       t   h   e       r   u   n   n   i   n
0063560    g       i   f   s  \r               i   f   s   >   >   I   F
0063600    S   .   l   p   d   t   ^   n   e   w   U   n   i   t       =
0063620        O   p   e   n   T   F   S   D   i   s   k   (   d   r   i
0063640    v   e   &   #   3   7   7   ,       d   r   i   v   e       r
0063660    s   h   i   f   t       8   )  \r               d   r   i   v
0063700    e   T   a   b   >   >   D   r   i   v   e   T   a   b   ^   (
0063720    d   r   i   v   e   &   #   3   7   7   )   .   i   f   s    
0063740    =       i   f   s  \r  \r               /   /       M   a   k
0063760    e       I   F   S       d   i   r   e   c   t   o   r   y    
0064000    e   n   t   r   i   e   s       f   o   r       s   y   s   t
0064020    e   m       f   i   l   e   s       o   n       n   e   w    
0064040    d   i   s   k  \r               C   r   e   a   t   e   S   y
0064060    s   t   e   m   E   n   t   r   i   e   s   (   i   f   s   ,
0064100        n   e 376  \0   ^ 263   E   w   U   n   i   t   )  \r    
0064120            i   f   s   >   >   I   F   S   .   n   u   m   U   n
0064140    i   t   s       =       n   e   w   U   n   i   t   +   1  \r
0064160                U   n   l   o   c   k   (   o   p   e   n   L   o
0064200    c   k   )  \r               ]  \r  \r   S   y   s   F   r   e
0064220    e   (   h   o   m   e   )  \r   r   e   s   u   l   t   i   s
0064240        e   c  \r   ]  \r 377  \0  \0   I   f   s   D   D   M   g
0064260    r   .   d   e   c   l  \0 373 227   e   \ 253  \0  \0 376 001
0064300   \0 217 021   /   /       I   f   s   D   D   M   g   r   .   d
0064320    e   c   l  \r   /   /       C   o   p   y   r   i   g   h   t
0064340        X   e   r   o   x       C   o   r   p   o   r   a   t   i
0064360    o   n       1   9   7   9   ,       1   9   8   0   ,       1
0064400    9   8   1  \r   /   /       L   a   s   t       m   o   d   i
0064420    f   i   e   d       J   u   n   e       2   7   ,       1   9
0064440    8   1           7   :   5   3       P   M       b   y       T
0064460    a   f   t  \r  \r   g   e   t       "   I   f   s   .   d   e
0064500    c   l   "  \r   g   e   t       "   I   f   s   V   M   e   m
0064520    .   d   e   c   l   "  \r   g   e   t       "   A   l   t   o
0064540    F   i   l   e   S   y   s   .   d   "  \r   g   e   t       "
0064560    D   i   s   k   s   .   d   "  \r   g   e   t       "   T   f
0064600    s   .   d   "  \r  \r  \r   /   /   -   -   -   -   -   -   -
0064620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0064700    -   -   - 376 001  \0 036   /   -   -   -   -   -   -   -   -
0064720    -   -   -   -   -   -   -   -   -   -  \r   s   t   r   u   c
0064740    t   u   r   e       I   F   S   D   D   M   g   r   :  \t   /
0064760    /       D   i   s   k   D   e   s   c   r   i   p   t   o   r
0065000        M   a   n   a   g   e   r  \r   /   /   -   -   -   -   -
0065020    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0065120    -   -   -   -   -   -   -  \r   [  \r   /   /       S   t   a
0065140    n   d   a   r   d       d   e   f   i   n   e   d       o   p
0065160    e   r   a   t   i   o   n   s       (   f   r   o   m       D
0065200    i   s   k   s   .   d   )  \r   @   D   D   M   g   r  \r  \r
0065220    /   /       I   n   s   t   a   n   c   e       d   a   t   a
0065240        (   f   o   r       t   h   i   s       i   m   p   l   e
0065260    m   e   n   t   a   t   i   o   n   )  \r   l   o   c   k    
0065300    @   L   o   c   k  \t  \t   / 376 001  \0   9 274   /       I
0065320    n   t   e   r   l   o   c   k   s       a   c   c   e   s   s
0065340        t   o       t   h   e       D   D   M   g   r  \r   b   u
0065360    f   f   e   r       w   o   r   d  \t  \t   /   /       -   >
0065400        c   u   r   r   e   n   t   l   y   -   l   o   c   k   e
0065420    d       b   u   f   f   e   r       (   0       i   f       n
0065440    o   n   e   )  \r   v   P   a   g   e       w   o   r   d  \t
0065460   \t   /   /       V   i   r   t   u   a   l       p   a   g   e
0065500        n   u   m   b   e   r       o   f       b   u   f   f   e
0065520    r  \r   f   l   u   s   h   T   i   m   e   r       w   o   r
0065540    d  \t  \t   /   /       T   i   m   e   r       f   o   r    
0065560    f   u   l   l       f   l   u   s   h       o   f       T   F
0065600    S   K   D   s       (   s   e   e       F   l   u   s   h   K
0065620    D   s   )  \r   ]  \r   m   a   n   i   f   e   s   t       l
0065640    e   n   I   F   S   D   D   M   g   r       =       s   i   z
0065660    e       I   F   S   D   D   M   g   r   /   1   6  \r  \r   m
0065700    a   n   i   f   e   s   t  \r   [  \r   l   o   g 376 001  \0
0065720  036 202   D   D   P   a   g   e   G   r   o   u   p   S   i   z
0065740    e       =       T   F   S   l   n   W   o   r   d   s   P   e
0065760    r   P   a   g   e   -   l   o   g   V   M   P   a   g   e   L
0066000    e   n   g   t   h  \r   d   d   P   a   g   e   G   r   o   u
0066020    p   S   i   z   e       =       1       l   s   h   i   f   t
0066040        l   o   g   D   D   P   a   g   e   G   r   o   u   p   S
0066060    i   z   e  \r   m   a   x   D   D   D   i   s   k   P   a   g
0066100    e   s       =       l   e   n   g   t   h   T   F   S   D   D
0066120    p   r   e   a   m   b   l   e   +   l   e   n   g   t   h   T
0066140    F   S   B   T  \r   m   a   x   D   D   V   M   P   a   g   e
0066160    s       =       m   a   x   D   D   D   i   s   k   P   a   g
0066200    e   s       l   s   h   i   f   t       l   o   g   D   D   P
0066220    a   g   e   G   r   o   u   p   S   i   z   e  \r   ]  \r  \r
0066240    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0066260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0066320    -   - 376 001  \0 277   K   -   -   -   -   -   -   -   -   -
0066340    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0066360    -   -   -  \r   s   t   r   u   c   t   u   r   e       D   D
0066400    V   M   D   :  \t   /   /       D   i   s   k   D   e   s   c
0066420    r   i   p   t   o   r       V   i   r   t   u   a   l       M
0066440    e   m   o   r   y       D   e   s   c   r   i   p   t   o   r
0066460   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0066500    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0066560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0066600    [  \r   @   V   M   D  \t  \t  \t   /   /       S   t   a   n
0066620    d   a   r   d       s   t   u   f   f  \r   d   i   s   k    
0066640    w   o   r   d  \t  \t   /   /       D   i   s   k       o   w
0066660    n   i   n   g       t   h   i   s       V   M   D  \r   ]  \r
0066700    m   a   n   i   f   e   s   t       l   e   n   D   D   V   M
0066720    D       =       s   i   z 376 001  \0 317   3   e       D   D
0066740    V   M   D   /   1   6  \r  \r   m   a   n   i   f   e   s   t
0066760   \r   [  \r   d   i   r   t   y   O   f   f   s   e   t       =
0067000        o   f   f   s   e   t       T   F   S   D   S   K   .   d
0067020    i   s   k   B   T   s   i   z   e   /   1   6       -   1  \r
0067040    v   m   d   O   f   f   s   e   t       =       o   f   f   s
0067060    e   t       T   F   S   D   S   K   .   v   e   r   s   i   o
0067100    n   /   1   6       -   1  \r   ]  \r  \r   /   /   -   -   -
0067120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0067220    -   -   -   -   -   -   -   -   -  \r   s   t   r   u   c   t
0067240    u   r   e       I   F   S   D   S   K   :  \t   /   /       I
0067260    F   S       e   x   t   e   n   s   i   o   n       o   f    
0067300    T   F   S   D   S   K       s   t   r   u   c   t   u   r   e
0067320   \r   /   /   -   -   -   -   -   -   -   -   - 376 001  \0 314
0067340    K   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0067360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0067440    -   -   -   -  \r   [  \r   b   l   a   n   k       w   o   r
0067460    d       d   i   r   t   y   O   f   f   s   e   t  \r   d   i
0067500    r   t   y       w   o   r   d  \t  \t   /   /       n   o   n
0067520    z   e   r   o       i   f       K   D   H       n   e   e   d
0067540    s       f   l   u   s   h   i   n   g  \r   b   l   a   n   k
0067560        w   o   r   d       (   v   m   d   O   f   f   s   e   t
0067600    -   d   i   r   t   y   O   f   f   s   e   t   -   1   )  \r
0067620    v   m   d       w   o   r   d  \t  \t   /   /       -   >    
0067640    D   D   V   M   D       f   o   r       t   h   i   s       d
0067660    i   s   k  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -
0067700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0067740    - 376 001  \0 332   6   -   -   -   -   -   -   -   -   -   -
0067760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0070000    -   -   -   -   -   -   -   -   -   -  \r   s   t   r   u   c
0070020    t   u   r   e       I   F   S   K   D   :  \t   /   /       I
0070040    F   S       e   x   t   e   n   s   i   o   n       o   f    
0070060    T   F   S   K   D       s   t   r   u   c   t   u   r   e  \r
0070100    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0070120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0070200    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   [
0070220   \r   c   u   r   r   e   n   t   K   D       @   T   F   S   K
0070240    D  \t   /   /       t   h   e       K   D       m   a   i   n
0070260    t   a   i   n   e   d       b   y       t   h   e       T   F
0070300    S       p   a   c   k   a   g   e  \r   b   l   a   n   k    
0070320    w   o   r   d       (   T   F   S   w   o   r   d   s   P   e
0070340    r   P   a   g   e     376  \0   Q   5 275   -       2   *   (
0070360    s   i   z   e       T   F   S   K   D   /   1   6   )   )  \r
0070400    i   n   i   t   i   a   l   K   D       @   T   F   S   K   D
0070420   \t   /   /       s   t   a   t   e       o   f       t   h   e
0070440        K   D       w   h   e   n       d   i   s   k       l   a
0070460    s   t       o   p   e   n   e   d  \r   ]  \r 377  \0  \0   I
0070500    f   s   D   D   M   g   r   R   e   s   .   b   c   p   l  \0
0070520  373 225   ( 303  \0  \0  \0 376 001  \0   ,   ~   /   /       I
0070540    f   s   D   D   M   g   r   R   e   s   .   b   c   p   l    
0070560    -   -       T   r   i   d   e   n   t       D   i   s   k   D
0070600    e   s   c   r   i   p   t   o   r       m   a   n   a   g   e
0070620    r       -       r   e   s   i   d   e   n   t  \r   /   /    
0070640    C   o   p   y   r   i   g   h   t       X   e   r   o   x    
0070660    C   o   r   p   o   r   a   t   i   o   n       1   9   7   9
0070700   \r  \r   /   /       L   a   s   t       m   o   d   i   f   i
0070720    e   d       A   p   r   i   l       1   9   ,       1   9   8
0070740    0           1   2   :   2   0       P   M       b   y       T
0070760    a   f   t  \r  \r   g   e   t       "   I   f   s   D   D   M
0071000    g   r   .   d   e   c   l   "  \r  \r   e   x   t   e   r   n
0071020    a   l  \r   [  \r   /   /       O   u   t   g   o   i   n   g
0071040        p   r   o   c   e   d   u   r   e   s  \r   D   D   P   a
0071060    g   e   T   y   p   e   ;       D   D   D   O   P   A   G   E
0071100    I   O  \r   D   D   P   a   g   e   G   r   o   u   p   S   i
0071120    z   e   ;       D   D   P   a   g   e   G   r 376 001  \0 254
0071140  026   o   u   p   B   a   s   e   ;       D   D   P   a   g   e
0071160    G   r   o   u   p   A   l   i   g   n  \r  \r   /   /       I
0071200    n   c   o   m   i   n   g       p   r   o   c   e   d   u   r
0071220    e   s  \r   A   c   t   O   n   D   i   s   k   P   a   g   e
0071240    s   ;       C   a   l   l   P   r   o   c  \r   ]  \r  \r  \r
0071260    /   /       P   r   o   c   e   d   u   r   e   s       c   a
0071300    l   l   e   d       b   y       V   M   e   m       t   h   r
0071320    o   u   g   h       t   h   e       D   D   V   M   D       o
0071340    b   j   e   c   t  \r  \r   /   /   -   -   -   -   -   -   -
0071360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0071460    -   -   -   -   -  \r   l   e   t       D   D   P   a   g   e
0071500    T   y   p   e   (   v   m   d   ,       v   P   a   g   e   )
0071520        =       1  \r   /   /   -   -   -   -   -   -   -   -   -
0071540    - 376 001  \0   _ 312   -   -   -   -   -   -   -   -   -   -
0071560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0071640    -   -   -   -   -   -   -   -  \r  \r   /   /   -   -   -   -
0071660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0071760    -   -   -   -   -   -   -   -  \r   a   n   d       D   D   P
0072000    a   g   e   G   r   o   u   p   S   i   z   e   (   v   m   d
0072020    ,       v   P   a   g   e   )       =       -   1       l   s
0072040    h   i   f   t       l   o   g   D   D   P   a   g   e   G   r
0072060    o   u   p   S   i   z   e  \r   /   /   -   -   -   -   -   -
0072100    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0072140    -   -   -   -   -   - 376 001  \0 314   &   -   -   -   -   -
0072160    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0072200    -   -   -   -   -   -   -   -   -   -   -  \r  \r   /   /   -
0072220    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0072320    -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d    
0072340    D   D   P   a   g   e   G   r   o   u   p   B   a   s   e   (
0072360    v   m   d   ,       v   P   a   g   e   )       =       v   P
0072400    a   g   e       &       (   -   1       l   s   h   i   f   t
0072420        l   o   g   D   D   P   a   g   e   G   r   o   u   p   S
0072440    i   z   e   )  \r   /   /   -   -   -   -   -   -   -   -   -
0072460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0072540    -   -   -   -   -   -   -   -   -   -   - 376 001  \0   F 301
0072560    -   -   -   -   -   -   -   -  \r  \r   /   /   -   -   -   -
0072600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0072700    -   -   -   -   -   -   -   -  \r   a   n   d       D   D   P
0072720    a   g   e   G   r   o   u   p   A   l   i   g   n   (   v   m
0072740    d   ,       v   P   a   g   e   )       =       1       l   s
0072760    h   i   f   t       l   o   g   D   D   P   a   g   e   G   r
0073000    o   u   p   S   i   z   e       -   1  \r   /   /   -   -   -
0073020    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0073120    -   -   -   -   -   -   -   -   -  \r  \r   /   /   -   -   -
0073140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0073160  376 001  \0 210   =   -   -   -   -   -   -   -   -   -   -   -
0073200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0073240    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   a
0073260    n   d       D   D   D   O   P   A   G   E   I   O   (   v   m
0073300    d   ,       v   P   a   g   e   ,       c   o   r   e   ,    
0073320    n   p   ,       w   F   l   a   g   )       b   e  \r   /   /
0073340    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0073440    -   -   -   -   -   -   -   -   -   -   -   -  \r   [  \r   l
0073460    e   t       d   i   s   k       =       v   m   d   >   >   D
0073500    D   V   M   D   .   d   i   s   k  \r   l   e   t       p   a
0073520    g   e       =       (   v   P   a   g   e   -   v   m   d   >
0073540    >   V   M   D   .   b   a   s   e   )       r   s   h   i   f
0073560    t       l   o   g 376 001  \0  \a 340   D   D   P   a   g   e
0073600    G   r   o   u   p   S   i   z   e  \r   l   e   t       l   a
0073620    s   t   P   a   g   e       =       p   a   g   e       +    
0073640    n   p       r   s   h   i   f   t       l   o   g   D   D   P
0073660    a   g   e   G   r   o   u   p   S   i   z   e       -   1  \r
0073700    l   e   t       C   A   s       =       v   e   c       m   a
0073720    x   D   D   D   i   s   k   P   a   g   e   s  \r   f   o   r
0073740        p       =       p   a   g   e       t   o       l   a   s
0073760    t   P   a   g   e       d   o  \r               [       C   A
0074000    s   !   p       =       c   o   r   e   ;       c   o   r   e
0074020        =       c   o   r   e   +   T   F   S   w   o   r   d   s
0074040    P   e   r   P   a   g   e       ]  \r   /   /       M   u   s
0074060    t       l   e   t       t   h   e       C   a   l   l   P   r
0074100    o   c       p   r   o   c   e   s   s       e   x   e   c   u
0074120    t   e       t   h   e       d   i   s   k       o   p   e   r
0074140    a   t   i   o   n   ,       d   u   e       t   o  \r   /   /
0074160        a   n       u   g   l   y       r 376  \0 277   + 251   e
0074200    c   u   r   s   i   o   n       p   r   o   b   l   e   m    
0074220    i   n       I   n   d   e   x   e   d   P   a   g   e   I   O
0074240    /   M   o   r   e   P   a   g   e   I   O   .  \r   C   a   l
0074260    l   P   r   o   c   (   A   c   t   O   n   D   i   s   k   P
0074300    a   g   e   s   ,       d   i   s   k   ,       C   A   s   ,
0074320        (   l   v       d   i   s   k   >   >   T   F   S   D   S
0074340    K   .   V   D   A   d   i   s   k   D   D   )   -   1   ,  \r
0074360        d   i   s   k   >   >   T   F   S   D   S   K   .   f   p
0074400    D   i   s   k   D   e   s   c   r   i   p   t   o   r   ,    
0074420    p   a   g   e   ,       l   a   s   t   P   a   g   e   ,    
0074440    (   w   F   l   a   g   ?       D   C   w   r   i   t   e   D
0074460    ,       D   C   r   e   a   d   D   )   )  \r   ]  \r 377  \0
0074500   \0   I   f   s   D   D   M   g   r   S   w   a   p   .   b   c
0074520    p   l  \0 373 230 335 367   I  \0  \0 376 001  \0  \0 344   /
0074540    /       I   f   s   D   D   M   g   r   S   w   a   p   .   b
0074560    c   p   l       -   -       T   r   i   d   e   n   t       D
0074600    i   s   k   D   e   s   c   r   i   p   t   o   r       m   a
0074620    n   a   g   e   r       -       s   w   a   p   p   a   b   l
0074640    e  \r   /   /       C   o   p   y   r   i   g   h   t       X
0074660    e   r   o   x       C   o   r   p   o   r   a   t   i   o   n
0074700        1   9   7   9   ,       1   9   8   0   ,       1   9   8
0074720    1   ,       1   9   8   2  \r   /   /       L   a   s   t    
0074740    m   o   d   i   f   i   e   d       A   p   r   i   l       9
0074760    ,       1   9   8   2           1   1   :   5   9       A   M
0075000        b   y       T   a   f   t  \r  \r   g   e   t       "   I
0075020    f   s   D   D   M   g   r   .   d   e   c   l   "  \r  \r   e
0075040    x   t   e   r   n   a   l  \r   [  \r   /   /       O   u   t
0075060    g   o   i   n   g       p   r   o   c   e   d   u   r   e   s
0075100   \r   I   F   S   C   r   e   a   t   e   D   D   M   g   r   ;
0075120        F   l   u   s   h   K   D   s  \r   I   F   S   O   p 376
0075140  001  \0 265   b   e   n   D   D   ;       I   F   S   C   l   o
0075160    s   e   D   D   ;       I   F   S   L   o   c   k   D   D   ;
0075200        I   F   S   U   n   l   o   c   k   D   D   ;       I   F
0075220    S   R   e   a   d   D   D   P   a   g   e  \r  \r   /   /    
0075240    I   n   c   o   m   i   n   g       p   r   o   c   e   d   u
0075260    r   e   s  \r   D   D   D   O   P   A   G   E   I   O   ;    
0075300    D   D   P   a   g   e   T   y   p   e   ;       D   D   P   a
0075320    g   e   G   r   o   u   p   A   l   i   g   n   ;       D   D
0075340    P   a   g   e   G   r   o   u   p   B   a   s   e   ;       D
0075360    D   P   a   g   e   G   r   o   u   p   S   i   z   e  \r   T
0075400    F   S   W   r   i   t   e   D   i   s   k   D   e   s   c   r
0075420    i   p   t   o   r  \r   A   l   l   o   c   a   t   e   V   M
0075440    e   m   ;       F   r   e   e   V   M   e   m   ;       L   o
0075460    c   k   C   e   l   l   ;       @   V   R   R   P   ;       @
0075500    V   W   R   P  \r   L   o   c   k   ;       U   n   l   o   c
0075520    k   ;       A   l   l   o   c   a   t   e   ;       F   r   e
0075540    e   ;       Z 376 001  \0 302 020   e   r   o   ;       M   o
0075560    v   e   B   l   o   c   k   ;       N   o   o   p   ;       S
0075600    y   s   E   r   r  \r  \r   /   /       O   u   t   g   o   i
0075620    n   g       s   t   a   t   i   c   s  \r   d   d   V   M   I
0075640   \r  \r   /   /       I   n   c   o   m   i   n   g       s   t
0075660    a   t   i   c   s  \r   s   y   s   Z   o   n   e   ;       f
0075700    s   Q   ;       i   f   s   D   D   M   g   r  \r   ]  \r  \r
0075720    s   t   a   t   i   c       d   d   V   M   I  \r  \r  \r   /
0075740    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0075760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0076040    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   l   e
0076060    t       I   F   S   C   r   e   a   t   e   D   D   M   g   r
0076100    (   )       =       v   a   l   o   f  \r   /   /   -   -   -
0076120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0076140    -   -   -   -   -   -   -   -   - 376 001  \0 303   4   -   -
0076160    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0076220    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   /
0076240    /       C   r   e   a   t   e   s       t   h   e       D   D
0076260    M   g   r       f   o   r       I   F   S   ,       w   h   i
0076300    c   h       m   a   n   a   g   e   s       D   D       p   a
0076320    g   e   s       t   h   r   o   u   g   h       V   M   e   m
0076340    .  \r   [  \r   /   /       C   r   e   a   t   e       a   n
0076360    d       i   n   i   t   i   a   l   i   z   e       t   h   e
0076400        D   D   M   g   r  \r   l   e   t       d   d   M   g   r
0076420        =       A   l   l   o   c   a   t   e   (   s   y   s   Z
0076440    o   n   e   ,       l   e   n   I   F   S   D   D   M   g   r
0076460    )  \r   Z   e   r   o   (   d   d   M   g   r   ,       l   e
0076500    n   I   F   S   D   D   M   g   r   )  \r   d   d   M   g   r
0076520    >   >   I   F   S   D   D   M   g   r   .   O   p   e   n   D
0076540    D       =       I   F   S   O   p   e   n   D   D  \r 376 001
0076560   \0  \0   o   d   d   M   g   r   >   >   I   F   S   D   D   M
0076600    g   r   .   L   o   c   k   D   D       =       I   F   S   L
0076620    o   c   k   D   D  \r   d   d   M   g   r   >   >   I   F   S
0076640    D   D   M   g   r   .   R   e   a   d   D   D   P   a   g   e
0076660        =       I   F   S   R   e   a   d   D   D   P   a   g   e
0076700   \r   d   d   M   g   r   >   >   I   F   S   D   D   M   g   r
0076720    .   U   n   l   o   c   k   D   D       =       I   F   S   U
0076740    n   l   o   c   k   D   D  \r   d   d   M   g   r   >   >   I
0076760    F   S   D   D   M   g   r   .   F   l   u   s   h   D   D    
0077000    =       N   o   o   p  \r   d   d   M   g   r   >   >   I   F
0077020    S   D   D   M   g   r   .   C   l   o   s   e   D   D       =
0077040        I   F   S   C   l   o   s   e   D   D  \r   d   d   M   g
0077060    r   >   >   I   F   S   D   D   M   g   r   .   D   e   s   t
0077100    r   o   y   D   D   M   g   r       =       S   y   s   E   r
0077120    r  \r   L   o   c   k   C   e   l   l   (   l   v       d   d
0077140    M   g   r   >   >   I   F   S   D   D   M   g   r   .   b   u
0077160    f   f   e 376 001  \0 211 276   r   )  \r  \r   /   /       C
0077200    r   e   a   t   e       a   n   d       i   n   i   t   i   a
0077220    l   i   z   e       t   h   e       D   D       V   i   r   t
0077240    u   a   l       M   e   m   o   r   y       I   n   t   e   r
0077260    f   a   c   e  \r   d   d   V   M   I       =       A   l   l
0077300    o   c   a   t   e   (   s   y   s   Z   o   n   e   ,       l
0077320    e   n   V   M   I   )  \r   d   d   V   M   I   >   >   V   M
0077340    I   .   D   O   P   A   G   E   I   O       =       D   D   D
0077360    O   P   A   G   E   I   O  \r   d   d   V   M   I   >   >   V
0077400    M   I   .   C   l   e   a   n   u   p   L   o   c   k   s    
0077420    =       N   o   o   p  \r   d   d   V   M   I   >   >   V   M
0077440    I   .   P   a   g   e   T   y   p   e       =       D   D   P
0077460    a   g   e   T   y   p   e  \r   d   d   V   M   I   >   >   V
0077500    M   I   .   P   a   g   e   G   r   o   u   p   A   l   i   g
0077520    n       =       D   D   P   a   g   e   G   r   o   u   p   A
0077540    l   i   g   n  \r   d   d   V   M   I   >   >   V   M   I   .
0077560    P   a   g   e   G   r   o   u 376 001  \0 023 275   p   B   a
0077600    s   e       =       D   D   P   a   g   e   G   r   o   u   p
0077620    B   a   s   e  \r   d   d   V   M   I   >   >   V   M   I   .
0077640    P   a   g   e   G   r   o   u   p   S   i   z   e       =    
0077660    D   D   P   a   g   e   G   r   o   u   p   S   i   z   e  \r
0077700    d   d   V   M   I   >   >   V   M   I   .   t   y   p   e    
0077720    =       v   m   i   T   y   p   e   D   D  \r   r   e   s   u
0077740    l   t   i   s       d   d   M   g   r  \r   ]  \r  \f  \r   /
0077760    /       P   r   o   c   e   d   u   r   e   s       c   a   l
0100000    l   e   d       b   y       T   F   S       t   h   r   o   u
0100020    g   h       t   h   e       D   D   M   g   r       o   b   j
0100040    e   c   t  \r  \r   /   /   -   -   -   -   -   -   -   -   -
0100060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0100160    -   -   -  \r   a   n   d       I   F   S   L   o 376 001  \0
0100200  027 370   c   k   D   D   (   d   d   M   g   r   ,       d   i
0100220    s   k   )       b   e       L   o   c   k   (   l   v       d
0100240    d   M   g   r   >   >   I   F   S   D   D   M   g   r   .   l
0100260    o   c   k   ,       t   r   u   e   )  \r   /   /   -   -   -
0100300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0100400    -   -   -   -   -   -   -   -   -  \r   /   /       L   o   c
0100420    k   s       t   h   e       D   D   M   g   r       (   w   a
0100440    i   t   s       i   f       i   t       i   s       a   l   r
0100460    e   a   d   y       l   o   c   k   e   d   )  \r  \r   /   /
0100500    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0100600    -   - 376 001  \0 332 031   -   -   -   -   -   -   -   -   -
0100620    -  \r   a   n   d       I   F   S   U   n   l   o   c   k   D
0100640    D   (   d   d   M   g   r   ,       d   i   s   k   ,       d
0100660    i   r   t   y   ;       n   u   m   a   r   g   s       n   a
0100700    )       b   e  \r   /   /   -   -   -   -   -   -   -   -   -
0100720    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0101020    -   -   -  \r   /   /       I   f       d   i   r   t   y    
0101040    i   s       t   r   u   e   ,       d   i   r   t   i   e   s
0101060        t   h   e       b   u   f   f   e   r   .  \r   /   /    
0101100    T   h   e   n       u   n   l   o   c   k   s       t   h   e
0101120        b   u   f   f   e   r       a   n   d       u   n   l   o
0101140    c   k   s       t   h   e       D   D   M   g   r   .  \r   [
0101160   \r   i   f       n   a       g   e       3       &       d   i
0101200    r   t   y       t   h   e 376 001  \0   /   0   n  \r        
0101220        [  \r               V   W   R   P   (   d   d   M   g   r
0101240    >   >   I   F   S   D   D   M   g   r   .   v   P   a   g   e
0101260    )  \r               d   i   s   k   >   >   I   F   S   D   S
0101300    K   .   d   i   r   t   y       =       t   r   u   e        
0101320    /   /       K   D       l   i   k   e   l   y       t   o    
0101340    h   a   v   e       c   h   a   n   g   e   d  \r            
0101360    ]  \r   d   d   M   g   r   >   >   I   F   S   D   D   M   g
0101400    r   .   b   u   f   f   e   r       =       0  \r   U   n   l
0101420    o   c   k   (   l   v       d   d   M   g   r   >   >   I   F
0101440    S   D   D   M   g   r   .   l   o   c   k   )  \r   ]  \r  \r
0101460    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0101500    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0101560    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   a
0101600    n   d       I   F   S   R   e   a   d   D   D 376 001  \0   )
0101620    {   P   a   g   e   (   d   d   M   g   r   ,       d   i   s
0101640    k   ,       p   a   g   e   )       =       v   a   l   o   f
0101660   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0101700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0101760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0102000    /   /       R   e   a   d   s       t   h   e       s   p   e
0102020    c   i   f   i   e   d       D   D       p   a   g   e       a
0102040    n   d       l   o   c   k   s       t   h   e       r   e   s
0102060    u   l   t   i   n   g       b   u   f   f   e   r   .  \r   [
0102100   \r   d   d   M   g   r   >   >   I   F   S   D   D   M   g   r
0102120    .   b   u   f   f   e   r       =       0           /   /    
0102140    U   n   l   o   c   k       p   r   e   v   i   o   u   s    
0102160    p   a   g   e       i   f       a   n   y  \r   d   d   M   g
0102200    r   >   >   I   F   S   D   D   M   g   r   .   v   P   a   g
0102220    e 376 001  \0   f   i       =  \r       d   i   s   k   >   >
0102240    I   F   S   D   S   K   .   v   m   d   >   >   V   M   D   .
0102260    b   a   s   e       +       p   a   g   e       l   s   h   i
0102300    f   t       l   o   g   D   D   P   a   g   e   G   r   o   u
0102320    p   S   i   z   e  \r   d   d   M   g   r   >   >   I   F   S
0102340    D   D   M   g   r   .   b   u   f   f   e   r       =       V
0102360    R   R   P   (   d   d   M   g   r   >   >   I   F   S   D   D
0102400    M   g   r   .   v   P   a   g   e   )  \r   r   e   s   u   l
0102420    t   i   s       d   d   M   g   r   >   >   I   F   S   D   D
0102440    M   g   r   .   b   u   f   f   e   r  \r   ]  \r  \r   /   /
0102460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0102560    -   -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d
0102600        I   F   S   O   p   e   n   D   D   (   d   d   M   g   r
0102620    ,       d   i   s   k 376 001  \0 352 266   )       b   e  \r
0102640    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0102660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0102740    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   /
0102760    /       C   r   e   a   t   e   s       a       V   M   D    
0103000    f   o   r       r   e   f   e   r   e   n   c   i   n   g    
0103020    t   h   e       D   D       p   a   g   e   s       o   n    
0103040    t   h   i   s       d   i   s   k  \r   [  \r   l   e   t    
0103060    v   m   d       =       A   l   l   o   c   a   t   e   (   s
0103100    y   s   Z   o   n   e   ,       l   e   n   D   D   V   M   D
0103120    )  \r   A   l   l   o   c   a   t   e   V   M   e   m   (   v
0103140    m   d   ,       d   d   V   M   I   ,       m   a   x   D   D
0103160    V   M   P   a   g   e   s   )  \r   v   m   d   >   >   D   D
0103200    V   M   D   .   d   i   s   k       =       d   i   s   k  \r
0103220    d   i   s   k   >   >   I   F   S   D   S 376 001  \0 033 357
0103240    K   .   v   m   d       =       v   m   d  \r  \r   /   /    
0103260    R   e   c   o   r   d       t   h   e       i   n   i   t   i
0103300    a   l       s   t   a   t   e       o   f       t   h   i   s
0103320        d   i   s   k   '   s       K   D       i   n       u   n
0103340    u   s   e   d       p   o   r   t   i   o   n       o   f    
0103360    p   a   g   e       1  \r   I   F   S   L   o   c   k   D   D
0103400    (   d   d   M   g   r   ,       d   i   s   k   )  \r   M   o
0103420    v   e   B   l   o   c   k   (   l   v       (   I   F   S   R
0103440    e   a   d   D   D   P   a   g   e   (   d   d   M   g   r   ,
0103460        d   i   s   k   ,       1   )   )   >   >   I   F   S   K
0103500    D   .   i   n   i   t   i   a   l   K   D   ,  \r       l   v
0103520        d   i   s   k   >   >   T   F   S   D   S   K   .   k   d
0103540    ,       l   T   F   S   K   D   H   e   a   d   e   r   )  \r
0103560    I   F   S   U   n   l   o   c   k   D   D   (   d   d   M   g
0103600    r   ,       d   i   s   k   ,       t   r   u   e   )  \r   ]
0103620   \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0103640  376 001  \0 004 312   -   -   -   -   -   -   -   -   -   -   -
0103660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0103740    -   -   -   -   -  \r   a   n   d       I   F   S   C   l   o
0103760    s   e   D   D   (   d   d   M   g   r   ,       d   i   s   k
0104000    )       b   e  \r   /   /   -   -   -   -   -   -   -   -   -
0104020    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0104120    -   -   -  \r   /   /       D   e   s   t   r   o   y   s    
0104140    t   h   e       D   D   V   M   D       f   o   r       t   h
0104160    i   s       d   i   s   k  \r   [  \r   F   r   e   e   V   M
0104200    e   m   (   d   i   s   k   >   >   I   F   S   D   S   K   .
0104220    v   m   d   )  \r   F   r   e   e   (   s   y   s   Z   o   n
0104240    e   ,       d   i 376 001  \0 364   a   s   k   >   >   I   F
0104260    S   D   S   K   .   v   m   d   )  \r   ]  \r  \f  \r   /   /
0104300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0104400    -   -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d
0104420        F   l   u   s   h   K   D   s   (   )       b   e  \r   /
0104440    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0104460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0104540    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   /   /
0104560        P   r   o   c   e   d   u   r   e       c   a   l   l   e
0104600    d       e   v   e   r   y       1   5       s   e   c   o   n
0104620    d   s       t   o       f   l   u   s   h       t   o       d
0104640    i   s   k       a   n   y       T   F 376 001  \0 222 240   S
0104660    K   D   s       t   h   a   t       m   a   y  \r   /   /    
0104700    h   a   v   e       c   h   a   n   g   e   d       i   n    
0104720    i   n   t   e   r   e   s   t   i   n   g       w   a   y   s
0104740    .  \r   /   /       C   a   l   l   e   r       m   u   s   t
0104760        h   a   v   e       l   o   c   k   e   d       o   p   e
0105000    n   L   o   c   k       t   o       p   r   e   v   e   n   t
0105020        t   h   e       f   i   l   e       s   y   s   t   e   m
0105040        s   t   r   u   c   t   u   r   e  \r   /   /       c   h
0105060    a   n   g   i   n   g       o   u   t       f   r   o   m    
0105100    u   n   d   e   r       u   s   .  \r   /   /       N   o   t
0105120    e       t   h   a   t       t   h   e       I   F   S   D   S
0105140    K   .   d   i   r   t   y       w   o   r   d       (   u   n
0105160    u   s   e   d       b   y       T   F   S   )  \r   /   /    
0105200    i   s       u   s   e   d       a   s       a   n       i   n
0105220    d   i   c   a   t   i   o   n       t   h   a   t       s   o
0105240    m   e       "   i   n   t   e   r   e   s   t   i   n   g 376
0105260  001  \0   D   t   "       a   c   t   i   v   i   t   y       h
0105300    a   s       o   c   c   u   r   r   e   d   ,  \r   /   /    
0105320    m   o   s   t       l   i   k   e   l   y       a   n       a
0105340    l   l   o   c   a   t   i   o   n       o   r       d   e   a
0105360    l   l   o   c   a   t   i   o   n   ,       w   h   i   c   h
0105400        c   o   u   l   d       c   a   u   s   e  \r   /   /    
0105420    t   h   e       l   a   s   t   S   N       a   n   d   /   o
0105440    r       l   a   s   t   P   a   g   e   A   l   l   o   c    
0105460    t   o       c   h   a   n   g   e   .  \r   [  \r   /   /    
0105500    F   o   r   c   e       f   u   l   l       T   F   S   K   D
0105520        f   l   u   s   h       e   v   e   r   y       1   5    
0105540    m   i   n  \r   i   f   s   D   D   M   g   r   >   >   I   F
0105560    S   D   D   M   g   r   .   f   l   u   s   h   T   i   m   e
0105600    r       =       (   i   f   s   D   D   M   g   r   >   >   I
0105620    F   S   D   D   M   g   r   .   f   l   u   s   h   T   i   m
0105640    e   r   +   1   )       r   e   m       6   0  \r  \r   /   /
0105660        E   n   u 376 001  \0 361   L   m   e   r   a   t   e    
0105700    a   l   l       f   i   l   e       s   y   s   t   e   m   s
0105720    .           T   h   i   s       d   e   l   i   b   e   r   a
0105740    t   e   l   y       d   o   e   s       n   o   t       c   a
0105760    t   c   h       a   n   y       d   i   s   k   s  \r   /   /
0106000        t   h   a   t       a   r   e       n   o   t       p   a
0106020    r   t       o   f       a       f   i   l   e       s   y   s
0106040    t   e   m   .           S   u   c   h       d   i   s   k   s
0106060        m   i   g   h   t       n   o   t       b   e       u   s
0106100    i   n   g  \r   /   /       t   h   e       I   F   S   D   D
0106120    M   g   r       a   t       a   l   l   .  \r   l   e   t    
0106140    f   s       =       f   s   Q   !   0  \r   w   h   i   l   e
0106160        f   s       n   e       0       d   o  \r               [
0106200   \r               f   o   r       u   n   i   t       =       0
0106220        t   o       f   s   >   >   I   F   S   .   n   u   m   U
0106240    n   i   t   s   -   1       d   o  \r                        
0106260    [  \r                           l 376  \0 336   : 022   e   t
0106300        d   i   s   k       =       f   s   >   >   I   F   S   .
0106320    l   p   d   t   ^   u   n   i   t  \r                        
0106340    i   f       d   i   s   k   >   >   I   F   S   D   S   K   .
0106360    d   i   r   t   y       %       i   f   s   D   D   M   g   r
0106400    >   >   I   F   S   D   D   M   g   r   .   f   l   u   s   h
0106420    T   i   m   e   r       e   q       0       t   h   e   n  \r
0106440                                        [  \r                    
0106460                    T   F   S   W   r   i   t   e   D   i   s   k
0106500    D   e   s   c   r   i   p   t   o   r   (   d   i   s   k   )
0106520   \r                                       d   i   s   k   >   >
0106540    I   F   S   D   S   K   .   d   i   r   t   y       =       f
0106560    a   l   s   e  \r                                       ]  \r
0106600                            ]  \r               f   s       =    
0106620    f   s   !   0  \r               ]  \r   ]  \r 377  \0  \0   I
0106640    f   s   D   i   s   k   s   O   E   P   .   b   c   p   l  \0
0106660  373 224 357 003 253  \0  \0 376 001  \0 351   z   /   /       I
0106700    F   S   D   i   s   k   s   O   E   P   .   b   c   p   l  \r
0106720    /   /       C   o   p   y   r   i   g   h   t       X   e   r
0106740    o   x       C   o   r   p   o   r   a   t   i   o   n       1
0106760    9   7   9   ,       1   9   8   0  \r   /   /       L   a   s
0107000    t       m   o   d   i   f   i   e   d       M   a   r   c   h
0107020        6   ,       1   9   8   0           3   :   4   8       P
0107040    M       b   y       T   a   f   t  \r  \r   g   e   t       "
0107060    I   f   s   D   D   M   g   r   .   d   e   c   l   "  \r   g
0107100    e   t       "   I   f   s   I   n   i   t   .   d   e   c   l
0107120    "  \r  \r   e   x   t   e   r   n   a   l  \r   [  \r   /   /
0107140        O   u   t   g   o   i   n   g       p   r   o   c   e   d
0107160    u   r   e   s  \r   I   n   i   t   D   i   s   k   s   O   E
0107200    P   ;       I   n   i   t   D   i   s   k   s   F   i   n   i
0107220    s   h  \r  \r   /   /       I   n   c   o   m   i   n   g    
0107240    p   r   o   c   e   d   u   r   e   s  \r   D   e   c   l   a
0107260    r   e   O   E   P   ;       D   e   c   l   a 376 001  \0 210
0107300    7   r   e   X   E   P   ;       I   F   S   F   i   n   i   s
0107320    h   ;       I   F   S   E   r   r   o   r  \r   T   F   S   W
0107340    r   i   t   e   P   a   g   e   s   ;       T   F   S   A   s
0107360    s   i   g   n   D   i   s   k   P   a   g   e   ;       T   F
0107400    S   C   l   o   s   e  \r   T   F   S   C   r   e   a   t   e
0107420    F   i   l   e   ;       T   F   S   D   e   l   e   t   e   P
0107440    a   g   e   s   ;       T   F   S   R   e   l   e   a   s   e
0107460    D   i   s   k   P   a   g   e  \r   I   F   S   O   p   e   n
0107500    D   D   ;       I   F   S   C   l   o   s   e   D   D   ;    
0107520    I   F   S   L   o   c   k   D   D   ;       I   F   S   U   n
0107540    l   o   c   k   D   D   ;       I   F   S   R   e   a   d   D
0107560    D   P   a   g   e  \r   T   F   S   D   e   s   t   r   o   y
0107600    D   D   M   g   r   ;       T   F   S   C   l   o   s   e   D
0107620    D   ;       T   F   S   L   o   c   k   D   D   ;       T   F
0107640    S   U   n   l   o   c   k   D   D   ;       T   F   S   R   e
0107660    a   d   D   D   P   a   g   e   ;       T   F   S   F   l   u
0107700    s 376 001  \0 002   @   h   D   D  \r   S   c   a   n   D   i
0107720    r   B   u   f   f   e   r  \r  \r   /   /       I   n   c   o
0107740    m   i   n   g       s   t   a   t   i   c   s  \r   l   v   U
0107760    s   e   r   F   i   n   i   s   h   P   r   o   c   ;       p
0110000    r   i   m   a   r   y   I   F   S   ;       i   f   s   D   D
0110020    M   g   r  \r   ]  \r  \r   m   a   n   i   f   e   s   t    
0110040    e   c   B   a   d   U   F   P       =       2   3  \r  \r   /
0110060    /       I   n   i   t   D   i   s   k   s   O   E   P       i
0110100    s       c   a   l   l   e   d       t   o       d   e   c   l
0110120    a   r   e       I   F   S   F   i   n   i   s   h       (   a
0110140    m   o   n   g       o   t   h   e   r   s   )  \r   /   /    
0110160        t   o       t   h   e       o   v   e   r   l   a   y    
0110200    p   a   c   k   a   g   e       a   s       b   e   i   n   g
0110220        a   n       O   E   P   .  \r   /   /       I   n   i   t
0110240    D   i   s   k   s   F   i   n   i   s   h       i   s       c
0110260    a   l   l   e   d       a   f   t   e   r       t   h   e    
0110300    o   v   e   r   l   a 376 001  \0   b 020   y       p   a   c
0110320    k   a   g   e       h   a   s       b   e   e   n  \r   /   /
0110340            i   n   i   t   i   a   l   i   z   e   d   ,       t
0110360    o       s   t   o   r   e       t   h   e       O   E   P    
0110400    p   o   i   n   t   e   r       i   n   t   o       t   h   e
0110420        f   i   n   i   s   h       p   r   o   c   e   d   u   r
0110440    e  \r   /   /           c   e   l   l       (   w   h   i   c
0110460    h       p   r   e   v   i   o   u   s   l   y       c   o   n
0110500    t   a   i   n   s       a       p   o   i   n   t   e   r    
0110520    t   o       I   F   S   F   i   n   i   s   h       i   t   s
0110540    e   l   f   )   .  \r   /   /       T   h   e       s   w   a
0110560    p   p   a   b   l   e       p   r   o   c   e   d   u   r   e
0110600    s       i   n       t   h   e       d   i   s   k       a   n
0110620    d       i   f   s   D   D   M   g   r       o   b   j   e   c
0110640    t   s  \r   /   /           h   a   v   e       t   o       b
0110660    e       h   a   n   d   l   e   d       s   i   m   i   l   a
0110700    r   l   y   ,       s   i   n   c   e     376 001  \0   6 320
0110720    t   h   e   s   e       o   b   j   e   c   t   s       a   r
0110740    e       c   r   e   a   t   e   d  \r   /   /           b   e
0110760    f   o   r   e       O   E   P   s       h   a   v   e       b
0111000    e   e   n       s   e   t       u   p       a   n   d       h
0111020    e   n   c   e       w   i   l   l       c   o   n   t   a   i
0111040    n       p   o   i   n   t   e   r   s  \r   /   /           t
0111060    o       t   h   e       c   o   p   i   e   s       o   f    
0111100    t   h   e       p   r   o   c   e   d   u   r   e   s       i
0111120    n       t   h   e       r   e   s   i   d   e   n   t       i
0111140    n   i   t   i   a   l   i   z   a   t   i   o   n   .  \r   /
0111160    /       T   h   e       a   n   a   l   o   g   o   u   s    
0111200    T   F   S       D   D   M   g   r       o   b   j   e   c   t
0111220        d   o   e   s       n   o   t       h   a   v   e       t
0111240    h   i   s       p   r   o   b   l   e   m       b   e   c   a
0111260    u   s   e  \r   /   /           n   o       i   n   s   t   a
0111300    n   c   e       o   f       i   t       s   u   r   v   i   v
0111320  376 001  \0 301 032   e   s       o   v   e   r   l   a   y    
0111340    i   n   i   t   i   a   l   i   z   a   t   i   o   n   .  \r
0111360   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0111400    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0111460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0111500    l   e   t       I   n   i   t   D   i   s   k   s   O   E   P
0111520    (   o   e   v   )       b   e  \r   /   /   -   -   -   -   -
0111540    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0111640    -   -   -   -   -   -   -  \r   [  \r   i   f       @   l   v
0111660    U   s   e   r   F   i   n   i   s   h   P   r   o   c       n
0111700    e       I   F   S   F   i   n   i   s   h       t   h   e   n
0111720        I   F   S   E 376 001  \0 367 230   r   r   o   r   (   e
0111740    c   B   a   d   U   F   P   )  \r   D   e   c   l   a   r   e
0111760    O   E   P   (   o   e   v   ,       l   v       I   F   S   F
0112000    i   n   i   s   h   ,  \r       l   v       T   F   S   W   r
0112020    i   t   e   P   a   g   e   s   ,       l   v       T   F   S
0112040    A   s   s   i   g   n   D   i   s   k   P   a   g   e   ,    
0112060    l   v       T   F   S   C   r   e   a   t   e   F   i   l   e
0112100    ,  \r       l   v       T   F   S   D   e   l   e   t   e   P
0112120    a   g   e   s   ,       l   v       T   F   S   R   e   l   e
0112140    a   s   e   D   i   s   k   P   a   g   e   ,       l   v    
0112160    T   F   S   C   l   o   s   e   )  \r   D   e   c   l   a   r
0112200    e   O   E   P   (   o   e   v   ,       l   v       I   F   S
0112220    O   p   e   n   D   D   ,       l   v       I   F   S   C   l
0112240    o   s   e   D   D   ,       l   v       I   F   S   L   o   c
0112260    k   D   D   ,  \r       l   v       I   F   S   U   n   l   o
0112300    c   k   D   D   ,       l   v       I   F   S   R   e   a   d
0112320    D   D   P   a   g   e   )  \r   D   e 376 001  \0 354 031   c
0112340    l   a   r   e   O   E   P   (   o   e   v   ,       l   v    
0112360    T   F   S   D   e   s   t   r   o   y   D   D   M   g   r   ,
0112400        l   v       T   F   S   C   l   o   s   e   D   D   ,    
0112420    l   v       T   F   S   L   o   c   k   D   D   ,  \r       l
0112440    v       T   F   S   U   n   l   o   c   k   D   D   ,       l
0112460    v       T   F   S   R   e   a   d   D   D   P   a   g   e   ,
0112500        l   v       T   F   S   F   l   u   s   h   D   D   )  \r
0112520    D   e   c   l   a   r   e   X   E   P   (   o   e   v   ,    
0112540    l   v       S   c   a   n   D   i   r   B   u   f   f   e   r
0112560    )  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -
0112600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0112700    -   -   -  \r   a   n   d       I   n   i   t   D   i   s   k
0112720    s   F   i   n   i   s   h   (   )       b   e  \r   /   / 376
0112740  001  \0 352   .   -   -   -   -   -   -   -   -   -   -   -   -
0112760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0113060   \r   [  \r   @   l   v   U   s   e   r   F   i   n   i   s   h
0113100    P   r   o   c       =       I   F   S   F   i   n   i   s   h
0113120   \r   f   o   r       i       =       0       t   o       p   r
0113140    i   m   a   r   y   I   F   S   >   >   I   F   S   .   n   u
0113160    m   U   n   i   t   s   -   1       d   o  \r               [
0113200   \r               l   e   t       d   i   s   k       =       p
0113220    r   i   m   a   r   y   I   F   S   >   >   I   F   S   .   l
0113240    p   d   t   ^   i  \r               d   i   s   k   >   >   D
0113260    S   K   .   W   r   i   t   e   D   i   s   k   P   a   g   e
0113300    s       =       T   F   S   W   r   i   t   e   P   a   g   e
0113320    s  \r               d   i   s   k   >   >   D   S   K   .   A
0113340    s   s   i   g 376 001  \0 033 223   n   D   i   s   k   P   a
0113360    g   e       =       T   F   S   A   s   s   i   g   n   D   i
0113400    s   k   P   a   g   e  \r               d   i   s   k   >   >
0113420    D   S   K   .   C   r   e   a   t   e   D   i   s   k   F   i
0113440    l   e       =       T   F   S   C   r   e   a   t   e   F   i
0113460    l   e  \r               d   i   s   k   >   >   D   S   K   .
0113500    D   e   l   e   t   e   D   i   s   k   P   a   g   e   s    
0113520    =       T   F   S   D   e   l   e   t   e   P   a   g   e   s
0113540   \r               d   i   s   k   >   >   D   S   K   .   R   e
0113560    l   e   a   s   e   D   i   s   k   P   a   g   e       =    
0113600    T   F   S   R   e   l   e   a   s   e   D   i   s   k   P   a
0113620    g   e  \r               d   i   s   k   >   >   D   S   K   .
0113640    C   l   o   s   e   D   i   s   k       =       T   F   S   C
0113660    l   o   s   e  \r               ]  \r   i   f   s   D   D   M
0113700    g   r   >   >   D   D   M   g   r   .   O   p   e   n   D   D
0113720        =       I   F   S   O   p   e   n   D   D  \r   i   f   s
0113740    D   D   M   g   r   >   >   D   D 376  \0 220   U 237   M   g
0113760    r   .   C   l   o   s   e   D   D       =       I   F   S   C
0114000    l   o   s   e   D   D  \r   i   f   s   D   D   M   g   r   >
0114020    >   D   D   M   g   r   .   L   o   c   k   D   D       =    
0114040    I   F   S   L   o   c   k   D   D  \r   i   f   s   D   D   M
0114060    g   r   >   >   D   D   M   g   r   .   U   n   l   o   c   k
0114100    D   D       =       I   F   S   U   n   l   o   c   k   D   D
0114120   \r   i   f   s   D   D   M   g   r   >   >   D   D   M   g   r
0114140    .   R   e   a   d   D   D   P   a   g   e       =       I   F
0114160    S   R   e   a   d   D   D   P   a   g   e  \r   ]  \r 377  \0
0114200   \0   I   f   s   B   T   r   e   e   R   e   s   .   b   c   p
0114220    l  \0 373 226   <   _   #  \0  \0 376 001  \0 362   Y   /   /
0114240        I   f   s   B   T   r   e   e   R   e   s   .   b   c   p
0114260    l       -   -       R   e   s   i   d   e   n   t       p   o
0114300    r   t   i   o   n       o   f       I   F   S       i   n   t
0114320    e   r   f   a   c   e       t   o       t   h   e       B   -
0114340    T   r   e   e       p   a   c   k   a   g   e  \r   /   /    
0114360    C   o   p   y   r   i   g   h   t       X   e   r   o   x    
0114400    C   o   r   p   o   r   a   t   i   o   n       1   9   7   9
0114420    ,       1   9   8   0  \r  \r   /   /       L   a   s   t    
0114440    m   o   d   i   f   i   e   d       N   o   v   e   m   b   e
0114460    r       1   4   ,       1   9   8   0           1   1   :   5
0114500    7       A   M       b   y       T   a   f   t  \r  \r   g   e
0114520    t       "   B   T   r   e   e   .   d   e   c   l   "  \r   g
0114540    e   t       "   I   f   s   V   M   e   m   .   d   e   c   l
0114560    "  \r  \r   e   x   t   e   r   n   a   l  \r   [  \r   /   /
0114600        O   u   t   g   o   i   n   g       p   r   o   c   e   d
0114620    u   r   e   s  \r   B   V   W   R   P   ;       B   V 376 001
0114640   \0 233 243   R   R   P   ;       B   t   L   o   c   k   C   e
0114660    l   l   ;       B   t   U   n   l   o   c   k   C   e   l   l
0114700   \r  \r   /   /       I   n   c   o   m   i   n   g       p   r
0114720    o   c   e   d   u   r   e   s  \r   @   V   R   R   P   ;    
0114740    @   V   W   R   P  \r   L   o   c   k   C   e   l   l   ;    
0114760    U   n   l   o   c   k   C   e   l   l   ;       Y   i   e   l
0115000    d   ;       D   e   f   a   u   l   t   A   r   g   s   ;    
0115020    U   s   c   ;       I   F   S   E   r   r   o   r  \r   ]  \r
0115040   \r   s   t   r   u   c   t   u   r   e       F   C   E   :  \t
0115060   \t   /   /       F   r   e   e       c   h   a   i   n       e
0115100    n   t   r   y       (   d   e   f       s   h   a   r   e   d
0115120        w   i   t   h       I   f   s   B   T   r   e   e   S   w
0115140    a   p   )  \r   [  \r   F   r   e   e   M   a   r   k   e   r
0115160        w   o   r   d  \r   n   e   x   t       w   o   r   d  \r
0115200    ]  \r  \r   m   a   n   i   f   e   s   t       e   c   B   t
0115220    O   u   t   O   f   V   M   e   m       =       2   8  \r   m
0115240    a   n   i 376 001  \0   z 336   f   e   s   t       e   c   B
0115260    t   R   e   f   F   r   e   e   P   a   g   e       =       3
0115300    0  \r  \r   /   /       P   r   o   c   e   d   u   r   e   s
0115320        t   o       a   c   c   e   s   s       a       s   p   e
0115340    c   i   f   i   e   d       p   a   g   e       o   f       t
0115360    h   e       B   -   T   r   e   e   .  \r   /   /       T   h
0115400    e       f   i   r   s   t       1   0   2   4       w   o   r
0115420    d   s       o   f       t   h   e       f   i   l   e       a
0115440    r   e       r   e   s   e   r   v   e   d       f   o   r    
0115460    t   h   e       f   i   l   e       m   a   p   ,       r   e
0115500    g   a   r   d   l   e   s   s  \r   /   /       o   f       t
0115520    h   e       p   h   y   s   i   c   a   l       p   a   g   e
0115540        s   i   z   e       o   f       t   h   e       d   i   s
0115560    k       o   r       t   h   e       l   o   g   i   c   a   l
0115600        B   -   T   r   e   e       p   a   g   e       s   i   z
0115620    e   .  \r   /   /       T   h   e       f   i   r   s   t    
0115640    v   i   r   t   u   a   l     376 001  \0   \   f   p   a   g
0115660    e       i   n       t   h   e       t   r   e   e       (   t
0115700    h   e       s   t   a   t   e       p   a   g   e   )       i
0115720    s       v   i   r   t   u   a   l       p   a   g   e       z
0115740    e   r   o   ,  \r   /   /       b   u   t       i   s       p
0115760    h   y   s   i   c   a   l   l   y       t   h   e       f   i
0116000    r   s   t       p   a   g   e       a   f   t   e   r       t
0116020    h   e       f   i   l   e       m   a   p       (   i   .   e
0116040    .   ,       p   a   g   e       2       i   n  \r   /   /    
0116060    t   h   e       n   o   r   m   a   l       c   a   s   e    
0116100    i   n   v   o   l   v   i   n   g       T   r   i   d   e   n
0116120    t       d   i   s   k   s   .   )  \r  \r   /   /       T   h
0116140    e   r   e       a   r   e       3       "   p   a   g   e    
0116160    s   i   z   e   s   "       o   f       i   n   t   e   r   e
0116200    s   t   :  \r   /   /       1   )       l   o   g   V   M   P
0116220    a   g   e   L   e   n   g   t   h   ,       t   h   e       V
0116240    M   E   M       p   a   g   e       s   i   z   e 376 001  \0
0116260    &   T   ,       f   i   x   e   d       a   t       2   5   6
0116300        w   o   r   d   s   .  \r   /   /       2   )       T   R
0116320    E   E   .   L   o   g   P   a   g   e   L   e   n   g   t   h
0116340    ,       t   h   e       "   l   o   g   i   c   a   l   "    
0116360    p   a   g   e       s   i   z   e       o   f       t   h   e
0116400        B   -   T   r   e   e   .  \r   /   /       3   )       F
0116420    V   M   D   .   l   o   g   V   P   a   g   e   s   P   e   r
0116440    D   i   s   k   P   a   g   e   ,       t   h   e       p   a
0116460    g   e       s   i   z   e       o   f       t   h   e       d
0116500    i   s   k       o   n       w   h   i   c   h       t   h   e
0116520   \r   /   /                   B   -   T   r   e   e       n   o
0116540    w       r   e   s   i   d   e   s   .  \r   /   /       T   h
0116560    e       p   a   g   e       g   r   o   u   p       s   i   z
0116600    e   ,       a   l   i   g   n   m   e   n   t   ,       e   t
0116620    c   .   ,       m   u   s   t       b   e       b   a   s   e
0116640    d       o   n  \r   /   /       t   h   e       g   r   e   a
0116660    t   e 376 001  \0   E 264   r       o   f       (   2   )    
0116700    a   n   d       (   3   )   .           T   h   i   s       i
0116720    s       F   V   M   D   .   l   o   g   P   a   g   e   G   r
0116740    o   u   p   S   i   z   e   .  \r  \r   /   /   -   -   -   -
0116760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0117060    -   -   -   -   -   -   -   -  \r   l   e   t       B   V   R
0117100    R   P   (   t   r   e   e   ,       t   r   e   e   P   a   g
0117120    e   )       =       B   V   W   R   P   (   t   r   e   e   ,
0117140        t   r   e   e   P   a   g   e   ,       V   R   R   P   )
0117160   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0117200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0117260    -   -   -   -   -   -   - 376 001  \0 275 346   -   -   -   -
0117300    -   -   -   -  \r  \r   /   /   -   -   -   -   -   -   -   -
0117320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0117420    -   -   -   -  \r   a   n   d       B   V   W   R   P   (   t
0117440    r   e   e   ,       t   r   e   e   P   a   g   e   ,       R
0117460    e   f   P   r   o   c   ,       f   r   e   e   O   K   ;    
0117500    n   u   m   a   r   g   s       n   a   )       =       v   a
0117520    l   o   f  \r   /   /   -   -   -   -   -   -   -   -   -   -
0117540    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0117640    -   -  \r   [  \r   D   e   f   a   u   l   t   A   r   g   s
0117660    (   l   v       n   a   ,       -   2   ,     376 001  \0 301
0117700    ,   V   W   R   P   ,       f   a   l   s   e   )  \r   Y   i
0117720    e   l   d   (   )  \r   l   e   t       v   P   a   g   e    
0117740    =       1   0   2   4       r   s   h   i   f   t       l   o
0117760    g   V   M   P   a   g   e   L   e   n   g   t   h       +  \r
0120000        1       l   s   h   i   f   t       t   r   e   e   >   >
0120020    T   R   E   E   .   v   m   d   >   >   F   V   M   D   .   l
0120040    o   g   V   P   a   g   e   s   P   e   r   D   i   s   k   P
0120060    a   g   e       +  \r       t   r   e   e   P   a   g   e    
0120100    l   s   h   i   f   t       (   t   r   e   e   >   >   T   R
0120120    E   E   .   L   o   g   P   a   g   e   L   e   n   g   t   h
0120140    -   l   o   g   V   M   P   a   g   e   L   e   n   g   t   h
0120160    )  \r   i   f       U   s   c   (   v   P   a   g   e   ,    
0120200    t   r   e   e   >   >   T   R   E   E   .   v   m   d   >   >
0120220    V   M   D   .   l   e   n   g   t   h   )       g   e       0
0120240        t   h   e   n  \r               I   F   S   E   r   r   o
0120260    r   (   e   c   B   t   O   u   t   O   f   V   M   e   m   ,
0120300      376 001  \0 315 230   t   r   e   e   )  \r   l   e   t    
0120320    p   t   r       =       R   e   f   P   r   o   c   (   t   r
0120340    e   e   >   >   T   R   E   E   .   v   m   d   >   >   F   V
0120360    M   D   .   b   a   s   e       +       v   P   a   g   e   )
0120400   \r   u   n   l   e   s   s       f   r   e   e   O   K       %
0120420        p   t   r   >   >   F   C   E   .   F   r   e   e   M   a
0120440    r   k   e   r       g   e       0       d   o  \r            
0120460    I   F   S   E   r   r   o   r   (   e   c   B   t   R   e   f
0120500    F   r   e   e   P   a   g   e   ,       t   r   e   e   )  \r
0120520    r   e   s   u   l   t   i   s       p   t   r  \r   ]  \r  \r
0120540   \r   /   /       L   o   c   k       a   n   d       u   n   l
0120560    o   c   k       B   -   T   r   e   e       p   a   g   e   s
0120600   \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0120620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0120700    -   -   -   -   -   - 376 001  \0   A   =   -   -   -   -   -
0120720    -   -   -   -   -  \r   a   n   d       B   t   L   o   c   k
0120740    C   e   l   l   (   t   r   e   e   ,       c   e   l   l   )
0120760        =       L   o   c   k   C   e   l   l   (   c   e   l   l
0121000    )  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0121020    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0121120   \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0121140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0121240   \r   a   n   d       B   t   U   n   l   o   c   k   C   e   l
0121260    l   (   t   r   e   e   ,       c   e   l   l   )       =    
0121300    U   n   l   o   c   k   C   e   l   l   ( 376  \0   U 335 020
0121320    c   e   l   l   )  \r   /   /   -   -   -   -   -   -   -   -
0121340    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0121440    -   -   -   -  \r 377  \0  \0   I   f   s   B   T   r   e   e
0121460    S   w   a   p   .   b   c   p   l  \0 373 230   -   Q 371  \0
0121500   \0 376 001  \0   D   v   /   /       I   f   s   B   T   r   e
0121520    e   S   w   a   p   .   b   c   p   l       -   -       S   w
0121540    a   p   p   a   b   l   e       p   o   r   t   i   o   n    
0121560    o   f       I   F   S       i   n   t   e   r   f   a   c   e
0121600        t   o       B   -   T   r   e   e       p   a   c   k   a
0121620    g   e  \r   /   /       C   o   p   y   r   i   g   h   t    
0121640    X   e   r   o   x       C   o   r   p   o   r   a   t   i   o
0121660    n       1   9   7   9   ,       1   9   8   0   ,       1   9
0121700    8   1  \r   /   /       L   a   s   t       m   o   d   i   f
0121720    i   e   d       N   o   v   e   m   b   e   r       2   6   ,
0121740        1   9   8   1           1   2   :   1   9       P   M    
0121760    b   y       T   a   f   t  \r  \r   g   e   t       "   B   T
0122000    r   e   e   .   d   e   c   l   "  \r   g   e   t       "   I
0122020    f   s   V   M   e   m   .   d   e   c   l   "  \r   g   e   t
0122040        "   A   l   t   o   F   i   l   e   S   y   s   .   d   "
0122060   \r   g   e   t       "   D   i   s   k   s   .   d   "  \r  \r
0122100    e   x   t   e   r   n 376 001  \0   . 260   a   l  \r   [  \r
0122120    /   /       O   u   t   g   o   i   n   g       p   r   o   c
0122140    e   d   u   r   e   s  \r   O   p   e   n   F   P   T   r   e
0122160    e   ;       F   l   u   s   h   B   T   r   e   e   S   t   a
0122200    t   e  \r   B   t   A   l   l   o   c   P   a   g   e   ;    
0122220    B   t   F   r   e   e   P   a   g   e   ;       C   l   o   s
0122240    e   I   F   S   T   r   e   e  \r   R   e   a   d   B   T   r
0122260    e   e   P   a   g   e   ;       W   r   i   t   e   B   T   r
0122300    e   e   P   a   g   e   ;       L   o   c   k   B   T   r   e
0122320    e   P   t   r   ;       U   n   l   o   c   k   B   T   r   e
0122340    e   P   t   r  \r   A   l   l   o   c   a   t   e   B   T   r
0122360    e   e   P   a   g   e   ;       F   r   e   e   B   T   r   e
0122400    e   P   a   g   e   ;       B   T   r   e   e   B   u   g   ;
0122420        C   l   o   s   e   B   T   r   e   e  \r  \r   /   /    
0122440    I   n   c   o   m   i   n   g       p   r   o   c   e   d   u
0122460    r   e   s  \r   S   y   s   A   l   l   o   c   a   t   e   ;
0122500        S   y   s   A   l   l   o   c   a   t 376 001  \0 323 235
0122520    e   Z   e   r   o   ;       S   y   s   F   r   e   e   ;    
0122540    M   o   v   e   B   l   o   c   k   ;       D   e   f   a   u
0122560    l   t   A   r   g   s  \r   B   V   W   R   P   ;       B   V
0122600    R   R   P   ;       B   t   L   o   c   k   C   e   l   l   ;
0122620        B   t   U   n   l   o   c   k   C   e   l   l  \r   O   p
0122640    e   n   V   F   i   l   e   F   r   o   m   F   P   ;       C
0122660    l   o   s   e   V   F   i   l   e   ;       P   u   r   g   e
0122700    V   M   e   m   ;       C   a   l   l   P   r   o   c  \r   I
0122720    F   S   E   r   r   o   r   ;       U   s   c   ;       E   n
0122740    q   u   e   u   e   ;       U   n   q   u   e   u   e   ;    
0122760    M   a   x   ;       S   y   s   E   r   r  \r   C   a   l   l
0123000    0   ;       C   a   l   l   1   ;       C   a   l   l   2   ;
0123020        C   a   l   l   3   ;       C   a   l   l   4   ;       C
0123040    a   l   l   5   ;       C   a   l   l   6   ;       C   a   l
0123060    l   7  \r  \r   /   /       O   u   t   g   o   i   n   g    
0123100    s   t   a   t   i   c   s  \r   l   e   n   F   M   a   p  \r
0123120  376 001  \0 371   #  \r   /   /       I   n   c   o   m   i   n
0123140    g       s   t   a   t   i   c   s  \r   s   y   s   Z   o   n
0123160    e  \r   ]  \r  \r   s   t   a   t   i   c  \r   [  \r   b   t
0123200    Q  \r   R   e   a   d   B   T   r   e   e   P   a   g   e   ;
0123220        W   r   i   t   e   B   T   r   e   e   P   a   g   e   ;
0123240        L   o   c   k   B   T   r   e   e   P   t   r   ;       U
0123260    n   l   o   c   k   B   T   r   e   e   P   t   r  \r   A   l
0123300    l   o   c   a   t   e   B   T   r   e   e   P   a   g   e   ;
0123320        F   r   e   e   B   T   r   e   e   P   a   g   e   ;    
0123340    B   T   r   e   e   B   u   g   ;       C   l   o   s   e   B
0123360    T   r   e   e  \r   l   e   n   F   M   a   p       =       1
0123400    0   0  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -   -
0123420    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0123520    -   -   -   -  \r 376 001  \0 025 227   s   t   r   u   c   t
0123540    u   r   e       I   F   S   T   R   E   E   :  \t   /   /    
0123560    B   T   r   e   e       a   s       Q   u   e   u   e       E
0123600    l   e   m   e   n   t  \r   /   /   -   -   -   -   -   -   -
0123620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0123720    -   -   -   -   -  \r   [  \r   l   i   n   k       w   o   r
0123740    d  \r   t   r   e   e       @   T   R   E   E  \r   ]  \r  \r
0123760    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0124000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0124060    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   s
0124100    t   r   u   c   t   u   r   e       F   C   E   :  \t  \t   /
0124120    /       F   r   e   e       c   h   a 376 001  \0 270   A   i
0124140    n       e   n   t   r   y       f   o   r       d   i   s   k
0124160        p   a   g   e   s       o   f       a       B   -   T   r
0124200    e   e       f   i   l   e  \r   /   /   -   -   -   -   -   -
0124220    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0124320    -   -   -   -   -   -  \r   [  \r   F   r   e   e   M   a   r
0124340    k   e   r       w   o   r   d  \t  \t   /   /       n   e   g
0124360    a   t   i   v   e       i   f       p   a   g   e       i   s
0124400        f   r   e   e   ;       s   h   a   r   e   s       s   t
0124420    o   r   a   g   e  \r  \t  \t  \t   /   /           w   i   t
0124440    h       B   T   P   >   >   F   r   e   e   W   o   r   d   s
0124460   \r   n   e   x   t       w   o   r   d  \t  \t   /   /       n
0124500    e   x   t       p   a   g   e       o   n       f   r   e   e
0124520        l   i   s   t       -       0       m   e   a   n   s 376
0124540  001  \0 206 365       n   o   n   e  \r   ]  \r  \r   m   a   n
0124560    i   f   e   s   t  \r   [  \r   p   a   g   e   Q   u   a   n
0124600    t   u   m       =       2   0  \t   /   /       m   u   s   t
0124620        b   e       a       m   u   l   t   i   p   l   e       o
0124640    f       4  \r   ]  \r  \f  \r   /   /   -   -   -   -   -   -
0124660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0124760    -   -   -   -   -   -  \r   l   e   t       O   p   e   n   F
0125000    P   T   r   e   e   (   f   p   ,       d   i   s   k   ,    
0125020    C   o   m   p   a   r   e   K   e   y   R   t   n   ,       L
0125040    e   n   g   t   h   R   t   n   ,       i   n   i   t   i   a
0125060    l   i   z   e   T   r   e   e   ,  \r       d   i   s   k   P
0125100    a   g   e   s   ,       l   o   g   B   T   r   e   e   P   a
0125120    g   e   L   e   n   g   t   h   ;       n   u   m   a   r   g
0125140    s       n   a 376 001  \0 214   w   )       =       v   a   l
0125160    o   f  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0125200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0125300    -  \r   [  \r   D   e   f   a   u   l   t   A   r   g   s   (
0125320    l   v       n   a   ,       -   4   ,       f   a   l   s   e
0125340    ,       2   0   4   8   ,       d   i   s   k   >   >   D   S
0125360    K   .   l   n   P   a   g   e   S   i   z   e   )  \r   l   e
0125400    t       q   T   r   e   e       =       S   y   s   A   l   l
0125420    o   c   a   t   e   (   s   i   z   e       I   F   S   T   R
0125440    E   E   /   1   6   )  \r   l   e   t       t   r   e   e    
0125460    =       l   v       (   q   T   r   e   e   >   >   I   F   S
0125500    T   R   E   E   .   t   r   e   e   )  \r   t   r   e   e   >
0125520    >   T   R   E   E   .   C   o   m   p   a   r   e   K   e   y
0125540    R   t   n       =       C   o   m 376 001  \0   r 360   p   a
0125560    r   e   K   e   y   R   t   n  \r   t   r   e   e   >   >   T
0125600    R   E   E   .   L   e   n   g   t   h   R   t   n       =    
0125620    L   e   n   g   t   h   R   t   n  \r   t   r   e   e   >   >
0125640    T   R   E   E   .   B   V   R   R   P       =       B   V   R
0125660    R   P  \r   t   r   e   e   >   >   T   R   E   E   .   B   V
0125700    W   R   P       =       B   V   W   R   P  \r   t   r   e   e
0125720    >   >   T   R   E   E   .   B   V   A   P       =       B   t
0125740    A   l   l   o   c   P   a   g   e  \r   t   r   e   e   >   >
0125760    T   R   E   E   .   B   V   F   P       =       B   t   F   r
0126000    e   e   P   a   g   e  \r   t   r   e   e   >   >   T   R   E
0126020    E   .   B   L   o   c   k   C   e   l   l       =       B   t
0126040    L   o   c   k   C   e   l   l  \r   t   r   e   e   >   >   T
0126060    R   E   E   .   B   U   n   l   o   c   k   C   e   l   l    
0126100    =       B   t   U   n   l   o   c   k   C   e   l   l  \r   t
0126120    r   e   e   >   >   T   R   E   E   .   B   T   C   l   o   s
0126140    e       =       C   l   o   s   e   I   F   S   T   r 376 001
0126160   \0 035       e   e  \r   t   r   e   e   >   >   T   R   E   E
0126200    .   B   T   B   u   g       =       S   y   s   E   r   r  \r
0126220    R   e   a   d   B   T   r   e   e   P   a   g   e       =    
0126240    C   a   l   l   0  \r   W   r   i   t   e   B   T   r   e   e
0126260    P   a   g   e       =       C   a   l   l   1  \r   L   o   c
0126300    k   B   T   r   e   e   P   t   r       =       C   a   l   l
0126320    2  \r   U   n   l   o   c   k   B   T   r   e   e   P   t   r
0126340        =       C   a   l   l   3  \r   A   l   l   o   c   a   t
0126360    e   B   T   r   e   e   P   a   g   e       =       C   a   l
0126400    l   4  \r   F   r   e   e   B   T   r   e   e   P   a   g   e
0126420        =       C   a   l   l   5  \r   B   T   r   e   e   B   u
0126440    g       =       C   a   l   l   6  \r   C   l   o   s   e   B
0126460    T   r   e   e       =       C   a   l   l   7  \r   t   r   e
0126500    e   >   >   T   R   E   E   .   Z   o   n   e       =       s
0126520    y   s   Z   o   n   e  \r   t   r   e   e   >   >   T   R   E
0126540    E   .   v   m   d       =       O   p   e   n   V   F   i   l
0126560    e   F   r 376 001  \0   F  \n   o   m   F   P   (   f   p   ,
0126600        d   i   s   k   ,       d   i   s   k   P   a   g   e   s
0126620    ,       l   e   n   F   M   a   p   ,       t   r   u   e   )
0126640   \r  \r   t   e   s   t       i   n   i   t   i   a   l   i   z
0126660    e   T   r   e   e  \r               i   f   s   o  \r        
0126700                    [  \r                           S   e   t   B
0126720    T   r   e   e   P   a   g   e   L   e   n   g   t   h   (   t
0126740    r   e   e   ,       l   o   g   B   T   r   e   e   P   a   g
0126760    e   L   e   n   g   t   h   )  \r                           t
0127000    r   e   e   >   >   T   R   E   E   .   R   o   o   t   P   a
0127020    g   e       =       1  \r                           t   r   e
0127040    e   >   >   T   R   E   E   .   G   r   e   a   t   e   s   t
0127060    P   a   g   e       =       1  \r                           t
0127100    r   e   e   >   >   T   R   E   E   .   F   i   r   s   t   F
0127120    r   e   e   P   a   g   e       =       E   m   p   t   y  \r
0127140                            t   r   e   e   >   >   T   R   E   E
0127160    .   R   e   c   o   r   d   C 376 001  \0   w   8   o   u   n
0127200    t       =       0  \r                           l   e   t    
0127220    s   t   a   t   e   P   a   g   e   P       =       W   r   i
0127240    t   e   B   T   r   e   e   P   a   g   e   (   t   r   e   e
0127260    ,       0   ,       0   ,       t   r   u   e   )  \r        
0127300                    M   o   v   e   B   l   o   c   k   (   l   v
0127320        s   t   a   t   e   P   a   g   e   P   >   >   T   S   ,
0127340        l   v       t   r   e   e   >   >   T   R   E   E   .   T
0127360    S   ,       l   T   S   )  \r                           l   e
0127400    t       r   o   o   t   P   a   g   e   P       =       W   r
0127420    i   t   e   B   T   r   e   e   P   a   g   e   (   t   r   e
0127440    e   ,       1   ,       0   ,       t   r   u   e   )  \r    
0127460                        r   o   o   t   P   a   g   e   P   >   >
0127500    B   T   P   .   M   i   n   P   t   r       =       E   m   p
0127520    t   y  \r                           r   o   o   t   P   a   g
0127540    e   P   >   >   B   T   P   .   F   r   e   e   W   o   r   d
0127560    s       =       t   r   e   e   >   >   T   R   E 376 001  \0
0127600    ,   7   E   .   P   a   g   e   L   e   n   g   t   h   -   P
0127620    a   g   e   O   v   e   r   h   e   a   d  \r                
0127640            ]  \r               i   f   n   o   t               /
0127660    /       c   o   p   y       t   r   e   e       s   t   a   t
0127700    e       f   r   o   m       s   t   a   t   e       p   a   g
0127720    e  \r                           [  \r                        
0127740    S   e   t   B   T   r   e   e   P   a   g   e   L   e   n   g
0127760    t   h   (   t   r   e   e   ,       d   i   s   k   >   >   D
0130000    S   K   .   l   n   P   a   g   e   S   i   z   e   )       /
0130020    /       u   n   t   i   l       o   p   e   n  \r            
0130040                l   e   t       s   t   a   t   e   P   a   g   e
0130060    P       =       R   e   a   d   B   T   r   e   e   P   a   g
0130100    e   (   t   r   e   e   ,       0   )  \r                    
0130120        M   o   v   e   B   l   o   c   k   (   l   v       t   r
0130140    e   e   >   >   T   R   E   E   .   T   S   ,       l   v    
0130160    s   t   a   t   e   P   a   g   e   P   >   >   T   S   ,    
0130200    l   T 376 001  \0 344 374   S   )  \r                        
0130220    /   /       M   u   s   t       i   n   v   a   l   i   d   a
0130240    t   e       t   h   e       h   a   s   h       m   a   p    
0130260    b   e   f   o   r   e       c   h   a   n   g   i   n   g    
0130300    p   a   g   e       g   r   o   u   p       s   i   z   e  \r
0130320                            P   u   r   g   e   V   M   e   m   (
0130340    t   r   e   e   >   >   T   R   E   E   .   v   m   d   )  \r
0130360                            i   f       t   r   e   e   >   >   T
0130400    R   E   E   .   L   o   g   P   a   g   e   L   e   n   g   t
0130420    h       n   e       0       t   h   e   n  \r                
0130440                        S   e   t   B   T   r   e   e   P   a   g
0130460    e   L   e   n   g   t   h   (   t   r   e   e   ,       t   r
0130500    e   e   >   >   T   R   E   E   .   L   o   g   P   a   g   e
0130520    L   e   n   g   t   h   )  \r                           ]  \r
0130540   \r   t   r   e   e   >   >   T   R   E   E   .   S   t   a   t
0130560    e   D   i   r   t   y       =       f   a   l   s   e  \r   i
0130600    f       b   t   Q       e 376 001  \0   j 244   q       0    
0130620    t   h   e   n       b   t   Q       =       S   y   s   A   l
0130640    l   o   c   a   t   e   Z   e   r   o   (   2   )  \r   E   n
0130660    q   u   e   u   e   (   b   t   Q   ,       q   T   r   e   e
0130700    )  \r   r   e   s   u   l   t   i   s       t   r   e   e  \r
0130720    ]  \r  \f  \r   /   /   -   -   -   -   -   -   -   -   -   -
0130740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0131040    -   -  \r   a   n   d       S   e   t   B   T   r   e   e   P
0131060    a   g   e   L   e   n   g   t   h   (   t   r   e   e   ,    
0131100    l   o   g   B   T   r   e   e   P   a   g   e   L   e   n   g
0131120    t   h   )       b   e  \r   /   /   -   -   -   -   -   -   -
0131140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0131200    -   -   -   -   -   -   -   -   -   -   -   - 376 001  \0  \t
0131220    <   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0131240    -   -   -   -   -   -   -   -   -   -  \r   /   /       S   e
0131260    t   s       t   h   e       "   l   o   g   i   c   a   l   "
0131300        p   a   g   e       l   e   n   g   t   h       i   n    
0131320    t   h   e       t   r   e   e       a   n   d       i   n    
0131340    i   t   s       v   m   d   ,       a   n   d  \r   /   /    
0131360        s   e   t   s       t   h   e       p   a   g   e       g
0131400    r   o   u   p       s   i   z   e       t   o       b   e    
0131420    t   h   e       g   r   e   a   t   e   r       o   f       t
0131440    h   e       n   u   m   b   e   r  \r   /   /           o   f
0131460        v   m   e   m       p   a   g   e   s       p   e   r    
0131500    d   i   s   k       p   a   g   e       a   n   d       t   h
0131520    e       n   u   m   b   e   r       o   f       v   m   e   m
0131540        p   a   g   e   s  \r   /   /           p   e   r       l
0131560    o   g   i   c   a   l       B   -   T   r   e   e       p   a
0131600    g   e   .  \r   [  \r   t   r   e   e   >   >   T   R   E   E
0131620    . 376 001  \0   ^   l   L   o   g   P   a   g   e   L   e   n
0131640    g   t   h       =       l   o   g   B   T   r   e   e   P   a
0131660    g   e   L   e   n   g   t   h  \r   t   r   e   e   >   >   T
0131700    R   E   E   .   P   a   g   e   L   e   n   g   t   h       =
0131720        1       l   s   h   i   f   t       l   o   g   B   T   r
0131740    e   e   P   a   g   e   L   e   n   g   t   h  \r   t   r   e
0131760    e   >   >   T   R   E   E   .   v   m   d   >   >   F   V   M
0132000    D   .   l   o   g   P   a   g   e   G   r   o   u   p   S   i
0132020    z   e       =       M   a   x   (  \r       l   o   g   B   T
0132040    r   e   e   P   a   g   e   L   e   n   g   t   h       -    
0132060    l   o   g   V   M   P   a   g   e   L   e   n   g   t   h   ,
0132100   \r       t   r   e   e   >   >   T   R   E   E   .   v   m   d
0132120    >   >   F   V   M   D   .   l   o   g   V   P   a   g   e   s
0132140    P   e   r   D   i   s   k   P   a   g   e   )  \r   ]  \r  \r
0132160    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0132200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0132220    -   -   -   -   -   - 376 001  \0   ; 226   -   -   -   -   -
0132240    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0132300    -   -   -  \r   a   n   d       C   l   o   s   e   I   F   S
0132320    T   r   e   e   (   t   r   e   e   )       =       v   a   l
0132340    o   f  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0132360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0132460    -  \r   [  \r   U   n   q   u   e   u   e   (   b   t   Q   ,
0132500        t   r   e   e   -   (   o   f   f   s   e   t       I   F
0132520    S   T   R   E   E   .   t   r   e   e   /   1   6   )   )  \r
0132540    W   r   i   t   e   S   t   a   t   e   P   a   g   e   (   t
0132560    r   e   e   )  \r   C   l   o   s   e   V   F   i   l   e   (
0132600    t   r   e   e   >   >   T   R   E   E   .   v   m   d   )  \r
0132620    r   e   s   u   l   t   i   s       S   y 376 001  \0  \n 315
0132640    s   F   r   e   e   (   t   r   e   e   -   (   o   f   f   s
0132660    e   t       I   F   S   T   R   E   E   .   t   r   e   e   /
0132700    1   6   )   )  \r   ]  \r  \r   /   /   -   -   -   -   -   -
0132720    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0133020    -   -   -   -   -   -  \r   a   n   d       F   l   u   s   h
0133040    B   T   r   e   e   S   t   a   t   e   (   )       b   e  \r
0133060    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0133100    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0133160    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   [
0133200   \r   l   e   t       q   T   r   e   e       =       b   t   Q
0133220    !   0  \r   w   h   i   l   e       q   T   r   e   e       n
0133240  376 001  \0   e 367   e       0       d   o  \r               [
0133260   \r               W   r   i   t   e   S   t   a   t   e   P   a
0133300    g   e   (   l   v       q   T   r   e   e   >   >   I   F   S
0133320    T   R   E   E   .   t   r   e   e   )  \r               q   T
0133340    r   e   e       =       q   T   r   e   e   >   >   I   F   S
0133360    T   R   E   E   .   l   i   n   k  \r               ]  \r   ]
0133400   \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0133420    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0133520   \r   a   n   d       W   r   i   t   e   S   t   a   t   e   P
0133540    a   g   e   (   t   r   e   e   )       b   e  \r   /   /   -
0133560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0133640    -   -   -   -   - 376 001  \0   )   D   -   -   -   -   -   -
0133660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0133700   \r   [  \r   i   f       t   r   e   e   >   >   T   R   E   E
0133720    .   S   t   a   t   e   D   i   r   t   y       t   h   e   n
0133740   \r               [  \r               l   e   t       s   t   a
0133760    t   e   P   a   g   e   P       =       W   r   i   t   e   B
0134000    T   r   e   e   P   a   g   e   (   t   r   e   e   ,       0
0134020    )  \r               M   o   v   e   B   l   o   c   k   (   l
0134040    v       s   t   a   t   e   P   a   g   e   P   >   >   T   S
0134060    ,       l   v       t   r   e   e   >   >   T   R   E   E   .
0134100    T   S   ,       l   T   S   )  \r               t   r   e   e
0134120    >   >   T   R   E   E   .   S   t   a   t   e   D   i   r   t
0134140    y       =       f   a   l   s   e  \r               ]  \r   ]
0134160   \r  \f  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0134200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0134240    -   -   -   -   -   -   -   -   -   - 376 001  \0 230 230   -
0134260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0134300    -   -   -   -   -   -  \r   a   n   d       B   t   A   l   l
0134320    o   c   P   a   g   e   (   t   r   e   e   )       =       v
0134340    a   l   o   f  \r   /   /   -   -   -   -   -   -   -   -   -
0134360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0134460    -   -   -  \r   [  \r   i   f       t   r   e   e   >   >   T
0134500    R   E   E   .   F   i   r   s   t   F   r   e   e   P   a   g
0134520    e       e   q       E   m   p   t   y       t   h   e   n  \r
0134540                [  \r               l   e   t       g   p       =
0134560        t   r   e   e   >   >   T   R   E   E   .   G   r   e   a
0134600    t   e   s   t   P   a   g   e  \r               l   e   t    
0134620    n   g   p       =       g   p   +   p   a   g   e   Q   u   a
0134640    n   t   u   m  \r               t   r   e   e   >   >   T 376
0134660  001  \0   N   !   R   E   E   .   G   r   e   a   t   e   s   t
0134700    P   a   g   e       =       n   g   p  \r               f   o
0134720    r       n   e   w   F   r   e   e   P   a   g   e       =    
0134740    g   p   +   1       t   o       n   g   p       d   o       C
0134760    a   l   l   P   r   o   c   (   F   r   e   e   B   T   r   e
0135000    e   P   a   g   e   ,       t   r   e   e   ,       n   e   w
0135020    F   r   e   e   P   a   g   e   )  \r               ]  \r   l
0135040    e   t       n   e   w   P   a   g   e       =       t   r   e
0135060    e   >   >   T   R   E   E   .   F   i   r   s   t   F   r   e
0135100    e   P   a   g   e  \r   l   e   t       p   a   g   e       =
0135120        W   r   i   t   e   B   T   r   e   e   P   a   g   e   (
0135140    t   r   e   e   ,       n   e   w   P   a   g   e   ,       0
0135160    ,       t   r   u   e   )  \r   t   r   e   e   >   >   T   R
0135200    E   E   .   F   i   r   s   t   F   r   e   e   P   a   g   e
0135220        =       p   a   g   e   >   >   F   C   E   .   n   e   x
0135240    t  \r   p   a   g   e   >   >   F   C   E   .   F   r   e   e
0135260    M   a   r   k 376 001  \0 312   A   e   r       =       0  \r
0135300    t   r   e   e   >   >   T   R   E   E   .   S   t   a   t   e
0135320    D   i   r   t   y       =       t   r   u   e  \r   r   e   s
0135340    u   l   t   i   s       n   e   w   P   a   g   e  \r   ]  \r
0135360   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0135400    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0135460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0135500    a   n   d       B   t   F   r   e   e   P   a   g   e   (   t
0135520    r   e   e   ,       f   r   e   e   P   a   g   e   )       b
0135540    e  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0135560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0135660   \r   [  \r   l   e   t       p   a 376  \0 264   }   N   g   e
0135700        =       W   r   i   t   e   B   T   r   e   e   P   a   g
0135720    e   (   t   r   e   e   ,       f   r   e   e   P   a   g   e
0135740    ,       0   ,       t   r   u   e   )  \r   p   a   g   e   >
0135760    >   F   C   E   .   n   e   x   t       =       t   r   e   e
0136000    >   >   T   R   E   E   .   F   i   r   s   t   F   r   e   e
0136020    P   a   g   e  \r   p   a   g   e   >   >   F   C   E   .   F
0136040    r   e   e   M   a   r   k   e   r       =       -   1  \r   t
0136060    r   e   e   >   >   T   R   E   E   .   F   i   r   s   t   F
0136100    r   e   e   P   a   g   e       =       f   r   e   e   P   a
0136120    g   e  \r   t   r   e   e   >   >   T   R   E   E   .   S   t
0136140    a   t   e   D   i   r   t   y       =       t   r   u   e  \r
0136160    ]  \r 377  \0  \0   I   f   s   B   T   r   e   e   O   E   P
0136200    .   b   c   p   l  \0 373 230   -   R  \f  \0  \0 376 001  \0
0136220  321   H   /   /       I   F   S   B   T   r   e   e   O   E   P
0136240    .   b   c   p   l  \r   /   /       C   o   p   y   r   i   g
0136260    h   t       X   e   r   o   x       C   o   r   p   o   r   a
0136300    t   i   o   n       1   9   7   9   ,       1   9   8   1  \r
0136320   \r   /   /       L   a   s   t       m   o   d   i   f   i   e
0136340    d       N   o   v   e   m   b   e   r       2   6   ,       1
0136360    9   8   1           1   2   :   2   2       P   M       b   y
0136400        T   a   f   t  \r  \r   e   x   t   e   r   n   a   l  \r
0136420    [  \r   /   /       O   u   t   g   o   i   n   g       p   r
0136440    o   c   e   d   u   r   e   s  \r   I   n   i   t   B   T   r
0136460    e   e   O   E   P  \r  \r   /   /       I   n   c   o   m   i
0136500    n   g       p   r   o   c   e   d   u   r   e   s  \r   D   e
0136520    c   l   a   r   e   O   E   P   ;       B   t   A   l   l   o
0136540    c   P   a   g   e   ;       B   t   F   r   e   e   P   a   g
0136560    e   ;       C   l   o   s   e   I   F   S   T   r   e   e  \r
0136600    ]  \r  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -
0136620    -   - 376  \0 354 227 204   -   -   -   -   -   -   -   -   -
0136640    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0136720    -   -   -   -   -   -   -  \r   l   e   t       I   n   i   t
0136740    B   T   r   e   e   O   E   P   (   o   e   v   )       b   e
0136760   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0137000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0137060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0137100                D   e   c   l   a   r   e   O   E   P   (   o   e
0137120    v   ,       l   v       B   t   A   l   l   o   c   P   a   g
0137140    e   ,       l   v       B   t   F   r   e   e   P   a   g   e
0137160    ,       l   v       C   l   o   s   e   I   F   S   T   r   e
0137200    e   )  \r 377  \0  \0   I   f   s   F   i   l   e   s   .   d
0137220    e   c   l  \0 373 231  \a 376   4  \0  \0 376 001  \0 355 223
0137240    /   /       I   F   S   F   i   l   e   s   .   d   e   c   l
0137260        -   -       d   e   c   l   a   r   a   t   i   o   n   s
0137300        f   o   r       I   F   S       f   i   l   e       s   t
0137320    r   u   c   t   u   r   e   s  \r   /   /  \t  \t   T   h   i
0137340    s       i   s       a   n       e   x   t   e   n   s   i   o
0137360    n       t   o       A   l   t   o   F   i   l   e   S   y   s
0137400    .   d  \r   /   /       C   o   p   y   r   i   g   h   t    
0137420    X   e   r   o   x       C   o   r   p   o   r   a   t   i   o
0137440    n       1   9   7   9   ,       1   9   8   1   ,       1   9
0137460    8   2  \r  \r   /   /       L   a   s   t       m   o   d   i
0137500    f   i   e   d       M   a   y       1   1   ,       1   9   8
0137520    2           1   0   :   0   9       A   M       b   y       T
0137540    a   f   t  \r  \r   g   e   t       "   A   l   t   o   F   i
0137560    l   e   S   y   s   .   d   "  \r  \r   /   /       T   h   e
0137600        f   i   r   s   t       f   e   w       s   t   r   u   c
0137620    t   u   r   e   s       p   a   r   a   l   l   e   l       t
0137640  376 001  \0 254 024   h   e       o   n   e   s       i   n    
0137660    t   h   e       s   t   a   n   d   a   r   d  \r   /   /    
0137700    A   l   t   o       f   i   l   e       s   y   s   t   e   m
0137720    ,       b   u   t       a   s   s   i   g   n       m   e   a
0137740    n   i   n   g       t   o       s   o   m   e       p   r   e
0137760    v   i   o   u   s   l   y       u   n   u   s   e   d  \r   /
0140000    /       b   i   t   s       a   n   d       f   i   e   l   d
0140020    s       w   h   i   c   h       a   r   e       m   a   r   k
0140040    e   d       w   i   t   h       "   *   "   .  \r  \r   /   /
0140060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0140160    -   -   -   -   -   -   -   -   -   -   -   -  \r   s   t   r
0140200    u   c   t   u   r   e       I   S   N   :  \t  \t   /   /    
0140220    I   F   S       s   e   r   i   a   l       n   u   m   b   e
0140240    r  \r   /   /   - 376 001  \0 324   W   -   -   -   -   -   -
0140260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0140360    -   -   -   -   -  \r   [  \r   w   o   r   d   1       w   o
0140400    r   d       =  \r               [  \r               d   i   r
0140420    e   c   t   o   r   y       b   i   t  \t   /   /       f   i
0140440    l   e       i   s       a       d   i   r   e   c   t   o   r
0140460    y       (   S   y   s   D   i   r       o   r       I   F   S
0140500    .   d   i   r   )  \r               r   a   n   d   o   m    
0140520    b   i   t  \t  \t   /   /       n   o   t       u   s   e   d
0140540        i   n       I   F   S  \r               n   o   l   o   g
0140560        b   i   t  \t  \t   /   /       n   o   t       u   s   e
0140600    d       i   n       I   F   S  \r               a   r   c   h
0140620    i   v   e   d       b   i   t  \t  \t   /   /   *   f   i   l
0140640    e       i   s       a   r   c   h   i 376 001  \0 307 271   v
0140660    e   d  \r               p   a   r   t   1       b   i   t    
0140700    1   2  \r               ]  \r   w   o   r   d   2       w   o
0140720    r   d       =       p   a   r   t   2       w   o   r   d  \r
0140740    ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0140760    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0141060    -  \r   s   t   r   u   c   t   u   r   e       I   D   A   :
0141100   \t  \t   /   /       I   F   S       v   i   r   t   u   a   l
0141120        d   i   s   k       a   d   d   r   e   s   s  \r   /   /
0141140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0141240    -   -   -   -   -   -   -   -   -   -   -   -  \r   [  \r 376
0141260  001  \0 233   2   b   l   a   n   k       b   y   t   e  \r   u
0141300    n   i   t       b   y   t   e  \t  \t   /   /   *   l   o   g
0141320    i   c   a   l       u   n   i   t       n   u   m   b   e   r
0141340   \r   p   a   g   e       w   o   r   d  \t  \t   /   /       v
0141360    i   r   t   u   a   l       p   a   g   e       n   u   m   b
0141400    e   r       o   n       u   n   i   t  \r   ]  \r  \r   /   /
0141420    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0141520