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