$ od -c -N 50000 [Indigo]<Spruce>12>sources>SprucePrinPimlico.Sr!1
0000000    /   /       P       R       I       N       T              \r
0000020    /   /       e   r   r   o   r   s       1   0   0   0  \r   /
0000040    /  \r  \r   g   e   t       "   S   p   r   u   c   e   .   d
0000060    "  \r   g   e   t       "   S   p   r   u   c   e   F   i   l
0000100    e   s   .   d   "  \r   g   e   t       "   O   r   b   i   t
0000120    .   d   "  \r  \r   /   /       o   u   t   g   o   i   n   g
0000140        p   r   o   c   e   d   u   r   e   s  \r   e   x   t   e
0000160    r   n   a   l  \r  \t   [  \r  \t   D   r   i   v   e   P   r
0000200    i   n   t   e   r  \r  \t   ]  \r  \r  \r   /   /       i   n
0000220    c   o   m   i   n   g       p   r   o   c   e   d   u   r   e
0000240    s  \r   e   x   t   e   r   n   a   l  \r  \t   [  \r  \t   S
0000260    p   r   u   c   e   E   r   r   o   r  \r  \t   M   a   x  \r
0000300   \t   M   i   n  \r  \t   I   n   i   t   R   a   m  \r   /   /
0000320    S   p   r   u   c   e   P   r   i   n   t  \r  \t   A   d   d
0000340    T   o   B   i   n  \r  \t   A   n   n   o   u   n   c   e  \r
0000360   \t   A   w   a   i   t   P   a   g   e   S   y   n   c  \r  \t
0000400    P   r   i   n   t   N   e   x   t  \r  \t   R   e   a   d   B
0000420    a   n   d   s  \r  \t   R   e   a   d   C   l   o   c   k  \r
0000440   \t   R   e   a   d   F   o   n   t  \r   /   /   C   U   R   S
0000460    O   R  \r  \t   C   u   r   s   o   r   C   h   a   r  \r  \t
0000500    C   u   r   s   o   r   D   i   g   i   t  \r   /   /       S
0000520    p   r   u   c   e   P   r   i   n   t   R   e   s  \r  \t   D
0000540    o   F   u   n   c  \r  \t   R   O   S   S   t   a   t   u   s
0000560   \r   /   /       T   i   m   e   r       (   d   e   b   u   g
0000600        o   n   l   y   )  \r  \t   S   e   t   T   i   m   e   r
0000620   \r  \t   T   i   m   e   r   H   a   s   E   x   p   i   r   e
0000640    d  \r   /   /   O   S  \r  \t   Z   e   r   o  \r  \t   D   i
0000660    s   a   b   l   e   I   n   t   e   r   r   u   p   t   s  \r
0000700   \t   E   n   a   b   l   e   I   n   t   e   r   r   u   p   t
0000720    s  \r  \t   ]  \r  \r   /   /       i   n   c   o   m  \0 006
0000740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0000760   \0  \0 001 336  \0  \0  \0  \0   @ 035  \0 035 366 357 370 366
0001000    i   n   g       s   t   a   t   i   c   s  \r   e   x   t   e
0001020    r   n   a   l  \r  \t   [  \r  \t   s   c   a   n   T   i   c
0001040    k   s  \t  \t   /   /       #       o   f       3   8       u
0001060    s   e   c   .       t   i   c   k   s       i   n       4    
0001100    p   r   i   n   t   e   r       s   c   a   n       l   i   n
0001120    e   s   .  \r  \t   l   o   g   B   a   n   d   R   e   c   o
0001140    r   d   S   i   z   e  \r  \t   n   P   a   g   e   s   P   r
0001160    i   n   t   e   d  \r  \t   b   a   n   d   R   e   c   o   r
0001200    d   S   i   z   e  \r  \t   r   o   s   1   2  \r  \t   r   o
0001220    s   1   3  \r  \t   D   e   b   u   g  \r  \t   D   e   b   u
0001240    g   S   y   s   t   e   m  \r  \t   F   u   n   c  \r  \t   d
0001260    e   b   u   g   T   r   a   i   l  \r  \t   k   n   o   c   k
0001300    R   e   s   u   l   t  \r  \t   n   u   m   P   r   i   n   t
0001320    e   d  \r  \t   n   u   m   M   u   s   t   P   r   i   n   t
0001340   \r  \t   I   n   i   t   M   e   a   s   u   r   e       /   /
0001360            e   n   g   i   n   e       c   o   n   t   r   o   l
0001400        m   o   n   i   t   o   r   i   n   g       s   t   u   f
0001420    f  \r  \t   C   l   o   s   e   M   e   a   s   u   r   e  \r
0001440   \t   T   i   c   k   M   e   a   s   u   r   e  \r  \t   M   e
0001460    a   s   u   r   e  \r  \t   m   e   a   s   u   r   e   T   a
0001500    b   l   e  \r  \t   x   m   F   o   n   t   s  \t   /   /    
0001520    F   o   n   t       d   a   t   a       w   i   l   l       b
0001540    e       r   e   a   d       i   n   t   o       B   a   n   k
0001560        1       v   i   a       B   a   n   k       0   ,       i
0001600    f       s   e   t  \r  \t   n   R   e   c   s  \r  \t   L   o
0001620    w   A   d   r  \r  \t   F   A   v   a   l   u   e  \r  \t   n
0001640    B   a   n   d   s  \r  \t   s   t   o   p   s   P   r   i   n
0001660    t   i   n   g  \r  \t   ]  \r  \r  \f  \r   /   /       i   n
0001700    t   e   r   n   a   l       s   t   a   t   i   c   s  \r   s
0001720    t   a   t   i   c  \r  \t   [  \r  \t   r   o   s   C  \0 006
0001740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0001760   \0  \0 001 336 376  \0  \0  \0   > 035  \0 035 366 357 370 366
0002000    o   u   n   t       =       0       /   /       P   i   m   l
0002020    i   c   o   /   p   u   f   f   i   n       c   o   m   m   a
0002040    n   d       c   o   u   n   t  \r  \t   r   o   s   S   y   n
0002060    c   E   r   r   o   r       =       f   a   l   s   e       /
0002100    /       P   i   m   l   i   c   o   /   p   u   f   f   i   n
0002120        -   -       s   y   n   c       p   r   o   b   l   e   m
0002140   \r  \t   s   t   a   r   t   R   u   n       =       t   r   u
0002160    e  \r  \t   /   /       d   e   l   a   y       ~   ~   ~   ~
0002200        d   e   b   u   g   g   i   n   g   :       d   e   l   a
0002220    y       p   e   r       p   a   g   e       t   o       s   i
0002240    m   u   l   a   t   e       p   r   i   n   t   i   n   g  \r
0002260   \t   d   e   b   D   e   l   a   y       =       0       /   /
0002300        d   e   l   a   y       n   o       d   e   l   a   y    
0002320    s   t   d   .      \r  \t   /   /       d   e   l   a   y    
0002340    ~   ~   ~   ~  \r  \t   ]  \r  \r   /   /       F   i   l   e
0002360    -   w   i   d   e       s   t   r   u   c   t   u   r   e    
0002400    a   n   d       m   a   n   i   f   e   s   t       d   e   c
0002420    l   a   r   a   t   i   o   n   s   .  \r  \r   m   a   n   i
0002440    f   e   s   t       [  \r  \t   e   T   i   c   k   s       =
0002460        4  \t  \r  \t   t   i   m   e   O   u   t   =   1   5   *
0002500    2   7  \r  \t   p   r   i   n   t   H   y   s   t   e   r   e
0002520    s   i   s       =       1   5       /   /       p   r   i   n
0002540    t       t   h   i   s       m   a   n   y       b   e   f   o
0002560    r   e       a   l   l   o   w   i   n   g       s   u   s   p
0002600    e   n   s   i   o   n   ,       e   a   c   h       t   i   m
0002620    e       i   n  \r  \t           /   /       ~   ~       a   b
0002640    o   v   e       n   u   m   b   e   r       m   a   y       w
0002660    a   n   t       t   o       i   n   c   r   e   a   s   e    
0002700    f   o   r       l   a   r   g   e       r   u   n   s   ,    
0002720    o   r       s   o   m   e   t   h   i   n   g   ?  \r  \0 006
0002740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0002760   \0  \0 001 336 374  \0  \0  \0   < 035  \0 035 366 357 370 366
0003000   \t   R   T   C   =   #   4   3   0  \r  \t   d   e   b   u   g
0003020    T   r   a   i   l   S   i   z   e       =       1   0   *   3
0003040   \r  \r  \t   /   /       F   a   i   l   u   r   e       C   o
0003060    d   e       r   a   n   g   e   s       -   -       s   e   e
0003100        R   O   S   C   h   e   c   k  \r  \t   m   a   x   N   o
0003120    t   R   e   a   d   y       =       9       /   /       n   o
0003140    t       r   e   a   d   y   ,       b   u   t       p   r   o
0003160    b   a   b   l   y       w   i   l   l       b   e       s   o
0003200    o   n  \r  \t   m   a   x   M   a   n   u   a   l       =    
0003220    1   9       /   /       M   a   n   u   a   l       i   n   t
0003240    e   r   v   e   n   t   i   o   n       r   e   q   u   i   r
0003260    e   d  \r  \t   m   a   x   J   a   m       =       9   9  \t
0003300    /   /       E   r   r   o   r       d   u   r   i   n   g    
0003320    o   p   e   r   a   t   i   o   n  \r  \t   m   i   n   D   o
0003340    c   u   m   e   n   t   E   r   r   o   r       =       3   0
0003360    0       /   /       D   o   c   u   m   e   n   t       i   n
0003400    h   e   r   e   n   t   l   y       h   a   r   d       t   o
0003420        p   r   i   n   t  \r  \t  \t   ]  \r  \r  \r  \f  \r   /
0003440    /       -   -   -   -   -   -   -   -   -   -   -   -   -   -
0003460    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0003520    -   -   -   -   -   -   -   -   -   -   -   -   -  \r   /   /
0003540        P   r   i   n   t  \t  \t   I   n   i   t   i   a   l   i
0003560    z   a   t   i   o   n  \r   /   /       -   -   -   -   -   -
0003600    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0003660    -   -   -   -   -  \r  \r   /   /       R   e   t   u   r   n
0003700    s       -   1       i   f       p   r   i   n   t   i   n   g
0003720        i   s       s   u   c   c   e   s   s   f   u   l  \0 006
0003740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0003760   \0  \0 001 336 372  \0  \0  \0   : 035  \0 035 366 357 370 366
0004000    l   y       c   o   m   p   l   e   t   e   d   ,       e   l
0004020    s   e  \r   /   /       n   P   a   g   e   s   P   r   i   n
0004040    t   e   d   ,       s   o       c   a   n       p   i   c   k
0004060        u   p       w   h   e   r   e       w   e       l   e   f
0004100    t       o   f   f   .  \r  \r   l   e   t       D   r   i   v
0004120    e   P   r   i   n   t   e   r   (   p   D   o   c   ,       n
0004140    P   a   g   e   s   A   l   r   e   a   d   y   P   r   i   n
0004160    t   e   d   ,       l   v   F   a   i   l   u   r   e   C   o
0004200    d   e   )       =       v   a   l   o   f  \r   [  \r  \t   l
0004220    e   t       m   e   a   s   u   r   e   V   e   c       =    
0004240    v   e   c       5  \r  \t   l   e   t       C   o   m   m   T
0004260    a   b   =   v   e   c       3  \r  \t   C   o   m   m   T   a
0004300    b   =   (   C   o   m   m   T   a   b   +   1   )   &   (   -
0004320    2   )  \r  \t   C   o   m   m   T   a   b   !   0   =   -   1
0004340   \r  \r  \t   I   n   i   t   i   a   l   i   z   e   H   a   r
0004360    d   w   a   r   e   (   t   r   u   e   )  \r  \t   I   n   i
0004400    t   M   e   a   s   u   r   e   (   m   e   a   s   u   r   e
0004420    T   a   b   l   e   ,       2   0   0   0   ,       m   e   a
0004440    s   u   r   e   V   e   c   )  \r  \t   l   e   t       k   n
0004460    o   c   k   K   n   o   c   k       =       f   a   l   s   e
0004500   \t  \t   /   /       t   i   m   e       t   o       l   e   t
0004520        s   o   m   e   b   o   d   y       i   n       i   f    
0004540    t   r   u   e  \r  \t   l   e   t       n   e   e   d   I   n
0004560    i   t   ,       n   e   e   d   F   o   n   t   s       =    
0004600    t   r   u   e   ,       t   r   u   e  \r  \t   l   e   t    
0004620    c   o   p   y   ,       n   f   R   e   c   s   ,       L   e
0004640    f   t   O   v   e   r   ,       L   e   f   t   O   v   e   r
0004660    G   u   a   r   d   ,       F   o   n   t   T   a   b   l   e
0004700    ,       b   u   f       =       n   i   l   ,       n   i   l
0004720    ,       n   i   l   ,       n   i   l   ,       n   i  \0 006
0004740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0004760   \0  \0 001 336 370  \0  \0  \0   8 035  \0 035 366 357 370 366
0005000    l   ,       n   i   l  \r  \t   l   e   t       n   p       =
0005020        n   i   l  \r  \t   l   e   t       n   e   x   t   P   a
0005040    g   e       =       P   r   i   n   t   N   e   x   t   (   p
0005060    D   o   c   ,       l   v       c   o   p   y   ,       n   P
0005100    a   g   e   s   P   r   i   n   t   e   d   )  \r  \r  \f   /
0005120    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0005140    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0005160    -  \r   /   /       P   r   i   n   t   l   o   o   p  \r   /
0005200    /   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0005220    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
0005240    -   -   -  \r  \r   [   P   r   i   n   t   l   o   o   p  \r
0005260   \t   l   e   t       p   a   g   e   =   n   e   x   t   P   a
0005300    g   e                       /   /       F   i   n   d       o
0005320    u   t       w   h   i   c   h       p   a   g   e       t   o
0005340        p   r   i   n   t       n   e   x   t   :  \r  \t   i   f
0005360        p   a   g   e       e   q       0       t   h   e   n    
0005400    [       k   n   o   c   k   K   n   o   c   k       =       f
0005420    a   l   s   e   ;       b   r   e   a   k       ]  \r  \t   i
0005440    f       k   n   o   c   k   K   n   o   c   k       t   h   e
0005460    n       b   r   e   a   k       /   /       g   o       l   e
0005500    t       s   o   m   e   b   o   d   y       i   n  \r  \t   i
0005520    f       s   t   o   p   s   P   r   i   n   t   i   n   g    
0005540    e   q       b   i   n   F   u   l   l       t   h   e   n    
0005560    [       @   l   v   F   a   i   l   u   r   e   C   o   d   e
0005600        =       1   3   0   ;       b   r   e   a   k       ]  \r
0005620   \r  \t   i   f       n   e   e   d   F   o   n   t   s       d
0005640    o  \r  \t   [  \t  \t  \t  \t   /   /       R   e   a   d    
0005660    i   n       f   o   n   t       a   n   d       r   e   l   o
0005700    c   a   t   e       t   h   e       p   o   i   n   t   e   r
0005720    s       t   o       c   h   a   r   a   c   t   e   r  \0 006
0005740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0005760   \0  \0 001 336 366  \0  \0  \0   6 035  \0 035 366 357 370 366
0006000    s   :  \r  \t   l   e   t       f   o   n   t   =   p   a   g
0006020    e   >   >   P   a   g   e   G   .   f   o   n   t   L   o   a
0006040    d   *   (   s   i   z   e       F   o   n   t   G   /   1   6
0006060    )   +   p   D   o   c   >   >   D   o   c   G   .   F   o   n
0006100    t   s  \r  \t  \t   /   /       N   e   x   t       c   a   l
0006120    l       r   e   t   u   r   n   s       l   o   c   a   t   i
0006140    o   n       o   f       I   C   C       t   a   b   l   e   ,
0006160   \r  \t  \t   F   o   n   t   T   a   b   l   e       =       R
0006200    e   a   d   F   o   n   t   (   f   o   n   t   ,       L   o
0006220    w   A   d   r   ,       n   R   e   c   s   )  \r  \t  \t   u
0006240    n   l   e   s   s       x   m   F   o   n   t   s       d   o
0006260        f   o   r       i   =   0       t   o       p   D   o   c
0006300    >   >   D   o   c   G   .   I   C   C   t   o   t   a   l   -
0006320    1       d   o       /   /       i   f       r   a   s   t   e
0006340    r   s       a   r   e       i   n       b   a   n   k       1
0006360    ,       t   h   e   y       s   t   a   r   t       a   t    
0006400    0  \r  \t  \t  \t   F   o   n   t   T   a   b   l   e   !   i
0006420    =   F   o   n   t   T   a   b   l   e   !   i       +       L
0006440    o   w   A   d   r  \r  \t   F   o   n   t   T   a   b   l   e
0006460    =   F   o   n   t   T   a   b   l   e   -   1   0   0   0   0
0006500    0   b  \r  \r  \t  \t   l   e   t       n   R   e   c   o   r
0006520    d   s   =       x   m   F   o   n   t   s   ?       (   p   D
0006540    o   c   >   >   D   o   c   G   .   I   C   C   t   o   t   a
0006560    l   +   b   a   n   d   R   e   c   o   r   d   S   i   z   e
0006600    -   1   )       r   s   h   i   f   t       l   o   g   B   a
0006620    n   d   R   e   c   o   r   d   S   i   z   e   ,  \r  \t  \t
0006640   \t  \t   f   o   n   t   >   >   F   o   n   t   G   .   n   R
0006660    e   c   o   r   d   s  \r  \t   n   f   R   e   c   s   =   (
0006700    n   R   e   c   s   -   n   R   e   c   o   r   d   s   )  \r
0006720   \t   L   e   f   t   O   v   e   r   =   L   o   w   A  \0 006
0006740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0006760   \0  \0 001 336 364  \0  \0  \0   4 035  \0 035 366 357 370 366
0007000    d   r   +   (   n   R   e   c   o   r   d   s       l   s   h
0007020    i   f   t       l   o   g   B   a   n   d   R   e   c   o   r
0007040    d   S   i   z   e   )  \r  \t   L   e   f   t   O   v   e   r
0007060    G   u   a   r   d       =       L   e   f   t   O   v   e   r
0007100    +   (   l   o   S   i   z   e   &   (   -   4   )   )   -   4
0007120   \r  \t   b   u   f       =       (   L   e   f   t   O   v   e
0007140    r   +   l   o   S   i   z   e   +   8   )   &   (   -   2   )
0007160        /   /       ~   ~       a   l   l       t   h   e       4
0007200    '   s   ,       8   '   s       a   n   d       1   0   '   s
0007220        i   n       h   e   r   e       a   r   e       c   o   w
0007240    a   r   d   l   y       s   l   a   c   k  \r  \t   n   e   e
0007260    d   F   o   n   t   s       =       f   a   l   s   e  \r  \t
0007300    ]  \r  \r  \t           R   e   a   d   B   a   n   d   s   (
0007320    p   a   g   e   ,       b   u   f   ,       n   f   R   e   c
0007340    s   )  \t  \t  \t   /   /       N   o   w       r   e   a   d
0007360        i   n       t   h   e       b   a   n   d   s       f   o
0007400    r       t   h   i   s       p   a   g   e  \r  \r   i   f    
0007420    n   e   e   d   I   n   i   t       d   o  \r  \t   [  \r  \t
0007440    I   n   i   t   i   a   l   i   z   e   H   a   r   d   w   a
0007460    r   e   (   f   a   l   s   e   )  \t  \t  \t   /   /       I
0007500    n   i   t   i   a   l   i   z   e       t   h   e       O   r
0007520    b   i   t   ,       e   t   c   .  \r  \t   l   e   t       t
0007540    i   m       =       @   R   T   C  \r               u   n   l
0007560    e   s   s       D   e   b   u   g       d   o           /   /
0007600        w   a   i   t       f   o   r       r   e   a   d   y    
0007620    o   r       s   o   m   e       s   e   r   i   o   u   s    
0007640    c   o   n   d   i   t   i   o   n       o   r       f   o   r
0007660        l   o   n   g       e   n   o   u   g   h  \r  \t   [  \r
0007700   \t   n   p       =       R   O   S   C   h   e   c   k   (   l
0007720    v   F   a   i   l   u   r   e   C   o   d   e   ,      \0 006
0007740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0007760   \0  \0 001 336 362  \0  \0  \0   2 035  \0 035 366 357 370 366
0010000    n   P   a   g   e   s   A   l   r   e   a   d   y   P   r   i
0010020    n   t   e   d   ,       f   a   l   s   e   )  \r  \t   i   f
0010040        n   p       e   q       -   1       b   r   e   a   k    
0010060    /   /       r   e   a   d   y  \r  \t   i   f       @   l   v
0010100    F   a   i   l   u   r   e   C   o   d   e       >       m   a
0010120    x   N   o   t   R   e   a   d   y       %       (   @   R   T
0010140    C   -   t   i   m   )       >       t   i   m   e   O   u   t
0010160        r   e   s   u   l   t   i   s       n   p  \r  \t   ]    
0010200    r   e   p   e   a   t  \r  \r   /   /       T   r   y       t
0010220    o       e   m   p   t   y       O   r   b   i   t       b   u
0010240    f   f   e   r   s       t   o       c   l   e   a   r       t
0010260    h   e   m   .           T   h   i   s       i   s       t   o
0010300        m   i   n   i   m   i   z   e       t   o   n   e   r    
0010320    d   u   m   p   i   n   g       o   n       f   i   r   s   t
0010340        (   b   l   a   n   k   )       p   a   g   e   .  \r  \t
0010360    c   o   m   p   i   l   e   i   f       l   o   S   i   z   e
0010400        l   s       2   5   6       t   h   e   n       [       f
0010420    o   o   =   n   i   l       ]  \r  \t   f   o   r       i   =
0010440    0       t   o       3   1       d   o       D   o   F   u   n
0010460    c   (   f   R   e   a   d   B   l   o   c   k   ,       2   5
0010500    6   ,       L   e   f   t   O   v   e   r   )  \r  \r  \t   D
0010520    o   F   u   n   c   (   f   C   o   n   t   r   o   l   ,    
0010540    2   1   b   )  \r   /   /       T   u   r   n       o   f   f
0010560        a   d   C   o   m   m   a   n   d   B   e   a   m   O   n
0010600    ,       i   f       o   n   ,       r   e   v   e   r   t    
0010620    t   o       n   o   r   m   a   l       m   o   d   u   l   a
0010640    t   i   o   n   -   -  \r   /   /       ~   ~       c   a   u
0010660    s   e   s       g   l   i   t   c   h  \t   A   d   C   o   m
0010700    m   a   n   d   (   A   d   a   p   t   e   r   S   c   a   l
0010720    e   s   )  \r  \t   D   o   F   u   n   c   (   f   R  \0 006
0010740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0010760   \0  \0 001 336 360  \0  \0  \0   0 035  \0 035 366 357 370 366
0011000    O   S   C   o   m   m   a   n   d   ,       a   d   B   u   f
0011020    f   e   r   R   e   s   e   t   )  \r  \t  \t   R   O   S   C
0011040    o   m   m   a   n   d   (   #   6   3   3   4   6   )  \t   /
0011060    /       S   t   a   r   t   ,       u   s   i   n   g       s
0011100    t   d   .       3       c   o   l   o   r       v   i   d   e
0011120    o       q   u   e   u   e  \r  \t  \t   A   w   a   i   t   P
0011140    a   g   e   S   y   n   c   (   0   )  \r  \t   n   e   e   d
0011160    I   n   i   t       =       f   a   l   s   e  \r  \t   ]  \r
0011200   \r  \t  \t   l   e   t       n   C       =       n   i   l  \r
0011220   \t  \t   n   e   x   t   P   a   g   e       =       P   r   i
0011240    n   t   N   e   x   t   (   p   D   o   c   ,       l   v    
0011260    n   C   ,       n   P   a   g   e   s   P   r   i   n   t   e
0011300    d   +   1   )  \r  \t  \t   u   n   l   e   s   s       n   e
0011320    x   t   P   a   g   e       d   o       R   O   S   C   o   m
0011340    m   a   n   d   (   #   6   3   0   3   0   )       /   /    
0011360    S   t   o   p       P   r   i   n   t       (   a   t       e
0011400    n   d       o   f       c   o   p   y   )  \r  \r   /   /    
0011420    S   t   a   r   t       O   r   b   i   t       w   o   r   k
0011440    i   n   g       o   n       t   h   e       p   r   e   s   e
0011460    n   t       p   a   g   e   .  \r  \t   D   o   F   u   n   c
0011500    (   f   C   o   n   t   r   o   l   ,       #   2   1   )  \t
0011520   \t   /   /   R   e   s   e   t   ,       c   l   e   a   r    
0011540    b   e   h   i   n   d  \r  \t   D   o   F   u   n   c   (   f
0011560    R   O   S   C   o   m   m   a   n   d   ,       a   d   B   u
0011600    f   f   e   r   R   e   s   e   t   )  \r  \r  \t   L   e   f
0011620    t   O   v   e   r   !   0   =   0  \t  \t  \t   /   /   I   n
0011640    i   t   i   a   l   i   z   e       L   e   f   t   O   v   e
0011660    r       t   a   b   l   e  \r  \t   L   e   f   t   O   v   e
0011700    r   G   u   a   r   d   !   1   =   -   1  \r  \t   l   e   t
0011720        t   i   m   =   @   R   T   C  \r   /   /       S  \0 006
0011740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0011760   \0  \0 001 336 356  \0  \0  \0   . 035  \0 035 366 357 370 366
0012000    t   a   r   t       t   h   e       m   i   c   r   o   c   o
0012020    d   e   !   !   !   !  \r  \t   D   o   F   u   n   c   (   f
0012040    S   l   o   t   ,       C   o   m   m   T   a   b   ,       2
0012060    0   0   0   0   ,       n   B   a   n   d   s   -   1   ,    
0012100    F   A   v   a   l   u   e   ,       L   e   f   t   O   v   e
0012120    r   ,  \r  \t  \t  \t   F   o   n   t   T   a   b   l   e   ,
0012140        b   u   f   -   1   ,       n   i   l   ,       n   i   l
0012160    ,       (   c   o   p   y       l   s   h   i   f   t       5
0012200    )   +   4   )  \r  \r   i   f       D   e   b   u   g       t
0012220    h   e   n       /   /       ~   ~   d   e   l   a   y  \r  \t
0012240    [       /   /       ~   ~   d   e   l   a   y  \r  \t   w   h
0012260    i   l   e       (   @   R   T   C   -   t   i   m   )       <
0012300        d   e   b   D   e   l   a   y       l   o   o   p  \t   /
0012320    /       ~   ~   d   e   l   a   y  \r  \t   t   i   m       =
0012340        @   R   T   C       /   /       ~   ~   d   e   l   a   y
0012360        d   o   n   '   t       i   n   v   o   k   e       t   i
0012400    m   e   o   u   t       c   o   d   e       b   e   l   o   w
0012420   \r  \t   ]       /   /       ~   ~   d   e   l   a   y  \r  \f
0012440   \r   /   /       A   s   s   u   m   e       t   h   e       p
0012460    a   g   e       w   e       a   r   e       p   r   i   n   t
0012500    i   n   g       w   i   l   l       b   e       O   K   :  \r
0012520   \t   n   P   a   g   e   s   P   r   i   n   t   e   d   =   n
0012540    P   a   g   e   s   P   r   i   n   t   e   d   +   1  \r  \t
0012560    C   u   r   s   o   r   D   i   g   i   t   (   n   P   a   g
0012600    e   s   P   r   i   n   t   e   d   )  \r  \t   c   o   p   y
0012620        =       n   C  \r   /   /       S   e   e       w   h   o
0012640    '   s       (   m   a   y   b   e   )       k   n   o   c   k
0012660    i   n   g       a   t       m   y       d   o   o   r  \r   /
0012700    /       T   h   i   s       l   o   g   i   c       i   s    
0012720    c   o   p   i   e   d       f   r   o   m       S   p  \0 006
0012740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0012760   \0  \0 001 336 354  \0  \0  \0   , 035  \0 035 366 357 370 366
0013000    r   u   c   e   U   t   i   l   s   R   e   s   :       i   f
0013020        w   e       a   r   e       n   o   t       p   l   a   n
0013040    n   i   n   g       t   o       d   e   f   e   r       t   o
0013060        s   p   o   o   l   e   r   ,  \r   /   /           d   o
0013100    n   '   t       t   r   o   u   b   l   e       t   o       s
0013120    h   u   t       d   o   w   n       h   e   r   e   ,       j
0013140    u   s   t       t   o       f   i   n   d       t   h   a   t
0013160        o   u   t       t   h   e   r   e   .       W   o   u   l
0013200    d       b   e       t   o   o       e   x   p   e   n   s   i
0013220    v   e  \r  \t   i   f       (   D   e   b   u   g   S   y   s
0013240    t   e   m   &   #   3   0   )       e   q       0       &    
0013260    n   u   m   P   r   i   n   t   e   d       g   e       n   u
0013300    m   M   u   s   t   P   r   i   n   t       &       k   n   o
0013320    c   k   R   e   s   u   l   t       &  \r  \t   (   n   P   a
0013340    g   e   s   P   r   i   n   t   e   d   -   n   P   a   g   e
0013360    s   A   l   r   e   a   d   y   P   r   i   n   t   e   d   )
0013400        >       p   r   i   n   t   H   y   s   t   e   r   e   s
0013420    i   s      \r  \t       t   h   e   n       k   n   o   c   k
0013440    K   n   o   c   k       =       t   r   u   e  \r  \r  \t   i
0013460    f       (   n   e   x   t   P   a   g   e   >   >   P   a   g
0013500    e   G   .   f   o   n   t   L   o   a   d       n   e       p
0013520    a   g   e   >   >   P   a   g   e   G   .   f   o   n   t   L
0013540    o   a   d   )       d   o       n   e   e   d   F   o   n   t
0013560    s       =       t   r   u   e  \r  \r   /   /       N   o   w
0013600        s   e   e       i   f       w   e       a   c   t   u   a
0013620    l   l   y       p   r   i   n   t   e   d       t   h   i   s
0013640        p   a   g   e       p   r   o   p   e   r   l   y   .    
0013660        F   i   r   s   t   ,       w   a   i   t       f   o   r
0013700        O   r   b   i   t       t   o       a   n   n   o   u   n
0013720    c   e       i   t       i   s       f   i   n   i   s  \0 006
0013740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0013760   \0  \0 001 336 352  \0  \0  \0   * 035  \0 035 366 357 370 366
0014000    h   e   d   .  \r  \t   l   e   t       i   m   a   g   e   T
0014020    i   m   e   o   u   t       =           1   0   *   2   7  \r
0014040   \t   w   h   i   l   e       @   #   7   2   0       n   e    
0014060    0       d   o       i   f       (   @   R   T   C   -   t   i
0014100    m   )       g   r       i   m   a   g   e   T   i   m   e   o
0014120    u   t       t   h   e   n  \r  \t  \t   [  \r  \t  \t   B   l
0014140    a   s   t   (   )  \t  \t   /   /       c   l   e   a   r    
0014160    h   a   r   d   w   a   r   e   ,       #   7   2   0  \r  \t
0014200   \t       /   /       M   a   c   h   i   n   e       d   e   a
0014220    d       o   r       O   r   b   i   t       g   o   t       b
0014240    e   h   i   n   d       a   n   d       i   t       w   a   s
0014260    n   '   t       d   e   t   e   c   t   e   d  \r  \t  \t    
0014300    /   /       W   i   l   l       g   e   n   e   r   a   l   l
0014320    y       b   e       o   v   e   r   r   i   d   e   n       b
0014340    y       m   o   r   e       s   p   e   c   i   f   i   c    
0014360    a   n   a   l   y   s   i   s  \r  \t  \t   @   l   v   F   a
0014400    i   l   u   r   e   C   o   d   e       =       1   9       /
0014420    /       M   a   n   u   a   l       i   n   t   e   r   v   e
0014440    n   t   i   o   n       r   e   q   u   i   r   e   d  \r  \t
0014460   \t   b   r   e   a   k  \r  \t  \t   ]  \r   /   /       C   h
0014500    e   c   k       O   r   b   i   t       s   t   a   t   u   s
0014520   \r  \t   l   e   t       n   o   n   F       =       0  \r  \t
0014540    l   e   t       s   t   a   t   =   F   u   n   c   !   9  \t
0014560   \t   /   /   O   r   b   i   t       p   r   i   n   t   i   n
0014600    g       s   t   a   t   u   s   .  \r  \t   /   /       F   a
0014620    t   a   l       e   r   r   o   r       d   e   t   e   c   t
0014640    e   d       b   y       m   i   c   r   o   c   o   d   e    
0014660    -   -       i   n   v   a   l   i   d       B   a   n   d    
0014700    e   n   t   r   y       -   -       p   o   s   s   i   b   l
0014720    y       b   r   o   k   e   n       p   r   o   c   e  \0 006
0014740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0014760   \0  \0 001 336 350  \0  \0  \0   ( 035  \0 035 366 357 370 366
0015000    s   s   o   r  \r  \t   i   f       s   t   a   t   <   <   S
0015020    T   A   T   U   S   .   i   n   v   a   l   i   d   B   a   n
0015040    d   E   n   t   r   y       t   h   e   n  \r  \t  \t   [    
0015060    I   n   i   t   i   a   l   i   z   e   H   a   r   d   w   a
0015100    r   e   (   t   r   u   e   )   ;      \r  \t  \t           i
0015120    f       L   e   f   t   O   v   e   r   G   u   a   r   d   !
0015140    1       e   q       -   1       t   h   e   n       S   p   r
0015160    u   c   e   E   r   r   o   r   (   1   0   1   0   ,       @
0015200    1   ,       @   2   )           /   /   e   l   s   e   ,    
0015220    a   s   s   u   m   e  \r  \t  \t  \t   /   /   t   h   a   t
0015240        b   a   d       b   a   n   d       e   n   t   r   y    
0015260    i   s       s   i   m   p   l   y       r   e   s   u   l   t
0015300        o   f       l   e   f   t   o   v   e   r       o   v   e
0015320    r   f   l   o   w  \r  \t  \t   ]  \r  \t   t   e   s   t    
0015340    s   t   a   t   <   <   S   T   A   T   U   S   .   p   r   e
0015360    m   a   t   u   r   e   P   a   g   e   A   b   o   r   t    
0015400    t   h   e   n       [       A   n   n   o   u   n   c   e   (
0015420    1   6   )   ;       n   o   n   F       =       3   0   1    
0015440    ]  \r  \t           o   r       i   f       s   t   a   t   <
0015460    <   S   T   A   T   U   S   .   b   e   h   i   n   d       t
0015500    h   e   n       [       A   n   n   o   u   n   c   e   (   1
0015520    6   )   ;       n   o   n   F       =       3   0   0       ]
0015540   \r  \t   i   f       s   t   a   t   <   <   S   T   A   T   U
0015560    S   .   t   i   m   e   o   u   t       t   h   e   n       [
0015600        A   n   n   o   u   n   c   e   (   1   7   )   ;       @
0015620    l   v   F   a   i   l   u   r   e   C   o   d   e       =    
0015640    1   8       ]  \r  \t   i   f       L   e   f   t   O   v   e
0015660    r   G   u   a   r   d   !   1       n   e       -   1       t
0015700    h   e   n  \r  \t           [       A   n   n   o   u   n   c
0015720    e   (   1   8   )   ;       n   o   n   F       =      \0 006
0015740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0015760   \0  \0 001 336 346  \0  \0  \0   & 035  \0 035 366 357 370 366
0016000    3   1   0       ]  \r  \t   i   f       n   o   n   F       t
0016020    h   e   n       @   l   v   F   a   i   l   u   r   e   C   o
0016040    d   e       =       n   o   n   F  \r   /   /       N   o   w
0016060        t   r   y       f   o   r       m   o   r   e       s   p
0016100    e   c   i   f   i   c       e   n   g   i   n   e       s   t
0016120    a   t   u   s       c   h   e   c   k  \r  \r  \t   n   p   =
0016140    R   O   S   C   h   e   c   k   (   l   v   F   a   i   l   u
0016160    r   e   C   o   d   e   ,       n   P   a   g   e   s   A   l
0016200    r   e   a   d   y   P   r   i   n   t   e   d   ,       t   r
0016220    u   e   )  \r  \r   /   /       N   o   w       w   a   i   t
0016240        f   o   r       p   a   g   e       s   y   n   c       t
0016260    o       g   o       o   f   f  \r  \t   u   n   l   e   s   s
0016300        A   w   a   i   t   P   a   g   e   S   y   n   c   (   0
0016320    )       t   h   e   n       @   l   v   F   a   i   l   u   r
0016340    e   C   o   d   e       =       1   6  \r  \r   /   /   N   o
0016360    w       d   e   c   i   d   e       w   h   a   t       t   o
0016400        d   o   :  \r  \t   l   e   t       m   a   l   f   u   n
0016420    c   t   i   o   n       =       @   l   v   F   a   i   l   u
0016440    r   e   C   o   d   e  \r  \t   i   f       m   a   l   f   u
0016460    n   c   t   i   o   n       g   e       m   i   n   D   o   c
0016500    u   m   e   n   t   E   r   r   o   r       t   h   e   n    
0016520    m   a   l   f   u   n   c   t   i   o   n       =       0    
0016540    /   /       w   i   l   l       n   o   t       s   t   o   p
0016560   \r  \r   /   /       N   o   w       r   e   a   c   t       t
0016600    o       t   h   e       a   n   a   l   y   s   i   s   :    
0016620    i   f       a   t       t   h   i   s       p   o   i   n   t
0016640        n   o   t   h   i   n   g       i   s       w   r   o   n
0016660    g       a   n   d       s   h   e   e   t   s       a   r   e
0016700        f   e   e   d   i   n   g   ,       s   t   e   a   m    
0016720    a   h   e   a   d   .      \r  \r  \t   u   n   l   e  \0 006
0016740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0016760   \0  \0 001 336 344  \0  \0  \0   $ 035  \0 035 366 357 370 366
0017000    s   s       (   (   n   P   a   g   e   s   P   r   i   n   t
0017020    e   d       r   e   m       3   )       n   e       2   )    
0017040    %       m   a   l   f   u   n   c   t   i   o   n           d
0017060    o       [       A   d   d   T   o   B   i   n   (   5   0   )
0017100    ;       l   o   o   p       ]  \r  \r  \t  \t   I   n   i   t
0017120    i   a   l   i   z   e   H   a   r   d   w   a   r   e   (   t
0017140    r   u   e   )  \r  \t  \t   /   /       i   f       m   a   l
0017160    f   u   n   c   t   i   o   n       d   e   t   e   c   t   e
0017200    d       o   u   t   s   i   d   e       o   f       R   O   S
0017220    C   h   e   c   k   ,       s   e   t       n   p  \r      \r
0017240   \t  \t   l   e   t       b   a   c   k   u   p       =       1
0017260            /   /   w   r   o   n   g   ?  \r  \t  \t   i   f    
0017300    n   p       e   q       -   1       t   h   e   n       n   p
0017320        =       n   P   a   g   e   s   P   r   i   n   t   e   d
0017340    -   b   a   c   k   u   p  \r  \t  \t   /   /       a   c   c
0017360    o   u   n   t       f   o   r       p   r   e   v   i   o   u
0017400    s       i   n   c   r   e   m   e   n   t  \r  \t  \t   n   P
0017420    a   g   e   s   P   r   i   n   t   e   d       =       M   a
0017440    x   (   n   p   -   1   ,       n   P   a   g   e   s   A   l
0017460    r   e   a   d   y   P   r   i   n   t   e   d   )  \r  \t  \t
0017500    b   r   e   a   k  \r   ]   P   r   i   n   t   l   o   o   p
0017520        r   e   p   e   a   t  \r  \r  \t   I   n   i   t   i   a
0017540    l   i   z   e   H   a   r   d   w   a   r   e   (   t   r   u
0017560    e   )  \r  \t   C   l   o   s   e   M   e   a   s   u   r   e
0017600    (   )  \r  \t   r   e   s   u   l   t   i   s       (   k   n
0017620    o   c   k   K   n   o   c   k       %       @   l   v   F   a
0017640    i   l   u   r   e   C   o   d   e   )   ?       n   P   a   g
0017660    e   s   P   r   i   n   t   e   d   ,       -   1  \r   ]  \r
0017700   \f  \r   /   /       -   -   -   -   -   -   -   -   -   -   -
0017720    -   -   -   -   -   -   -   -   -   -   -   -   -   -  \0 006
0017740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0017760   \0  \0 001 336 342  \0  \0  \0   " 035  \0 035 366 357 370 366
0020000    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0020060    -  \r   /   /       n   P   a   g   e   s   P   r   i   n   t
0020100    e   d       =       R   O   S   C   h   e   c   k   (   l   v
0020120    F   a   i   l   u   r   e   C   o   d   e   ,       n   P   a
0020140    g   e   s   A   l   r   e   a   d   y   P   r   i   n   t   e
0020160    d   ,       r   u   n   n   i   n   g   ,      \r   /   /  \t
0020200   \t   l   v   X   p   o   r   t   M   o   d   e   l   )        
0020220                a   d   d   e   d       f   o   r       p   u   f
0020240    f   i   n  \r   /   /       -   -   -   -   -   -   -   -   -
0020260    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0020360    -  \r  \r   /   /       a   n   a   l   y   z   e       R   O
0020400    S       s   t   a   t   u   s  \r   /   /       n   P   a   g
0020420    e   s   P   r   i   n   t   e   d       =       -   1       i
0020440    f       t   h   e   r   e       a   r   e       n   o       m
0020460    a   l   f   u   n   c   t   i   o   n   s   ,       R   O   S
0020500        i   s       r   e   a   d   y       t   o       p   r   i
0020520    n   t  \r   /   /  \t  \t  \t   o   t   h   e   r   w   i   s
0020540    e   ,       t   h   e       n   u   m   b   e   r       o   f
0020560        p   a   g   e   s       t   o       r   e   p   o   r   t
0020600        a   s       h   a   v   i   n   g       b   e   e   n    
0020620    p   r   i   n   t   e   d  \r   /   /       @   l   v   F   a
0020640    i   l   u   r   e   C   o   d   e       w   i   l   l       c
0020660    o   n   t   a   i   n       a   n       a   n   a   l   y   s
0020700    i   s       o   f       t   h   e       c   u   r   r   e   n
0020720    t       s   t   a   t   e   .       T   h   e       c  \0 006
0020740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0020760   \0  \0 001 336 340  \0  \0  \0     035  \0 035 366 357 370 366
0021000    o   d   e       v   a   l   u   e   s       a   r   e  \r   /
0021020    /  \t  \t  \t   d   e   s   c   r   i   b   e   d       b   e
0021040    l   o   w   .  \r   /   /       n   P   a   g   e   s   A   l
0021060    r   e   a   d   y   P   r   i   n   t   e   d       p   l   a
0021100    c   e   s       a       l   o   w   e   r       b   o   u   n
0021120    d       o   n       t   h   e       n   P   a   g   e   s   P
0021140    r   i   n   t   e   d       r   e   s   u   l   t   .       T
0021160    h   i   s      \r   /   /  \t  \t  \t   p   r   e   v   e   n
0021200    t   s       l   o   o   p   s       t   h   r   o   u   g   h
0021220        t   h   i   s       c   o   d   e       f   r   o   m    
0021240    b   a   c   k   i   n   g       u   p       t   o   o       f
0021260    a   r   .  \r   /   /       r   u   n   n   i   n   g  \t  \t
0021300    t   r   u   e       i   f       c   a   l   l   e   r       t
0021320    h   i   n   k   s       m   a   i   n       d   r   i   v   e
0021340        i   s       a   l   l   o   w   e   d       t   o       b
0021360    e       o   n       f   o   r       "   r   e   a   d   y   "
0021400   \r   /   /  \t  \t  \t   r   e   s   u   l   t   ,       f   a
0021420    l   s   e       o   t   h   e   r   w   i   s   e       (   w
0021440    a   i   t   i   n   g       f   o   r       r   e   a   d   y
0021460    )   .  \r  \r   /   /       R   O   S   C   h   e   c   k    
0021500    f   i   r   s   t       s   c   r   e   e   n   s       t   h
0021520    e       c   u   r   r   e   n   t       s   t   a   t   u   s
0021540        f   o   r       a   n   y       m   a   l   f   u   n   c
0021560    t   i   o   n       i   n   d   i   c   a   t   i   o   n   s
0021600    ,       a   n   d  \r   /   /       r   e   t   u   r   n   s
0021620        r   i   g   h   t       a   w   a   y       i   f       t
0021640    h   e   r   e       a   r   e       n   o   n   e   .       O
0021660    t   h   e   r   w   i   s   e   ,       i   t       a   p   p
0021700    l   i   e   s       t   h   e       c   u   r   r   e   n   t
0021720        s   t   a   t   u   s  \r   /   /       a   g   a  \0 006
0021740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0021760   \0  \0 001 336 336  \0  \0  \0 036 035  \0 035 366 357 370 366
0022000    i   n   s   t       a       p   r   i   n   t   e   r   -   d
0022020    e   p   e   n   d   e   n   t       t   a   b   l   e       o
0022040    f       p   o   s   s   i   b   l   e       c   o   n   d   i
0022060    t   i   o   n   s   ,       y   i   e   l   d   i   n   g    
0022100    a       f   a   i   l   u   r   e  \r   /   /       c   o   d
0022120    e       a   n   d       a       n   e   w       p   a   g   e
0022140        v   a   l   u   e       -   -       t   h   e       l   a
0022160    s   t       p   a   g   e       c   e   r   t   a   i   n    
0022200    t   o       h   a   v   e       b   e   e   n       r   e   l
0022220    i   a   b   l   y  \r   /   /       p   r   i   n   t   e   d
0022240    .       O   n   e       p   o   s   s   i   b   l   e       c
0022260    o   n   d   i   t   i   o   n       i   s       "   n   o    
0022300    m   a   l   f   u   n   c   t   i   o   n       d   e   t   e
0022320    c   t   e   d   "   ,       w   h   i   c   h       w   i   l
0022340    l       o   n   l   y  \r   /   /       b   e       i   s   s
0022360    u   e   d       f   o   r       p   r   i   n   t   e   r   s
0022400        t   h   a   t       g   i   v   e       n   o       p   o
0022420    s   i   t   i   v   e       i   n   d   i   c   a   t   i   o
0022440    n       w   h   e   n       t   h   e   y       a   r   e    
0022460    m   e   r   e   l   y  \r   /   /       b   u   s   y       d
0022500    o   i   n   g       n   o   r   m   a   l       t   h   i   n
0022520    g   s   .  \r   /   /       N   .   B   .       @   l   v   F
0022540    a   i   l   u   r   e   C   o   d   e       i   s       n   o
0022560    t       c   h   a   n   g   e   d       w   h   e   n       n
0022600    o       c   o   n   d   i   t   i   o   n   s       a   r   e
0022620        f   o   u   n   d  \r  \r   /   /       T   h   e       f
0022640    a   i   l   u   r   e       c   o   d   e   s       d   i   v
0022660    i   d   e       i   n   t   o       r   a   n   g   e   s   :
0022700   \r   /   /       0   -   9  \t  \t   N   o   t       r   e   a
0022720    d   y   ,       b   u   t       n   o       i   n   d  \0 006
0022740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0022760   \0  \0 001 336 334  \0  \0  \0 034 035  \0 035 366 357 370 366
0023000    i   c   a   t   i   o   n       o   f       p   r   o   b   l
0023020    e   m   s       o   r       w   i   l   l       c   l   e   a
0023040    r       u   p       a   u   t   o   m   a   t   i   c   a   l
0023060    l   y  \r   /   /  \t  \t   (   i   n   c   l   u   d   e   s
0023100        f   u   s   e   r       c   o   l   d   ,       w   a   r
0023120    m   u   p       m   o   d   e   ,       c   l   e   a   r   i
0023140    n   g       r   e   v   o   l   u   t   i   o   n   s   ,    
0023160    e   t   c   .   )  \r   /   /       1   0   -   1   9  \t   M
0023200    a   n   u   a   l       i   n   t   e   r   v   e   n   t   i
0023220    o   n       r   e   q   u   i   r   e   d       b   e   f   o
0023240    r   e       m   a   c   h   i   n   e       c   a   n       b
0023260    e   c   o   m   e       r   e   a   d   y  \r   /   /  \t  \t
0023300    (   p   a   p   e   r       l   o   w   ,       p   o   w   e
0023320    r       n   o   t       t   h   e   r   e   ,       e   t   c
0023340    .   )  \r   /   /       2   0   -   9   9  \t   J   a   m   s
0023360        a   n   d       o   t   h   e   r       o   p   e   r   a
0023400    t   i   o   n   a   l       m   a   l   f   u   n   c   t   i
0023420    o   n   s       (   m   a   n   y       c   o   d   e   s    
0023440    p   r   o   v   i   d   e   d       s   o       t   h   a   t
0023460   \r   /   /  \t  \t   e   a   c   h       d   e   v   i   c   e
0023500        c   a   n       r   e   p   o   r   t       m   a   c   h
0023520    i   n   e   -   d   e   p   e   n   d   e   n   t       j   a
0023540    m       e   x   p   l   a   n   a   t   i   o   n   s   )  \r
0023560    /   /       1   0   0   -   2   0   0  \t   I   n   h   e   r
0023600    e   n   t       p   r   o   b   l   e   m   s       (   e   .
0023620    g   .   ,       i   n   s   u   f   f   i   c   i   e   n   t
0023640        b   a   n   d   w   i   d   t   h       s   o   m   e   w
0023660    h   e   r   e   )       t   h   a   t       a   r   e  \r   /
0023700    /  \t  \t   n   o   t       c   u   r   a   b   l   e       b
0023720    y       m   e   r   e       m   o   r   t   a   l   s  \0 006
0023740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0023760   \0  \0 001 336 332  \0  \0  \0 032 035  \0 035 366 357 370 366
0024000    .       A   t   t   e   m   p   t   s       t   o       i   m
0024020    p   r   o   v   e       t   h   e       s   i   t   u   a   t
0024040    i   o   n       s   h   o   u   l   d       b   e  \r   /   /
0024060   \t  \t   a   b   a   n   d   o   n   e   d   .  \r   /   /    
0024100    2   0   0   -   3   0   0  \t   I   n   h   e   r   e   n   t
0024120        p   r   o   b   l   e   m   s       e   n   c   o   u   n
0024140    t   e   r   e   d   ,       b   u   t       t   h   e   y    
0024160    d   i   d       n   o   t       t   e   r   m   i   n   a   t
0024200    e       p   r   i   n   t   i   n   g   .       O   n   e  \r
0024220    /   /  \t  \t   s   h   o   u   l   d       e   x   p   e   c
0024240    t       t   h   a   t       o   n   e       o   r       m   o
0024260    r   e       p   a   g   e   s       w   e   r   e       i   m
0024300    p   r   o   p   e   r   l   y       i   m   a   g   e   d   .
0024320   \r  \r   /   /           r   i   g   h   t       b   y   t   e
0024340        i   s       s   t   a   t   u   s       c   o   d   e    
0024360    r   e   t   u   r   n   e   d       f   r   o   m       m   a
0024400    c   h   i   n   e   ,  \r   /   /  \t   l   e   f   t       b
0024420    y   t   e       i   s       s   t   a   t   u   s       c   o
0024440    d   e       r   e   t   u   r   n   e   d       f   r   o   m
0024460        R   O   S   C   h   e   c   k  \r  \r   /   /       A    
0024500    c   h   e   c   k   ,       d   e   s   i   g   n   e   d    
0024520    c   h   i   e   f   l   y       f   o   r       D   o   v   e
0024540    r   ,       v   e   r   i   f   i   e   s       t   h   a   t
0024560        t   h   e       l   a   s   e   r       i   s       o   n
0024600        a   n   d       t   h   e       p   o   l   y   g   o   n
0024620        i   s  \r   /   /       s   c   a   n   n   i   n   g    
0024640    (   S   O   S   /   E   O   S       a   r   e       s   e   e
0024660    i   n   g       t   h   i   n   g   s   )   ,       b   y    
0024700    m   a   k   i   n   g       s   u   r   e       t   h   a   t
0024720        t   h   e       l   o   w       f   o   u   r      \0 006
0024740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0024760   \0  \0 001 336 330  \0  \0  \0 030 035  \0 035 366 357 370 366
0025000    b   i   t   s       o   f       t   h   e       l   i   n   e
0025020   \r   /   /       c   o   u   n   t       (   i   n   d   i   c
0025040    a   t   e   d       i   n       s   t   a   t   u   s       w
0025060    o   r   d   )       a   r   e           c   h   a   n   g   i
0025100    n   g   .       T   h   e       c   o   d   e       r   e   a
0025120    d   s       t   h   e       l   i   n   e       c   o   u   n
0025140    t   ,       w   a   i   t   s  \r   /   /       a   p   p   r
0025160    o   x   i   m   a   t   e   l   y       t   h   e       t   i
0025200    m   e       n   e   e   d   e   d       f   o   r       f   o
0025220    u   r       s   c   a   n       l   i   n   e   s       (   g
0025240    e   n   e   r   o   u   s       m   a   r   g   i   n   )   ,
0025260        t   h   e   n       r   e   a   d   s       t   h   e  \r
0025300    /   /       c   o   u   n   t       a   g   a   i   n   ,    
0025320    r   e   p   o   r   t   i   n   g       a       p   r   o   b
0025340    l   e   m       i   f       t   h   e       v   a   l   u   e
0025360    s       a   r   e       e   q   u   a   l   .       T   h   i
0025400    s       t   e   s   t       h   a   p   p   e   n   s       o
0025420    n   l   y       w   h   e   n  \r   /   /       t   h   e    
0025440    r   u   n   n   i   n   g       p   a   r   a   m   e   t   e
0025460    r       i   s       f   a   l   s   e   .       T   h   e    
0025500    w   a   i   t       t   i   m   e       (   s   c   a   n   T
0025520    i   c   k   s   )       i   s       c   o   m   p   u   t   e
0025540    d       i   n       P   r   i   n   t   I   n   i   t   ,    
0025560    a   s   :  \r  \r   /   /       R   e   s   o   l   u   t   i
0025600    o   n   S       i   s       s   c   a   l   e   d       b   y
0025620        1   0       a   s       s   t   o   r   e   d   ,       P
0025640    a   p   e   r   S   p   e   e   d   I   n   c   h   e   s    
0025660    b   y       1   0   0   .       T   h   e       (   f   a   s
0025700    t       1   0       b   i   t   s       o   f   )  \r   /   /
0025720        t   h   e       R   T   C       t   i   c   k   s  \0 006
0025740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0025760   \0  \0 001 336 326  \0  \0  \0 026 035  \0 035 366 357 370 366
0026000        a   t       3   8       u   s   e   c   .       i   n   t
0026020    e   r   v   a   l   s   .       T   h   u   s       t   h   e
0026040        #       t   i   c   k   s       w   a   n   t   e   d    
0026060    f   o   r       f   o   u   r       l   i   n   e   s       i
0026100    s   :  \r  \r   /   /               (       4       l   i   n
0026120    e   s       x       1   0   ^   6       u   s   e   c   /   s
0026140    e   c       x           1   /   3   8       t   i   c   k   /
0026160    u   s   e   c   .   )       /       (   (   P   a   p   e   r
0026200    S   p   e   e   d   I   n   c   h   e   s   /   1   0   0    
0026220    x       R   e   s   o   l   u   t   i   o   n   S   /   1   0
0026240    )       l   i   n   e   s   /   s   e   c   )  \r  \r   /   /
0026260        o   r       a   b   o   u   t       (   1   0   6       x
0026300        1   0   ^   3   )       /       (   P   a   p   e   r   S
0026320    p   e   e   d   I   n   c   h   e   s   /   1   0   0       x
0026340        R   e   s   o   l   u   t   i   o   n   S   /   1   0   )
0026360                t   i   c   k   s       -   -       a   b   o   u
0026400    t       3   0       f   o   r       D   o   v   e   r   .  \r
0026420   \r   /   /       T   h   i   s       i   s       o   n   l   y
0026440        a   p   p   r   o   x   i   m   a   t   e       b   e   c
0026460    a   u   s   e       R   O   S   S   t   a   t   u   s       t
0026500    i   m   e   ,       a   b   o   u   t       1   0       t   i
0026520    c   k   s       f   o   r       D   o   v   e   r   ,       i
0026540    s       n   o   t       i   n   c   l   u   d   e   d   .  \r
0026560    /   /       P   a   r   t       o   f       t   h   e       r
0026600    e   a   s   o   n       f   o   r       w   a   i   t   i   n
0026620    g       f   o   u   r       l   i   n   e       t   i   m   e
0026640    s       i   s       t   o       a   c   c   o   u   n   t    
0026660    f   o   r       p   o   s   s   i   b   l   e       d   e   l
0026700    a   y   s       i   n       o   b   t   a   i   n   i   n   g
0026720   \r   /   /       t   h   e       c   o   r   r   e   c  \0 006
0026740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0026760   \0  \0 001 336 324  \0  \0  \0 024 035  \0 035 366 357 370 366
0027000    t       l   i   n   e       c   o   u   n   t       s   t   a
0027020    t   u   s   .       L   a   t   e   r   ,       t   h   i   s
0027040        m   e   t   h   o   d       c   a   n       b   e       u
0027060    s   e   d       t   o       c   h   e   c   k       f   o   r
0027100        c   o   r   r   e   c   t       p   o   l   y   g   o   n
0027120        s   p   e   e   d   .  \r   /   /       T   h   e       s
0027140    c   a   n   T   i   c   k   s       s   t   a   t   i   c    
0027160    i   s       s   h   i   f   t   e   d       l   e   f   t    
0027200    b   y       6       t   o       m   a   t   c   h       t   h
0027220    e       c   l   o   c   k       r   e   a   d   i   n   g    
0027240    f   u   n   c   t   i   o   n   '   s       r   e   s   u   l
0027260    t   s  \r  \r  \f   /   /       R   O   S   C   h   e   c   k
0027300        (   c   o   n   t   )  \r  \r   a   n   d       R   O   S
0027320    C   h   e   c   k   (   l   v   F   a   i   l   u   r   e   C
0027340    o   d   e   ,       n   P   a   g   e   s   A   l   r   e   a
0027360    d   y   P   r   i   n   t   e   d   ,       r   u   n   n   i
0027400    n   g   ,       l   v   X   p   o   r   t   M   o   d   e   l
0027420    )       =       v   a   l   o   f  \r   [  \r  \r   l   e   t
0027440        r   o   s   8       =       R   O   S   S   t   a   t   u
0027460    s   (   8   )  \r   l   e   t       r   o   s   9       =    
0027500    R   O   S   S   t   a   t   u   s   (   9   )  \r   l   e   t
0027520        l   o   c   a   l   M   o   d   e   ,       s   c   a   n
0027540    n   i   n   g       =       n   i   l   ,       t   r   u   e
0027560   \r   l   e   t       s   e   q   S   t   a   t   u   s   ,    
0027600    m   a   l   F   n   S   t   a   t   u   s       =       n   i
0027620    l   ,       n   i   l  \r  \r   s   e   q   S   t   a   t   u
0027640    s   ,       m   a   l   F   n   S   t   a   t   u   s   ,    
0027660    s   e   q   S   t   a   t   u   s       =       R   O   S   S
0027700    t   a   t   u   s   (   1   3   )   ,       s   e   q   S   t
0027720    a   t   u   s   &   #   3   7   7   ,       s   e   q  \0 006
0027740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0027760   \0  \0 001 336 322  \0  \0  \0 022 035  \0 035 366 357 370 366
0030000    S   t   a   t   u   s       r   s   h   i   f   t       8  \r
0030020   \r   l   e   t       r   e   a   d   y       =      \r  \t   R
0030040    O   S   S   t   a   t   u   s   (   1   2   )       g   e    
0030060    0       &       m   a   l   F   n   S   t   a   t   u   s    
0030100    e   q       0       /   /       &  \r  \t           /   /    
0030120    (   s   e   q   S   t   a   t   u   s       e   q       3    
0030140    %       /   /       3   =   s   t   a   n   d   b   y   ,    
0030160    4   =   p   r   i   n   t   i   n   g   ,       9   =   c   l
0030200    e   a   r   i   n   g  \r  \t                   /   /       (
0030220    r   u   n   n   i   n   g       &       (   s   e   q   S   t
0030240    a   t   u   s       e   q       4       %       s   e   q   S
0030260    t   a   t   u   s       e   q       9   )   )   )  \r   i   f
0030300        r   e   a   d   y       t   h   e   n  \r  \t   [  \r  \t
0030320    l   o   c   a   l   M   o   d   e       =       (   R   O   S
0030340    S   t   a   t   u   s   (   0   )   &   #   2   0   0   0   0
0030360    )       n   e       0  \r  \t   u   n   l   e   s   s       r
0030400    u   n   n   i   n   g       d   o  \r  \t           [  \r  \t
0030420            l   e   t       l   i   n   e   C   o   u   n   t    
0030440    =       R   O   S   S   t   a   t   u   s   (   7   )       &
0030460        #   1   7   0   0   0   0  \r  \t           l   e   t    
0030500    r   t   c       =       R   e   a   d   C   l   o   c   k   (
0030520    )  \r  \t           u   n   t   i   l       (   R   e   a   d
0030540    C   l   o   c   k   (   )   -   r   t   c   )       g   e    
0030560    s   c   a   n   T   i   c   k   s       l   o   o   p  \r  \t
0030600            s   c   a   n   n   i   n   g       =       (   R   O
0030620    S   S   t   a   t   u   s   (   7   )   &   #   1   7   0   0
0030640    0   0   )       n   e       l   i   n   e   C   o   u   n   t
0030660   \r  \t           ]  \r  \t   i   f       l   o   c   a   l   M
0030700    o   d   e       %       n   o   t       s   c   a   n   n   i
0030720    n   g       t   h   e   n       r   e   a   d   y      \0 006
0030740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0030760   \0  \0 001 336 320  \0  \0  \0 020 035  \0 035 366 357 370 366
0031000    =       f   a   l   s   e  \r  \t   ]  \r  \r   i   f       r
0031020    e   a   d   y       %       D   e   b   u   g       r   e   s
0031040    u   l   t   i   s       -   1  \r  \r   /   /       A   n   a
0031060    l   y   z   e       t   a   b   l   e   s       t   o       i
0031100    d   e   n   t   i   f   y       t   h   e       p   r   o   b
0031120    l   e   m       o   r       c   o   n   d   i   t   i   o   n
0031140        p   r   e   v   e   n   t   i   n   g       r   e   a   d
0031160    y  \r  \r   l   e   t       t   a   b       =       t   a   b
0031200    l   e       [       /   /       e   r   r   o   r       c   o
0031220    d   e   ,   ,       m   a   c   h   i   n   e       c   o   d
0031240    e  \r  \t   1   0       l   s   h   i   f   t       8       +
0031260        #   3   2       /   /       1   A       2   /   2       l
0031300    o   w       p   a   p   e   r   .  \r  \t   5   2       l   s
0031320    h   i   f   t       8       +       #   0   0       /   /    
0031340    0   0       X       m   i   s   s   e   d   .  \r  \t   5   3
0031360        l   s   h   i   f   t       8       +       #   0   4    
0031400    /   /       0   4       m   a   l   f   u   n   c   t   i   o
0031420    n       m   e   m   o   r   y       s   e   t   .  \r  \t   5
0031440    4       l   s   h   i   f   t       8       +       #   1   0
0031460        /   /       0   8       1   /   1       F   I   R   E   !
0031500    !   !   !   !   !   !   !  \r  \t   5   5       l   s   h   i
0031520    f   t       8       +       #   1   6       /   /       0   E
0031540        1   /   4       T   r   a   n   s   p   o   r   t       A
0031560    .  \r  \t   5   6       l   s   h   i   f   t       8       +
0031600        #   3   4       /   /       1   C       2   /   3       P
0031620    a   p   e   r       g   r   i   p   .  \r  \t   5   7       l
0031640    s   h   i   f   t       8       +       #   3   6       /   /
0031660        1   E       2   /   4       T   r   a   n   s   p   o   r
0031700    t       B   .  \r  \t   5   8       l   s   h   i   f   t    
0031720    8       +       #   5   0       /   /       2   8      \0 006
0031740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0031760   \0  \0 001 336 316  \0  \0  \0 016 035  \0 035 366 357 370 366
0032000    3   /   1       F   u   s   e   r       i   n   t   e   r   l
0032020    o   c   k       o   p   e   n   .  \r  \t   5   9       l   s
0032040    h   i   f   t       8       +       #   5   4       /   /    
0032060    2   C       3   /   3       B   o   t   t   o   m       t   r
0032100    a   y       i   n   t   e   r   l   o   c   k       o   p   e
0032120    n   .  \r  \t   6   0       l   s   h   i   f   t       8    
0032140    +       #   5   6       /   /       2   E       3   /   4    
0032160    T   r   a   n   s   p   o   r   t       C       j   a   m   .
0032200   \r  \t   6   1       l   s   h   i   f   t       8       +    
0032220    #   7   4       /   /       3   C       4   /   3       F   r
0032240    o   n   t       d   o   o   r       o   p   e   n   .  \r  \t
0032260    6   2       l   s   h   i   f   t       8       +       #   1
0032300    1   6   /   /       4   E       5   /   4       T   o   n   e
0032320    r       c   a   l   l   .  \r  \t   6   3       l   s   h   i
0032340    f   t       8       +       #   1   5   0   /   /       6   8
0032360        7   /   1       F   u   n   c   t   i   o   n   a   l    
0032400    i   n   t   e   r   l   o   c   k       o   p   e   n   .  \r
0032420   \t   0           ]  \r   /   /       C   o   d   e   s       g
0032440    e   n   e   r   a   t   e   d       e   l   s   e   w   h   e
0032460    r   e   :  \r   /   /  \t   7       -   -       n   o       s
0032500    p   e   c   i   f   i   c       m   a   l   f   u   n   c   t
0032520    i   o   n       d   e   t   e   c   t   e   d   ,       b   u
0032540    t       s   o   m   e   t   h   i   n   g       i   s       w
0032560    r   o   n   g  \r   /   /  \t   1   6       -   -       p   a
0032600    g   e       s   y   n   c       n   e   v   e   r       t   u
0032620    r   n   e   d       o   f   f  \r   /   /  \t   1   7       -
0032640    -       s   e   v   e   r   a   l       c   o   n   s   e   c
0032660    u   t   i   v   e       u   n   i   d   e   n   t   i   f   i
0032700    e   d       e   r   r   o   r   s  \r   /   /  \t   1   8    
0032720    -   -       O   r   b   i   t       t   i   m   e   d  \0 006
0032740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0032760   \0  \0 001 336 314  \0  \0  \0  \f 035  \0 035 366 357 370 366
0033000        o   u   t       -   -       p   a   g   e       s   y   n
0033020    c       n   e   v   e   r       a   r   r   i   v   e   d   ,
0033040        o   r       e   n   g   i   n   e       d   i   e   d    
0033060    o   r       g   o   t       b   e   h   i   n   d  \r   /   /
0033100   \t   1   9       -   -       A   l   t   o       c   o   d   e
0033120        t   i   m   e   d       o   u   t       -   -       s   a
0033140    m   e       s   y   m   p   t   o   m   s  \r   /   /  \t   3
0033160    0   0       -   -       O   r   b   i   t       g   o   t    
0033200    b   e   h   i   n   d   ,       b   u   t       p   a   g   e
0033220        t   e   r   m   i   n   a   t   e   d       n   o   r   m
0033240    a   l   l   y  \r   /   /  \t   3   0   1       -   -       O
0033260    r   b   i   t       g   o   t       b   e   h   i   n   d   ,
0033300        h   a   d       t   o       q   u   i   t       e   a   r
0033320    l   y  \r   /   /  \t   3   1   0       -   -       L   e   f
0033340    t       o   v   e   r       t   a   b   l   e       g   o   t
0033360        t   o   o       l   a   r   g   e   .       P   l   e   a
0033400    s   e       r   e   p   o   r   t       t   o       f   i   x
0033420    e   r   .  \r  \f   /   /       R   O   S   C   h   e   c   k
0033440        (   c   o   n   t   )  \r  \r   /   /       C   o   n   d
0033460    i   t   i   o   n       i   n   t   e   r   p   r   e   t   e
0033500    r  \r  \r   l   e   t       c   o   d   e       =       0  \r
0033520   \r  \t  \t   t   e   s   t       r   o   s   S   y   n   c   E
0033540    r   r   o   r       t   h   e   n       c   o   d   e       =
0033560        5   1  \r  \t  \t       o   r       t   e   s   t       R
0033600    O   S   S   t   a   t   u   s   (   1   2   )       <       0
0033620        t   h   e   n       c   o   d   e       =       5   0  \r
0033640   \t  \t       o   r       t   e   s   t       m   a   l   F   n
0033660    S   t   a   t   u   s       e   q       0       t   h   e   n
0033700        c   o   d   e       =       s   e   l   e   c   t   o   n
0033720        s   e   q   S   t   a   t   u   s       i   n   t  \0 006
0033740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0033760   \0  \0 001 336 312  \0  \0  \0  \n 035  \0 035 366 357 370 366
0034000    o  \r  \t  \t  \t   [       c   a   s   e       1   :       c
0034020    a   s   e       2   :       2   ;       c   a   s   e       9
0034040    :       c   a   s   e       1   0   :       3   ;       c   a
0034060    s   e       4   :       8   ;       c   a   s   e       5    
0034100    t   o       8   :       9   ;       d   e   f   a   u   l   t
0034120    :       0       ]  \r  \t  \t       o   r       t   e   s   t
0034140        #   2   0   0       l   e       m   a   l   F   n   S   t
0034160    a   t   u   s       &       m   a   l   F   n   S   t   a   t
0034200    u   s       l   e       #   2   4   0       t   h   e   n    
0034220    c   o   d   e       =       6   4  \r                        
0034240                                                /   /       8   0
0034260    -   A   0       T       e   v   e   n   t   s       m   i   s
0034300    s   e   d  \r  \t  \t       o   r       w   h   i   l   e    
0034320    @   t   a   b       d   o  \r  \t  \t  \t   [  \r  \t  \t  \t
0034340    l   e   t       e   n   t   r   y       =       @   t   a   b
0034360   \r  \t  \t  \t   i   f       m   a   l   F   n   S   t   a   t
0034400    u   s       e   q       (   e   n   t   r   y   &   #   3   7
0034420    7   )       t   h   e   n       [       c   o   d   e       =
0034440        e   n   t   r   y       r   s   h   i   f   t       8   ;
0034460        b   r   e   a   k       ]  \r  \t  \t  \t   t   a   b    
0034500    =       t   a   b       +       1  \r  \t  \t  \t   ]  \r  \r
0034520    /   /       N   o       o   t   h   e   r       e   x   p   l
0034540    i   c   i   t       p   r   o   b   l   e   m   s   ,       r
0034560    e   p   o   r   t       l   o   c   a   l       m   o   d   e
0034600    ,       o   r       l   a   s   e   r       o   f   f   ,    
0034620    o   r       u   n   k   n   o   w   n       p   r   o   b   l
0034640    e   m  \r   u   n   l   e   s   s       c   o   d   e       d
0034660    o       c   o   d   e       =       l   o   c   a   l   M   o
0034700    d   e   ?       1   1   ,       s   c   a   n   n   i   n   g
0034720        e   q       0   ?       1   3   ,       7  \r   @  \0 006
0034740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0034760   \0  \0 001 336 310  \0  \0  \0  \b 035  \0 035 366 357 370 366
0035000    l   v   F   a   i   l   u   r   e   C   o   d   e       =    
0035020    c   o   d   e  \r       l   e   t       b   a   c   k   u   p
0035040        =       c   o   d   e       l   e       m   a   x   M   a
0035060    n   u   a   l   ?       0   ,       1  \r   r   e   s   u   l
0035100    t   i   s       M   a   x   (   n   P   a   g   e   s   A   l
0035120    r   e   a   d   y   P   r   i   n   t   e   d   ,       n   P
0035140    a   g   e   s   P   r   i   n   t   e   d   -   b   a   c   k
0035160    u   p   )  \r   ]  \r  \f   /   /       -   -   -   -   -   -
0035200    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0035240    -   -   -  \r   /   /       H   a   r   d   w   a   r   e    
0035260    s   e   t   u   p       f   o   r       v   a   r   i   o   u
0035300    s       d   e   v   i   c   e   s   .  \r   /   /       -   -
0035320    -   -   -   -   -   -   -   -   -   -   -   -   -   -   -   -
*
0035360    -   -   -   -   -   -   -  \r  \r   a   n   d       I   n   i
0035400    t   i   a   l   i   z   e   H   a   r   d   w   a   r   e   (
0035420    s   t   o   p   )       b   e  \r   [  \t   i   f       D   e
0035440    b   u   g       r   e   t   u   r   n  \r  \t   I   n   i   t
0035460    R   a   m   (   0   )  \t  \t  \t   /   /   R   e   s   e   t
0035500        a   l   l       R   A   M       t   a   s   k   s   ,    
0035520    r   e   s   t   a   r   t       T   r   i   d   e   n   t    
0035540    i   f       n   e   c   e   s   s   a   r   y  \r  \r  \t   D
0035560    o   F   u   n   c   (   f   C   o   n   t   r   o   l   ,    
0035600    1   )  \t  \t   /   /   R   e   s   e   t       O   r   b   i
0035620    t  \r  \r  \t   r   o   s   C   o   u   n   t   ,       r   o
0035640    s   S   y   n   c   E   r   r   o   r       =       0   ,    
0035660    f   a   l   s   e  \r  \t   R   O   S   C   o   m   m   a   n
0035700    d   (   #   6   0   0   0   0   ,       f   a   l   s   e   )
0035720   \t  \t   /   /       R   e   s   e   t       c   o   m  \0 006
0035740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0035760   \0  \0 001 336 306  \0  \0  \0 006 035  \0 035 366 357 370 366
0036000    m   a   n   d       c   o   u   n   t  \r  \t   R   O   S   C
0036020    o   m   m   a   n   d   (   #   6   3   0   5   0   )  \t  \t
0036040   \t   /   /       R   e   a   d       o   u   t       m   a   l
0036060    f   u   n   c   t   i   o   n       d   a   t   a   ,       c
0036100    l   e   a   r       m   a   l   f   .  \r  \t   /   /       R
0036120    O   S   C   o   m   m   a   n   d   (   #   6   3   2   1   7
0036140    )  \t  \t  \t   /   /       S   e   t   P   a   g   e   S   y
0036160    n   c   E   v   e   n   t       t   o       2   5  \r  \t   i
0036200    f       s   t   o   p       t   h   e   n       R   O   S   C
0036220    o   m   m   a   n   d   (   #   6   3   0   4   0   )  \t   /
0036240    /       S   t   o   p       n   o   w   .  \r   ]  \r  \r   a
0036260    n   d       B   l   a   s   t   (   )       b   e       I   n
0036300    i   t   i   a   l   i   z   e   H   a   r   d   w   a   r   e
0036320    (   f   a   l   s   e   )  \r  \r   a   n   d       R   O   S
0036340    C   o   m   m   a   n   d   (   x   ,       s   y   n   c   ;
0036360        n   u   m   a   r   g   s       n   a   )       b   e  \r
0036400   \r  \t   [  \r  \t   i   f       n   a   <   2       t   h   e
0036420    n       s   y   n   c       =       4  \r  \t   l   e   t    
0036440    g   o   o   d       =       t   r   u   e  \r  \t   f   o   r
0036460        i       =       1       t   o       s   y   n   c   ?    
0036500    s   y   n   c   ,       1       d   o  \r  \t           [  \r
0036520   \t           D   o   F   u   n   c   (   f   R   O   S   C   o
0036540    m   m   a   n   d   ,       x   )  \r  \t           u   n   l
0036560    e   s   s       s   y   n   c       b   r   e   a   k  \r  \t
0036600            l   e   t       t   i   m       =       @   R   T   C
0036620    ;       g   o   o   d       =       f   a   l   s   e  \r  \t
0036640            w   h   i   l   e       (   @   R   T   C   -   t   i
0036660    m   )       l   e       2   5       d   o       i   f       (
0036700    r   o   s   C   o   u   n   t   &   #   3   7   7   )       e
0036720    q       (   R   O   S   S   t   a   t   u   s   (   1  \0 006
0036740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0036760   \0  \0 001 336 304  \0  \0  \0 004 035  \0 035 366 357 370 366
0037000    2   )   &   #   3   7   7   )       t   h   e   n  \r  \t  \t
0037020    [       g   o   o   d       =       t   r   u   e   ;       b
0037040    r   e   a   k       ]  \r  \t           i   f       g   o   o
0037060    d       b   r   e   a   k  \r  \t           R   O   S   C   o
0037100    m   m   a   n   d   (   #   6   0   0   0   0   ,       f   a
0037120    l   s   e   )  \r  \t           r   o   s   C   o   u   n   t
0037140    ,       r   o   s   S   y   n   c   E   r   r   o   r       =
0037160        0   ,       f   a   l   s   e  \r  \t           ]  \r  \t
0037200    u   n   l   e   s   s       g   o   o   d       d   o       r
0037220    o   s   S   y   n   c   E   r   r   o   r       =       t   r
0037240    u   e  \r  \t   r   o   s   C   o   u   n   t       =       r
0037260    o   s   C   o   u   n   t   +   1  \r  \t   ]  \r   /   /    
0037300    F   e   b   r   u   a   r   y       1   6   ,       1   9   7
0037320    9           1   0   :   1   2       A   M       d   e   r   i
0037340    v   e   d       f   r   o   m       S   p   r   u   c   e   p
0037360    r   i   n   t       v   8  \r   /   /       A   p   r   i   l
0037400        2   7   ,       1   9   7   9           3   :   5   1    
0037420    P   M       p   u   t       i   n       s   p   r   u   c   e
0037440        1   0       s   t   u   f   f       -       s   t   i   l
0037460    l       n   e   e   d   s       w   o   r   k  \r   /   /    
0037500    M   a   y       1   7   ,       1   9   7   9           4   :
0037520    4   2       P   M       r   e   p   a   i   r       e   r   r
0037540    o   r   s  \r   /   /       M   a   y       2   3   ,       1
0037560    9   7   9           2   :   4   1       P   M   ,       f   i
0037600    x       i   n   t   e   r   f   a   c   e       t   o       m
0037620    e   a   s   u   r   e       s   t   u   f   f  \r   /   /    
0037640    F   e   b   r   u   a   r   y       2   ,       1   9   8   1
0037660            4   :   2   7       P   M   ,           d   o   n   '
0037700    t       s   w   a   t       i   f       b   a   d       b   a
0037720    n   d       e   n   t   r   y       p   r   o   b   a  \0 006
0037740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0037760   \0  \0 001 336 302  \0  \0  \0 002 035  \0 035 366 357 370 366
0040000    b   l   y       d   u   e       t   o       l   e   f   t   o
0040020    v   e   r       o   v   e   r   f   l   o   w  \r  \0  \0  \0
0040040   \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0
*
0040720   \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0  \0 006
0040740  020   @ 377   v 037  \0  \a  \0 035  \0  \0   (      \0  \0   @
0040760   \0  \0  \0 035 300  \0  \0  \0  \0 035  \0 035 366 357 370 366
0041000