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