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