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