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