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