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