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