$ od -c -N 50000 [Indigo]<AltoSource>EFTPSOURCES.DM!2
0000000  377  \0  \0   P   u   p   E   F   T   P   .   d   e   c   l  \0
0000020  373 223 361 363 350  \0  \0 376 001  \0 251   L   /   /       P
0000040    u   p   E   F   T   P   .   d   e   c   l       -   -       D
0000060    e   c   l   a   r   a   t   i   o   n   s       f   o   r    
0000100    E   F   T   P       p   a   c   k   a   g   e  \r   /   /    
0000120    C   o   p   y   r   i   g   h   t       X   e   r   o   x    
0000140    C   o   r   p   o   r   a   t   i   o   n       1   9   7   9
0000160   \r  \r   /   /       L   a   s   t       m   o   d   i   f   i
0000200    e   d       J   u   n   e       3   ,       1   9   7   9    
0000220        1   1   :   5   8       A   M       b   y       T   a   f
0000240    t  \r  \r   g   e   t       "   P   u   p   0   .   d   e   c
0000260    l   "  \r   g   e   t       "   P   u   p   1   .   d   e   c
0000300    l   "  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -
0000320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0000420    -   -  \r   s   t   r   u   c   t   u   r   e 376 001  \0   C
0000440    q       E   F   T   P   S   o   c   :  \r   /   /   -   -   -
0000460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0000560    -   -   -   -   -   -   -   -   -  \r   [  \r   @   P   u   p
0000600    S   o   c  \r   S   e   q   N   u   m       w   o   r   d  \r
0000620    A   b   o   r   t   P   B   I       w   o   r   d  \t  \t   /
0000640    /       p   r   o   v   i   d   e   s       a       t   e   m
0000660    p   o   r   a   r   y       p   o   i   n   t   e   r       t
0000700    o       m   o   s   t       r   e   c   e   n   t       o   n
0000720    e  \r   S   o   m   e   o   n   e   E   l   s   e   W   a   i
0000740    t   i   n   g       w   o   r   d  \r   T   r   a   n   s   f
0000760    e   r   N   o   t   S   t   a   r   t   e   d       w   o   r
0001000    d  \t   /   /       t   r   u   e       w   h   i   l   e    
0001020    f   o   r   e   i   g   n       s   o   c   k   e   t       n
0001040    o 376 001  \0 223   ~   t       c   o   m   p   l   e   t   e
0001060    d  \r   c   u   r   r   e   n   t   T   i   m   e   o   u   t
0001100        w   o   r   d  \t   /   /       c   u   r   r   e   n   t
0001120        r   e   t   r   a   n   s   m   i   s   s   i   o   n    
0001140    t   i   m   e   o   u   t  \r   s   t   a   r   t   T   i   m
0001160    e       w   o   r   d  \t  \t   /   /       t   i   m   e    
0001200    a   t       w   h   i   c   h       l   a   s   t       D   a
0001220    t   a       w   a   s       s   e   n   t  \r   ]  \r   m   a
0001240    n   i   f   e   s   t       l   e   n   E   F   T   P   S   o
0001260    c       =       s   i   z   e       E   F   T   P   S   o   c
0001300    /   1   6  \r  \r   /   /   -   -   -   -   -   -   -   -   -
0001320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0001420    -   -   -  \r   s   t   r   u   c   t   u   r   e       B   y
0001440    t   e   ^   1   ,   1 376 001  \0 365   l   :       b   y   t
0001460    e  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0001500    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0001600   \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0001620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0001720   \r   m   a   n   i   f   e   s   t  \r   /   /   -   -   -   -
0001740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0002040    -   -   -   -   -   -   -   -  \r   [  \r 376 001  \0 224   -
0002060    /   /       W   e   l   l   -   k   n   o   w   n       s   o
0002100    c   k   e   t  \r   s   o   c   k   e   t   E   F   T   P   R
0002120    e   c   e   i   v   e       =       2   0   b  \r  \r   /   /
0002140        E   F   T   P       p   r   o   t   o   c   o   l       p
0002160    a   c   k   e   t       t   y   p   e   s  \r   t   y   p   e
0002200    E   F   T   P   D   a   t   a       =       3   0   b  \r   t
0002220    y   p   e   E   F   T   P   A   c   k       =       3   1   b
0002240   \r   t   y   p   e   E   F   T   P   E   n   d       =       3
0002260    2   b  \r   t   y   p   e   E   F   T   P   A   b   o   r   t
0002300        =       3   3   b  \r  \r   /   /       R   e   t   u   r
0002320    n       v   a   l   u   e   s       f   r   o   m       R   e
0002340    c   e   i   v   e   E   F   T   P   B   l   o   c   k       a
0002360    n   d       S   e   n   d   E   F   T   P   B   l   o   c   k
0002400   \r   E   F   T   P   E   n   d   R   e   c   e   i   v   e   d
0002420        =       0  \t   /   /       t   h   a   t       i   s   ,
0002440        a       z   e   r   o       b   y   t   e       c   o   u
0002460  376 001  \0 255   '   n   t  \r   E   F   T   P   T   i   m   e
0002500    o   u   t       =       -   1  \r   E   F   T   P   A   b   o
0002520    r   t   R   e   c   e   i   v   e   d       =       -   2  \r
0002540    E   F   T   P   A   b   o   r   t   S   e   n   t       =    
0002560    -   3  \r   E   F   T   P   R   e   s   e   t   R   e   c   e
0002600    i   v   e   d       =       -   4  \r   E   F   T   P   N   o
0002620    t   F   i   r   s   t   S   y   n   c   h       =       -   5
0002640   \r  \r   /   /       S   o   m   e       r   e   t   r   a   n
0002660    s   m   i   s   s   i   o   n       t   i   m   e   o   u   t
0002700    s       i   n       u   n   i   t   s       o   f       1   0
0002720        m   i   l   l   i   s   e   c   o   n   d   s  \r   s   t
0002740    a   r   t   i   n   g   T   i   m   e   o   u   t       =    
0002760    1   0   0  \t   /   /       ~   1       s   e   c   .  \r   m
0003000    a   x   T   i   m   e   o   u   t       =       1   0   0   0
0003020   \t   /   /       ~   1   0       s   e   c   .  \r   m   i   n
0003040    T   i   m   e   o   u   t       =       5  \t  \t   /   /    
0003060    ~   5   0       m 376 001  \0 373 032   s   .  \r   d   a   l
0003100    l   y   T   i   m   e   o   u   t       =       5   0   0  \t
0003120    /   /       ~   5       s   e   c       d   a   l   l   y    
0003140    p   e   r   i   o   d   .  \r   l   o   n   g   B   l   o   c
0003160    k   T   i   m   e   o   u   t       =       3   0   0   0  \t
0003200    /   /       ~   3   0       s   e   c   ,       f   o   r    
0003220    a       l   o   n   g       w   a   i   t  \r  \r   /   /    
0003240    A   b   o   r   t       c   o   d   e   s   ,       f   o   r
0003260        u   s   e       w   i   t   h   i   n       a   n       E
0003300    F   T   P   A   b   o   r   t       p   a   c   k   e   t  \r
0003320    E   x   t   e   r   n   a   l   S   e   n   d   e   r   A   b
0003340    o   r   t       =       1  \r   E   x   t   e   r   n   a   l
0003360    R   e   c   e   i   v   e   r   A   b   o   r   t       =    
0003400    2  \r   R   e   c   e   i   v   e   r   B   u   s   y   A   b
0003420    o   r   t       =       3  \r   O   u   t   O   f   S   y   n
0003440    c   h   A   b   o   r   t       =       4  \r   M   i   s   c
0003460    A   b   o   r   t       =       5  \r 376  \0 002   ] 017   ]
0003500   \r 377  \0  \0   E   F   T   P   .   b   c   p   l  \0 373 231
0003520  274 250   &  \0  \0 376 001  \0 232 005   /   /       E   F   T
0003540    P   .   b   c   p   l       -   -       t   o   p       l   e
0003560    v   e   l       r   o   u   t   i   n   e       a   n   d    
0003600    u   s   e   r       i   n   t   e   r   f   a   c   e       f
0003620    o   r  \r   /   /       t   h   e       E   F   T   P       s
0003640    u   b   s   y   s   t   e   m  \r   /   /       J   u   n   e
0003660        1   7   ,       1   9   7   6           3   :   4   4    
0003700    P   M           a   p   ,   b   a   k   ,   j   f   s  \r   /
0003720    /       l   a   s   t       m   o   d   i   f   i   e   d    
0003740    o   n       S   e   p   t   e   m   b   e   r       2   5   ,
0003760        1   9   8   2           1   1   :   0   4       A   M    
0004000    b   y       T   a   f   t  \r   /   /       C   o   p   y   r
0004020    i   g   h   t       X   e   r   o   x       C   o   r   p   o
0004040    r   a   t   i   o   n       1   9   7   9  \r  \r   g   e   t
0004060        "   P   u   p   E   F   T   P   .   d   e   c   l   "    
0004100        /   /   t   h   a   t       w   i   l   l       a   l   s
0004120    o       g   e   t       p   u   p   - 376 001  \0 254 250   r
0004140    e   l   a   t   e   d       s   t   u   f   f  \r   g   e   t
0004160        "   S   t   r   e   a   m   s   .   d   "  \r  \r   e   x
0004200    t   e   r   n   a   l  \r   [  \r   /   /   o   u   t   g   o
0004220    i   n   g       p   r   o   c   e   d   u   r   e   s  \r   M
0004240    s   g  \r  \r   /   /   i   n   c   o   m   i   n   g       p
0004260    r   o   c   e   d   u   r   e   s  \r   I   n   i   t   E   F
0004300    T   P   P   a   c   k   a   g   e   ;       E   F   T   P   S
0004320    e   n   d   F   i   l   e   ;       E   F   T   P   R   e   c
0004340    e   i   v   e   F   i   l   e  \r   F   i   x   e   d   L   e
0004360    f   t   ;       G   e   t   F   i   x   e   d   ;       I   n
0004400    i   t   i   a   l   i   z   e   Z   o   n   e   ;       A   l
0004420    l   o   c   a   t   e  \r   I   n   i   t   i   a   l   i   z
0004440    e   C   o   n   t   e   x   t   ;       C   a   l   l   C   o
0004460    n   t   e   x   t   L   i   s   t   ;       B   l   o   c   k
0004500   \r   I   n   i   t   P   u   p   L   e   v   e   l   1   ;    
0004520    I   n   i   t   i   a   l   i   z   e   T   i   m   e   r 376
0004540  001  \0   y 274   ;       E   n   q   u   e   u   e   ;       G
0004560    e   t   P   a   r   t   n   e   r  \r   O   p   e   n   F   i
0004600    l   e   ;       C   l   o   s   e   s   ;       E   n   d   o
0004620    f   s   ;       G   e   t   s   ;       P   u   t   s  \r   W
0004640    s   ;       W   l   ;       W   o   ;       W   n   s   ;    
0004660    C   a   l   l   S   w   a   t  \r   S   e   t   u   p   R   e
0004700    a   d   P   a   r   a   m   ;       R   e   a   d   P   a   r
0004720    a   m   ;       E   v   a   l   P   a   r   a   m  \r  \r   /
0004740    /   o   u   t   g   o   i   n   g       s   t   a   t   i   c
0004760    s  \r   E   F   T   P   Z   o   n   e   ;       E   F   T   P
0005000    C   t   x   q  \r   E   F   T   P   F   r   n   P   o   r   t
0005020    ;       E   F   T   P   L   c   l   P   o   r   t   ;       E
0005040    F   T   P   S   o   c   k   e   t  \r  \r   /   /   i   n   c
0005060    o   m   i   n   g       s   t   a   t   i   c   s  \r   k   e
0005100    y   s   ;   d   s   p  \r   ]  \r  \r   c   o   m   p   i   l
0005120    e   i   f       n   o   v   a       t   h   e   n       [    
0005140    e   x   t   e 376 001  \0   r 231   r   n   a   l       [    
0005160    I   n   i   t   N   o   v   a   A   l   t   o       ]       ]
0005200   \r  \r   s   t   a   t   i   c  \r   [  \r   E   F   T   P   Z
0005220    o   n   e   ;   E   F   T   P   C   t   x   q  \r   E   F   T
0005240    P   F   r   n   P   o   r   t   ;   E   F   T   P   L   c   l
0005260    P   o   r   t   ;   E   F   T   P   S   o   c   k   e   t  \r
0005300   \r   t   e   m   p   f   i   l   e   ;       t   e   m   p   s
0005320    t   r   i   n   g  \r   D   e   b   u   g   S   w   i   t   c
0005340    h       =       f   a   l   s   e  \r   D   e   b   u   g   C
0005360    o   n   f   i   r   m   S   w   i   t   c   h       =       f
0005400    a   l   s   e  \r   c   l   i   B   o   d   y   ;       c   l
0005420    i   S   w   i   t   c   h   e   s              \r   ]  \r  \r
0005440    m   a   n   i   f   e   s   t  \r   [  \r   c   l   i   S   t
0005460    a   c   k   S   i   z   e       =       3   0   0   0  \r   k
0005500    b   d   S   t   a   c   k   S   i   z   e       =       3   0
0005520    0   0  \r   ]  \r  \r  \r   /   /   -   -   -   -   -   -   -
0005540    -   -   -   -   -   -   -   -   - 376 001  \0 016   ^   -   -
0005560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0005620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0005640    l   e   t       E   F   T   P   (   )       b   e  \r   /   /
0005660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0005760    -  \r   [  \r   l   e   t       v   e   r   s   i   o   n   T
0006000    e   x   t       =       "   E   F   T   P       o   f       S
0006020    e   p   t   e   m   b   e   r       2   5   ,       1   9   8
0006040    2   "  \r  \r   /   /   F   o   r       t   h   e       t   i
0006060    m   e       b   e   i   n   g   ,       a   l   l   o   c   a
0006100    t   e       e   v   e   r   y   t   h   i   n   g       h   e
0006120    r   e  \r   l   e   t       f   r   n   P   o   r   t       =
0006140        v   e   c       l   e   n   P   o   r   t   ;     376 001
0006160   \0 016 274   E   F   T   P   F   r   n   P   o   r   t       =
0006200        f   r   n   P   o   r   t  \r   l   e   t       l   c   l
0006220    P   o   r   t       =       v   e   c       l   e   n   P   o
0006240    r   t   ;       E   F   T   P   L   c   l   P   o   r   t    
0006260    =       l   c   l   P   o   r   t  \r   l   e   t       s   o
0006300    c   k   e   t       =       v   e   c       l   e   n   E   F
0006320    T   P   S   o   c   ;       E   F   T   P   S   o   c   k   e
0006340    t       =       s   o   c   k   e   t  \r   l   e   t       t
0006360    e   m   p   S   t   r   i   n   g       =       v   e   c    
0006400    1   2   8   ;       t   e   m   p   s   t   r   i   n   g    
0006420    =       t   e   m   p   S   t   r   i   n   g  \r  \r   c   o
0006440    m   p   i   l   e   i   f       a   l   t   o       t   h   e
0006460    n       [       M   s   g   (   "   I   n   i   t   i   a   l
0006500    i   z   e       z   o   n   e   s   "   )       ]  \r   l   e
0006520    t       z   o   n   e   S   i   z   e       =       F   i   x
0006540    e   d   L   e   f   t   (   )   -   1   5   0   0            
0006560    /   /   S 376 001  \0 025 235   e   t       u   p       a    
0006600    z   o   n   e   ,       f   o   r       l   a   t   e   r    
0006620    u   s   e  \r   i   f       z   o   n   e   S   i   z   e    
0006640    l   s       0       t   h   e   n       z   o   n   e   S   i
0006660    z   e       =       #   7   7   7   7   7           /   /   b
0006700    i   g   g   e   s   t       A   l   l   o   c       c   a   n
0006720        h   a   n   d   l   e  \r   E   F   T   P   Z   o   n   e
0006740        =       G   e   t   F   i   x   e   d   (   z   o   n   e
0006760    S   i   z   e   )  \r   I   n   i   t   i   a   l   i   z   e
0007000    Z   o   n   e   (   E   F   T   P   Z   o   n   e   ,       z
0007020    o   n   e   S   i   z   e   )  \r   c   o   m   p   i   l   e
0007040    i   f       n   o   v   a       t   h   e   n       [       I
0007060    n   i   t   N   o   v   a   A   l   t   o   (   E   F   T   P
0007100    Z   o   n   e   )       ]  \r   W   l   (   v   e   r   s   i
0007120    o   n   T   e   x   t   )  \r   /   /       W   s   (   "   [
0007140    "   )   ;       W   n   s   (   d   s   p   ,       z   o   n
0007160    e   S   i   z   e   ,       0 376 001  \0 227 317   ,       1
0007200    0   )   ;       W   s   (   "       -       (   "   )  \r   /
0007220    /       W   n   s   (   d   s   p   ,       z   o   n   e   S
0007240    i   z   e   ,       0   ,       1   0   )   ;       W   s   (
0007260    "   +   1   )       =       "   )  \r   /   /       W   n   s
0007300    (   d   s   p   ,       F   i   x   e   d   L   e   f   t   (
0007320    )   ,       0   ,       1   0   )  \r   /   /       W   l   (
0007340    "   ]   "   )  \r  \r   /   /       C   h   e   c   k       f
0007360    o   r       a   n   y       g   l   o   b   a   l       f   l
0007400    a   g   s   .   .   .           W   e       w   i   l   l    
0007420    s   e   t       i   t       u   p       h   e   r   e   ,    
0007440    o   t   h   e   r   s  \r   /   /       c   a   n       r   e
0007460    a   d       m   o   r   e       o   f       i   t       l   a
0007500    t   e   r  \r   l   e   t       c   l   i       =       f   a
0007520    l   s   e  \r   l   e   t       b   o   d   y       =       v
0007540    e   c       2   5   6   ;       c   l   i   B   o   d   y    
0007560    =       b   o   d   y  \r   l   e   t       s   w 376 001  \0
0007600    k   m   i   t   c   h   e   s       =       v   e   c       1
0007620    2   8   ;       c   l   i   S   w   i   t   c   h   e   s    
0007640    =       s   w   i   t   c   h   e   s  \r  \r   /   /       R
0007660    e   a   d       f   r   o   m       t   h   e       d   e   f
0007700    a   u   l   t   ,       f   i   l   e       C   O   M   .   C
0007720    M  \r   S   e   t   u   p   R   e   a   d   P   a   r   a   m
0007740    (   c   l   i   B   o   d   y   ,       c   l   i   S   w   i
0007760    t   c   h   e   s   ,       0   ,       0   )  \r   /   /   S
0010000    c   a   n       t   h   e       g   l   o   b   a   l       s
0010020    w   i   t   c   h   e   s  \r   f   o   r       i       =    
0010040    1       t   o       c   l   i   S   w   i   t   c   h   e   s
0010060    !   0       s   w   i   t   c   h   o   n       c   l   i   S
0010100    w   i   t   c   h   e   s   !   i       i   n   t   o  \r    
0010120            [   G   l   o   b   a   l   S   w   i   t   c   h   B
0010140    l   o   c   k  \r               c   a   s   e       $   d   :
0010160        c   a   s   e       $   D   :  \r                        
0010200    [  \r 376 001  \0 337 220                           D   e   b
0010220    u   g   S   w   i   t   c   h       =       t   r   u   e  \r
0010240                            e   n   d   c   a   s   e  \r        
0010260                    ]  \r               c   a   s   e       $   c
0010300    :       c   a   s   e       $   C   :  \r                    
0010320        [  \r                           D   e   b   u   g   C   o
0010340    n   f   i   r   m   S   w   i   t   c   h       =       t   r
0010360    u   e  \r                           D   e   b   u   g   S   w
0010400    i   t   c   h       =       t   r   u   e  \r                
0010420            e   n   d   c   a   s   e  \r                        
0010440    ]  \r               c   a   s   e       $   s   :       c   a
0010460    s   e       $   S   :  \r                           [  \r    
0010500                        C   a   l   l   S   w   a   t   (   "   S
0010520    c   a   n   n   i   n   g       g   l   o   b   a   l       s
0010540    w   i   t   c   h   e   s   "   )  \r                        
0010560    e   n   d   c   a   s   e  \r                           ]  \r
0010600                d   e   f   a 376 001  \0   9   !   u   l   t   :
0010620   \r                           [  \r                           W
0010640    s   (   "   U   n   k   n   o   w   n       g   l   o   b   a
0010660    l       s   w   i   t   c   h   :       "   )  \r            
0010700                P   u   t   s   (   d   s   p   ,       c   l   i
0010720    S   w   i   t   c   h   e   s   !   i   )  \r                
0010740            W   l   (   "   "   )  \r                           ]
0010760   \r               ]   G   l   o   b   a   l   S   w   i   t   c
0011000    h   B   l   o   c   k  \r  \r   /   /       S   e   e       i
0011020    f       t   h   e   r   e       i   s       a   n   y   t   h
0011040    i   n   g       e   l   s   e       l   e   f   t       i   n
0011060        C   O   M   .   C   M   ,       g   e   t       u   n   p
0011100    a   c   k   e   d       s   t   r   i   n   g  \r   R   e   a
0011120    d   P   a   r   a   m   (   0   ,       0   ,       0   ,    
0011140    0   ,       t   r   u   e   )               /   /   p   u   t
0011160    s       f   i   l   e       n   a   m   e       i   n   t   o
0011200        c   l   i   B   o   d   y  \r   i   f     376 001  \0 031
0011220    C   c   l   i   B   o   d   y   !   0       n   e       0    
0011240    t   h   e   n       c   l   i       =       t   r   u   e  \r
0011260   \r   /   /       M   a   j   o   r       t   a   s   k       h
0011300    e   r   e       i   s       t   o       i   n   i   t   i   a
0011320    l   i   z   e       s   t   o   r   a   g   e       a   n   d
0011340        c   o   n   t   e   x   t       l   i   s   t   ,  \r   /
0011360    /       s   t   a   r   t       l   e   v   e   l   1       r
0011400    u   n   n   i   n   g   ,       d   e   c   i   d   e       w
0011420    h   a   t       o   t   h   e   r       p   r   o   c   e   s
0011440    s   e   s       (   c   o   n   t   e   x   t   s   )  \r   /
0011460    /       t   o       e   n   a   b   l   e   ,       a   n   d
0011500        t   h   e   n       l   e   t       t   h   e   m       a
0011520    l   l       r   u   n  \r  \r   M   s   g   (   "   I   n   i
0011540    t   i   a   l   i   z   e       c   o   n   t   e   x   t   s
0011560    "   )  \r   E   F   T   P   C   t   x   q       =       A   l
0011600    l   o   c   a   t   e   (   E   F   T   P   Z   o   n   e   ,
0011620      376 001  \0 335 340   2   )               /   /   M   a   i
0011640    n       c   o   n   t   e   x   t       q   u   e   u   e  \r
0011660    E   F   T   P   C   t   x   q   !   0       =       0  \r  \r
0011700    M   s   g   (   "   I   n   i   t   i   a   l   i   z   e    
0011720    p   u   p       s   t   u   f   f   "   )  \r   /   /   I   n
0011740    i   t   i   a   l   i   z   a   t   i   o   n   s  \r   I   n
0011760    i   t   P   u   p   L   e   v   e   l   1   (   E   F   T   P
0012000    Z   o   n   e   ,       E   F   T   P   C   t   x   q   ,    
0012020    1   0   )               /   /   u   p       t   o       1   0
0012040        b   u   f   f   e   r   s  \r   I   n   i   t   E   F   T
0012060    P   P   a   c   k   a   g   e   (   )  \r  \r  \r   /   /    
0012100    D   e   c   i   d   e       i   f       w   e       s   h   o
0012120    u   l   d       s   c   h   e   d   u   l   e       t   h   e
0012140        i   n   t   e   r   a   c   t   i   v   e       i   n   p
0012160    u   t       h   a   n   d   l   e   r   ,  \r   /   /       o
0012200    r       t   h   e       c   o   m   m   a   n   d       l   i
0012220    n   e       i   n   t 376 001  \0   / 342   e   r   p   r   e
0012240    t   e   r  \r  \r   t   e   s   t       c   l   i            
0012260   \r               i   f   s   o       I   n   i   t   E   F   T
0012300    P   C   l   i   (   )  \r               i   f   n   o   t    
0012320    I   n   i   t   E   F   T   P   K   b   d   (   )  \r  \r   M
0012340    s   g   (   "   S   t   a   r   t       c   o   n   t   e   x
0012360    t       m   e   c   h   a   n   i   s   m   "   )  \r   /   /
0012400    N   o   w       p   a   s   s       o   f   f       c   o   n
0012420    t   r   o   l   ,       a   n   d       n   e   v   e   r    
0012440    r   e   t   u   r   n       h   e   r   e  \r   C   a   l   l
0012460    C   o   n   t   e   x   t   L   i   s   t   (   E   F   T   P
0012500    C   t   x   q   !   0   )       r   e   p   e   a   t        
0012520            /   /   l   o   o   p       f   o   r   e   v   e   r
0012540   \r   ]  \r  \r  \r   /   /       T   h   e   s   e       n   e
0012560    x   t       t   w   o       r   o   u   t   i   n   e   s    
0012600    r   u   n       i   n       t   h   e       c   o   n   t   e
0012620    x   t       (   a   n   d       s   t   a 376 001  \0 242 377
0012640    c   k   )       o   f  \r   /   /       E   F   T   P   (   )
0012660    ,       b   u   t       m   e   r   e   l   y       e   s   t
0012700    a   b   l   i   s   h       a   n   d       e   n   q   u   e
0012720    u   e       a       c   o   n   t   e   x   t       i   n    
0012740    w   h   i   c   h  \r   /   /       t   h   e       r   e   a
0012760    l       r   o   u   t   i   n   e   s       c   a   n       r
0013000    u   n   .           A   c   t   u   a   l       r   o   u   t
0013020    i   n   e   s       c   a   n       l   i   v   e       e   l
0013040    s   e   w   h   e   r   e   .  \r   /   /   -   -   -   -   -
0013060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0013140    -   -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d
0013160        I   n   i   t   E   F   T   P   C   l   i   (   )       b
0013200    e  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0013220    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0013240  376 001  \0   ^ 366   -   -   -   -   -   -   -   -   -   -   -
0013260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0013300    -   -   -   -   -   -   -   -   -   -  \r   E   n   q   u   e
0013320    u   e   (   E   F   T   P   C   t   x   q   ,       I   n   i
0013340    t   i   a   l   i   z   e   C   o   n   t   e   x   t   (   A
0013360    l   l   o   c   a   t   e   (   E   F   T   P   Z   o   n   e
0013400    ,       c   l   i   S   t   a   c   k   S   i   z   e   )   ,
0013420   \r       c   l   i   S   t   a   c   k   S   i   z   e   ,    
0013440    E   F   T   P   C   l   i   )   )  \r  \r  \r   /   /   -   -
0013460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0013540    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0013560    a   n   d       I   n   i   t   E   F   T   P   K   b   d   (
0013600    )       b   e  \r   /   /   -   -   -   -   -   -   -   -   -
0013620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0013640    -   -   -   -   - 376 001  \0 273 022   -   -   -   -   -   -
0013660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0013700    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   E   n
0013720    q   u   e   u   e   (   E   F   T   P   C   t   x   q   ,    
0013740    I   n   i   t   i   a   l   i   z   e   C   o   n   t   e   x
0013760    t   (   A   l   l   o   c   a   t   e   (   E   F   T   P   Z
0014000    o   n   e   ,       k   b   d   S   t   a   c   k   S   i   z
0014020    e   )   ,  \r       k   b   d   S   t   a   c   k   S   i   z
0014040    e   ,       E   F   T   P   K   b   d   )   )  \r  \r  \r   /
0014060    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0014100    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0014160    -   -  \r   a   n   d       M   s   g   (   s   t   r   )    
0014200    b   e  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0014220    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0014240    -   -   -   -   -   -   -   -   -   - 376 001  \0 262  \r   -
0014260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0014300    -   -   -   -   -   -   -   -   -   -   -  \r   [  \r   u   n
0014320    l   e   s   s       D   e   b   u   g   S   w   i   t   c   h
0014340        r   e   t   u   r   n  \r   W   s   (   s   t   r   )  \r
0014360    t   e   s   t       D   e   b   u   g   C   o   n   f   i   r
0014400    m   S   w   i   t   c   h          \r               i   f   s
0014420    o       [       W   l   (   "   [   O   K   ?   ?   ]   "   )
0014440    ;       G   e   t   s   (   k   e   y   s   )       ]  \r    
0014460            i   f   n   o   t       W   l   (   "   "   )  \r   ]
0014500   \r  \r  \r   /   /       O   n   e       o   f       t   h   e
0014520    s   e       r   o   u   t   i   n   e   s       w   i   l   l
0014540        h   a   v   e       b   e   e   n       p   l   a   c   e
0014560    d       o   n       t   h   e       c   o   n   t   e   x   t
0014600        l   i   s   t   ,  \r   /   /       a   n   d       w   i
0014620    l   l       t   h   e   r   e   f   o   r   e       b   e    
0014640    r   u   n   n   i   n   g  \r   /   /   -   -   -   -   - 376
0014660  001  \0 027 346   -   -   -   -   -   -   -   -   -   -   -   -
0014700    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0014760   \r   a   n   d       E   F   T   P   C   l   i   (   )       b
0015000    e  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0015020    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0015100    -   -   -   -   -  \r   [  \r   /   /       P   i   c   k    
0015120    o   f   f       t   h   e       r   e   l   e   v   e   n   t
0015140        i   n   f   o   r   m   a   t   i   o   n       f   r   o
0015160    m       t   h   e       f   i   l   e       C   O   M   .   C
0015200    M  \r   /   /       f   o   r   m   a   t       i   s   :    
0015220    e   f   t   p       <   f   i   l   e   n   a   m   e   >    
0015240    t   o   /   f   r   o   m       <   m   a   c   h   i   n   e
0015260        n   a   m 376 001  \0 214 305   e       o   r       n   u
0015300    m   b   e   r   >  \r   /   /       I   f       w   e       g
0015320    e   t       h   e   r   e   ,       t   h   e       f   i   l
0015340    e       n   a   m   e       i   s       a   l   r   e   a   d
0015360    y       i   n       c   l   i   B   o   d   y  \r   R   e   a
0015400    d   P   a   r   a   m   (   0   ,       0   ,       t   e   m
0015420    p   s   t   r   i   n   g   )               /   /   g   e   t
0015440        t   h   e       d   i   r   e   c   t   i   o   n  \r   s
0015460    w   i   t   c   h   o   n       t   e   m   p   s   t   r   i
0015500    n   g   !   1       i   n   t   o  \r               [   C   l
0015520    i   C   m   d  \r               c   a   s   e       $   t   :
0015540        c   a   s   e       $   T   :  \r                        
0015560    [  \r                           t   e   m   p   f   i   l   e
0015600        =  \r                                       E   v   a   l
0015620    P   a   r   a   m   (   c   l   i   B   o   d   y   ,       "
0015640    I   "   ,       "   F   i   l   e       d   o   e   s       n
0015660    o   t       e   x   i   s   t   , 376 001  \0 307 376       t
0015700    r   y       a   g   a   i   n   :   "   )  \r                
0015720            u   n   l   e   s   s       G   e   t   P   a   r   t
0015740    n   e   r   (   R   e   a   d   P   a   r   a   m   (   "   P
0015760    "   )   ,       d   s   p   ,       E   F   T   P   F   r   n
0016000    P   o   r   t   ,  \r                               0   ,    
0016020    s   o   c   k   e   t   E   F   T   P   R   e   c   e   i   v
0016040    e   )       d   o  \r                                       [
0016060   \r                                       C   l   i   E   r   r
0016100    o   r   (   )  \r                                       e   n
0016120    d   c   a   s   e  \r                                       ]
0016140   \r                           R   e   p   o   r   t   R   e   s
0016160    u   l   t   (   E   F   T   P   S   e   n   d   F   i   l   e
0016200    (   t   e   m   p   f   i   l   e   ,       E   F   T   P   F
0016220    r   n   P   o   r   t   )   )  \r                           C
0016240    l   o   s   e   s   (   t   e   m   p   f   i   l   e   )  \r
0016260                            e   n   d   c   a   s   e  \r 376 001
0016300   \0 251   E                           ]  \r               c   a
0016320    s   e       $   f   :       c   a   s   e       $   F   :  \r
0016340                            [  \r                           t   e
0016360    m   p   f   i   l   e   =       E   v   a   l   P   a   r   a
0016400    m   (   c   l   i   B   o   d   y   ,       "   O   "   )  \r
0016420                            u   n   l   e   s   s       G   e   t
0016440    P   a   r   t   n   e   r   (   R   e   a   d   P   a   r   a
0016460    m   (   "   P   "   )   ,       d   s   p   ,       E   F   T
0016500    P   F   r   n   P   o   r   t   )       d   o  \r            
0016520                            [  \r                                
0016540        C   l   i   E   r   r   o   r   (   )  \r                
0016560                        e   n   d   c   a   s   e  \r            
0016600                            ]  \r                           R   e
0016620    p   o   r   t   R   e   s   u   l   t   (   E   F   T   P   R
0016640    e   c   e   i   v   e   F   i   l   e   (   t   e   m   p   f
0016660    i   l   e   ,       E   F   T   P   F   r   n   P   o   r   t
0016700    )   )  \r 376 001  \0 313 376                           C   l
0016720    o   s   e   s   (   t   e   m   p   f   i   l   e   )  \r    
0016740                        e   n   d   c   a   s   e  \r            
0016760                ]  \r               d   e   f   a   u   l   t   :
0017000   \r                           [  \r                           C
0017020    l   i   E   r   r   o   r   (   )  \r                        
0017040    e   n   d   c   a   s   e  \r                           ]  \r
0017060                ]   C   l   i   C   m   d  \r   f   i   n   i   s
0017100    h               /   /       w   e       d   o       n   o   t
0017120        h   a   n   g       a   r   o   u   n   d   .   .   .   .
0017140    .  \r   ]  \r  \r   /   /   -   -   -   -   -   -   -   -   -
0017160    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0017240    -   -   -   -   -   -   -   -  \r   a   n   d       C   l   i
0017260    E   r   r   o   r   (   )       b   e  \r   /   /   -   -   -
0017300    -   -   -   -   -   -   -   - 376 001  \0   = 253   -   -   -
0017320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0017400    -   -   -  \r   [  \r   W   l   (   "   T   a   k   e       c
0017420    a   r   e   ,       t   h   e       s   y   n   t   a   x    
0017440    f   o   r       c   o   m   m   a   n   d       l   i   n   e
0017460        s   h   o   u   l   d       b   e   :   "   )  \r   W   s
0017500    (   "   e   f   t   p       <   f   i   l   e   n   a   m   e
0017520    >       t   o   /   f   r   o   m       <   m   a   c   h   i
0017540    n   e       n   a   m   e       o   r       n   u   m   b   e
0017560    r   >   "   )  \r   ]  \r  \r   /   /   -   -   -   -   -   -
0017600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0017660    -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d    
0017700    E   F   T   P   K   b   d   (   )       b   e  \r 376 001  \0
0017720    D   f   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0017740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0020020    -   -   -   -   -  \r   [  \r   [   C   m   d   L   o   o   p
0020040   \r   l   e   t       a   b   o   r   t   C   m   d       =    
0020060    f   a   l   s   e  \r   M   s   g   (   "   G   e   t       c
0020100    o   m   m   a   n   d       f   r   o   m       k   b   d   "
0020120    )  \r   W   s   (   "   -   >   "   )  \r   l   e   t       c
0020140    m   d       =       G   e   t   K   e   y   s   (   )  \r   s
0020160    w   i   t   c   h   o   n       c   m   d       i   n   t   o
0020200   \r               [   C   o   m   m   a   n   d   B   l   o   c
0020220    k  \r               c   a   s   e       $   S   :       c   a
0020240    s   e       $   s   :  \r                           [  \r    
0020260                        W   s   (   "   S   e   n   d       f   i
0020300    l   e       -   -       n   a   m   e       o   r       n   u
0020320    m   b 376 001  \0 212 020   e   r       o   f       r   e   m
0020340    o   t   e       h   o   s   t   :       "   )  \r            
0020360                            [  \r                                
0020400        u   n   l   e   s   s       G   e   t   S   t   r   i   n
0020420    g   (   t   e   m   p   s   t   r   i   n   g   )       t   h
0020440    e   n      \r                                                
0020460    [  \r                                                   a   b
0020500    o   r   t   C   m   d       =       t   r   u   e  \r        
0020520                                            b   r   e   a   k  \r
0020540                                                    ]  \r        
0020560                                i   f       t   e   m   p   s   t
0020600    r   i   n   g   >   >   S   t   r   i   n   g   .   l   e   n
0020620    g   t   h       e   q       0       t   h   e   n       l   o
0020640    o   p  \r                                       i   f       G
0020660    e   t   P   a   r   t   n   e   r   (   t   e   m   p   s   t
0020700    r   i   n   g   ,       d   s   p   ,       E   F   T   P   F
0020720    r   n   P   o   r   t   , 376 001  \0 320 016  \r            
0020740                                0   ,       s   o   c   k   e   t
0020760    E   F   T   P   R   e   c   e   i   v   e   )       t   h   e
0021000    n       b   r   e   a   k  \r                                
0021020        W   s   (   "   .   .   .   t   r   y       a   g   a   i
0021040    n   :       "   )  \r                                       ]
0021060        r   e   p   e   a   t  \r                           i   f
0021100        a   b   o   r   t   C   m   d       t   h   e   n       l
0021120    o   o   p  \r                           W   s   (   "   l   o
0021140    c   a   l       f   i   l   e       n   a   m   e   :       "
0021160    )  \r                                       [  \r            
0021200                            u   n   l   e   s   s       G   e   t
0021220    S   t   r   i   n   g   (   t   e   m   p   s   t   r   i   n
0021240    g   )       t   h   e   n      \r                            
0021260                        [  \r                                    
0021300                a   b   o   r   t   C   m   d       =       t   r
0021320    u   e  \r                                     376 001  \0 373
0021340    g               b   r   e   a   k  \r                        
0021360                            ]  \r                                
0021400        t   e   m   p   f   i   l   e       =       O   p   e   n
0021420    F   i   l   e   (   t   e   m   p   s   t   r   i   n   g   ,
0021440        k   s   T   y   p   e   R   e   a   d   O   n   l   y   ,
0021460        c   h   a   r   I   t   e   m   )      \r                
0021500                        i   f       t   e   m   p   f   i   l   e
0021520        n   e       0       t   h   e   n       b   r   e   a   k
0021540   \r                                       W   s   (   "   F   i
0021560    l   e       "   )   ;       W   s   (   t   e   m   p   s   t
0021600    r   i   n   g   )  \r                                       W
0021620    s   (   "       d   o   e   s       n   o   t       e   x   i
0021640    s   t   ,       t   r   y       a   g   a   i   n   :       "
0021660    )  \r                                       ]       r   e   p
0021700    e   a   t  \r                           i   f       a   b   o
0021720    r   t   C   m   d       t   h   e   n       l   o   o   p  \r
0021740      376 001  \0 201 327                       R   e   p   o   r
0021760    t   R   e   s   u   l   t   (   E   F   T   P   S   e   n   d
0022000    F   i   l   e   (   t   e   m   p   f   i   l   e   ,       E
0022020    F   T   P   F   r   n   P   o   r   t   )   )  \r            
0022040                C   l   o   s   e   s   (   t   e   m   p   f   i
0022060    l   e   )  \r                           e   n   d   c   a   s
0022100    e  \r                           ]  \r               c   a   s
0022120    e       $   R   :       c   a   s   e       $   r   :  \r    
0022140                        [  \r                           W   s   (
0022160    "   R   e   c   e   i   v   e       a       f   i   l   e    
0022200    -   -       n   a   m   e       o   r       n   u   m   b   e
0022220    r       o   f       r   e   m   o   t   e       h   o   s   t
0022240    :       "   )  \r                                       [  \r
0022260                                        u   n   l   e   s   s    
0022300    G   e   t   S   t   r   i   n   g   (   t   e   m   p   s   t
0022320    r   i   n   g   )       t   h   e   n      \r                
0022340                          376 001  \0   p 351           [  \r    
0022360                                                a   b   o   r   t
0022400    C   m   d       =       t   r   u   e  \r                    
0022420                                b   r   e   a   k  \r            
0022440                                        ]  \r                    
0022460                    i   f       t   e   m   p   s   t   r   i   n
0022500    g   >   >   S   t   r   i   n   g   .   l   e   n   g   t   h
0022520        e   q       0       t   h   e   n       l   o   o   p  \r
0022540                                        i   f       G   e   t   P
0022560    a   r   t   n   e   r   (   t   e   m   p   s   t   r   i   n
0022600    g   ,       d   s   p   ,       E   F   T   P   F   r   n   P
0022620    o   r   t   )       t   h   e   n       b   r   e   a   k  \r
0022640                                        W   s   (   "   .   .   .
0022660    t   r   y       a   g   a   i   n   :       "   )  \r        
0022700                                ]       r   e   p   e   a   t  \r
0022720                            i   f       a   b   o   r   t   C   m
0022740    d       t   h   e   n       l   o   o   p 376 001  \0  \v   _
0022760   \r                                       [  \r                
0023000                        W   s   (   "   l   o   c   a   l       f
0023020    i   l   e       n   a   m   e   :       "   )  \r            
0023040                            u   n   l   e   s   s       G   e   t
0023060    S   t   r   i   n   g   (   t   e   m   p   s   t   r   i   n
0023100    g   )       t   h   e   n      \r                            
0023120                        [  \r                                    
0023140                a   b   o   r   t   C   m   d       =       t   r
0023160    u   e  \r                                                   b
0023200    r   e   a   k  \r                                            
0023220        ]  \r                                       t   e   m   p
0023240    f   i   l   e       =       O   p   e   n   F   i   l   e   (
0023260    t   e   m   p   s   t   r   i   n   g   ,       k   s   T   y
0023300    p   e   R   e   a   d   O   n   l   y   ,       c   h   a   r
0023320    I   t   e   m   )  \r                                       i
0023340    f       t   e   m   p   f   i   l   e       n   e       0    
0023360  376 001  \0   x 341   t   h   e   n  \r                        
0023400                            [  \r                                
0023420                    /   /   F   i   l   e       o   p   e   n   e
0023440    d   ,       i   t       a   l   r   e   a   d   y       e   x
0023460    i   s   t   s  \r                                            
0023500        C   l   o   s   e   s   (   t   e   m   p   f   i   l   e
0023520    )  \r                                                   u   n
0023540    l   e   s   s       C   o   n   f   i   r   m   (   "   F   i
0023560    l   e       e   x   i   s   t   s   ,       O   K       t   o
0023600        O   v   e   r   w   r   i   t   e   ?   "   )           l
0023620    o   o   p  \r                                                
0023640    ]      \r                                       /   /   N   o
0023660    w       o   p   e   n       a       n   e   w       f   i   l
0023700    e   ,       f   o   r       w   r   i   t   i   n   g  \r    
0023720                                    t   e   m   p   f   i   l   e
0023740        =       O   p   e   n   F   i   l   e   (   t   e   m   p
0023760    s   t   r   i   n 376 001  \0   7 247   g   ,       k   s   T
0024000    y   p   e   W   r   i   t   e   O   n   l   y   ,       c   h
0024020    a   r   I   t   e   m   )  \r                                
0024040        b   r   e   a   k  \r                                    
0024060    ]       r   e   p   e   a   t  \r                           i
0024100    f       a   b   o   r   t   C   m   d       t   h   e   n    
0024120    l   o   o   p  \r  \r                           R   e   p   o
0024140    r   t   R   e   s   u   l   t   (   E   F   T   P   R   e   c
0024160    e   i   v   e   F   i   l   e   (   t   e   m   p   f   i   l
0024200    e   ,       E   F   T   P   F   r   n   P   o   r   t   )   )
0024220   \r                           C   l   o   s   e   s   (   t   e
0024240    m   p   f   i   l   e   )  \r                           e   n
0024260    d   c   a   s   e  \r                           ]  \r        
0024300        c   a   s   e       #   1   5   :                        
0024320    /   /   C   R       i   s       a       n   o   -   o   p  \r
0024340                            [  \r                           W   l
0024360    (   "   "   )  \r                     376 001  \0 034   /    
0024400    e   n   d   c   a   s   e  \r                           ]  \r
0024420                c   a   s   e       $   Q   :       c   a   s   e
0024440        $   q   :  \r                           [  \r            
0024460                W   s   (   "   Q   u   i   t   .   .   .   "   )
0024500   \r                           i   f       C   o   n   f   i   r
0024520    m   (   "   C   o   n   f   i   r   m   ?   "   )       t   h
0024540    e   n       f   i   n   i   s   h  \r                        
0024560    e   n   d   c   a   s   e               /   /   p   r   o   g
0024600    r   a   m       t   e   r   m   i   n   a   t   e   s       h
0024620    e   r   e   !   !   !   !  \r                           ]  \r
0024640                c   a   s   e       $   ?   :      \r            
0024660                [  \r                           W   l   (   "   S
0024700    e   n   d   ,       R   e   c   e   i   v   e   ,       Q   u
0024720    i   t   .   .   .   "   )  \r                           e   n
0024740    d   c   a   s   e  \r                           ]  \r        
0024760        d   e   f   a   u   l   t   :  \r                     376
0025000  001  \0  \r 327       [  \r                           P   u   t
0025020    s   (   d   s   p   ,   c   m   d   )  \r                    
0025040        W   l   (   "       ?   ?   ?       S   e   n   d   ,    
0025060    R   e   c   e   i   v   e   ,       Q   u   i   t   .   .   .
0025100    "   )  \r                           e   n   d   c   a   s   e
0025120   \r                           ]  \r               ]   C   o   m
0025140    m   a   n   d   B   l   o   c   k  \r   B   l   o   c   k   (
0025160    )  \r   ]   C   m   d   L   o   o   p       r   e   p   e   a
0025200    t                                       /   /   w   i   l   l
0025220        r   u   n       u   n   t   i   l       a       q   u   i
0025240    t  \r   ]  \r  \r  \r   /   /   -   -   -   -   -   -   -   -
0025260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0025340    -   -   -   -   -   -   -   -   -  \r   a   n   d       R   e
0025360    p   o   r   t   R   e   s   u   l   t   (   b   o   o   l   e
0025400    a   n   )     376 001  \0   @   i   b   e  \r   /   /   -   -
0025420    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0025500    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0025520    [  \r   t   e   s   t       b   o   o   l   e   a   n  \r    
0025540            i   f   s   o       W   l   (   "   .   .   .   a   l
0025560    l       d   o   n   e   "   )  \r               i   f   n   o
0025600    t       W   l   (   "   .   .   .   f   i   l   e       t   r
0025620    a   n   s   f   e   r       f   a   i   l   e   d   "   )  \r
0025640    ]  \r  \r  \r   /   /   -   -   -   -   -   -   -   -   -   -
0025660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0025740    -   -   -   -   -   -   -  \r   a   n   d       G   e   t   K
0025760    e   y   s   (   )       =       v   a   l   o   f  \r   /   /
0026000    -   -   -   -   -   -   -   -   - 376 001  \0   & 224   -   -
0026020    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0026100    -   -   -   -   -   -  \r   [  \r   w   h   i   l   e       E
0026120    n   d   o   f   s   (   k   e   y   s   )       d   o       B
0026140    l   o   c   k   (   )  \r   r   e   s   u   l   t   i   s    
0026160    G   e   t   s   (   k   e   y   s   )  \r   ]  \r  \r  \r   /
0026200    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0026220    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0026300    -   -  \r   a   n   d       G   e   t   S   t   r   i   n   g
0026320    (   s   t   r   )       =       v   a   l   o   f  \r   /   /
0026340    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0026400    -   -   -   -   -   -   -   -   -   -   -   -   -   - 376 001
0026420   \0 376 370   -   -   -   -   -   -   -   -   -   -   -   -   -
0026440    -   -   -   -   -   -  \r   [  \r   /   /       C   a   l   l
0026460    e   r       m   u   s   t       p   r   o   v   i   d   e    
0026500    t   h   e       p   l   a   c   e       t   o       p   u   t
0026520        t   h   e       s   t   r   i   n   g  \r   /   /       R
0026540    e   t   u   r   n   s       f   a   l   s   e       i   f    
0026560    D   E   L       i   s       h   i   t   .           U   s   e
0026600    s       d   e   f   a   u   l   t       s   t   r   e   a   m
0026620    s       d   s   p       a   n   d       k   e   y   s  \r   l
0026640    e   t       d   e   l   e   t   i   n   g   F   l   a   g   ,
0026660        c   h   a   r       =       f   a   l   s   e   ,       0
0026700   \r   s   t   r   >   >   S   t   r   i   n   g   .   l   e   n
0026720    g   t   h       =       0  \r  \r               [   c   h   a
0026740    r   L   o   o   p  \r               i   f       s   t   r   >
0026760    >   S   t   r   i   n   g   .   l   e   n   g   t   h       e
0027000    q       2   5   5       t   h   e   n       r   e   s   u   l
0027020    t   i   s 376 001  \0  \0 347       t   r   u   e  \r        
0027040        c   h   a   r       =       G   e   t   K   e   y   s   (
0027060    )               /   /   t   h   i   s       w   i   l   l    
0027100    b   l   o   c   k       f   o   r       a       b   i   t  \r
0027120                s   w   i   t   c   h   o   n       c   h   a   r
0027140        i   n   t   o  \r                           [   C   h   a
0027160    r   B   l   o   c   k  \r                           c   a   s
0027200    e       #   1   5   :                           /   /   C   R
0027220   \r                                       [  \r                
0027240                        W   l   (   "   "   )  \r                
0027260                        r   e   s   u   l   t   i   s       t   r
0027300    u   e  \r                                       ]  \r        
0027320                    c   a   s   e       #   2   1   :            
0027340                /   /   ^   Q   ,       r   e   s   e   t       t
0027360    h   e       l   i   n   e  \r                                
0027400        [  \r                                       W   l   (   "
0027420        x   x   x   "   )  \r     376 001  \0 006   ~            
0027440                        d   e   l   e   t   i   n   g   F   l   a
0027460    g   =   f   a   l   s   e  \r                                
0027500        c   h   a   r   =   0  \r                                
0027520        s   t   r   >   >   S   t   r   i   n   g   .   l   e   n
0027540    g   t   h   =   0  \r                                       e
0027560    n   d   c   a   s   e  \r                                    
0027600    ]  \r                           c   a   s   e       #   1   0
0027620    :       c   a   s   e       #   1   :                        
0027640    /   /   B   S       o   r       ^   A  \r                    
0027660                    [  \r                                       i
0027700    f       s   t   r   >   >   S   t   r   i   n   g   .   l   e
0027720    n   g   t   h       e   q       0       t   h   e   n       e
0027740    n   d   c   a   s   e  \r                                    
0027760    u   n   l   e   s   s       d   e   l   e   t   i   n   g   F
0030000    l   a   g       t   h   e   n  \r                            
0030020                        [  \r                         376 001  \0
0030040  206 363                           d   e   l   e   t   i   n   g
0030060    F   l   a   g   =   t   r   u   e  \r                        
0030100                            W   s   (   "   [   "   )  \r        
0030120                                            ]  \r                
0030140                        P   u   t   s   (   d   s   p   ,   s   t
0030160    r   >   >   S   t   r   i   n   g   .   c   h   a   r   ^   (
0030200    s   t   r   >   >   S   t   r   i   n   g   .   l   e   n   g
0030220    t   h   )   )  \r                                       s   t
0030240    r   >   >   S   t   r   i   n   g   .   l   e   n   g   t   h
0030260        =       s   t   r   >   >   S   t   r   i   n   g   .   l
0030300    e   n   g   t   h       -       1  \r                        
0030320                e   n   d   c   a   s   e  \r                    
0030340                    ]  \r                           c   a   s   e
0030360        #   2   2   :                           /   /   ^   R   ,
0030400        r   e   t   y   p   e       t   h   e       l   i   n   e
0030420   \r                                       [  \r                
0030440          376 001  \0 352 262               W   l   (   "   "   )
0030460    ;       W   s   (   s   t   r   )   ;       d   e   l   e   t
0030500    i   n   g   F   l   a   g   =   f   a   l   s   e  \r        
0030520                                e   n   d   c   a   s   e  \r    
0030540                                    ]  \r                        
0030560    c   a   s   e       #   1   7   7   :               /   /   D
0030600    E   L   ,   d   e   l   e   t   e       t   h   e       l   i
0030620    n   e       a   n   d       r   e   t   u   r   n       f   a
0030640    l   s   e  \r                                       [  \r    
0030660                                    W   l   (   "       X   X   X
0030700    "   )  \r                                       r   e   s   u
0030720    l   t   i   s       f   a   l   s   e  \r                    
0030740                    ]  \r                           d   e   f   a
0030760    u   l   t   :                          \r                    
0031000                    [  \r                                       i
0031020    f       d   e   l   e   t   i   n   g   F   l   a   g       t
0031040    h   e   n  \r             376 001  \0 027 330                
0031060                        [  \r                                    
0031100                d   e   l   e   t   i   n   g   F   l   a   g   =
0031120    f   a   l   s   e  \r                                        
0031140            W   s   (   "   ]   "   )  \r                        
0031160                            ]  \r                                
0031200        s   t   r   >   >   S   t   r   i   n   g   .   l   e   n
0031220    g   t   h       =       s   t   r   >   >   S   t   r   i   n
0031240    g   .   l   e   n   g   t   h       +       1  \r            
0031260                            s   t   r   >   >   S   t   r   i   n
0031300    g   .   c   h   a   r   ^   (   s   t   r   >   >   S   t   r
0031320    i   n   g   .   l   e   n   g   t   h   )       =       c   h
0031340    a   r  \r                                       P   u   t   s
0031360    (   d   s   p   ,       c   h   a   r   )  \r                
0031400                        ]  \r                           ]   C   h
0031420    a   r   B   l   o   c   k  \r               ]   c   h   a   r
0031440    L   o   o   p           r   e   p   e   a   t 376 001  \0 026
0031460  316  \r  \r   ]  \r  \r  \r   /   /   -   -   -   -   -   -   -
0031500    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0031560    -   -   -   -   -   -   -   -   -   -  \r   a   n   d       C
0031600    o   n   f   i   r   m   (   c   o   n   f   i   r   m   S   t
0031620    r   i   n   g   )       =       v   a   l   o   f  \r   /   /
0031640    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0031740    -  \r   [  \r   /   /       A       g   e   n   e   r   a   l
0031760        g   u   y   ,       f   o   r       c   o   n   f   i   r
0032000    m   i   n   g       s   o   m   e       a   c   t   i   o   n
0032020   \r   P   u   t   s   (   d   s   p   ,   $   [   )   ;       W
0032040    s   (   c   o   n   f   i   r   m   S   t   r   i   n   g   )
0032060    ; 376  \0 330   ( 257       P   u   t   s   (   d   s   p   ,
0032100    $   ]   )  \r   s   w   i   t   c   h   o   n       G   e   t
0032120    K   e   y   s   (   )       i   n   t   o  \r               [
0032140   \r               c   a   s   e       $   y   :       c   a   s
0032160    e       $   Y   :       c   a   s   e       $   *   N   :  \r
0032200                            [       W   l   (   "       Y   e   s
0032220    .   "   )   ;       r   e   s   u   l   t   i   s       t   r
0032240    u   e       ]  \r               c   a   s   e       $   n   :
0032260        c   a   s   e       $   N   :       c   a   s   e       $
0032300    *   1   7   7   :  \r                           [       W   l
0032320    (   "       N   o   .   "   )   ;       r   e   s   u   l   t
0032340    i   s       f   a   l   s   e       ]  \r               d   e
0032360    f   a   u   l   t   :       W   l   (   "       ?   "   )  \r
0032400                ]       r   e   p   e   a   t  \r   ]  \r 377  \0
0032420   \0   E   F   T   P   F   i   l   e   .   b   c   p   l  \0 373
0032440  223 361 363 350  \0  \0 376 001  \0   c   H   /   /       E   F
0032460    T   P   F   i   l   e   .   b   c   p   l  \r   /   /       J
0032500    u   n   e       1   7   ,       1   9   7   6           1   0
0032520    :   5   7       P   M           b   k   ,       j   f   s  \r
0032540    /   /       l   a   s   t       m   o   d   i   f   i   e   d
0032560        o   n       J   u   n   e       3   ,       1   9   7   9
0032600            1   1   :   4   7       A   M       b   y       T   a
0032620    f   t  \r   /   /       C   o   p   y   r   i   g   h   t    
0032640    X   e   r   o   x       C   o   r   p   o   r   a   t   i   o
0032660    n       1   9   7   9  \r  \r   g   e   t       "   P   u   p
0032700    E   F   T   P   .   d   e   c   l   "           /   /       t
0032720    h   a   t       w   i   l   l       a   l   s   o       g   e
0032740    t       p   u   p   -   r   e   l   a   t   e   d       s   t
0032760    u   f   f  \r  \r   e   x   t   e   r   n   a   l  \r   [  \r
0033000    /   /   i   n   c   o   m   i   n   g       p   r   o   c   e
0033020    d   u   r   e   s  \r   I   n   i   t   E   F   T   P   P   a
0033040    c   k   a   g   e   ;       O   p   e   n 376 001  \0 342 023
0033060    E   F   T   P   S   o   c   ;       C   l   o   s   e   E   F
0033100    T   P   S   o   c  \r   R   e   c   e   i   v   e   E   F   T
0033120    P   B   l   o   c   k   ;       S   e   n   d   E   F   T   P
0033140    B   l   o   c   k   ;       S   e   n   d   E   F   T   P   E
0033160    n   d   ;       G   e   t   E   F   T   P   A   b   o   r   t
0033200   \r   E   n   d   o   f   s   ;       R   e   a   d   B   l   o
0033220    c   k   ;       W   r   i   t   e   B   l   o   c   k   ;    
0033240    P   u   t   s   ;       F   i   l   e   P   o   s  \r   W   s
0033260    ;       W   o   ;       W   n   s   ;       W   l   ;       Z
0033300    e   r   o  \r  \r   /   /       i   n   c   o   m   i   n   g
0033320        s   t   a   t   i   c   s   ,       f   o   r       c   o
0033340    m   m   o   n       u   s   e   ,       s   p   a   c   e    
0033360    a   l   l   o   c   a   t   e   d       e   l   s   e   w   h
0033400    e   r   e  \r   E   F   T   P   L   c   l   P   o   r   t   ;
0033420        E   F   T   P   F   r   n   P   o   r   t   ;       E   F
0033440    T   P   S   o   c   k   e   t   ;       d   s   p  \r  \r   /
0033460  376 001  \0 332   R   /   o   u   t   g   o   i   n   g       p
0033500    r   o   c   e   d   u   r   e   s  \r   E   F   T   P   S   e
0033520    n   d   F   i   l   e   ;       E   F   T   P   R   e   c   e
0033540    i   v   e   F   i   l   e  \r   ]  \r  \r   s   t   a   t   i
0033560    c  \r   [  \r   /   /       f   o   r       u   s   e       i
0033600    n       t   h   i   s       p   r   o   g   r   a   m   ,    
0033620    a   l   l   o   c   a   t   e   d       i   n       t   h   i
0033640    s       m   o   d   u   l   e  \r   b   y   t   e   c   o   u
0033660    n   t   ;       t   o   t   a   l   b   y   t   e   c   o   u
0033700    n   t  \r   p   a   c   k   e   t   c   o   u   n   t   ;    
0033720    b   l   o   c   k   c   o   u   n   t  \r   ]  \r  \r   /   /
0033740        T   h   e   s   e       r   o   u   t   i   n   e   s    
0033760    w   i   l   l       b   e       c   a   l   l   e   d       f
0034000    r   o   m       t   h   e       F   r   o   n   t   E   n   d
0034020    ,       a   n   d       m   a   y       b   e  \r   /   /    
0034040    c   a   l   l   e   d       m   o   r   e       t   h   a   n
0034060        o   n   c   e 376 001  \0   U   *       i   n       t   h
0034100    e       l   i   f   e       o   f       a       p   r   o   g
0034120    r   a   m  \r  \r   /   /   -   -   -   -   -   -   -   -   -
0034140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0034220    -   -   -   -   -   -   -   -  \r   l   e   t       E   F   T
0034240    P   S   e   n   d   F   i   l   e   (   d   i   s   k   s   t
0034260    r   e   a   m   ,       f   o   r   e   i   g   n   p   o   r
0034300    t   )       =       v   a   l   o   f  \r   /   /   -   -   -
0034320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0034400    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   [
0034420   \r   O   p   e   n   E   F   T   P   S   o   c   (   E   F   T
0034440    P   S   o   c   k   e   t   ,       0   ,       f   o   r   e
0034460    i   g   n   p   o   r   t   )  \r   p 376 001  \0 034   2   a
0034500    c   k   e   t   c   o   u   n   t       =       0  \r   t   o
0034520    t   a   l   b   y   t   e   c   o   u   n   t       =       0
0034540   \r  \r   l   e   t       m   a   x   B   u   f   f   e   r   B
0034560    y   t   e   s       =       2   *   2   5   6   *   6        
0034600        /   /   e   n   o   u   g   h       t   o       b   u   f
0034620    f   e   r       6       d   i   s   k       p   a   g   e   s
0034640   \r   l   e   t       t   e   m   p   v   e   c       =       v
0034660    e   c       2   5   6   *   6                           /   /
0034700    i   n       w   o   r   d   s  \r   l   e   t       b   y   t
0034720    e   s   L   e   f   t   I   n   B   u   f   f   e   r       =
0034740        0  \r   l   e   t       n   e   x   t   A   d   d   r    
0034760    =       t   e   m   p   v   e   c  \r  \r   l   e   t       r
0035000    e   s   u   l   t       =       n   i   l  \r  \r   /   /    
0035020    A       l   o   o   p   ,       t   o       r   e   a   d    
0035040    p   a   g   e   s       a   n   d       s   e   n   d       o
0035060    f   f       b   l   o   c   k   s  \r               [   S 376
0035100  001  \0 253 306   e   n   d   l   o   o   p  \r               /
0035120    /   S   e   e       i   f       w   e       n   e   e   d    
0035140    m   o   r   e       i   n   p   u   t  \r               i   f
0035160        b   y   t   e   s   L   e   f   t   I   n   B   u   f   f
0035200    e   r       e   q       0       t   h   e   n      \r        
0035220                    [  \r                           /   /   S   e
0035240    e       i   f           t   i   m   e       t   o       q   u
0035260    i   t  \r                           i   f           E   n   d
0035300    o   f   s   (   d   i   s   k   s   t   r   e   a   m   )    
0035320    t   h   e   n       b   r   e   a   k  \r                    
0035340        b   y   t   e   s   L   e   f   t   I   n   B   u   f   f
0035360    e   r       =  \r                           F   i   l   l   F
0035400    r   o   m   D   i   s   k   (   d   i   s   k   s   t   r   e
0035420    a   m   ,       t   e   m   p   v   e   c   ,       m   a   x
0035440    B   u   f   f   e   r   B   y   t   e   s   )  \r            
0035460                t   o   t   a   l   b   y   t   e   c   o   u   n
0035500    t       =     376 001  \0   7 022   t   o   t   a   l   b   y
0035520    t   e   c   o   u   n   t       +       b   y   t   e   s   L
0035540    e   f   t   I   n   B   u   f   f   e   r  \r                
0035560            n   e   x   t   A   d   d   r       =       t   e   m
0035600    p   v   e   c               /   /   r   e   s   e   t       a
0035620    d   d   r   e   s   s       p   o   i   n   t   e   r  \r    
0035640                        ]  \r               /   /   d   a   t   a
0035660        r   e   m   a   i   n   s       t   o       b   e       s
0035700    e   n   t   ,       a   t       n   e   x   t   A   d   d   r
0035720   \r               p   a   c   k   e   t   c   o   u   n   t    
0035740    =       p   a   c   k   e   t   c   o   u   n   t       +    
0035760    1  \r               t   e   s   t       b   y   t   e   s   L
0036000    e   f   t   I   n   B   u   f   f   e   r       l   s       5
0036020    1   2  \r               i   f   s   o       b   y   t   e   c
0036040    o   u   n   t       =       b   y   t   e   s   L   e   f   t
0036060    I   n   B   u   f   f   e   r  \r               i   f   n   o
0036100    t       b   y   t   e   c   o   u 376 001  \0   q   }   n   t
0036120        =       5   1   2  \r  \r               [   d   u   m   m
0036140    y   L   o   o   p  \r               r   e   s   u   l   t    
0036160    =      \r                           S   e   n   d   E   F   T
0036200    P   B   l   o   c   k   (   E   F   T   P   S   o   c   k   e
0036220    t   ,       n   e   x   t   A   d   d   r   ,       b   y   t
0036240    e   c   o   u   n   t   ,       l   o   n   g   B   l   o   c
0036260    k   T   i   m   e   o   u   t   )  \r               i   f    
0036300    r   e   s   u   l   t       e   q       E   F   T   P   T   i
0036320    m   e   o   u   t       &      \r                            
0036340            E   F   T   P   S   o   c   k   e   t   >   >   E   F
0036360    T   P   S   o   c   .   T   r   a   n   s   f   e   r   N   o
0036400    t   S   t   a   r   t   e   d       t   h   e   n  \r        
0036420                                [  \r                            
0036440            W   l   (   "   N   o       a   n   s   w   e   r    
0036460    y   e   t   ,       w   i   l   l       k   e   e   p       t
0036500    r   y   i   n   g   .   .   .   "   )  \r             376 001
0036520   \0 360   m                           l   o   o   p  \r        
0036540                                ]  \r               b   r   e   a
0036560    k  \r               ]   d   u   m   m   y   L   o   o   p    
0036600    r   e   p   e   a   t  \r  \r               /   /   S   o   m
0036620    e   t   h   i   n   g       h   a   p   p   e   n   e   d   .
0036640    .   .  \r               i   f       r   e   s   u   l   t    
0036660    g   e       0       t   h   e   n      \r                    
0036700        [  \r                           b   y   t   e   s   L   e
0036720    f   t   I   n   B   u   f   f   e   r       =       b   y   t
0036740    e   s   L   e   f   t   I   n   B   u   f   f   e   r       -
0036760        b   y   t   e   c   o   u   n   t  \r                    
0037000        n   e   x   t   A   d   d   r       =       n   e   x   t
0037020    A   d   d   r       +       b   y   t   e   c   o   u   n   t
0037040    /   2  \r                           l   o   o   p            
0037060    /   /   i   t       w   e   n   t       p   r   o   p   e   r
0037100    l   y  \r                           ]  \r  \r               /
0037120    /   I   f 376 001  \0 306 343       w   e       g   e   t    
0037140    h   e   r   e   ,       h   a   d       a       r   e   a   l
0037160        f   a   i   l   u   r   e   .   .   .   .  \r            
0037200    s   w   i   t   c   h   o   n       r   e   s   u   l   t    
0037220    i   n   t   o  \r                           [   r   e   s   u
0037240    l   t   C   a   s   e  \r                           c   a   s
0037260    e       E   F   T   P   T   i   m   e   o   u   t   :  \r    
0037300                                    [  \r                        
0037320                W   s   (   "   E   F   T   P   S   e   n   d    
0037340    t   i   m   e   d       o   u   t       w   h   i   l   e    
0037360    s   e   n   d   i   n   g   .   .   .   .   "   )  \r        
0037400                                e   n   d   c   a   s   e  \r    
0037420                                    ]  \r                        
0037440    c   a   s   e       E   F   T   P   A   b   o   r   t   S   e
0037460    n   t   :  \r                                       [  \r    
0037500                                    W   s   (   "   E   F   T   P
0037520    A   b   o   r   t       h   a 376 001  \0 217 223   d       t
0037540    o       b   e       s   e   n   t   .   .   .   .   "   )  \r
0037560                                        e   n   d   c   a   s   e
0037600   \r                                       ]  \r                
0037620            c   a   s   e       E   F   T   P   A   b   o   r   t
0037640    R   e   c   e   i   v   e   d   :  \r                        
0037660                [  \r                                       W   s
0037700    (   "   E   F   T   P   A   b   o   r   t       r   e   c   e
0037720    i   v   e   d       w   h   i   l   e       s   e   n   d   i
0037740    n   g   .   .   .   .   "   )  \r                            
0037760            l   e   t       t   e   m   p   p   b   i       =    
0040000    G   e   t   E   F   T   P   A   b   o   r   t   (   E   F   T
0040020    P   S   o   c   k   e   t   )  \r                            
0040040            P   r   i   n   t   A   b   o   r   t   P   B   I   (
0040060    t   e   m   p   p   b   i   )  \r                            
0040100            e   n   d   c   a   s   e  \r                        
0040120                ]  \r                           d   e 376 001  \0
0040140    i 304   f   a   u   l   t   :  \r                            
0040160            [  \r                                       W   s   (
0040200    "   U   n   k   n   o   w   n       e   r   r   o   r       f
0040220    r   o   m       E   F   T   P   S   e   n   d   .   .   .   .
0040240    "   )  \r                                       ]  \r        
0040260                    ]   r   e   s   u   l   t   C   a   s   e  \r
0040300                C   l   o   s   e   E   F   T   P   S   o   c   (
0040320    E   F   T   P   S   o   c   k   e   t   )  \r               r
0040340    e   s   u   l   t   i   s       f   a   l   s   e            
0040360    /   /   b   a   i   l       o   u   t  \r               ]   S
0040400    e   n   d   l   o   o   p       r   e   p   e   a   t        
0040420        /   /   k   e   e   p       g   o   i   n   g   ,       t
0040440    i   l       y   o   u       b   r   e   a   k       o   u   t
0040460   \r  \r   /   /       A   l   l       o   f       t   h   e    
0040500    d   a   t   a       h   a   s       b   e   e   n       s   e
0040520    n   t   ;       n   o   w       d   o       a   n       e   n
0040540    d     376 001  \0 367   R   s   e   q   u   e   n   c   e  \r
0040560    r   e   s   u   l   t       =       S   e   n   d   E   F   T
0040600    P   E   n   d   (   E   F   T   P   S   o   c   k   e   t   ,
0040620        l   o   n   g   B   l   o   c   k   T   i   m   e   o   u
0040640    t   )  \r   C   l   o   s   e   E   F   T   P   S   o   c   (
0040660    E   F   T   P   S   o   c   k   e   t   )  \r   t   e   s   t
0040700        r   e   s   u   l   t  \r               i   f   s   o    
0040720    [       W   n   s   (   d   s   p   ,       t   o   t   a   l
0040740    b   y   t   e   c   o   u   n   t   ,       0   ,       1   0
0040760    )   ;       W   s   (   "       b   y   t   e   s       s   e
0041000    n   t   .           "   )       ]  \r               i   f   n
0041020    o   t       W   s   (   "   S   e   n   d   E   n   d       s
0041040    e   q   u   e   n   c   e       f   a   i   l   e   d   .   .
0041060    .   .   .   "   )  \r   r   e   s   u   l   t   i   s       r
0041100    e   s   u   l   t  \r   ]  \r  \r  \r   /   /   -   -   -   -
0041120    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0041140    -   -   -   -   -   -   - 376 001  \0 032 277   -   -   -   -
0041160    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0041220   \r   a   n   d       F   i   l   l   F   r   o   m   D   i   s
0041240    k   (   d   i   s   k   s   t   r   e   a   m   ,       a   d
0041260    d   r   ,       m   a   x   b   y   t   e   s   )       =    
0041300    v   a   l   o   f  \r   /   /   -   -   -   -   -   -   -   -
0041320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0041400    -   -   -   -   -   -   -  \r   [  \r   /   /   R   e   t   u
0041420    r   n   s       t   h   e       n   u   m   b   e   r       o
0041440    f       b   y   t   e   s       r   e   a   d       i   n   t
0041460    o       t   h   e       b   u   f   f   e   r  \r   /   /    
0041500    W   a   t   c   h       o   u   t   ,       R   e   a   d   b
0041520    l   o   c   k       r   e   t   u   r   n   s       a       w
0041540    o   r   d       c   o   u   n   t  \r   l   e 376 001  \0   z
0041560  234   t       b   y   t   e   c   o   u   n   t       =  \r    
0041600    R   e   a   d   B   l   o   c   k   (   d   i   s   k   s   t
0041620    r   e   a   m   ,       a   d   d   r   ,       m   a   x   b
0041640    y   t   e   s       r   s   h   i   f   t       1   )       l
0041660    s   h   i   f   t       1      \r   i   f       b   y   t   e
0041700    c   o   u   n   t       e   q       0       t   h   e   n    
0041720    r   e   s   u   l   t   i   s       0       /   /       h   i
0041740    t       e   o   f   ,       q   u   i   t       e   a   r   l
0041760    y  \r   i   f       b   y   t   e   c   o   u   n   t       <
0042000        m   a   x   b   y   t   e   s       t   h   e   n  \r    
0042020            [  \r               /   /       g   o   t       t   h
0042040    e       l   a   s   t       p   a   g   e   ;       w   e    
0042060    h   a   v   e       t   o       d   o       s   o   m   e    
0042100    h   a   c   k   i   n   g       h   e   r   e  \r            
0042120    l   e   t       f   i   l   e   p   o   s       =       v   e
0042140    c       1  \r               F   i   l   e   P   o   s   (   d
0042160    i 376 001  \0 356 244   s   k   s   t   r   e   a   m   ,    
0042200    f   i   l   e   p   o   s   )  \r               /   /   s   e
0042220    e       i   f       t   h   e       f   i   l   e   s       t
0042240    o   t   a   l       b   y   t   e       c   o   u   n   t    
0042260    i   s       o   d   d  \r               i   f       (   (   f
0042300    i   l   e   p   o   s   !   1   )       &       1   )       e
0042320    q       1       t   h   e   n       b   y   t   e   c   o   u
0042340    n   t   =   b   y   t   e   c   o   u   n   t   -   1  \r    
0042360            ]  \r   r   e   s   u   l   t   i   s       b   y   t
0042400    e   c   o   u   n   t  \r   ]  \r  \r   /   /   -   -   -   -
0042420    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0042500    -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d    
0042520    D   u   m   p   T   o   D   i   s   k   (   d   i   s   k   s
0042540    t   r   e   a   m   ,       a   d   d   r   ,       b   y   t
0042560    e   c   o   u   n   t 376 001  \0 234 246   )       =       v
0042600    a   l   o   f  \r   /   /   -   -   -   -   -   -   -   -   -
0042620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0042700    -   -   -   -   -   -  \r   [  \r   /   /       W   a   t   c
0042720    h       o   u   t       f   o   r       a   n       o   d   d
0042740        b   y   t   e   c   o   u   n   t  \r   W   r   i   t   e
0042760    B   l   o   c   k   (   d   i   s   k   s   t   r   e   a   m
0043000    ,       a   d   d   r   ,       b   y   t   e   c   o   u   n
0043020    t       r   s   h   i   f   t       1   )  \r   /   /       M
0043040    a   y       h   a   v   e       f   a   i   l   e   d       t
0043060    o       w   r   i   t   e       o   n   e       b   y   t   e
0043100   \r   i   f       (   b   y   t   e   c   o   u   n   t       &
0043120        1   )       e   q       1       t   h   e   n       P   u
0043140    t   s   (   d   i   s   k   s   t   r   e   a   m   ,       a
0043160    d   d   r   >   >   B   y   t   e   ^   b 376 001  \0   Y   ;
0043200    y   t   e   c   o   u   n   t   )  \r   ]  \r  \r  \r   /   /
0043220    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0043300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0043320    a   n   d       E   F   T   P   R   e   c   e   i   v   e   F
0043340    i   l   e   (   d   i   s   k   s   t   r   e   a   m   ,    
0043360    f   o   r   e   i   g   n   p   o   r   t   )       =       v
0043400    a   l   o   f  \r   /   /   -   -   -   -   -   -   -   -   -
0043420    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0043500    -   -   -   -   -   -  \r  \r   [  \r   /   /   u   s   e    
0043520    E   F   T   P   L   c   l   P   o   r   t   ,       a   l   l
0043540    o   c   a   t   e   d       e   l   s   e   w   h   e   r   e
0043560   \r   Z   e   r   o   (   E   F   T   P   L   c   l   P   o   r
0043600  376 001  \0   [ 225   t   ,       l   e   n   P   o   r   t   )
0043620   \r   E   F   T   P   L   c   l   P   o   r   t   >   >   P   o
0043640    r   t   .   s   o   c   k   e   t   ^   2       =       s   o
0043660    c   k   e   t   E   F   T   P   R   e   c   e   i   v   e  \r
0043700   \r   O   p   e   n   E   F   T   P   S   o   c   (   E   F   T
0043720    P   S   o   c   k   e   t   ,       E   F   T   P   L   c   l
0043740    P   o   r   t   ,       f   o   r   e   i   g   n   p   o   r
0043760    t   )  \r   p   a   c   k   e   t   c   o   u   n   t       =
0044000        0  \r   t   o   t   a   l   b   y   t   e   c   o   u   n
0044020    t       =       0  \r  \r   l   e   t       m   a   x   B   u
0044040    f   f   e   r   B   y   t   e   s       =       2   *   2   5
0044060    6   *   6               /   /   6       d   i   s   k       p
0044100    a   g   e   s  \r   l   e   t       t   e   m   p   v   e   c
0044120        =       v   e   c       2   5   6   *   6               /
0044140    /   i   n       w   o   r   d   s  \r   l   e   t       b   y
0044160    t   e   s   L   e   f   t   I   n   B   u   f   f   e   r    
0044200    =       0  \r   l 376 001  \0   z   )   e   t       n   e   x
0044220    t   A   d   d   r       =       t   e   m   p   v   e   c  \r
0044240   \r   /   /       a       l   o   o   p       t   o       g   e
0044260    t       b   l   o   c   k   s   ,       a   n   d       w   r
0044300    i   t   e       t   o       t   h   e       d   i   s   k  \r
0044320                [   R   e   c   e   i   v   e   l   o   o   p  \r
0044340                /   /   M   a   k   e       s   u   r   e       t
0044360    h   e   r   e       i   s       e   n   o   u   g   h       f
0044400    r   e   e       s   p   a   c   e  \r               i   f    
0044420    m   a   x   B   u   f   f   e   r   B   y   t   e   s   -   b
0044440    y   t   e   s   L   e   f   t   I   n   B   u   f   f   e   r
0044460        l   s       5   1   2       t   h   e   n  \r            
0044500                [  \r                           t   o   t   a   l
0044520    b   y   t   e   c   o   u   n   t       =       t   o   t   a
0044540    l   b   y   t   e   c   o   u   n   t       +       b   y   t
0044560    e   s   L   e   f   t   I   n   B   u   f   f   e   r  \r    
0044600                        D   u   m   p   T 376 001  \0 025  \n   o
0044620    D   i   s   k   (   d   i   s   k   s   t   r   e   a   m   ,
0044640        t   e   m   p   v   e   c   ,       b   y   t   e   s   L
0044660    e   f   t   I   n   B   u   f   f   e   r   )  \r            
0044700                n   e   x   t   A   d   d   r       =       t   e
0044720    m   p   v   e   c  \r                           b   y   t   e
0044740    s   L   e   f   t   I   n   B   u   f   f   e   r       =    
0044760    0  \r                           ]  \r               l   e   t
0045000        b   y   t   e   c   o   u   n   t   =  \r                
0045020            R   e   c   e   i   v   e   E   F   T   P   B   l   o
0045040    c   k   (   E   F   T   P   S   o   c   k   e   t   ,       n
0045060    e   x   t   A   d   d   r   ,       l   o   n   g   B   l   o
0045100    c   k   T   i   m   e   o   u   t   )  \r               i   f
0045120        b   y   t   e   c   o   u   n   t       e   q       0    
0045140    t   h   e   n      \r                           [  \r        
0045160                    /   /   R   e   c   e   i   v   e   d       a
0045200    n       E   n   d   .   .   .   .  \r                     376
0045220  001  \0 262 234       i   f       b   y   t   e   s   L   e   f
0045240    t   I   n   B   u   f   f   e   r       g   r       0       t
0045260    h   e   n  \r                                       D   u   m
0045300    p   T   o   D   i   s   k   (   d   i   s   k   s   t   r   e
0045320    a   m   ,       t   e   m   p   v   e   c   ,       b   y   t
0045340    e   s   L   e   f   t   I   n   B   u   f   f   e   r   )  \r
0045360                            t   o   t   a   l   b   y   t   e   c
0045400    o   u   n   t       =       t   o   t   a   l   b   y   t   e
0045420    c   o   u   n   t       +       b   y   t   e   s   L   e   f
0045440    t   I   n   B   u   f   f   e   r  \r                        
0045460    b   r   e   a   k           /   /       e   n   d       h   a
0045500    s       b   e   e   n       p   r   o   p   e   r   l   y    
0045520    r   e   c   e   i   v   e   d  \r                           ]
0045540   \r               i   f       b   y   t   e   c   o   u   n   t
0045560        g   r       0       t   h   e   n  \r                    
0045600        [  \r                           /   /       o   d   d    
0045620    b   y   t   e 376 001  \0 270   n   c   o   u   n   t   s    
0045640    a   r   e       n   o   t       l   e   g   a   l   ,       e
0045660    x   c   e   p   t       i   n       t   h   e       l   a   s
0045700    t       p   a   c   k   e   t  \r                           b
0045720    y   t   e   s   L   e   f   t   I   n   B   u   f   f   e   r
0045740        =       b   y   t   e   s   L   e   f   t   I   n   B   u
0045760    f   f   e   r       +       b   y   t   e   c   o   u   n   t
0046000   \r                           n   e   x   t   A   d   d   r    
0046020    =       n   e   x   t   A   d   d   r       +       b   y   t
0046040    e   c   o   u   n   t       r   s   h   i   f   t       1  \r
0046060                            p   a   c   k   e   t   c   o   u   n
0046100    t       =       p   a   c   k   e   t   c   o   u   n   t    
0046120    +       1  \r                           l   o   o   p  \r    
0046140                        ]  \r  \r               /   /   S   o   m
0046160    e       f   o   r   m       o   f       e   r   r   o   r    
0046200    r   e   t   u   r   n   ,       f   i   g   u   r   e       i
0046220    t       o   u   t       h   e   r 376 001  \0   t 264   e    
0046240    a   n   d       p   u   n   t  \r               s   w   i   t
0046260    c   h   o   n       b   y   t   e   c   o   u   n   t       i
0046300    n   t   o  \r                           [   R   e   c   e   i
0046320    v   e   C   a   s   e   B   l   o   c   k  \r                
0046340            c   a   s   e       E   F   T   P   T   i   m   e   o
0046360    u   t   :  \r                                       [  \r    
0046400                                    i   f       E   F   T   P   S
0046420    o   c   k   e   t   >   >   E   F   T   P   S   o   c   .   T
0046440    r   a   n   s   f   e   r   N   o   t   S   t   a   r   t   e
0046460    d       t   h   e   n      \r                                
0046500                    [  \r                                        
0046520            W   l   (   "   N   o   t   h   i   n   g       r   e
0046540    c   e   i   v   e   d       y   e   t   ,       w   i   l   l
0046560        k   e   e   p       l   i   s   t   e   n   i   n   g   .
0046600    .   .   "   )  \r                                            
0046620        l   o   o   p  \r                                 376 001
0046640   \0   g 003                   ]  \r                            
0046660            W   s   (   "   R   e   c   e   i   v   e   r       t
0046700    i   m   e   d       o   u   t   .   .   .   .   "   )  \r    
0046720                                    e   n   d   c   a   s   e  \r
0046740                                        ]  \r                    
0046760        c   a   s   e       E   F   T   P   A   b   o   r   t   S
0047000    e   n   t   :  \r                                       [  \r
0047020                                        W   s   (   "   A   b   o
0047040    r   t       h   a   d       t   o       b   e       s   e   n
0047060    t       f   r   o   m       r   e   c   e   i   v   e   r   .
0047100    .   .   .   "   )  \r                                       e
0047120    n   d   c   a   s   e  \r                                    
0047140    ]  \r                           c   a   s   e       E   F   T
0047160    P   A   b   o   r   t   R   e   c   e   i   v   e   d   :  \r
0047200                                        [  \r                    
0047220                    W   s   (   "   E   F   T   P   A   b   o   r
0047240    t       r 376 001  \0 314   S   e   c   e   i   v   e   d    
0047260    w   h   i   l   e       r   e   c   e   i   v   i   n   g   .
0047300    .   .   .   "   )  \r                                       l
0047320    e   t       t   e   m   p   p   b   i       =       G   e   t
0047340    E   F   T   P   A   b   o   r   t   (   E   F   T   P   S   o
0047360    c   k   e   t   )  \r                                       P
0047400    r   i   n   t   A   b   o   r   t   P   B   I   (   t   e   m
0047420    p   p   b   i   )  \r                                       e
0047440    n   d   c   a   s   e  \r                                    
0047460    ]  \r                           c   a   s   e       E   F   T
0047500    P   R   e   s   e   t   R   e   c   e   i   v   e   d   :  \r
0047520                                        [  \r                    
0047540                    W   s   (   "   A   s   k   e   d       t   o
0047560        r   e   s   e   t   .   .   .   .   [   N   o   t       i
0047600    m   p   l   e   m   e   n   t   e   d       h   e   r   e   ]
0047620    "   )  \r                                       e   n   d   c
0047640    a   s   e  \r                 376 001  \0   _   V            
0047660            ]  \r                           ]   R   e   c   e   i
0047700    v   e   C   a   s   e   B   l   o   c   k  \r               C
0047720    l   o   s   e   E   F   T   P   S   o   c   (   E   F   T   P
0047740    S   o   c   k   e   t   )  \r               r   e   s   u   l
0047760    t   i   s       f   a   l   s   e  \r               ]   R   e
0050000    c   e   i   v   e   l   o   o   p       r   e   p   e   a   t
0050020   \r  \r   /   /   E   n   d       h   a   s       b   e   e   n
0050040        r   e   c   e   i   v   e   d   ,       t   i   m   e    
0050060    t   o       c   l   e   a   n       u   p       a   n   d    
0050100    l   e   a   v   e  \r   C   l   o   s   e   E   F   T   P   S
0050120    o   c   (   E   F   T   P   S   o   c   k   e   t   )  \r   W
0050140    n   s   (   d   s   p   ,       t   o   t   a   l   b   y   t
0050160    e   c   o   u   n   t   ,       0   ,       1   0   )   ;    
0050200    W   s   (   "       b   y   t   e   s       r   e   c   e   i
0050220    v   e   d   .       "   )  \r   r   e   s   u   l   t   i   s
0050240        t   r   u   e  \r   ]  \r  \r   /   /   -   - 376 001  \0
0050260    Y   e   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0050300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0050340    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0050360    a   n   d       P   r   i   n   t   A   b   o   r   t   P   B
0050400    I   (   p   b   i   )       b   e  \r   /   /   -   -   -   -
0050420    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0050500    -   -   -   -   -   -   -   -   -   -   -  \r   [  \r   P   u
0050520    t   s   (   d   s   p   ,       $   *   N   )   ;       W   o
0050540    (   p   b   i   >   >   P   B   I   .   p   u   p   .   w   o
0050560    r   d   s   ^   1   )   ;       W   s   (   "       -       A
0050600    b   o   r   t   :       "   )  \r   f   o   r       i       =
0050620        3       t   o       (   3       +       (   p   b   i   >
0050640    >   P   B   I   .   p   u   p   .   l   e   n   g   t   h   -
0050660    (   p 376  \0   ;   1 304   u   p   O   v   B   y   t   e   s
0050700    +   2   )   )       -       1   )       d   o  \r            
0050720    P   u   t   s   (   d   s   p   ,       p   b   i   >   >   P
0050740    B   I   .   p   u   p   .   b   y   t   e   s   ^   i   )  \r
0050760    ]  \r 377  \0  \0   P   u   p   E   F   T   P   S   e   n   d
0051000    .   b   c   p   l  \0 373 223 361 363 350  \0  \0 376 001  \0
0051020    4   Q   /   /       P   u   p   E   F   T   P   S   e   n   d
0051040    .   b   c   p   l       -   -       b   y       J   .       S
0051060    h   o   c   h  \r   /   /       C   o   p   y   r   i   g   h
0051100    t       X   e   r   o   x       C   o   r   p   o   r   a   t
0051120    i   o   n       1   9   7   9  \r  \r   /   /       L   a   s
0051140    t       m   o   d   i   f   i   e   d       J   u   n   e    
0051160    3   ,       1   9   7   9           1   2   :   4   5       P
0051200    M       b   y       T   a   f   t  \r  \r   g   e   t       "
0051220    P   u   p   E   F   T   P   .   d   e   c   l   "  \r  \r   e
0051240    x   t   e   r   n   a   l  \r   [  \r   /   /       o   u   t
0051260    g   o   i   n   g       p   r   o   c   e   d   u   r   e   s
0051300   \r   S   e   n   d   E   F   T   P   B   l   o   c   k   ;    
0051320    S   e   n   d   E   F   T   P   E   n   d  \r  \r   /   /    
0051340    i   n   c   o   m   i   n   g       p   r   o   c   e   d   u
0051360    r   e   s  \r   S   e   n   d   E   F   T   P   A   b   o   r
0051400    t  \r   G   e   t   P   B   I   ;       R   e   l   e   a   s
0051420    e   P 376 001  \0   1 026   B   I   ;       C   o   m   p   l
0051440    e   t   e   P   u   p  \r   S   e   t   T   i   m   e   r   ;
0051460        T   i   m   e   r   H   a   s   E   x   p   i   r   e   d
0051500    ;       B   l   o   c   k  \r   D   e   q   u   e   u   e   ;
0051520        M   u   l   t   E   q   ;       M   a   x   ;       M   i
0051540    n   ;       M   o   v   e   B   l   o   c   k  \r   ]  \r  \r
0051560   \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -   -
0051600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0051660    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r
0051700    l   e   t       S   e   n   d   E   F   T   P   B   l   o   c
0051720    k   (   s   o   c   ,       a   d   d   r   ,       b   y   t
0051740    e   C   n   t   ,       t   i   m   e   o   u   t   )       =
0051760        v   a   l   o   f  \r   /   /   -   -   -   -   -   -   -
0052000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0052020    -   -   -   -   -   -   - 376 001  \0   0 207   -   -   -   -
0052040    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0052100    -   -   -   -   -   -   -   -   -   -  \r   [  \r   l   e   t
0052120        r   e   s   u   l   t       =       S   e   n   d   E   F
0052140    T   P   P   a   c   k   e   t   (   s   o   c   ,       a   d
0052160    d   r   ,       b   y   t   e   C   n   t   ,       t   i   m
0052200    e   o   u   t   ,       t   y   p   e   E   F   T   P   D   a
0052220    t   a   )  \r   i   f       r   e   s   u   l   t       g   e
0052240        0       t   h   e   n       s   o   c   >   >   E   F   T
0052260    P   S   o   c   .   S   e   q   N   u   m       =       s   o
0052300    c   >   >   E   F   T   P   S   o   c   .   S   e   q   N   u
0052320    m       +   1  \r   r   e   s   u   l   t   i   s       r   e
0052340    s   u   l   t  \r   ]  \r  \r  \r   /   /   -   -   -   -   -
0052360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0052420    -   -   -   -   -   -   -   -   -   -   -   - 376 001  \0   J
0052440  321   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0052460    -   -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d
0052500        S   e   n   d   E   F   T   P   E   n   d   (   s   o   c
0052520    ,       t   i   m   e   o   u   t   )       =       v   a   l
0052540    o   f  \r   /   /   -   -   -   -   -   -   -   -   -   -   -
0052560    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0052660    -  \r   /   /   T   h   e       e   n   d       s   e   q   u
0052700    e   n   c   e       r   e   q   u   i   r   e   s       a    
0052720    c   o   m   p   l   e   t   e       a   c   k       f   o   r
0052740        t   h   e       f   i   r   s   t  \r   /   /       o   u
0052760    t   g   o   i   n   g       e   n   d   ,       a   n   d    
0053000    t   h   e   n       a   n       e   x   t   r   a       e   n
0053020    d       i   s       s   e   n   t   ,       a   s       p   a
0053040    r 376 001  \0 307   X   t       o   f       t   h   e  \r   /
0053060    /       t   h   r   e   e       w   a   y       h   a   n   d
0053100    s   h   a   k   e   .  \r   [  \r   i   f       S   e   n   d
0053120    E   F   T   P   P   a   c   k   e   t   (   s   o   c   ,    
0053140    0   ,       0   ,       t   i   m   e   o   u   t   ,       t
0053160    y   p   e   E   F   T   P   E   n   d   )       l   s       0
0053200        r   e   s   u   l   t   i   s       f   a   l   s   e  \r
0053220   \r   /   /   f   i   r   s   t       e   n   d       s   e   n
0053240    t       a   n   d       a   c   k   e   d       o   k   .    
0053260    S   e   n   d       s   e   c   o   n   d       E   n   d    
0053300    b   u   t       d   o   n   '   t       w   a   i   t       f
0053320    o   r       a   c   k  \r   s   o   c   >   >   E   F   T   P
0053340    S   o   c   .   S   e   q   N   u   m       =       s   o   c
0053360    >   >   E   F   T   P   S   o   c   .   S   e   q   N   u   m
0053400        +   1  \r   S   e   n   d   E   F   T   P   P   a   c   k
0053420    e   t   (   s   o   c   ,       0   ,       0   ,       0   ,
0053440        t   y   p   e   E 376 001  \0 032 273   F   T   P   E   n
0053460    d   )  \r   r   e   s   u   l   t   i   s       t   r   u   e
0053500   \r   ]  \r  \f  \r   /   /   -   -   -   -   -   -   -   -   -
0053520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0053620    -   -   -  \r   a   n   d       S   e   n   d   E   F   T   P
0053640    P   a   c   k   e   t   (   s   o   c   ,       a   d   d   r
0053660    ,       d   a   t   a   B   y   t   e   s   ,       t   i   m
0053700    e   o   u   t   ,       t   y   p   e   )       =       v   a
0053720    l   o   f  \r   /   /   -   -   -   -   -   -   -   -   -   -
0053740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0054040    -   -  \r   /   /       T   h   i   s     376 001  \0 372 277
0054060    i   s       a       g   e   n   e   r   a   l       r   o   u
0054100    t   i   n   e   ,       u   s   a   b   l   e       f   o   r
0054120        d   a   t   a       o   r       e   n   d       p   a   c
0054140    k   e   t   s  \r   /   /       W   i   l   l       h   a   n
0054160    d   l   e       r   e   t   r   a   n   s   m   i   s   s   i
0054200    o   n   s       h   e   r   e   .       P   a   s   s   e   s
0054220        i   n       a       l   o   n   g       t   i   m   e   o
0054240    u   t  \r   /   /       R   e   t   u   r   n   s       t   h
0054260    e       n   u   m   b   e   r       o   f       d   a   t   a
0054300        b   y   t   e   s       s   e   n   t       (   >   =   0
0054320    )       i   f       O   K   ;  \r   /   /       R   e   t   u
0054340    r   n   s       a   n       e   r   r   o   r       c   o   d
0054360    e       (   <       0   )       i   f       t   h   e   r   e
0054400        w   a   s       a   n       e   r   r   o   r  \r   [  \r
0054420    S   e   t   T   i   m   e   r   (   l   v       s   o   c   >
0054440    >   E   F   T   P   S   o   c   .   s   t   a   r   t   T   i
0054460  376 001  \0 267 342   m   e   ,       0   )           /   /   r
0054500    e   m   e   m   b   e   r       s   t   a   r   t       t   i
0054520    m   e  \r   l   e   t       l   o   n   g   T   i   m   e   r
0054540        =       n   i   l   ;       S   e   t   T   i   m   e   r
0054560    (   l   v       l   o   n   g   T   i   m   e   r   ,       t
0054600    i   m   e   o   u   t   )  \r  \r               [       /   /
0054620        r   e   p   e   a   t  \r               /   /       c   o
0054640    n   s   t   r   u   c   t       t   h   e       o   u   t   g
0054660    o   i   n   g       p   a   c   k   e   t  \r               l
0054700    e   t       p   b   i       =       G   e   t   P   B   I   (
0054720    s   o   c   )  \r               p   b   i   >   >   P   B   I
0054740    .   p   u   p   .   i   d   ^   2       =       s   o   c   >
0054760    >   E   F   T   P   S   o   c   .   S   e   q   N   u   m  \r
0055000                M   o   v   e   B   l   o   c   k   (   l   v    
0055020    p   b   i   >   >   P   B   I   .   p   u   p   .   w   o   r
0055040    d   s   ^   1   ,       a   d   d   r   ,       (   d   a   t
0055060    a   B   y   t   e 376 001  \0 221 314   s   +   1   )       r
0055100    s   h   i   f   t       1   )  \r               C   o   m   p
0055120    l   e   t   e   P   u   p   (   p   b   i   ,       t   y   p
0055140    e   ,       d   a   t   a   B   y   t   e   s   +   p   u   p
0055160    O   v   B   y   t   e   s   )  \r               l   e   t    
0055200    s   h   o   r   t   T   i   m   e   r       =       n   i   l
0055220   \r               S   e   t   T   i   m   e   r   (   l   v    
0055240    s   h   o   r   t   T   i   m   e   r   ,       s   o   c   >
0055260    >   E   F   T   P   S   o   c   .   c   u   r   r   e   n   t
0055300    T   i   m   e   o   u   t   )  \r  \r                        
0055320    [       /   /       r   e   p   e   a   t  \r                
0055340            B   l   o   c   k   (   )  \r                        
0055360    i   f       t   i   m   e   o   u   t       n   e       -   1
0055400        &       T   i   m   e   r   H   a   s   E   x   p   i   r
0055420    e   d   (   l   v       l   o   n   g   T   i   m   e   r   )
0055440        t   h   e   n  \r                                       r
0055460    e   s   u   l   t   i   s       E   F 376 001  \0 277 177   T
0055500    P   T   i   m   e   o   u   t               /   /   h   e    
0055520    i   s       n   o   t       a   n   s   w   e   r   i   n   g
0055540        n   o   w  \r                           i   f       T   i
0055560    m   e   r   H   a   s   E   x   p   i   r   e   d   (   l   v
0055600        s   h   o   r   t   T   i   m   e   r   )       t   h   e
0055620    n  \r                                       [  \r            
0055640                            /   /   e   x   p   o   n   e   n   t
0055660    i   a   l   l   y       a   g   e       r   e   t   r   a   n
0055700    s   m   i   s   s   i   o   n       i   n   t   e   r   v   a
0055720    l  \r                                       A   g   e   T   i
0055740    m   e   o   u   t   (   s   o   c   )   ;       b   r   e   a
0055760    k                   /   /   r   e   -   t   r   a   n   s   m
0056000    i   t  \r                                       ]  \r        
0056020                    p   b   i       =       D   e   q   u   e   u
0056040    e   (   l   v       s   o   c   >   >   E   F   T   P   S   o
0056060    c   .   i   Q   )   ;       i   f       p   b   i       e 376
0056100  001  \0   0 224   q       0       l   o   o   p  \r  \r        
0056120                    /   /   C   h   e   c   k       t   h   e    
0056140    s   o   u   r   c   e       o   f       t   h   i   s       p
0056160    a   c   k   e   t  \r                           u   n   l   e
0056200    s   s       M   u   l   t   E   q   (   l   v       s   o   c
0056220    >   >   E   F   T   P   S   o   c   .   f   r   n   P   o   r
0056240    t   .   s   o   c   k   e   t   ,  \r                        
0056260        l   v       p   b   i   >   >   P   B   I   .   p   u   p
0056300    .   s   P   o   r   t   .   s   o   c   k   e   t   )       d
0056320    o  \r                                       [       R   e   l
0056340    e   a   s   e   P   B   I   (   p   b   i   )   ;       l   o
0056360    o   p       ]  \r  \r                           /   /   G   o
0056400    t       a       p   a   c   k   e   t       r   e   a   l   l
0056420    y       f   o   r       u   s       f   r   o   m       o   u
0056440    r       p   a   r   t   n   e   r  \r                        
0056460    A   g   e   T   i   m   e   o   u   t   (   s   o   c   )  \r
0056500                  376 001  \0  \n  \0           s   w   i   t   c
0056520    h   o   n       p   b   i   >   >   P   B   I   .   p   u   p
0056540    .   t   y   p   e       i   n   t   o  \r                    
0056560                    [  \r                                       c
0056600    a   s   e       t   y   p   e   E   F   T   P   A   c   k   :
0056620   \r                                                   [  \r    
0056640                                                i   f       p   b
0056660    i   >   >   P   B   I   .   p   u   p   .   i   d   ^   2    
0056700    e   q       s   o   c   >   >   E   F   T   P   S   o   c   .
0056720    S   e   q   N   u   m       t   h   e   n  \r                
0056740                                                [       R   e   l
0056760    e   a   s   e   P   B   I   (   p   b   i   )   ;       r   e
0057000    s   u   l   t   i   s       d   a   t   a   B   y   t   e   s
0057020        ]  \r                                                   i
0057040    f       p   b   i   >   >   P   B   I   .   p   u   p   .   i
0057060    d   ^   2       g   r       s   o   c   >   >   E   F   T   P
0057100    S   o   c   .   S   e   q   N   u 376 001  \0   * 343   m    
0057120    t   h   e   n  \r                                            
0057140                    [  \r                                        
0057160                        S   e   n   d   E   F   T   P   A   b   o
0057200    r   t   (   s   o   c   ,       O   u   t   O   f   S   y   n
0057220    c   h   A   b   o   r   t   ,  \r                            
0057240                                        "   Y   o   u   r       r
0057260    e   c   e   i   v   e   r       h   a   s       g   o   t   t
0057300    e   n       o   u   t       o   f       s   y   n   c   h   .
0057320    "   ,       p   b   i   )  \r                                
0057340                                R   e   l   e   a   s   e   P   B
0057360    I   (   p   b   i   )  \r                                    
0057400                            r   e   s   u   l   t   i   s       E
0057420    F   T   P   A   b   o   r   t   S   e   n   t  \r            
0057440                                                    ]  \r        
0057460                                            R   e   l   e   a   s
0057500    e   P   B   I   (   p   b   i   )  \r                 376 001
0057520   \0 362 233                                   e   n   d   c   a
0057540    s   e  \r                                                   ]
0057560   \r                                       c   a   s   e       t
0057600    y   p   e   E   F   T   P   A   b   o   r   t   :  \r        
0057620                                            [  \r                
0057640                                    i   f       s   o   c   >   >
0057660    E   F   T   P   S   o   c   .   A   b   o   r   t   P   B   I
0057700        n   e       0       t   h   e   n  \r                    
0057720                                            R   e   l   e   a   s
0057740    e   P   B   I   (   s   o   c   >   >   E   F   T   P   S   o
0057760    c   .   A   b   o   r   t   P   B   I   )  \r                
0060000                                    s   o   c   >   >   E   F   T
0060020    P   S   o   c   .   A   b   o   r   t   P   B   I       =    
0060040    p   b   i  \r                                                
0060060    r   e   s   u   l   t   i   s       E   F   T   P   A   b   o
0060100    r   t   R   e   c   e   i   v   e   d       /   /       b   a
0060120    i   l     376 001  \0 035   &   o   u   t  \r                
0060140                                    ]  \r                        
0060160                d   e   f   a   u   l   t   :       R   e   l   e
0060200    a   s   e   P   B   I   (   p   b   i   )  \r                
0060220                        ]              \r                        
0060240    ]       r   e   p   e   a   t  \r               ]       r   e
0060260    p   e   a   t  \r   ]  \r  \f  \r   /   /   -   -   -   -   -
0060300    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0060400    -   -   -   -   -   -   -  \r   a   n   d       A   g   e   T
0060420    i   m   e   o   u   t   (   s   o   c   )       b   e  \r   /
0060440    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0060460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0060520    -   -   -   -   -   -   -   - 376 001  \0   o 226   -   -   -
0060540    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0060560    -   -  \r   /   /   u   p   d   a   t   e       t   h   e    
0060600    a   d   a   p   t   i   v   e       t   i   m   e   o   u   t
0060620   \r   /   /       =       2       t   i   m   e   s       t   h
0060640    e       a   v   e   r   a   g   e       r   e   s   p   o   n
0060660    s   e       t   i   m   e   ,       e   x   p   o   n   e   n
0060700    t   i   a   l   l   y       a   g   e   d       o   v   e   r
0060720   \r   /   /       t   h   e       l   a   s   t       8       s
0060740    a   m   p   l   e   s   .  \r   [  \r   l   e   t       t    
0060760    =       n   i   l   ;       S   e   t   T   i   m   e   r   (
0061000    l   v       t   ,       0   )  \r   c   o   m   p   i   l   e
0061020    t   e   s   t       a   l   t   o  \r               i   f   s
0061040    o       [       t       =       (   t   -   s   o   c   >   >
0061060    E   F   T   P   S   o   c   .   s   t   a   r   t   T   i   m
0061100    e   )       l   s   h   i   f   t       3       +   4       ]
0061120   \r               i   f   n   o   t       [       t 376  \0 234
0061140  220   `       =       (   t   -   s   o   c   >   >   E   F   T
0061160    P   S   o   c   .   s   t   a   r   t   T   i   m   e   )    
0061200    l   s   h   i   f   t       1       +   1       ]  \r   s   o
0061220    c   >   >   E   F   T   P   S   o   c   .   c   u   r   r   e
0061240    n   t   T   i   m   e   o   u   t       =       (   7   *   s
0061260    o   c   >   >   E   F   T   P   S   o   c   .   c   u   r   r
0061300    e   n   t   T   i   m   e   o   u   t       +  \r       M   a
0061320    x   (   m   i   n   T   i   m   e   o   u   t   ,       M   i
0061340    n   (   m   a   x   T   i   m   e   o   u   t   ,       t   )
0061360    )   )       r   s   h   i   f   t       3  \r   ]  \r 377  \0
0061400   \0   P   u   p   E   F   T   P   R   e   c   e   i   v   e   .
0061420    b   c   p   l  \0 373 223 361 363 350  \0  \0 376 001  \0   ^
0061440  031   /   /       P   u   p   E   F   T   P   R   e   c   e   i
0061460    v   e   .   b   c   p   l       -   -       b   y       J   .
0061500        S   h   o   c   h  \r   /   /       C   o   p   y   r   i
0061520    g   h   t       X   e   r   o   x       C   o   r   p   o   r
0061540    a   t   i   o   n       1   9   7   9  \r  \r   /   /       L
0061560    a   s   t       m   o   d   i   f   i   e   d       J   u   n
0061600    e       5   ,       1   9   7   9           1   2   :   1   2
0061620        P   M       b   y       T   a   f   t  \r  \r   g   e   t
0061640        "   P   u   p   E   F   T   P   .   d   e   c   l   "  \r
0061660   \r   e   x   t   e   r   n   a   l  \r   [  \r   /   /       o
0061700    u   t   g   o   i   n   g       p   r   o   c   e   d   u   r
0061720    e   s  \r   R   e   c   e   i   v   e   E   F   T   P   B   l
0061740    o   c   k   ;       R   e   c   e   i   v   e   E   F   T   P
0061760    P   a   c   k   e   t  \r  \r   /   /       i   n   c   o   m
0062000    i   n   g       p   r   o   c   e   d   u   r   e   s  \r   S
0062020    e   n   d   E   F   T   P   A   b   o   r   t  \r   G   e   t
0062040    P 376 001  \0 270   M   B   I   ;       R   e   l   e   a   s
0062060    e   P   B   I   ;       C   o   m   p   l   e   t   e   P   u
0062100    p  \r   S   e   t   T   i   m   e   r   ;       T   i   m   e
0062120    r   H   a   s   E   x   p   i   r   e   d   ;       B   l   o
0062140    c   k   ;       D   e   q   u   e   u   e   ;       M   u   l
0062160    t   E   q  \r   M   o   v   e   B   l   o   c   k  \r   ]  \r
0062200   \r  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0062220    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0062320   \r   l   e   t       R   e   c   e   i   v   e   E   F   T   P
0062340    B   l   o   c   k   (   s   o   c   ,       a   d   d   r   ,
0062360        t   i   m   e   o   u   t   )       =       v   a   l   o
0062400    f  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0062420    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0062440    -   -   -   -   -   - 376 001  \0   ( 216   -   -   -   -   -
0062460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0062520    -   -   -   -   -  \r   /   /       R   e   t   u   r   n   s
0062540        a       b   y   t   e       c   o   u   n   t       (   >
0062560    =   0   )       o   r       a   n       e   r   r   o   r    
0062600    c   o   d   e       (   <   0   )  \r   [  \r   l   e   t    
0062620    i   n   P   b   i       =       0  \r   l   e   t       r   e
0062640    c   e   i   v   e   R   e   s   u   l   t       =       R   e
0062660    c   e   i   v   e   E   F   T   P   P   a   c   k   e   t   (
0062700    s   o   c   ,       t   i   m   e   o   u   t   ,       l   v
0062720        i   n   P   b   i   )  \r   i   f       r   e   c   e   i
0062740    v   e   R   e   s   u   l   t       g   e       0       t   h
0062760    e   n       /   /       s   u   c   c   e   e   d   e   d  \r
0063000                [  \r               M   o   v   e   B   l   o   c
0063020    k   (   a   d   d   r   ,       l   v       i   n   P   b   i
0063040    >   >   P   B   I   .   p   u   p   .   w 376 001  \0   U 022
0063060    o   r   d   s   ^   1   ,       (   r   e   c   e   i   v   e
0063100    R   e   s   u   l   t   +   1   )       r   s   h   i   f   t
0063120        1   )  \r               i   f       i   n   P   b   i    
0063140    t   h   e   n           /   /       i   g   n   o   r   e    
0063160    z   e   r   o   -   l   e   n   g   t   h       p   a   c   k
0063200    e   t   s  \r                           [       R   e   l   e
0063220    a   s   e   P   B   I   (   i   n   P   b   i   )   ;       i
0063240    f       r   e   c   e   i   v   e   R   e   s   u   l   t    
0063260    e   q       0       l   o   o   p       ]  \r               r
0063300    e   s   u   l   t   i   s       r   e   c   e   i   v   e   R
0063320    e   s   u   l   t       /   /       c   o   u   n   t       o
0063340    f       d   a   t   a   B   y   t   e   s  \r               ]
0063360   \r   u   n   l   e   s   s       r   e   c   e   i   v   e   R
0063400    e   s   u   l   t       e   q       E   F   T   P   N   o   t
0063420    F   i   r   s   t   S   y   n   c   h       r   e   s   u   l
0063440    t   i   s       r   e   c   e   i   v   e   R   e   s   u   l
0063460  376 001  \0 351 206   t  \r   ]       r   e   p   e   a   t  \r
0063500   \f  \r   /   /   -   -   -   -   -   -   -   -   -   -   -   -
0063520    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0063620   \r   a   n   d       R   e   c   e   i   v   e   E   F   T   P
0063640    P   a   c   k   e   t   (   s   o   c   ,       t   i   m   e
0063660    o   u   t   ,       l   v   P   b   i   )       =       v   a
0063700    l   o   f  \r   /   /   -   -   -   -   -   -   -   -   -   -
0063720    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0064020    -   -  \r   /   /       R   e   t   u   r   n   s       a    
0064040    b   y   t   e       c   o   u   n   t       (   >   =   0   )
0064060        o   r       a 376 001  \0     017   n       e   r   r   o
0064100    r       c   o   d   e       (   <   0   )  \r   /   /       I
0064120    f       a       b   y   t   e       c   o   u   n   t   ,    
0064140    @   l   v   P   b   i       c   o   n   t   a   i   n   s    
0064160    t   h   e       p   b   i       w   i   t   h       t   h   e
0064200        d   a   t   a  \r   /   /       N   o   t   e       t   h
0064220    a   t       w   h   e   n       w   e       s   t   a   r   t
0064240    ,       w   e       m   a   y       n   o   t       y   e   t
0064260        k   n   o   w       t   h   e       s   o   c   k   e   t
0064300   \r   /   /           n   u   m   b   e   r       o   f       t
0064320    h   e       f   o   r   e   i   g   n       s   o   c   k   e
0064340    t   .   .   .   .   .  \r   [  \r   l   e   t       s   y   n
0064360    c   M   s   g       =       "   Y   o   u   r       s   e   n
0064400    d   e   r       h   a   s       g   o   t   t   e   n       o
0064420    u   t       o   f       s   y   n   c   .   "  \r   l   e   t
0064440        b   u   s   y   M   s   g       =       "   R   e   c   e
0064460    i   v   e   r       b   u   s   y   , 376 001  \0 222   6    
0064500    p   l   e   a   s   e       t   r   y       a   g   a   i   n
0064520        l   a   t   e   r   .   "  \r   l   e   t       l   o   n
0064540    g   T   i   m   e   r       =       n   i   l   ;       S   e
0064560    t   T   i   m   e   r   (   l   v       l   o   n   g   T   i
0064600    m   e   r   ,       t   i   m   e   o   u   t   )  \r        
0064620        [       /   /       r   e   p   e   a   t  \r            
0064640    /   /       w   a   i   t       f   o   r       a   n       i
0064660    n   c   o   m   i   n   g       p   a   c   k   e   t  \r    
0064700            B   l   o   c   k   (   )  \r               i   f    
0064720    t   i   m   e   o   u   t       n   e       -   1       &    
0064740    T   i   m   e   r   H   a   s   E   x   p   i   r   e   d   (
0064760    l   v       l   o   n   g   T   i   m   e   r   )       r   e
0065000    s   u   l   t   i   s       E   F   T   P   T   i   m   e   o
0065020    u   t  \r               l   e   t       i   n   P   b   i    
0065040    =       D   e   q   u   e   u   e   (   l   v       s   o   c
0065060    >   >   E   F   T   P   S   o   c   .   i   Q   )  \r     376
0065100  001  \0 336   F           i   f       i   n   P   b   i       e
0065120    q       0       l   o   o   p  \r               l   e   t    
0065140    i   n   S   e   q   N   u   m       =       i   n   P   b   i
0065160    >   >   P   B   I   .   p   u   p   .   i   d   ^   2  \r  \r
0065200                /   /       S   e   e       i   f       w   e    
0065220    a   r   e       a   l   r   e   a   d   y       c   o   m   m
0065240    i   t   t   e   d       t   o       a       f   i   l   e    
0065260    t   r   a   n   s   f   e   r  \r               i   f       s
0065300    o   c   >   >   E   F   T   P   S   o   c   .   T   r   a   n
0065320    s   f   e   r   N   o   t   S   t   a   r   t   e   d       t
0065340    h   e   n  \r                           [  \r                
0065360            /   /       N   o       e   s   t   a   b   l   i   s
0065400    h   e   d       f   i   l   e       t   r   a   n   s   f   e
0065420    r       i   s       i   n       p   r   o   g   r   e   s   s
0065440    .  \r                           /   /       T   o       s   t
0065460    a   r   t       a       f   i   l   e       t   r   a   n   s
0065500    f   e   r   , 376 001  \0   u   U       (   1   )       h   i
0065520    s       m   u   s   t       b   e       a       v   a   l   i
0065540    d       p   a   c   k   e   t       0   ,  \r                
0065560            /   /           a   n   d       e   i   t   h   e   r
0065600        (   2   )       i   t   s       s   o   u   r   c   e    
0065620    m   u   s   t       m   a   t   c   h       o   u   r       s
0065640    o   c   k   e   t   '   s       f   o   r   e   i   g   n    
0065660    p   o   r   t  \r                           /   /           o
0065700    r       (   3   )       w   e       m   u   s   t       b   e
0065720        p   r   o   m   i   s   c   u   o   u   s   .  \r        
0065740                    i   f       i   n   P   b   i   >   >   P   B
0065760    I   .   p   u   p   .   t   y   p   e       e   q       t   y
0066000    p   e   E   F   T   P   D   a   t   a       &       i   n   S
0066020    e   q   N   u   m       e   q       0       &  \r            
0066040                    (   s   o   c   >   >   E   F   T   P   S   o
0066060    c   .   f   r   n   P   o   r   t   .   h   o   s   t       e
0066100    q       0       %       /   /     376 001  \0 360   /   (   2
0066120    )  \r                               (   s   o   c   >   >   E
0066140    F   T   P   S   o   c   .   f   r   n   P   o   r   t   .   h
0066160    o   s   t       e   q       i   n   P   b   i   >   >   P   B
0066200    I   .   p   u   p   .   s   P   o   r   t   .   h   o   s   t
0066220        &       /   /       (   3   )  \r                        
0066240        s   o   c   >   >   E   F   T   P   S   o   c   .   f   r
0066260    n   P   o   r   t   .   n   e   t       e   q       i   n   P
0066300    b   i   >   >   P   B   I   .   p   u   p   .   s   P   o   r
0066320    t   .   n   e   t   )   )       t   h   e   n       /   /    
0066340    (   3   )  \r                                       [       /
0066360    /       e   s   t   a   b   l   i   s   h       a       "   c
0066400    o   n   n   e   c   t   i   o   n   "  \r                    
0066420                    s   o   c   >   >   E   F   T   P   S   o   c
0066440    .   T   r   a   n   s   f   e   r   N   o   t   S   t   a   r
0066460    t   e   d       =       f   a   l   s   e  \r                
0066500                        s   o   c   >   >   E   F   T   P 376 001
0066520   \0 234 275   S   o   c   .   S   e   q   N   u   m       =    
0066540    0  \r                                       M   o   v   e   B
0066560    l   o   c   k   (   l   v       s   o   c   >   >   E   F   T
0066600    P   S   o   c   .   f   r   n   P   o   r   t   ,       l   v
0066620        i   n   P   b   i   >   >   P   B   I   .   p   u   p   .
0066640    s   P   o   r   t   ,       l   e   n   P   o   r   t   )  \r
0066660                                        ]  \r                    
0066700        ]  \r  \r               /   /       D   o       s   o   u
0066720    r   c   e       f   i   l   t   e   r   i   n   g  \r        
0066740        u   n   l   e   s   s       M   u   l   t   E   q   (   l
0066760    v       s   o   c   >   >   E   F   T   P   S   o   c   .   f
0067000    r   n   P   o   r   t   ,       l   v       i   n   P   b   i
0067020    >   >   P   B   I   .   p   u   p   .   s   P   o   r   t   ,
0067040        l   e   n   P   o   r   t   )       d   o  \r            
0067060                [       /   /       D   i   d       n   o   t    
0067100    p   a   s   s       s   o   u   r   c   e       f   i   l   t
0067120    e   r   , 376 001  \0 356 231       g   e   n   e   r   a   t
0067140    e       A   b   o   r   t  \r                           t   e
0067160    s   t       i   n   P   b   i   >   >   P   B   I   .   p   u
0067200    p   .   t   y   p   e       e   q       t   y   p   e   E   F
0067220    T   P   D   a   t   a       &       i   n   S   e   q   N   u
0067240    m       e   q       0  \r                                    
0067260    i   f   s   o  \r                                            
0067300        [  \r                                                   /
0067320    /       A   t   t   e   m   p   t   e   d       f   i   r   s
0067340    t       p   a   c   k   e   t       o   f       t   r   a   n
0067360    s   f   e   r   .  \r                                        
0067400            /   /       E   i   t   h   e   r       w   e       a
0067420    r   e       b   u   s   y       o   r       w   e       a   r
0067440    e       l   i   s   t   e   n   i   n   g       a   n   d    
0067460    n   o   t       p   r   o   m   i   s   c   u   o   u   s   .
0067500   \r                                                   S   e   n
0067520    d   E   F   T   P   A   b   o 376 001  \0   ]       r   t   (
0067540    s   o   c   ,       R   e   c   e   i   v   e   r   B   u   s
0067560    y   A   b   o   r   t   ,       b   u   s   y   M   s   g   ,
0067600        i   n   P   b   i   )  \r                                
0067620                    s   o   c   >   >   E   F   T   P   S   o   c
0067640    .   S   o   m   e   o   n   e   E   l   s   e   W   a   i   t
0067660    i   n   g       =       t   r   u   e  \r                    
0067700                                ]  \r                            
0067720            i   f   n   o   t  \r                                
0067740                    [  \r                                        
0067760            /   /       N   o   t       l   e   g   a   l       f
0070000    i   r   s   t       p   a   c   k   e   t       o   f       t
0070020    r   a   n   s   f   e   r   .  \r                            
0070040                        S   e   n   d   E   F   T   P   A   b   o
0070060    r   t   (   s   o   c   ,       O   u   t   O   f   S   y   n
0070100    c   h   A   b   o   r   t   ,       s   y   n   c   M   s   g
0070120    ,       i   n   P   b   i   )  \r                 376 001  \0
0070140    * 303                                   ]  \r                
0070160            R   e   l   e   a   s   e   P   B   I   (   i   n   P
0070200    b   i   )  \r                           i   f       s   o   c
0070220    >   >   E   F   T   P   S   o   c   .   T   r   a   n   s   f
0070240    e   r   N   o   t   S   t   a   r   t   e   d       r   e   s
0070260    u   l   t   i   s       E   F   T   P   N   o   t   F   i   r
0070300    s   t   S   y   n   c   h  \r                           l   o
0070320    o   p               /   /   w   a   i   t       f   o   r    
0070340    n   e   x   t       i   n   p   u   t  \r                    
0070360        ]  \r  \r               /   /       C   h   e   c   k    
0070400    t   h   e       s   e   q   u   e   n   c   e       n   u   m
0070420    b   e   r       -   -       s   h   o   u   l   d       b   e
0070440        e   x   p   e   c   t   e   d       o   r       e   x   p
0070460    e   c   t   e   d   -   1  \r               i   f       (   s
0070500    o   c   >   >   E   F   T   P   S   o   c   .   S   e   q   N
0070520    u   m   -   i   n   S   e   q   N   u   m   )       r   s   h
0070540    i   f 376 001  \0   '   m   t       1       n   e       0    
0070560    t   h   e   n      \r                           [  \r        
0070600                    /   /       S   e   q   u   e   n   c   e    
0070620    n   u   m   b   e   r       i   n   c   o   r   r   e   c   t
0070640    .  \r                           /   /       I   f       w   e
0070660        r   e   c   e   i   v   e       a       d   a   t   a    
0070700    p   a   c   k   e   t       w   i   t   h       s   e   q   u
0070720    e   n   c   e       n   u   m   b   e   r       0  \r        
0070740                    /   /       f   r   o   m       o   u   r    
0070760    p   a   r   t   n   e   r   ,       t   h   e   n       a   s
0071000    s   u   m   e       h   e       w   a   n   t   s       t   o
0071020        r   e   s   t   a   r   t   .  \r                        
0071040    /   /       O   t   h   e   r   w   i   s   e       a   b   o
0071060    r   t       t   h   e       t   r   a   n   s   f   e   r    
0071100    a   n   d       r   e   t   u   r   n       a   n       e   r
0071120    r   o   r   .  \r                           u   n   l   e   s
0071140    s       i   n   S   e   q 376 001  \0 030 177   N   u   m    
0071160    e   q       0       d   o  \r                                
0071200        S   e   n   d   E   F   T   P   A   b   o   r   t   (   s
0071220    o   c   ,       O   u   t   O   f   S   y   n   c   h   A   b
0071240    o   r   t   ,       s   y   n   c   M   s   g   ,       i   n
0071260    P   b   i   )  \r                           R   e   l   e   a
0071300    s   e   P   B   I   (   i   n   P   b   i   )  \r            
0071320                r   e   s   u   l   t   i   s       i   n   S   e
0071340    q   N   u   m       e   q       0   ?       E   F   T   P   R
0071360    e   s   e   t   R   e   c   e   i   v   e   d   ,       E   F
0071400    T   P   A   b   o   r   t   S   e   n   t  \r                
0071420            ]  \r  \f  \r   /   /       R   e   c   e   i   v   e
0071440    E   F   T   P   P   a   c   k   e   t       (   c   o   n   t
0071460    '   d   )  \r  \r               /   /       P   a   c   k   e
0071500    t       h   a   s       p   a   s   s   e   d       a   l   l
0071520        f   i   l   t   e   r   s   .           N   o   w       p
0071540    r   o   c   e   s   s       i   t   .  \r     376 001  \0 315
0071560  237           s   w   i   t   c   h   o   n       i   n   P   b
0071600    i   >   >   P   B   I   .   p   u   p   .   t   y   p   e    
0071620    i   n   t   o  \r                           [  \r            
0071640                c   a   s   e       t   y   p   e   E   F   T   P
0071660    D   a   t   a   :  \r                                       [
0071700   \r                                       A   c   k   E   F   T
0071720    P   P   a   c   k   e   t   (   s   o   c   ,       i   n   P
0071740    b   i   )  \r                                       i   f    
0071760    i   n   S   e   q   N   u   m       n   e       s   o   c   >
0072000    >   E   F   T   P   S   o   c   .   S   e   q   N   u   m    
0072020    t   h   e   n  \r                                            
0072040        [       R   e   l   e   a   s   e   P   B   I   (   i   n
0072060    P   b   i   )   ;       l   o   o   p       ]           /   /
0072100    r   e   t   r   a   n   s   m   i   s   s   i   o   n  \r    
0072120                                    s   o   c   >   >   E   F   T
0072140    P   S   o   c   .   S   e   q   N   u   m       =       s   o
0072160    c 376 001  \0   9   0   >   >   E   F   T   P   S   o   c   .
0072200    S   e   q   N   u   m   +   1  \r                            
0072220            @   l   v   P   b   i       =       i   n   P   b   i
0072240   \r                                       r   e   s   u   l   t
0072260    i   s       i   n   P   b   i   >   >   P   B   I   .   p   u
0072300    p   .   l   e   n   g   t   h       -       p   u   p   O   v
0072320    B   y   t   e   s               /   /   a   n   d       r   e
0072340    t   u   r   n  \r                                       ]  \r
0072360                            c   a   s   e       t   y   p   e   E
0072400    F   T   P   E   n   d   :  \r                                
0072420        [  \r                                       A   c   k   E
0072440    F   T   P   P   a   c   k   e   t   (   s   o   c   ,       i
0072460    n   P   b   i   )   ;       R   e   l   e   a   s   e   P   B
0072500    I   (   i   n   P   b   i   )  \r                            
0072520            i   f       i   n   S   e   q   N   u   m       n   e
0072540        s   o   c   >   >   E   F   T   P   S   o   c   .   S   e
0072560    q   N   u   m       l 376 001  \0 370 001   o   o   p        
0072600    /   /   r   e   t   r   a   n   s   m   i   s   s   i   o   n
0072620   \r                                       s   o   c   >   >   E
0072640    F   T   P   S   o   c   .   S   e   q   N   u   m       =    
0072660    s   o   c   >   >   E   F   T   P   S   o   c   .   S   e   q
0072700    N   u   m   +   1  \r                                       l
0072720    e   t       d   a   l   l   y   T   i   m   e   r       =    
0072740    n   i   l   ;       S   e   t   T   i   m   e   r   (   l   v
0072760        d   a   l   l   y   T   i   m   e   r   ,       d   a   l
0073000    l   y   T   i   m   e   o   u   t   )  \r                    
0073020                                [       /   /       r   e   p   e
0073040    a   t  \r                                                   B
0073060    l   o   c   k   (   )  \r                                    
0073100                i   f       T   i   m   e   r   H   a   s   E   x
0073120    p   i   r   e   d   (   l   v       d   a   l   l   y   T   i
0073140    m   e   r   )       r   e   s   u   l   t   i   s       E   F
0073160    T   P   E   n   d   R   e   c   e   i   v 376 001  \0  \v   r
0073200    e   d  \r                                                   i
0073220    n   P   b   i       =       D   e   q   u   e   u   e   (   l
0073240    v       s   o   c   >   >   E   F   T   P   S   o   c   .   i
0073260    Q   )  \r                                                   i
0073300    f       i   n   P   b   i       e   q       0       l   o   o
0073320    p  \r  \r                                                   i
0073340    f       i   n   P   b   i   >   >   P   B   I   .   p   u   p
0073360    .   t   y   p   e       n   e       t   y   p   e   E   F   T
0073400    P   E   n   d       t   h   e   n  \r                        
0073420                                        [       R   e   l   e   a
0073440    s   e   P   B   I   (   i   n   P   b   i   )   ;       l   o
0073460    o   p       ]  \r                                            
0073500        i   f       s   o   c   >   >   E   F   T   P   S   o   c
0073520    .   S   e   q   N   u   m       e   q       i   n   P   b   i
0073540    >   >   P   B   I   .   p   u   p   .   i   d   ^   2       t
0073560    h   e   n              \r                                    
0073600  376 001  \0 216   '                           [       R   e   l
0073620    e   a   s   e   P   B   I   (   i   n   P   b   i   )   ;    
0073640    r   e   s   u   l   t   i   s       E   F   T   P   E   n   d
0073660    R   e   c   e   i   v   e   d       ]  \r  \r                
0073700                                    /   /       W   a   s       a
0073720        r   e   t   r   a   n   s   m   i   s   s   i   o   n    
0073740    o   f       f   i   r   s   t       e   n   d   ,       a   c
0073760    k       i   t  \r                                            
0074000        A   c   k   E   F   T   P   P   a   c   k   e   t   (   s
0074020    o   c   ,       i   n   P   b   i   )   ;       R   e   l   e
0074040    a   s   e   P   B   I   (   i   n   P   b   i   )  \r        
0074060                                            ]       r   e   p   e
0074100    a   t  \r                                       e   n   d   c
0074120    a   s   e  \r                                       ]  \r    
0074140                        c   a   s   e       t   y   p   e   E   F
0074160    T   P   A   b   o   r   t   :  \r                            
0074200            [  \r     376 001  \0   o 375                        
0074220            i   f       s   o   c   >   >   E   F   T   P   S   o
0074240    c   .   A   b   o   r   t   P   B   I       n   e       0    
0074260    t   h   e   n       R   e   l   e   a   s   e   P   B   I   (
0074300    s   o   c   >   >   E   F   T   P   S   o   c   .   A   b   o
0074320    r   t   P   B   I   )  \r                                    
0074340    s   o   c   >   >   E   F   T   P   S   o   c   .   A   b   o
0074360    r   t   P   B   I       =       i   n   P   b   i  \r        
0074400                                r   e   s   u   l   t   i   s    
0074420    E   F   T   P   A   b   o   r   t   R   e   c   e   i   v   e
0074440    d  \r                                       ]  \r            
0074460                ]  \r               R   e   l   e   a   s   e   P
0074500    B   I   (   i   n   P   b   i   )  \r               ]       r
0074520    e   p   e   a   t  \r   ]  \r              \r  \r   /   /   -
0074540    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0074600    -   -   -   -   -   -   -   -   -   - 376 001  \0 261   /   -
0074620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0074660   \r   a   n   d       A   c   k   E   F   T   P   P   a   c   k
0074700    e   t   (   s   o   c   ,       p   b   i   )       b   e  \r
0074720    /   /   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0074740    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0075020    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \r   [
0075040   \r   /   /       c   o   n   s   t   r   u   c   t       t   h
0075060    e       o   u   t   g   o   i   n   g       a   c   k       p
0075100    a   c   k   e   t  \r   l   e   t       a   c   k   P   b   i
0075120        =       G   e   t   P   B   I   (   s   o   c   )  \r   a
0075140    c   k   P   b   i   >   >   P   B   I   .   p   u   p   .   i
0075160    d   ^   2       =       p   b   i   >   >   P   B   I   .   p
0075200    u   p   .   i   d   ^   2  \r   C   o   m   p   l   e   t 376
0075220   \0   ( 001 222   e   P   u   p   (   a   c   k   P   b   i   ,
0075240        t   y   p   e   E   F   T   P   A   c   k   ,       p   u
0075260    p   O   v   B   y   t   e   s   )  \r   ]  \r 377  \0  \0   P
0075300    u   p   E   F   T   P   C   o   m   m   o   n   .   b   c   p
0075320    l  \0 373 223 361 363 350  \0  \0 376 001  \0   ] 212   /   /
0075340        P   u   p   E   F   T   P   C   o   m   m   o   n   .   b
0075360    c   p   l       -   -       b   y       J   .       S   h   o
0075400    c   h  \r   /   /       C   o   p   y   r   i   g   h   t    
0075420    X   e   r   o   x       C   o   r   p   o   r   a   t   i   o
0075440    n       1   9   7   9  \r  \r   /   /       L   a   s   t    
0075460    m   o   d   i   f   i   e   d       J   u   n   e       3   ,
0075500        1   9   7   9           1   2   :   0   0       P   M    
0075520    b   y       T   a   f   t  \r  \r   g   e   t       "   P   u
0075540    p   E   F   T   P   .   d   e   c   l   "  \r  \r   e   x   t
0075560    e   r   n   a   l  \r   [  \r   /   /       o   u   t   g   o
0075600    i   n   g       p   r   o   c   e   d   u   r   e   s  \r   I
0075620    n   i   t   E   F   T   P   P   a   c   k   a   g   e   ;    
0075640    O   p   e   n   E   F   T   P   S   o   c   ;       C   l   o
0075660    s   e   E   F   T   P   S   o   c   ;       G   e   t   E   F
0075700    T   P   A   b   o   r   t   ;       S   e   n   d   E   F   T
0075720    P   A   b   o   r   t  \r  \r   /   /       i   n   c 376 001
0075740   \0 365 003   o   m   i   n   g       p   r   o   c   e   d   u
0075760    r   e   s  \r   O   p   e   n   L   e   v   e   l   1   S   o
0076000    c   k   e   t   ;       C   l   o   s   e   L   e   v   e   l
0076020    1   S   o   c   k   e   t   ;       G   e   t   P   B   I   ;
0076040        R   e   l   e   a   s   e   P   B   I  \r   S   e   t   P
0076060    u   p   D   P   o   r   t   ;       A   p   p   e   n   d   S
0076100    t   r   i   n   g   T   o   P   u   p   ;       C   o   m   p
0076120    l   e   t   e   P   u   p  \r   D   e   f   a   u   l   t   A
0076140    r   g   s   ;       Z   e   r   o  \r  \r   /   /       o   u
0076160    t   g   o   i   n   g       s   t   a   t   i   c   s  \r   l
0076200    E   F   T   P   S   o   c  \r   ]  \r  \r   s   t   a   t   i
0076220    c       [       l   E   F   T   P   S   o   c       =       l
0076240    e   n   E   F   T   P   S   o   c       ]  \r  \r  \r   /   /
0076260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0076340    -   -   - 376 001  \0 226 260   -   -   -   -   -   -   -   -
0076360    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0076400    -  \r   l   e   t       I   n   i   t   E   F   T   P   P   a
0076420    c   k   a   g   e   (   p   a   c   k   a   g   e   Z   o   n
0076440    e   )       b   e       [       ]  \r   /   /   -   -   -   -
0076460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0076560    -   -   -   -   -   -   -   -  \r  \r   /   /   -   -   -   -
0076600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0076700    -   -   -   -   -   -   -   -  \r   a   n   d       O   p   e
0076720    n   E   F   T   P   S   o   c   (   s   o   c   ,       l   c
0076740    l   p   o   r   t   ,       f 376 001  \0 375 255   r   n   p
0076760    o   r   t   ;       n   u   m   a   r   g   s       n   a   )
0077000        b   e  \r   /   /   -   -   -   -   -   -   -   -   -   -
0077020    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0077120    -   -  \r   [  \r   D   e   f   a   u   l   t   A   r   g   s
0077140    (   l   v       n   a   ,       -   1   ,       0   ,       0
0077160    )  \r   Z   e   r   o   (   s   o   c   ,       l   e   n   E
0077200    F   T   P   S   o   c   )  \r   s   o   c   >   >   E   F   T
0077220    P   S   o   c   .   T   r   a   n   s   f   e   r   N   o   t
0077240    S   t   a   r   t   e   d       =       t   r   u   e  \r   s
0077260    o   c   >   >   E   F   T   P   S   o   c   .   c   u   r   r
0077300    e   n   t   T   i   m   e   o   u   t       =       s   t   a
0077320    r   t   i   n   g   T   i   m   e   o   u   t  \r   O   p   e
0077340    n   L   e   v   e   l   1   S   o   c   k   e   t 376 001  \0
0077360  356 224   (   s   o   c   ,       l   c   l   p   o   r   t   ,
0077400        f   r   n   p   o   r   t   )  \r   ]  \r  \r   /   /   -
0077420    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0077520    -   -   -   -   -   -   -   -   -   -   -  \r   a   n   d    
0077540    C   l   o   s   e   E   F   T   P   S   o   c   (   s   o   c
0077560    )       b   e  \r   /   /   -   -   -   -   -   -   -   -   -
0077600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0077700    -   -   -  \r   [  \r   i   f       s   o   c   >   >   E   F
0077720    T   P   S   o   c   .   A   b   o   r   t   P   B   I       n
0077740    e       0       t   h   e   n       R   e   l   e   a   s   e
0077760    P   B 376 001  \0 334  \f   I   (   s   o   c   >   >   E   F
0100000    T   P   S   o   c   .   A   b   o   r   t   P   B   I   )  \r
0100020    C   l   o   s   e   L   e   v   e   l   1   S   o   c   k   e
0100040    t   (   s   o   c   )  \r   ]  \r  \r   /   /   -   -   -   -
0100060    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0100160    -   -   -   -   -   -   -   -  \r   a   n   d       G   e   t
0100200    E   F   T   P   A   b   o   r   t   (   s   o   c   )       =
0100220        s   o   c   >   >   E   F   T   P   S   o   c   .   A   b
0100240    o   r   t   P   B   I  \r   /   /   -   -   -   -   -   -   -
0100260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0100360    -   -   -   -   -  \r  \r 376 001  \0  \t   C   /   /   -   -
0100400    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0100500    -   -   -   -   -   -   -   -   -   -  \r   a   n   d       S
0100520    e   n   d   E   F   T   P   A   b   o   r   t   (   s   o   c
0100540    ,       a   b   o   r   t   C   o   d   e   ,       a   b   o
0100560    r   t   S   t   r   i   n   g   ,       p   b   i   ;       n
0100600    u   m   a   r   g   s       n   a   )       b   e  \r   /   /
0100620    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0100720    -   -   -   -   -   -   -   -   -   -   -   -  \r   /   /    
0100740    c   o   n   s   t   r   u   c   t       t   h   e       o   u
0100760    t   g   o   i   n   g       a   b   o   r   t 376 001  \0 324
0101000  224       p   a   c   k   e   t   ,  \r   /   /       w   i   l
0101020    l       g   e   t       s   e   n   t       t   o       s   o
0101040    u   r   c   e       o   f       p   b   i       i   f       s
0101060    u   p   p   l   i   e   d   ,  \r   /   /       w   i   l   l
0101100        g   e   t       s   e   n   t       t   o       y   o   u
0101120    r       c   u   r   r   e   n   t       f   o   r   e   i   g
0101140    n       p   o   r   t       o   t   h   e   r   w   i   s   e
0101160   \r   [  \r   l   e   t       a   b   o   r   t   P   b   i    
0101200    =       G   e   t   P   B   I   (   s   o   c   )  \r   i   f
0101220        n   a       g   r       3       t   h   e   n  \r        
0101240        [  \r               a   b   o   r   t   P   b   i   >   >
0101260    P   B   I   .   p   u   p   .   i   d   ^   2       =       p
0101300    b   i   >   >   P   B   I   .   p   u   p   .   i   d   ^   2
0101320   \r               S   e   t   P   u   p   D   P   o   r   t   (
0101340    a   b   o   r   t   P   b   i   ,       l   v       p   b   i
0101360    >   >   P   B   I   .   p   u   p   .   s   P   o   r   t   )
0101400   \r 376  \0 253   L   ]               ]  \r   a   b   o   r   t
0101420    P   b   i   >   >   P   B   I   .   p   u   p   .   i   d   ^
0101440    2       =       s   o   c   >   >   E   F   T   P   S   o   c
0101460    .   S   e   q   N   u   m  \r   a   b   o   r   t   P   b   i
0101500    >   >   P   B   I   .   p   u   p   .   w   o   r   d   s   ^
0101520    1       =       a   b   o   r   t   C   o   d   e  \r   A   p
0101540    p   e   n   d   S   t   r   i   n   g   T   o   P   u   p   (
0101560    a   b   o   r   t   P   b   i   ,       3   ,       a   b   o
0101600    r   t   S   t   r   i   n   g   )  \r   C   o   m   p   l   e
0101620    t   e   P   u   p   (   a   b   o   r   t   P   b   i   ,    
0101640    t   y   p   e   E   F   T   P   A   b   o   r   t   )  \r   ]
0101660   \r 377  \0  \0   C   o   m   p   i   l   e   E   F   T   P   .
0101700    c   m  \0 373 223 361 363 350  \0  \0 376  \0   s 353 250   B
0101720    c   p   l   /   f       E   F   T   P   .   b   c   p   l  \r
0101740    B   c   p   l   /   f       E   F   T   P   F   i   l   e   .
0101760    b   c   p   l  \r   B   c   p   l   /   f       P   u   p   E
0102000    F   T   P   S   e   n   d   .   b   c   p   l  \r   B   c   p
0102020    l   /   f       P   u   p   E   F   T   P   R   e   c   e   i
0102040    v   e   .   b   c   p   l  \r   B   c   p   l   /   f       P
0102060    u   p   E   F   T   P   C   o   m   m   o   n   .   b   c   p
0102100    l  \r 377  \0  \0   L   o   a   d   E   F   T   P   .   c   m
0102120   \0 373 223 361 363 350  \0  \0 376  \0 355 243 033   B   L   D
0102140    R   /   L   /   V       E   F   T   P       E   F   T   P   F
0102160    i   l   e       P   u   p   E   F   T   P   S   e   n   d    
0102200    P   u   p   E   F   T   P   R   e   c   e   i   v   e       P
0102220    u   p   E   F   T   P   C   o   m   m   o   n       P   u   p
0102240    A   l   E   t   h   b       P   u   p   A   l   E   t   h   a
0102260        P   u   p   A   l   E   t   h   I   n   i   t       P   u
0102300    p   1   b       P   u   p   A   l   1   a       P   u   p   D
0102320    u   m   m   y   G   a   t   e       P   u   p   R   o   u   t
0102340    e       P   u   p   1   I   n   i   t       P   u   p   1   O
0102360    p   e   n   C   l   o   s   e       P   u   p   N   a   m   e
0102400    L   o   o   k   u   p       C   o   n   t   e   x   t       C
0102420    o   n   t   e   x   t   I   n   i   t       I   n   t   e   r
0102440    r   u   p   t       I   n   t   e   r   r   u   p   t   I   n
0102460    i   t       A   l   t   o   Q   u   e   u   e       A   l   t
0102500    o   T   i   m   e   r       G   P  \r 377  \0  \0   R   e   l
0102520    e   a   s   e   E   F   T   P   .   c   m  \0 373 223 361 363
0102540  350  \0  \0 376  \0 273 227 362   F   t   p       M   a   x   c
0102560        c   o   n   n   /   c       A   l   t   o       s   t   o
0102600    r   e   /   c       E   F   T   P   .   r   u   n       E   F
0102620    T   P   .   s   y   m   s       ^  \r   d   u   m   p   /   c
0102640        E   F   T   P   p   a   c   k   a   g   e   .   d   m    
0102660    P   u   p   E   F   T   P   .   d   e   c   l       P   u   p
0102700    E   F   T   P   S   e   n   d   .   b   r       P   u   p   E
0102720    F   T   P   R   e   c   e   i   v   e   .   b   r       P   u
0102740    p   E   F   T   P   C   o   m   m   o   n   .   b   r       ^
0102760   \r   c   o   n   n   /   c       A   l   t   o   S   o   u   r
0103000    c   e       d   u   m   p   /   c       E   F   T   P   S   o
0103020    u   r   c   e   s   .   d   m       @   E   F   T   P   .   c
0103040    m   @  \r 377  \0  \0   E   F   T   P   .   c   m  \0 373 223
0103060  361 363 350  \0  \0 376  \0 216 032   _   P   u   p   E   F   T
0103100    P   .   d   e   c   l       E   F   T   P   .   b   c   p   l
0103120        E   F   T   P   F   i   l   e   .   b   c   p   l       P
0103140    u   p   E   F   T   P   S   e   n   d   .   b   c   p   l    
0103160    P   u   p   E   F   T   P   R   e   c   e   i   v   e   .   b
0103200    c   p   l       P   u   p   E   F   T   P   C   o   m   m   o
0103220    n   .   b   c   p   l       C   o   m   p   i   l   e   E   F
0103240    T   P   .   c   m       L   o   a   d   E   F   T   P   .   c
0103260    m       R   e   l   e   a   s   e   E   F   T   P   .   c   m
0103300        E   F   T   P   .   c   m 374                            
0103311