$ od -c -N 50000 [_CD6_]<sil>GobSources.dm!1>boardlm.bcpl
0000000    /   /   F       U       N       C       T       I       O    
0000020    N       S           F       O       R           D   1        
0000040    L       O       G       I       C           A       N       D
0000060            M       E       M       O       R       Y            
0000100    B       O       A       R       D       S  \r   g   e   t    
0000120    "   s   y   s   d   e   f   s   .   d   "  \r   g   e   t    
0000140    "   g   o   b   .   d   e   f   s   "  \r  \r   e   x   t   e
0000160    r   n   a   l  \r   [  \r   B   o   a   r   d   L  \r   B   o
0000200    a   r   d   M  \r   ]  \r  \r  \r   l   e   t       B   o   a
0000220    r   d   L   (   )       b   e  \r   [  \r   G   e   t   S   V
0000240    C   o   o   r   d   s   =   G   e   t   S   V   C   o   o   r
0000260    d   s   L  \r   G   e   t   S   V   i   n   d   e   x   =   G
0000300    e   t   S   V   i   n   d   e   x   L  \r   S   V   o   l   t
0000320    R   e   q       =       t   a   b   l   e       [       3   3
0000340    6   ;       1   4   4   ;       1   4   4       ;       1   4
0000360    4   ;       1   4   4       ]      \r   N   e   t   H   a   s
0000400    S   V   o   l   t       =       N   e   t   H   a   s   S   v
0000420    o   l   t   L  \r   L   e   g   a   l   B   l   o   c       =
0000440        L   e   g   a   l   B   l   o   c   L  \r   C   h   i   p
0000460    t   o   P   i   n   P   o   s       =       C   h   i   p   t
0000500    o   P   i   n   P   o   s   T  \r   G   e   t   E   p   i   n
0000520    C   o   o   r   d   s       =       G   e   t   E   p   i   n
0000540    C   o   o   r   d   s   L  \r   G   e   t   C   p   i   n   C
0000560    o   o   r   d   s       =       G   e   t   C   p   i   n   C
0000600    o   o   r   d   s   L  \r   G   e   t   I   C   c   o   o   r
0000620    d   s       =       G   e   t   I   C   c   o   o   r   d   s
0000640    L  \r   A   d   d   P   o   t   e   n   t   i   a   l   T   e
0000660    r   m   s       =       A   d   d   P   o   t   e   n   t   i
0000700    a   l   T   e   r   m   s   L  \r   F   i   n   d   B   e   s
0000720    t   T   e   r   m       =       F   i   n   d   B   e   s   t
0000740    T   e   r   m   L  \r   S   e   t   U   p   T   e   r   m   s
0000760        =       S   e   t   U   p   T   e   r   m   s   L  \r   G
0001000    e   t   B   o   a   r   d   P   i   n   s       =       G   e
0001020    t   B   o   a   r   d   P   i   n   s   L  \r   m   a   x   n
0001040        =       6   3       /   /   b   o   a   r   d       l   o
0001060    c   a   t   i   o   n   s       1   -   6   3  \r   m   a   x
0001100    a   l   p   h       =       $   l   -   $   a  \r   T   a   b
0001120    l   e   Z   e   r   o   S   t   r   i   n   g           =    
0001140    "   *   n   Z   e   r   o       T   a   b   l   e       A   t
0001160        C   1   8   8   :       <   0   >       {   2   2   ,   0
0001200    }   *   n   Z   e   r   o       T   a   b   l   e       A   t
0001220        E   6   :       <   0   >       {   2   2   ,   5   2   5
0001240    }   *   n   Z   e   r   o       T   a   b   l   e       A   t
0001260        E   1   8   7   :       <   0   >       {   4   7   7   ,
0001300    5   2   5   }   *   n   Z   e   r   o       T   a   b   l   e
0001320        A   t       C   5   :       <   0   >       {   4   7   7
0001340    ,   0   }   "  \r  \r   ]  \r  \r   a   n   d       B   o   a
0001360    r   d   M   (   )       b   e  \r   [  \r   G   e   t   S   V
0001400    C   o   o   r   d   s   =   G   e   t   S   V   C   o   o   r
0001420    d   s   M  \r   G   e   t   S   V   i   n   d   e   x   =   G
0001440    e   t   S   V   i   n   d   e   x   M  \r   S   V   o   l   t
0001460    R   e   q       =       t   a   b   l   e       [       3   3
0001500    6   ;       0   ;       0       ;       0   ;       0       ]
0001520       \r   N   e   t   H   a   s   S   V   o   l   t       =    
0001540    N   e   t   H   a   s   S   v   o   l   t   M  \r   L   e   g
0001560    a   l   B   l   o   c       =       L   e   g   a   l   B   l
0001600    o   c   M  \r   C   h   i   p   t   o   P   i   n   P   o   s
0001620        =       C   h   i   p   t   o   P   i   n   P   o   s   T
0001640   \r   G   e   t   E   p   i   n   C   o   o   r   d   s       =
0001660        G   e   t   E   p   i   n   C   o   o   r   d   s   L  \r
0001700    G   e   t   C   p   i   n   C   o   o   r   d   s       =    
0001720    G   e   t   C   p   i   n   C   o   o   r   d   s   L  \r   G
0001740    e   t   I   C   c   o   o   r   d   s       =       G   e   t
0001760    I   C   c   o   o   r   d   s   M  \r   A   d   d   P   o   t
0002000    e   n   t   i   a   l   T   e   r   m   s       =       A   d
0002020    d   P   o   t   e   n   t   i   a   l   T   e   r   m   s   M
0002040   \r   F   i   n   d   B   e   s   t   T   e   r   m       =    
0002060    F   i   n   d   B   e   s   t   T   e   r   m   L  \r   S   e
0002100    t   U   p   T   e   r   m   s       =       S   e   t   U   p
0002120    T   e   r   m   s   M  \r   G   e   t   B   o   a   r   d   P
0002140    i   n   s       =       G   e   t   B   o   a   r   d   P   i
0002160    n   s   M  \r   m   a   x   n       =       4   2       /   /
0002200    b   o   a   r   d       l   o   c   a   t   i   o   n   s    
0002220    1   -   2   6  \r   m   a   x   a   l   p   h       =       $
0002240    l   -   $   a  \r   T   a   b   l   e   Z   e   r   o   S   t
0002260    r   i   n   g           =       "   *   n   Z   e   r   o    
0002300    T   a   b   l   e       A   t       C   1   8   8   :       <
0002320    0   >       {   2   2   ,   0   }   *   n   Z   e   r   o    
0002340    T   a   b   l   e       A   t       E   6   :       <   0   >
0002360        {   2   2   ,   5   2   5   }   *   n   Z   e   r   o    
0002400    T   a   b   l   e       A   t       E   1   8   7   :       <
0002420    0   >       {   4   7   7   ,   5   2   5   }   *   n   Z   e
0002440    r   o       T   a   b   l   e       A   t       C   5   :    
0002460    <   0   >       {   4   7   7   ,   0   }   "  \r   ]  \r  \r
0002500    a   n   d       N   e   t   H   a   s   S   v   o   l   t   L
0002520    (   n   e   t   n   a   m   e   )       =       v   a   l   o
0002540    f  \r   [ 032   (   1   2   7   0   )   \   f   1  \r   i   f
0002560        S   t   E   q   (   "   V   C   C   "   ,   n   e   t   n
0002600    a   m   e   )       t   h   e   n       r   e   s   u   l   t
0002620    i   s       $   F  \r   i   f       S   t   E   q   (   "   G
0002640    N   D   "   ,   n   e   t   n   a   m   e   )       t   h   e
0002660    n       r   e   s   u   l   t   i   s       $   G  \r   i   f
0002700        S   t   E   q   (   "   V   E   E   "   ,   n   e   t   n
0002720    a   m   e   )       t   h   e   n       r   e   s   u   l   t
0002740    i   s       $   M  \r   i   f       S   t   E   q   (   "   V
0002760    T   T   "   ,   n   e   t   n   a   m   e   )       t   h   e
0003000    n       r   e   s   u   l   t   i   s       $   T  \r   i   f
0003020        S   t   E   q   (   "   V   D   D   "   ,   n   e   t   n
0003040    a   m   e   )       t   h   e   n       r   e   s   u   l   t
0003060    i   s       $   D  \r   r   e   s   u   l   t   i   s       0
0003100  032   l   4   2   6   9   \   f   1  \r   ]  \r  \r   a   n   d
0003120        G   e   t   S   V   i   n   d   e   x   L   (   S   V   T
0003140    y   p   e   ,   b   l   ,   p   i   n   )   =   v   a   l   o
0003160    f  \r   [ 032   \   f   1  \r   l   e   t       a   l   p   h
0003200        =       b   l       r   e   m       2   6  \r   l   e   t
0003220        n   u   m       =       b   l   /   2   6  \r   s   w   i
0003240    t   c   h   o   n       S   V   T   y   p   e       i   n   t
0003260    o  \r   [ 032   l   4   2   6   9   \   f   1  \r   c   a   s
0003300    e       $   G   :  \r   [ 032   l   5   5   3   9   \   f   1
0003320   \r   i   f       (   n   u   m       g   e       1   )       &
0003340        (   n   u   m       l   e       2   4   )       r   e   s
0003360    u   l   t   i   s       a   l   p   h   *   2   4       +    
0003400    n   u   m  \r   i   f       (   n   u   m       g   e       4
0003420    1   )       &       (   n   u   m       l   e       5   2   )
0003440        r   e   s   u   l   t   i   s       a   l   p   h   *   2
0003460    4   +   (   n   u   m       -   4   0   )   *   2   -   1  \r
0003500    i   f       (   n   u   m       g   e       6   0   )       &
0003520        (   n   u   m       l   e       6   3   )       r   e   s
0003540    u   l   t   i   s       a   l   p   h   *   4       +   (   n
0003560    u   m   -   5   9   )   +       2   8   8  \r   r   e   s   u
0003600    l   t   i   s       0 032   l   6   8   0   9   \   f   1  \r
0003620    ]  \r  \r   c   a   s   e       $   T   :  \r   c   a   s   e
0003640        $   D   :  \r   c   a   s   e       $   F   :  \r   c   a
0003660    s   e       $   M   :  \r   [ 032   l   5   5   3   9   \   f
0003700    1  \r   i   f       (   n   u   m       g   e       1   )    
0003720    &       (   n   u   m       l   e       2   4   )       r   e
0003740    s   u   l   t   i   s       a   l   p   h   *   1   2       +
0003760    (   n   u   m   +   1   )   /   2  \r   i   f       (   n   u
0004000    m       g   e       4   1   )       &       (   n   u   m    
0004020    l   e       5   2   )       r   e   s   u   l   t   i   s    
0004040    a   l   p   h   *   1   2       +       n   u   m       -   4
0004060    0  \r   i   f       (   n   u   m       g   e       6   0   )
0004100        &       (   n   u   m       l   e       6   3   )       r
0004120    e   s   u   l   t   i   s       a   l   p   h   *   1   2   +
0004140    (   n   u   m   -   6   0   )   *   3   +   2  \r   r   e   s
0004160    u   l   t   i   s       0 032   l   6   8   0   9   \   f   1
0004200   \r   ]  \r  \r   d   e   f   a   u   l   t   :       r   e   s
0004220    u   l   t   i   s       0 032   l   5   5   3   9   \   f   1
0004240   \r   ] 032   l   4   2   6   9   \   f   1  \r   ]  \r  \r   a
0004260    n   d       G   e   t   S   V   C   o   o   r   d   s   L   (
0004300    S   V   T   y   p   e   ,   S   V   I   n   d   e   x   ,   c
0004320    v   )       b   e  \r   [ 032   \   f   1  \r   l   e   t    
0004340    a   l   p   h   =   (   S   V   I   n   d   e   x   -   1   )
0004360    /   1   2  \r   l   e   t       n   u   m   =   (   (   S   V
0004400    I   n   d   e   x   -   1   )       r   e   m       1   2    
0004420    )       +       4   1  \r   s   w   i   t   c   h   o   n    
0004440    S   V   T   y   p   e       i   n   t   o  \r   [ 032   l   4
0004460    2   6   9   \   f   1  \r   c   a   s   e       $   G   :    
0004500    t   e   s   t       S   V   I   n   d   e   x       l   e    
0004520    2   8   8  \r   i   f   s   o  \r   [ 032   l   5   5   3   9
0004540    \   f   1  \r   a   l   p   h   =   (   S   V   I   n   d   e
0004560    x   -   1   )   /   2   4  \r   n   u   m   =   (   (   S   V
0004600    I   n   d   e   x   -   1   )       r   e   m       2   4   )
0004620    +   1  \r   G   e   t   I   C   c   o   o   r   d   s   L   (
0004640    a   l   p   h   ,   n   u   m   ,   1   6   ,   c   v   )  \r
0004660    r   e   t   u   r   n 032   l   6   8   0   9   \   f   1  \r
0004700    ]  \r   i   f   n   o   t  \r   [ 032   l   5   5   3   9   \
0004720    f   1  \r   S   V   I   n   d   e   x   =   S   V   I   n   d
0004740    e   x   -   2   8   8  \r   a   l   p   h   =   (   S   V   I
0004760    n   d   e   x   -   1   )   /   4  \r   n   u   m   =   (   (
0005000    S   V   I   n   d   e   x   -   1   )       r   e   m       4
0005020    )       +   6   0  \r   G   e   t   I   C   c   o   o   r   d
0005040    s   L   (   a   l   p   h   ,   n   u   m   ,   2   4   ,   c
0005060    v   )  \r   r   e   t   u   r   n 032   l   6   8   0   9   \
0005100    f   1  \r   ]  \r  \r   c   a   s   e       $   T   :  \r   [
0005120  032   l   5   5   3   9   \   f   1  \r   G   e   t   I   C   c
0005140    o   o   r   d   s   L   (   a   l   p   h   ,   n   u   m   ,
0005160    1   ,   c   v   )  \r   r   e   t   u   r   n 032   l   6   8
0005200    0   9   \   f   1  \r   ] 032   l   5   5   3   9   \   f   1
0005220   \r  \r   c   a   s   e       $   D   :  \r   [ 032   l   5   5
0005240    3   9   \   f   1  \r   G   e   t   I   C   c   o   o   r   d
0005260    s   L   (   a   l   p   h   ,   n   u   m   ,   8   ,   c   v
0005300    )  \r   c   v   !   0   =   c   v   !   0       -   4  \r   t
0005320    e   s   t       (   a   l   p   h       r   e   m       3   )
0005340        e   q       0      \r   i   f   s   o       c   v   !   0
0005360    =   c   v   !   0       -       4      \r   i   f   n   o   t
0005400        c   v   !   1   =   c   v   !   1       -   1   8  \r   r
0005420    e   t   u   r   n 032   l   6   8   0   9   \   f   1  \r   ]
0005440  032   l   5   5   3   9   \   f   1  \r  \r   c   a   s   e    
0005460    $   F   :  \r   [ 032   l   5   5   3   9   \   f   1  \r   G
0005500    e   t   I   C   c   o   o   r   d   s   L   (   a   l   p   h
0005520    ,   n   u   m   ,   8   ,   c   v   )  \r   c   v   !   0   =
0005540    c   v   !   0       -   4  \r   i   f       (   a   l   p   h
0005560        r   e   m       3   )       n   e       0       t   h   e
0005600    n       c   v   !   1   =   c   v   !   1       +   1   8  \r
0005620    r   e   t   u   r   n 032   l   6   8   0   9   \   f   1  \r
0005640    ] 032   l   5   5   3   9   \   f   1  \r  \r   c   a   s   e
0005660        $   M   :  \r   [ 032   l   5   5   3   9   \   f   1  \r
0005700    G   e   t   I   C   c   o   o   r   d   s   L   (   a   l   p
0005720    h   ,   n   u   m   ,   8   ,   c   v   )  \r   s   w   i   t
0005740    c   h   o   n       (   a   l   p   h       r   e   m       3
0005760    )       i   n   t   o  \r   [ 032   l   6   8   0   9   \   f
0006000    1  \r  \r   c   a   s   e       0   :  \r   [ 032   l   8   0
0006020    7   9   \   f   1  \r   c   v   !   0   =   c   v   !   0    
0006040    +       2  \r   c   v   !   1   =   c   v   !   1       -   1
0006060    2  \r   r   e   t   u   r   n 032   l   9   3   4   9   \   f
0006100    1  \r   ] 032   l   8   0   7   9   \   f   1  \r  \r   c   a
0006120    s   e       1   :  \r   [ 032   l   8   0   7   9   \   f   1
0006140   \r   c   v   !   0   =   c   v   !   0       +       1   4  \r
0006160    c   v   !   1   =   c   v   !   1       +       1   2  \r   r
0006200    e   t   u   r   n 032   l   9   3   4   9   \   f   1  \r   ]
0006220  032   l   8   0   7   9   \   f   1  \r  \r   c   a   s   e    
0006240    2   :  \r   [ 032   l   8   0   7   9   \   f   1  \r   c   v
0006260    !   0   =   c   v   !   0       -       1   8  \r   c   v   !
0006300    1   =   c   v   !   1       -   1   2  \r   r   e   t   u   r
0006320    n 032   l   9   3   4   9   \   f   1  \r   ] 032   l   8   0
0006340    7   9   \   f   1  \r   ] 032   l   6   8   0   9   \   f   1
0006360   \r   ] 032   l   5   5   3   9   \   f   1  \r   ] 032   l   4
0006400    2   6   9   \   f   1  \r   ]      \r  \r   a   n   d       G
0006420    e   t   I   C   c   o   o   r   d   s   L   (   a   l   p   h
0006440    ,   n   u   m   ,   p   i   n   ,   c   v   )       b   e  \r
0006460    [ 032   \   f   1  \r   i   f       (   n   u   m       g   r
0006500        0   )   &   (   n   u   m       l   e       2   4   )    
0006520    d   o  \r   [ 032   l   4   2   6   8   \   f   1  \r   c   v
0006540    !   0       =       3   7       +       a   l   p   h   *   3
0006560    6       +       (   a   l   p   h       g   e       (   $   d
0006600    -   $   a   )   ?   4   ,   0   )       +       (   a   l   p
0006620    h       g   e       (   $   g   -   $   a   )   ?   2   7   ,
0006640    0   )       +       (   a   l   p   h       g   e       (   $
0006660    j   -   $   a   )   ?   4   ,   0   )       -       (   p   i
0006700    n       g   r       8   ?   (   1   6   -   p   i   n   )   ,
0006720    (   p   i   n   -   1   )   )   *   4  \r  \r   c   v   !   1
0006740        =       1   6       +       (   p   i   n       g   r    
0006760    8   ?   1   2   ,   0   )       +       (   n   u   m   -   1
0007000    )   *   1   8       +       (   n   u   m   /   2   )   *   6
0007020   \r   r   e   t   u   r   n 032   l   5   5   3   8   \   f   1
0007040   \r   ]  \r  \r   i   f       (   4   1       l   e       n   u
0007060    m   )   &   (   n   u   m       l   e       5   2   )   &   (
0007100    p   i   n       l   e       8   )       d   o  \r   [ 032   l
0007120    4   2   6   8   \   f   1  \r   n   u   m       =       n   u
0007140    m   -   4   0  \r   c   v   !   0       =       3   7       +
0007160        a   l   p   h   *   3   6       +       (   a   l   p   h
0007200        g   e       (   $   d   -   $   a   )   ?   4   ,   0   )
0007220        +       (   a   l   p   h       g   e       (   $   g   -
0007240    $   a   )   ?   2   7   ,   0   )       +       (   a   l   p
0007260    h       g   e       (   $   j   -   $   a   )   ?   4   ,   0
0007300    )       -       (   p   i   n   -   1   )   *   4  \r  \r   c
0007320    v   !   1       =       3   4       +       (   n   u   m   -
0007340    1   )   *   4   2  \r   r   e   t   u   r   n 032   l   5   5
0007360    3   8   \   f   1  \r   ]  \r  \r   i   f       (   6   0    
0007400    l   e       n   u   m   )   &   (   n   u   m       l   e    
0007420    6   3   )       d   o  \r   [ 032   l   4   2   6   8   \   f
0007440    1  \r   n   u   m       =       n   u   m   -   6   0  \r   l
0007460    e   t       d   e   l       =       0  \r   s   w   i   t   c
0007500    h   o   n       (   a   l   p   h   +   $   a   )       i   n
0007520    t   o  \r   [ 032   l   5   5   3   8   \   f   1  \r   c   a
0007540    s   e       $   l   :       d   e   l       =       d   e   l
0007560    +   5   2  \r   c   a   s   e       $   k   :       d   e   l
0007600        =       d   e   l   +   6   0  \r   c   a   s   e       $
0007620    i   :       d   e   l       =       d   e   l   +   5   2  \r
0007640    c   a   s   e       $   h   :       d   e   l       =       d
0007660    e   l   +   8   3  \r   c   a   s   e       $   f   :       d
0007700    e   l       =       d   e   l   +   5   2  \r   c   a   s   e
0007720        $   e   :       d   e   l       =       d   e   l   +   6
0007740    0  \r   c   a   s   e       $   c   :       d   e   l       =
0007760        d   e   l   +   5   2  \r   c   a   s   e       $   b   :
0010000       \r   c   v   !   0       =       5   5       +       d   e
0010020    l       -       (   p   i   n       g   r       1   2   ?   (
0010040    2   4   -   p   i   n   )   ,   (   p   i   n   -   1   )   )
0010060    *   4  \r   c   v   !   1       =       6   4       +       n
0010100    u   m   *   1   2   6       +   (   p   i   n       g   r    
0010120    1   2   ?   2   4   ,   0   )  \r   r   e   t   u   r   n 032
0010140    l   6   8   0   8   \   f   1  \r   ]  \r  \r 032   l   5   5
0010160    3   8   \   f   1  \r   ]  \r  \r   l   e   t       v       =
0010200        v   e   c       5   0   ;       v   !   0       =       0
0010220        /   /   b   a   d       b   o   a   r   d       l   o   c
0010240    a   t   i   o   n  \r   A   p   p   e   n   d   S   (   "   *
0010260    n   B   a   d       B   o   a   r   d   L   o   c   ,       P
0010300    i   n   :       "   ,   v   )  \r   A   p   p   e   n   d   B
0010320    L   (   2   6   *   n   u   m   +   a   l   p   h   ,       v
0010340    )  \r   A   p   p   e   n   d   S   (   "   ,       "   ,   v
0010360    )  \r   A   p   p   e   n   d   N   (   p   i   n   ,   v   )
0010400   \r   W   S   S   (   E   r   F   i   l   e   ,   v   )  \r   c
0010420    v   !   0   =   0  \r   c   v   !   1   =   0  \r         032
0010440    l   4   2   6   8   \   f   1  \r   ]  \r  \r  \r   a   n   d
0010460        A   d   d   P   o   t   e   n   t   i   a   l   T   e   r
0010500    m   s   L   (   )       b   e       /   /   m   a   k   e    
0010520    i   c       d   e   s   c   r   i   p   t   o   r   s       f
0010540    o   r       a   l   l       p   o   s   s   i   b   l   e    
0010560    t   e   r   m   i   n   a   t   o   r  \r   /   /   p   o   s
0010600    i   t   i   o   n   s       w   h   i   c   h       w   e   r
0010620    e       n   o   t       p   r   e   d   e   f   i   n   e   d
0010640        b   y       t   h   e       u   s   e   r  \r   [ 032   \
0010660    f   1  \r   f   o   r       i       =       4   1       t   o
0010700        5   2       d   o       f   o   r       j       =       0
0010720        t   o       m   a   x   a   l   p   h       d   o       S
0010740    p   r   a   y   T   e   r   m   L   (   i   ,   j   )  \r 032
0010760    l   4   2   6   8   \   f   1  \r   ]  \r  \r   a   n   d    
0011000    S   p   r   a   y   T   e   r   m   L   (   n   ,   a   l   p
0011020    h   )       b   e  \r   [ 032   \   f   1  \r   l   e   t    
0011040    b   l       =       2   6   *   n       +       a   l   p   h
0011060   \r   l   e   t       b   p       =       B   o   a   r   d   v
0011100    e   c   !   b   l  \r   t   e   s   t       b   p       e   q
0011120        0  \r   i   f   s   o       /   /   a   s   s   i   g   n
0011140        t   e   r   m   i   n   a   t   o   r       t   o       p
0011160    o   s   i   t   i   o   n  \r   A   s   s   i   g   n   I   C
0011200    (   8   ,   t   e   r   m   t   y   p   e   ,   t   e   r   m
0011220    s   t   p   ,   b   l   )  \r   i   f   n   o   t       i   f
0011240        b   p   >   >   i   c   d   e   s   c   .   i   c   t   y
0011260    p   e       n   e       t   e   r   m   t   y   p   e       t
0011300    h   e   n  \r   [ 032   l   4   2   6   8   \   f   1  \r   l
0011320    e   t       e   r   v       =       v   e   c       5   0   ;
0011340        e   r   v   !   0       =       0  \r   A   p   p   e   n
0011360    d   S   (   "   *   n   T   e   r   m   i   n   a   t   o   r
0011400        p   o   s   i   t   i   o   n       "   ,   e   r   v   )
0011420   \r   A   p   p   e   n   d   B   L   (   b   l   ,   e   r   v
0011440    )  \r   A   p   p   e   n   d   S   (   "       i   s       d
0011460    e   f   i   n   e   d       a   s       a       n   o   n   -
0011500    t   e   r   m   i   n   a   t   o   r   "   ,   e   r   v   )
0011520   \r   W   S   S   (   E   r   F   i   l   e   ,   e   r   v   )
0011540  032   l   5   5   3   8   \   f   1  \r   ]  \r 032   l   4   2
0011560    6   8   \   f   1  \r   ]  \r  \r   a   n   d       F   i   n
0011600    d   B   e   s   t   T   e   r   m   L   (   x   ,   y   )    
0011620    =   v   a   l   o   f       /   /   a   s   s   u   m   e   s
0011640        t   e   r   m   s       a   r   r   a   y   e   d       a
0011660    t       N   e   w   I   t   e   m       (   b   y       S   e
0011700    t   U   p   T   e   r   m   s   )  \r   [ 032   \   f   1  \r
0011720    d   t   s       =       #   7   7   7   7   6       /   /   i
0011740    n   f   i   n   i   t   y  \r   l   e   t       t   p   t   r
0011760        =       0   ;       l   e   t       t   i       =       0
0012000   \r   l   e   t       t   p       =       N   e   w   I   t   e
0012020    m  \r   [ 032   l   4   2   6   8   \   f   1  \r   l   e   t
0012040        t   y       =       t   p   !   1  \r   i   f       t   y
0012060        e   q       0       t   h   e   n       b   r   e   a   k
0012100   \r   l   e   t       d   e   l   y       =       t   y       g
0012120    r       y   ?       t   y   -   y   ,   y   -   t   y  \r   i
0012140    f       d   e   l   y       l   s       d   t   s       t   h
0012160    e   n  \r   f   o   r       i       =       2       t   o    
0012200    8       d   o  \r   [ 032   l   5   5   3   8   \   f   1  \r
0012220    l   e   t       t   x       =       t   p   !   i  \r   i   f
0012240        t   x       e   q       0       t   h   e   n       l   o
0012260    o   p       /   /   a   l   r   e   a   d   y       a   s   s
0012300    i   g   n   e   d  \r   l   e   t       d   e   l   x       =
0012320        t   x       g   r       x   ?       t   x   -   x   ,   x
0012340    -   t   x  \r   i   f       (   d   e   l   x       +       d
0012360    e   l   y   )       g   r       d   t   s       t   h   e   n
0012400        l   o   o   p  \r   /   /   h   a   v   e       b   e   s
0012420    t       o   n   e       s   o       f   a   r  \r   d   t   s
0012440        =       d   e   l   x   +   d   e   l   y  \r   t   p   t
0012460    r       =       t   p  \r   t   i       =       i  \r 032   l
0012500    6   8   0   8   \   f   1  \r   ]  \r   t   p       =       t
0012520    p   +   9  \r 032   l   5   5   3   8   \   f   1  \r   ]    
0012540        r   e   p   e   a   t  \r   i   f       t   p   t   r    
0012560    e   q       0       t   h   e   n       [       W   S   S   (
0012600    E   r   F   i   l   e   ,   "   *   n   T   e   r   m   i   n
0012620    a   t   o   r       s   u   p   p   l   y       e   x   h   a
0012640    u   s   t   e   d   "   )   ;       r   e   s   u   l   t   i
0012660    s       0       ]      \r   t   e   r   m   y       =       t
0012700    p   t   r   !   1  \r   t   e   r   m   x       =       t   p
0012720    t   r   !   t   i  \r   t   p   t   r   !   t   i       =    
0012740    0       /   /   m   a   r   k       u   s   e   d  \r   r   e
0012760    s   u   l   t   i   s       l   v   (   (   B   o   a   r   d
0013000    v   e   c   !   (   t   p   t   r   !   0   )   )   >   >   i
0013020    c   d   e   s   c   .   p   i   n   p   t   r   ^   t   i   )
0013040  032   l   4   2   6   8   \   f   1  \r   ]  \r  \r   a   n   d
0013060        S   e   t   U   p   T   e   r   m   s   L   (   )       b
0013100    e  \r   [ 032   \   f   1  \r   l   e   t       w   o   r   d
0013120    s       =       0  \r   f   o   r       i       =       4   1
0013140        t   o       5   2       d   o       f   o   r       j    
0013160    =       0       t   o       m   a   x   a   l   p   h       d
0013200    o  \r   [ 032   l   4   2   6   8   \   f   1  \r   l   e   t
0013220        b   l       =       (   2   6   *   i   )   +   j  \r   l
0013240    e   t       t   p       =       B   o   a   r   d   v   e   c
0013260    !   b   l  \r   i   f       (   t   p       e   q       0   )
0013300    %   (   (   t   p   >   >   i   c   d   e   s   c   .   i   c
0013320    t   y   p   e   )   n   e       t   e   r   m   t   y   p   e
0013340    )       t   h   e   n       l   o   o   p  \r   /   /   h   a
0013360    v   e       a       t   e   r   m   i   n   a   t   o   r  \r
0013400    l   e   t       c   v       =       v   e   c       2  \r   G
0013420    e   t   I   C   c   o   o   r   d   s   (   j   ,   i   ,   1
0013440    ,   c   v   )  \r   C   h   e   c   k   F   i   t   (   w   o
0013460    r   d   s   +   9   )  \r   l   e   t       t       =       N
0013500    e   w   I   t   e   m   +   w   o   r   d   s  \r   t   !   0
0013520        =       b   l  \r   t   !   1       =       c   v   !   1
0013540        /   /   t   e   r   m   i   n   a   t   o   r       y    
0013560    c   o   o   r   d   i   n   a   t   e  \r   f   o   r       k
0013600        =       2       t   o       8       d   o  \r   [ 032   l
0013620    5   5   3   8   \   f   1  \r   t   e   s   t       (   t   p
0013640    >   >   i   c   d   e   s   c   .   p   i   n   p   t   r   ^
0013660    k   )       e   q       0  \r   i   f   s   o       /   /   t
0013700    e   r   m   i   n   a   t   o   r       u   n   a   s   s   i
0013720    g   n   e   d   -       f   i   l   l       i   n       x    
0013740    c   o   o   r   d   i   n   a   t   e  \r   t   !   k       =
0013760        (   c   v   !   0   )       -       (   (   k   -   1   )
0014000    *   4   )  \r   i   f   n   o   t       t   !   k       =    
0014020    0  \r 032   l   6   8   0   8   \   f   1  \r   ]  \r   w   o
0014040    r   d   s       =       w   o   r   d   s   +   9 032   l   5
0014060    5   3   8   \   f   1  \r   ]  \r   N   e   w   I   t   e   m
0014100    !   w   o   r   d   s       =       0  \r   N   e   w   I   t
0014120    e   m   !   (   w   o   r   d   s   +   1   )       =       0
0014140  032   l   4   2   6   8   \   f   1  \r   ]  \r  \r 032   \   f
0014160    1  \r  \r   a   n   d       L   e   g   a   l   B   l   o   c
0014200    L   (   b   l   )       =       v   a   l   o   f  \r   [ 032
0014220    \   f   1  \r   l   e   t       a   l   p   h       =       (
0014240    b   l       r   e   m       2   6   )   +   $   a   ;       l
0014260    e   t       n   u   m       =       b   l   /   2   6  \r   i
0014300    f       a   l   p   h       g   r       $   l       t   h   e
0014320    n       r   e   s   u   l   t   i   s       f   a   l   s   e
0014340        /   /   l   e   t   t   e   r       a   l   w   a   y   s
0014360        l   e       l  \r   i   f       n   u   m       e   q    
0014400    0       t   h   e   n       r   e   s   u   l   t   i   s    
0014420    f   a   l   s   e  \r   i   f       (   n   u   m       g   r
0014440        2   4   )   &   (   n   u   m       l   s       4   1   )
0014460        t   h   e   n       r   e   s   u   l   t   i   s       f
0014500    a   l   s   e  \r   i   f       (   n   u   m       g   r    
0014520    5   2   )   &   (   n   u   m       l   s       6   0   )    
0014540    t   h   e   n       r   e   s   u   l   t   i   s       f   a
0014560    l   s   e  \r   i   f       n   u   m       g   e       6   0
0014600        t   h   e   n  \r   s   w   i   t   c   h   o   n       a
0014620    l   p   h       i   n   t   o  \r   [ 032   l   4   2   6   8
0014640    \   f   1  \r   c   a   s   e       $   b   :  \r   c   a   s
0014660    e       $   c   :  \r   c   a   s   e       $   e   :  \r   c
0014700    a   s   e       $   f   :  \r   c   a   s   e       $   h   :
0014720   \r   c   a   s   e       $   i   :  \r   c   a   s   e       $
0014740    k   :  \r   c   a   s   e       $   l   :       r   e   s   u
0014760    l   t   i   s       t   r   u   e  \r   d   e   f   a   u   l
0015000    t   :       r   e   s   u   l   t   i   s       f   a   l   s
0015020    e 032   l   5   5   3   8   \   f   1  \r   ]  \r   r   e   s
0015040    u   l   t   i   s       t   r   u   e 032   l   4   2   6   8
0015060    \   f   1  \r   ]  \r  \r   a   n   d       G   e   t   E   p
0015100    i   n   C   o   o   r   d   s   L   (   p   i   n   ,   c   v
0015120    )       b   e  \r   [ 032   \   f   1  \r   i   f       (   (
0015140    p   i   n       l   s       4   )   %   (   p   i   n       g
0015160    r       1   8   9   )   )       t   h   e   n       E   r   r
0015200    N   (   "   *   n   S   i   g   n   a   l       a   s   s   i
0015220    g   n   e   d       t   o       p   o   w   e   r       o   r
0015240        i   n   v   a   l   i   d       E   p   i   n   :       "
0015260    ,   p   i   n   )  \r   c   v   !   1   =       5   2   5  \r
0015300    l   e   t       p   g       =       (   p   i   n   -   1   )
0015320        r   e   m       4  \r   i   f       (   (   p   g       e
0015340    q       0   )   %   (   p   g       e   q       3   )   )    
0015360    t   h   e   n       E   r   r   N   (   "   *   n   S   i   g
0015400    n   a   l       a   s   s   i   g   n   e   d       t   o    
0015420    g   r   o   u   n   d       E   p   i   n   :       "   ,   p
0015440    i   n   )  \r   l   e   t       p   x       =       (   p   i
0015460    n   -   1   )   /   4  \r   c   v   !   0       =       1   2
0015500        +       (   p   x   *   1   0   )       +       (   p   g
0015520    /   2   )   *   5 032   l   4   2   6   8   \   f   1  \r   ]
0015540   \r  \r   a   n   d       G   e   t   C   p   i   n   C   o   o
0015560    r   d   s   L   (   p   i   n   ,   c   v   )       b   e  \r
0015600    [ 032   \   f   1  \r   i   f       (   (   p   i   n       l
0015620    s       4   )   %   (   p   i   n       g   r       1   8   9
0015640    )   )       t   h   e   n       E   r   r   N   (   "   *   n
0015660    S   i   g   n   a   l       a   s   s   i   g   n   e   d    
0015700    t   o       p   o   w   e   r       o   r       i   n   v   a
0015720    l   i   d       C   p   i   n   :       "   ,   p   i   n   )
0015740   \r   c   v   !   1   =       0  \r   l   e   t       p   g    
0015760    =       (   p   i   n   -   1   )       r   e   m       4  \r
0016000    i   f       (   (   p   g       e   q       1   )   %   (   p
0016020    g       e   q       2   )   )       t   h   e   n       E   r
0016040    r   N   (   "   *   n   S   i   g   n   a   l       a   s   s
0016060    i   g   n   e   d       t   o       g   r   o   u   n   d    
0016100    C   p   i   n   :       "   ,   p   i   n   )  \r   l   e   t
0016120        p   x       =       (   p   i   n   -   1   )   /   4  \r
0016140    c   v   !   0       =       1   2       +       (   (   4   7
0016160    -   p   x   )   *   1   0   )       +       (   (   1   -   p
0016200    g   /   2   )   )   *   5 032   l   4   2   6   8   \   f   1
0016220   \r   ]  \r  \r   a   n   d       G   e   t   B   o   a   r   d
0016240    P   i   n   s   L   (   b   l   )       =       v   a   l   o
0016260    f  \r   [ 032   \   f   1  \r   l   e   t       n       =    
0016300    b   l   /   2   6           /   /   n   u   m  \r   i   f    
0016320    (   n       g   r       0   )   &   (   n       l   e       2
0016340    4   )       t   h   e   n       r   e   s   u   l   t   i   s
0016360        1   6  \r   i   f       (   n       g   e       4   1   )
0016400    &   (   n       l   e       5   3   )       t   h   e   n    
0016420    r   e   s   u   l   t   i   s       8  \r   i   f       (   n
0016440        g   e       6   0   )   &   (   n       l   s       6   4
0016460    )       t   h   e   n  \r   s   w   i   t   c   h   o   n    
0016500    (   (   b   l       r   e   m       2   6   )   +       $   a
0016520    )       i   n   t   o  \r   [ 032   l   4   2   6   8   \   f
0016540    1  \r   c   a   s   e       $   b   :  \r   c   a   s   e    
0016560    $   c   :  \r   c   a   s   e       $   e   :  \r   c   a   s
0016600    e       $   f   :  \r   c   a   s   e       $   h   :  \r   c
0016620    a   s   e       $   i   :  \r   c   a   s   e       $   k   :
0016640   \r   c   a   s   e       $   l   :       r   e   s   u   l   t
0016660    i   s       2   4 032   l   5   5   3   8   \   f   1  \r   ]
0016700   \r   E   r   r   B   L   (   "   *   n   I   l   l   e   g   a
0016720    l       B   o   a   r   d       L   o   c   a   t   i   o   n
0016740    :       "   ,       b   l   )  \r   r   e   s   u   l   t   i
0016760    s       0 032   l   4   2   6   8   \   f   1  \r   ]  \r   /
0017000    /   F       U       N       C       T       I       O       N
0017020        S           F       O       R           D   1           M
0017040        E       M       O       R       Y           B       O    
0017060    A       R       D  \r  \r   a   n   d       N   e   t   H   a
0017100    s   S   v   o   l   t   M   (   n   e   t   n   a   m   e   )
0017120        =       v   a   l   o   f  \r   [ 032   \   f   1  \r   i
0017140    f       S   t   E   q   (   "   G   N   D   "   ,   n   e   t
0017160    n   a   m   e   )       t   h   e   n       r   e   s   u   l
0017200    t   i   s       $   G  \r   r   e   s   u   l   t   i   s    
0017220    0 032   l   4   2   6   9   \   f   1  \r   ]  \r  \r   a   n
0017240    d       G   e   t   S   V   i   n   d   e   x   M   (   S   V
0017260    T   y   p   e   ,   b   l   ,   p   i   n   )   =   v   a   l
0017300    o   f  \r   [ 032   \   f   1  \r   l   e   t       a   l   p
0017320    h       =       b   l       r   e   m       2   6  \r   l   e
0017340    t       n   u   m       =       b   l   /   2   6  \r   i   f
0017360        n   u   m       l   s       3       r   e   s   u   l   t
0017400    i   s       0  \r   i   f       n   u   m       g   r       2
0017420    4       r   e   s   u   l   t   i   s       0  \r   i   f    
0017440    a   l   p   h       g   r       (   $   j       -       $   a
0017460    )       t   h   e   n       r   e   s   u   l   t   i   s    
0017500    0  \r   r   e   s   u   l   t   i   s       a   l   p   h   *
0017520    2   7       +       n   u   m 032   l   4   2   6   9   \   f
0017540    1  \r   ]  \r  \r   a   n   d       G   e   t   S   V   C   o
0017560    o   r   d   s   M   (   S   V   T   y   p   e   ,   S   V   I
0017600    n   d   e   x   ,   c   v   )       b   e  \r   [ 032   \   f
0017620    1  \r   l   e   t       a   l   p   h   =   S   V   I   n   d
0017640    e   x   /   2   7  \r   l   e   t       n   u   m   =   S   V
0017660    I   n   d   e   x       r   e   m       2   7  \r   G   e   t
0017700    I   C   c   o   o   r   d   s   M   (   a   l   p   h   ,   n
0017720    u   m   ,   8   ,   c   v   ) 032   l   4   2   6   9   \   f
0017740    1  \r   ]      \r  \r  \r   a   n   d       L   e   g   a   l
0017760    B   l   o   c   M   (   b   l   )       =       v   a   l   o
0020000    f  \r   [ 032   \   f   1  \r   l   e   t       a   l   p   h
0020020        =       b   l       r   e   m       2   6   ;       l   e
0020040    t       n   u   m       =       b   l   /   2   6  \r   i   f
0020060        a   l   p   h       g   r       (   $   l   -   $   a   )
0020100        t   h   e   n       r   e   s   u   l   t   i   s       f
0020120    a   l   s   e       /   /   l   e   t   t   e   r       a   l
0020140    w   a   y   s       l   e       l  \r   i   f       (   n   u
0020160    m       g   r       2   6   )   &   (   n   u   m       n   e
0020200        4   1   )   &   (   n   u   m       n   e       4   2   )
0020220        t   h   e   n       r   e   s   u   l   t   i   s       f
0020240    a   l   s   e  \r   i   f       (   (   n   u   m       g   r
0020260        2   )   &   (   n   u   m       l   s       2   5   )   )
0020300        t   h   e   n       i   f       a   l   p   h       g   r
0020320        (   $   j   -   $   a   )       t   h   e   n       r   e
0020340    s   u   l   t   i   s       f   a   l   s   e  \r   r   e   s
0020360    u   l   t   i   s       t   r   u   e 032   l   4   2   6   8
0020400    \   f   1  \r   ]  \r  \r   a   n   d       G   e   t   I   C
0020420    c   o   o   r   d   s   M   (   a   l   p   h   ,   n   u   m
0020440    ,   p   i   n   ,   c   v   )       b   e  \r   [ 032   \   f
0020460    1  \r   c   v   !   0       =       a   l   p   h   *   (   (
0020500    (   n   u   m       l   s       3   )   %   (   n   u   m    
0020520    g   r       2   4   )   )   ?   4   0   ,   4   8   )       +
0020540        2   8       -       (   p   i   n       g   r       8   ?
0020560        1   6   -   p   i   n   ,   p   i   n   -   1   )   *   4
0020600   \r   i   f       (   n   u   m       g   e       3   )   &   (
0020620    n   u   m       l   s       2   5   )   &   (   a   l   p   h
0020640        g   r       (   $   e   -   $   a   )   )       t   h   e
0020660    n       c   v   !   0       =       c   v   !   0       +    
0020700    1   6  \r   i   f       (   (   n   u   m       l   s       3
0020720    )   %   (   n   u   m       g   r       2   4   )   )   &   (
0020740    a   l   p   h       g   r       (   $   f   -   $   a   )   )
0020760        t   h   e   n       c   v   !   0       =       c   v   !
0021000    0       +       8  \r  \r   c   v   !   1       =       7    
0021020    +       (   n   u   m       g   r       1   ?       2   4   ,
0021040    0   )       +       (   n   u   m       g   r       2   ?    
0021060    1   8   ,   0   )       +       (   n   u   m       g   r    
0021100    3   ?       1   8   ,   0   )       +       (   n   u   m    
0021120    g   r       4   ?       (   2   0   *   (   n   u   m   -   4
0021140    )   )   ,   0   )       +   (   p   i   n       g   r       8
0021160    ?   1   2   ,   0   )       -       (   n   u   m       g   r
0021200        2   3   ?   2   ,   0   )       -       (   n   u   m    
0021220    g   r       2   4   ?       2   ,   0   )       +       (   n
0021240    u   m       g   r       2   5   ?       4   ,   0   )  \r  \r
0021260    i   f       n   u   m       e   q       4   1       t   h   e
0021300    n       c   v   !   1       =       2   5  \r   i   f       n
0021320    u   m       e   q       4   2       t   h   e   n       c   v
0021340    !   1       =       5   0   1  \r  \r 032   l   4   2   6   8
0021360    \   f   1  \r   ]  \r  \r   a   n   d       A   d   d   P   o
0021400    t   e   n   t   i   a   l   T   e   r   m   s   M   (   )    
0021420    b   e       /   /   m   a   k   e       i   c       d   e   s
0021440    c   r   i   p   t   o   r   s       f   o   r       a   l   l
0021460        p   o   s   s   i   b   l   e       t   e   r   m   i   n
0021500    a   t   o   r  \r   /   /   p   o   s   i   t   i   o   n   s
0021520        w   h   i   c   h       w   e   r   e       n   o   t    
0021540    p   r   e   d   e   f   i   n   e   d       b   y       t   h
0021560    e       u   s   e   r  \r   [ 032   \   f   1  \r   f   o   r
0021600        i       =       4   1       t   o       4   2       d   o
0021620        f   o   r       j       =       0       t   o       m   a
0021640    x   a   l   p   h       d   o       S   p   r   a   y   T   e
0021660    r   m   L   (   i   ,   j   )  \r 032   l   4   2   6   8   \
0021700    f   1  \r   ]  \r   a   n   d       S   e   t   U   p   T   e
0021720    r   m   s   M   (   )       b   e  \r   [ 032   \   f   1  \r
0021740    l   e   t       w   o   r   d   s       =       0  \r   f   o
0021760    r       i       =       4   1       t   o       4   2       d
0022000    o       f   o   r       j       =       0       t   o       m
0022020    a   x   a   l   p   h       d   o  \r   [ 032   l   4   2   6
0022040    8   \   f   1  \r   l   e   t       b   l       =       (   2
0022060    6   *   i   )   +   j  \r   l   e   t       t   p       =    
0022100    B   o   a   r   d   v   e   c   !   b   l  \r   i   f       (
0022120    t   p       e   q       0   )   %   (   (   t   p   >   >   i
0022140    c   d   e   s   c   .   i   c   t   y   p   e   )   n   e    
0022160    t   e   r   m   t   y   p   e   )       t   h   e   n       l
0022200    o   o   p  \r   /   /   h   a   v   e       a       t   e   r
0022220    m   i   n   a   t   o   r  \r   l   e   t       c   v       =
0022240        v   e   c       2  \r   G   e   t   I   C   c   o   o   r
0022260    d   s   (   j   ,   i   ,   1   ,   c   v   )  \r   C   h   e
0022300    c   k   F   i   t   (   w   o   r   d   s   +   9   )  \r   l
0022320    e   t       t       =       N   e   w   I   t   e   m   +   w
0022340    o   r   d   s  \r   t   !   0       =       b   l  \r   t   !
0022360    1       =       c   v   !   1       /   /   t   e   r   m   i
0022400    n   a   t   o   r       y       c   o   o   r   d   i   n   a
0022420    t   e  \r   f   o   r       k       =       2       t   o    
0022440    8       d   o  \r   [ 032   l   5   5   3   8   \   f   1  \r
0022460    t   e   s   t       (   t   p   >   >   i   c   d   e   s   c
0022500    .   p   i   n   p   t   r   ^   k   )       e   q       0  \r
0022520    i   f   s   o       /   /   t   e   r   m   i   n   a   t   o
0022540    r       u   n   a   s   s   i   g   n   e   d   -       f   i
0022560    l   l       i   n       x       c   o   o   r   d   i   n   a
0022600    t   e  \r   t   !   k       =       (   c   v   !   0   )    
0022620    -       (   (   k   -   1   )   *   4   )  \r   i   f   n   o
0022640    t       t   !   k       =       0  \r 032   l   6   8   0   8
0022660    \   f   1  \r   ]  \r   w   o   r   d   s       =       w   o
0022700    r   d   s   +   9 032   l   5   5   3   8   \   f   1  \r   ]
0022720   \r   N   e   w   I   t   e   m   !   w   o   r   d   s       =
0022740        0  \r   N   e   w   I   t   e   m   !   (   w   o   r   d
0022760    s   +   1   )       =       0 032   l   4   2   6   8   \   f
0023000    1  \r   ]  \r  \r   a   n   d       G   e   t   B   o   a   r
0023020    d   P   i   n   s   M   (   b   l   )       =       v   a   l
0023040    o   f  \r   [ 032   (   6   3   5   )   \   f   1  \r   l   e
0023060    t       x       =       b   l   /   2   6  \r   i   f       (
0023100    x       e   q       4   1   )   %   (   x       e   q       4
0023120    2   )       t   h   e   n       r   e   s   u   l   t   i   s
0023140        8  \r   r   e   s   u   l   t   i   s       1   6 032   l
0023160    4   2   6   9   \   f   1  \r   ]  \r 032   \   f   1  \r  \0
0023200