$ od -c -N 50000 [Erinyes]<LispManual>PrettyPrint.im!5
0000000   \r  \r   {   B   e   g   i   n       S   u   b   S   e   c    
0000020    P   r   e   t   t   y   p   r   i   n   t   }  \r   {   T   i
0000040    t   l   e       P   r   e   t   t   y   p   r   i   n   t   }
0000060   \r   {   T   e   x   t  \r  \r   {   i   n   d   e   x       *
0000100    P   R   I   M   A   R   Y   *       P   r   e   t   t   y   p
0000120    r   i   n   t   i   n   g       f   u   n   c   t   i   o   n
0000140        d   e   f   i   n   i   t   i   o   n   s   }  \r  \r   {
0000160    n   o   t   e       T   h   e       P   R   E   T   T   Y   P
0000200    R   I   N   T       p   a   c   k   a   g   e       w   a   s
0000220        w   r   i   t   t   e   n       b   y       W   .       T
0000240    e   i   t   e   l   m   a   n   .   }  \r  \r   T   h   e    
0000260    s   t   a   n   d   a   r   d       w   a   y       o   f    
0000300    p   r   i   n   t   i   n   g       o   u   t       f   u   n
0000320    c   t   i   o   n       d   e   f   i   n   i   t   i   o   n
0000340    s       (   o   n       t   h   e       t   e   r   m   i   n
0000360    a   l       o   r       i   n   t   o       f   i   l   e   s
0000400    )       i   s       t   o       u   s   e       {   f   n    
0000420    P   R   E   T   T   Y   P   R   I   N   T   }   .  \r  \r   {
0000440    F   n   D   e   f       {   F   n   N   a   m   e       P   R
0000460    E   T   T   Y   P   R   I   N   T   }       {   F   n   A   r
0000500    g   s       F   N   S       P   R   E   T   T   Y   D   E   F
0000520    L   G       {   a   n   o   n   a   r   g   }   }  \r   {   T
0000540    e   x   t  \r   {   a   r   g       F   N   S   }       i   s
0000560        a       l   i   s   t       o   f       f   u   n   c   t
0000600    i   o   n   s   .           I   f       {   a   r   g       F
0000620    N   S   }       i   s       a   t   o   m   i   c   ,       i
0000640    t   s       v   a   l   u   e       i   s       u   s   e   d
0000660    )   .           T   h   e       d   e   f   i   n   i   t   i
0000700    o   n   s       o   f       t   h   e       f   u   n   c   t
0000720    i   o   n   s       a   r   e       p   r   i   n   t   e   d
0000740        i   n       a       p   r   e   t   t   y       f   o   r
0000760    m   a   t       o   n       t   h   e       p   r   i   m   a
0001000    r   y       o   u   t   p   u   t       f   i   l   e       u
0001020    s   i   n   g       t   h   e       p   r   i   m   a   r   y
0001040        r   e   a   d   t   a   b   l   e   .           F   o   r
0001060        e   x   a   m   p   l   e   ,       i   f       {   l   i
0001100    s   p       F   A   C   T   O   R   I   A   L   }       w   e
0001120    r   e       d   e   f   i   n   e   d       b   y       t   y
0001140    p   i   n   g  \r  \r   {   l   i   s   p   c   o   d   e    
0001160    (   D   E   F   I   N   E   Q       (   F   A   C   T   O   R
0001200    I   A   L       [   L   A   M   B   D   A       (   N   )    
0001220    (   C   O   N   D       (   (   Z   E   R   O   P       N   )
0001240        1   )  \r   (   T       (   I   T   I   M   E   S       N
0001260        (   F   A   C   T   O   R   I   A   L       (   S   U   B
0001300    1       N   ]   }  \r  \r   {   l   i   s   p       (   P   R
0001320    E   T   T   Y   P   R   I   N   T       '   (   F   A   C   T
0001340    O   R   I   A   L   )   )   }       w   o   u   l   d       p
0001360    r   i   n   t       o   u   t  \r  \r   {   l   i   s   p   c
0001400    o   d   e  \r   (   F   A   C   T   O   R   I   A   L  \r    
0001420        [   L   A   M   B   D   A       (   N   )  \r            
0001440        (   C   O   N   D  \r                           (   (   Z
0001460    E   R   O   P       N   )  \r                                
0001500    1   )  \r                           (   T       (   I   T   I
0001520    M   E   S       N       (   F   A   C   T   O   R   I   A   L
0001540        (   S   U   B   1       N   ]   )   }  \r  \r  \r   {   a
0001560    r   g       P   R   E   T   T   Y   D   E   F   L   G   }    
0001600    i   s       {   l   i   s   p       T   }       w   h   e   n
0001620        c   a   l   l   e   d       f   r   o   m       {   f   n
0001640        P   R   E   T   T   Y   D   E   F   }       (   a   n   d
0001660        h   e   n   c   e       {   f   n       M   A   K   E   F
0001700    I   L   E   }   )   .           A   m   o   n   g       o   t
0001720    h   e   r       a   c   t   i   o   n   s       t   a   k   e
0001740    n       w   h   e   n       t   h   i   s       a   r   g   u
0001760    m   e   n   t       i   s       t   r   u   e   ,       {   f
0002000    n       P   R   E   T   T   Y   P   R   I   N   T   }       i
0002020    n   d   i   c   a   t   e   s       i   t   s       p   r   o
0002040    g   r   e   s   s       i   n       w   r   i   t   i   n   g
0002060        t   h   e       c   u   r   r   e   n   t       o   u   t
0002100    p   u   t       f   i   l   e   :       w   h   e   n   e   v
0002120    e   r       i   t       s   t   a   r   t   s       a       n
0002140    e   w       f   u   n   c   t   i   o   n   ,       i   t    
0002160    p   r   i   n   t   s       o   n       t   h   e       t   e
0002200    r   m   i   n   a   l       t   h   e       n   a   m   e    
0002220    o   f       t   h   a   t       f   u   n   c   t   i   o   n
0002240        i   f       m   o   r   e       t   h   a   n       3   0
0002260        s   e   c   o   n   d   s       (   r   e   a   l       t
0002300    i   m   e   )       h   a   v   e       e   l   a   p   s   e
0002320    d       s   i   n   c   e       t   h   e       l   a   s   t
0002340        t   i   m   e       i   t       p   r   i   n   t   e   d
0002360        t   h   e       n   a   m   e       o   f       a       f
0002400    u   n   c   t   i   o   n   .  \r  \r   {   f   n       P   R
0002420    E   T   T   Y   P   R   I   N   T   }       o   p   e   r   a
0002440    t   e   s       c   o   r   r   e   c   t   l   y       o   n
0002460        f   u   n   c   t   i   o   n   s       t   h   a   t    
0002500    a   r   e       {   p   r   o   p       B   R   O   K   E   N
0002520    }   ,       {   p   r   o   p       B   R   O   K   E   N   -
0002540    I   N   }   ,       {   p   r   o   p       A   D   V   I   S
0002560    E   D   }   ,       o   r       h   a   v   e       b   e   e
0002600    n       c   o   m   p   i   l   e   d       w   i   t   h    
0002620    t   h   e   i   r       d   e   f   i   n   i   t   i   o   n
0002640    s       s   a   v   e   d       o   n       t   h   e   i   r
0002660        p   r   o   p   e   r   t   y       l   i   s   t   s   :
0002700        i   t       p   r   i   n   t   s       t   h   e       o
0002720    r   i   g   i   n   a   l   ,       p   r   i   s   t   i   n
0002740    e       d   e   f   i   n   i   t   i   o   n   ,       b   u
0002760    t       d   o   e   s       n   o   t       c   h   a   n   g
0003000    e       t   h   e       c   u   r   r   e   n   t       s   t
0003020    a   t   e       o   f       t   h   e       f   u   n   c   t
0003040    i   o   n   .           I   f       a       f   u   n   c   t
0003060    i   o   n       i   s       n   o   t       d   e   f   i   n
0003100    e   d       b   u   t       i   s       k   n   o   w   n    
0003120    t   o       b   e       o   n       o   n   e       o   f    
0003140    t   h   e       f   i   l   e   s       n   o   t   i   c   e
0003160    d       b   y       t   h   e       f   i   l   e       p   a
0003200    c   k   a   g   e   ,       {   f   n       P   R   E   T   T
0003220    Y   P   R   I   N   T   }       l   o   a   d   s       i   n
0003240        t   h   e       d   e   f   i   n   i   t   i   o   n    
0003260    (   u   s   i   n   g       {   f   n       L   O   A   D   F
0003300    N   S   }   )       a   n   d       p   r   i   n   t   s    
0003320    i   t       (   e   x   c   e   p   t       w   h   e   n    
0003340    c   a   l   l   e   d       f   r   o   m       {   f   n    
0003360    P   R   E   T   T   Y   D   E   F   }   )   .           I   f
0003400        {   f   n       P   R   E   T   T   Y   P   R   I   N   T
0003420    }       i   s       g   i   v   e   n       a   n       a   t
0003440    o   m       w   h   i   c   h       i   s       n   o   t    
0003460    t   h   e       n   a   m   e       o   f       a       f   u
0003500    n   c   t   i   o   n   ,       b   u   t       h   a   s    
0003520    a       v   a   l   u   e   ,       i   t       p   r   e   t
0003540    t   y   p   r   i   n   t   s       t   h   e       v   a   l
0003560    u   e   .           O   t   h   e   r   w   i   s   e   ,    
0003600    {   f   n       P   R   E   T   T   Y   P   R   I   N   T   }
0003620        a   t   t   e   m   p   t   s       s   p   e   l   l   i
0003640    n   g       c   o   r   r   e   c   t   i   o   n   .        
0003660    I   f       a   l   l       f   a   i   l   s   ,       {   f
0003700    n       P   R   E   T   T   Y   P   R   I   N   T   }       r
0003720    e   t   u   r   n   s       {   l   i   s   p       (   {   a
0003740    r   g       F   N   }       N   O   T       P   R   I   N   T
0003760    A   B   L   E   )   }   .           N   o   t   e       t   h
0004000    a   t       {   f   n       P   R   E   T   T   Y   P   R   I
0004020    N   T   }       w   i   l   l       r   e   t   u   r   n    
0004040    {   l   i   s   p       (   {   a   r   g       F   N   }    
0004060    N   O   T       P   R   I   N   T   A   B   L   E   )   }    
0004100    i   f       {   a   r   g       F   N   }       d   o   e   s
0004120        n   o   t       h   a   v   e       a   n       a   c   c
0004140    e   s   s   a   b   l   e       e   x   p   r       d   e   f
0004160    i   n   i   t   i   o   n   ,       o   r       i   f       i
0004200    t       d   o   e   s   n   '   t       h   a   v   e       a
0004220    n   y       d   e   f   i   n   i   t   i   o   n       a   t
0004240        a   l   l   .  \r  \r   {   i   n   d   e   x   X       {
0004260    N   a   m   e       N   O   T       P   R   I   N   T   A   B
0004300    L   E   }  \r  \t   {   T   y   p   e       r   e   t   u   r
0004320    n   e   d       b   y       P   R   E   T   T   Y   P   R   I
0004340    N   T   }  \r  \t   {   T   e   x   t       {   l   i   s   p
0004360        (   {   a   r   g       F   N   }       N   O   T       P
0004400    R   I   N   T   A   B   L   E   )   }       }  \r   }  \r  \r
0004420    }   }  \r  \r  \r   {   F   n   D   e   f       {   F   n   N
0004440    a   m   e       P   P   }       {   F   n   A   r   g   s    
0004460    F   N   {   s   u   b       1   }       {   e   l   l   i   p
0004500    s   i   s   }       F   N   {   s   u   b       N   }   }  \r
0004520    {   T   y   p   e       N   O   S   P   R   E   A   D       N
0004540    L   A   M   B   D   A   }  \r   {   T   e   x   t  \r   F   o
0004560    r       p   r   e   t   t   y   p   r   i   n   t   i   n   g
0004600        f   u   n   c   t   i   o   n   s       t   o       t   h
0004620    e       t   e   r   m   i   n   a   l   .           {   f   n
0004640        P   P   }       c   a   l   l   s       {   f   n       P
0004660    R   E   T   T   Y   P   R   I   N   T   }       w   i   t   h
0004700        t   h   e       p   r   i   m   a   r   y       o   u   t
0004720    p   u   t       f   i   l   e       s   e   t       t   o    
0004740    {   l   i   s   p       T   }       a   n   d       t   h   e
0004760        p   r   i   m   a   r   y       r   e   a   d       t   a
0005000    b   l   e       s   e   t       t   o       {   l   i   s   p
0005020        T   }   .           T   h   e       p   r   i   m   a   r
0005040    y       o   u   t   p   u   t       f   i   l   e       a   n
0005060    d       p   r   i   m   a   r   y       r   e   a   d   t   a
0005100    b   l   e       a   r   e       r   e   s   t   o   r   e   d
0005120        a   f   t   e   r       p   r   i   n   t   i   n   g   .
0005140   \r  \r   {   l   i   s   p       (   P   P       F   O   O   )
0005160    }       i   s       e   q   u   i   v   a   l   e   n   t    
0005200    t   o       {   l   i   s   p       (   P   R   E   T   T   Y
0005220    P   R   I   N   T       '   (   F   O   O   )   )   }   ;    
0005240        {   l   i   s   p       (   P   P       F   O   O       F
0005260    I   E   )   }       i   s       e   q   u   i   v   a   l   e
0005300    n   t       t   o       {   l   i   s   p       (   P   R   E
0005320    T   T   Y   P   R   I   N   T       '   (   F   O   O       F
0005340    I   E   )   )   }   .  \r   }   }  \r  \r  \r   A   s       d
0005360    e   s   c   r   i   b   e   d       a   b   o   v   e   ,    
0005400    w   h   e   n       {   f   n       P   R   E   T   T   Y   P
0005420    R   I   N   T   }   ,       a   n   d       h   e   n   c   e
0005440        {   f   n       P   P   }   ,       i   s       c   a   l
0005460    l   e   d       w   i   t   h       t   h   e       n   a   m
0005500    e       o   f       a       f   u   n   c   t   i   o   n    
0005520    t   h   a   t       i   s       n   o   t       d   e   f   i
0005540    n   e   d   ,       b   u   t       w   h   o   s   e       d
0005560    e   f   i   n   i   t   i   o   n       i   s       o   n    
0005600    a       f   i   l   e       k   n   o   w   n       t   o    
0005620    t   h   e       f   i   l   e       p   a   c   k   a   g   e
0005640    ,       t   h   e       d   e   f   i   n   i   t   i   o   n
0005660        i   s       a   u   t   o   m   a   t   i   c   a   l   l
0005700    y       r   e   a   d       i   n       a   n   d       t   h
0005720    e   n       p   r   e   t   t   y   p   r   i   n   t   e   d
0005740    .           H   o   w   e   v   e   r   ,       i   f       t
0005760    h   e       u   s   e   r       d   o   e   s       n   o   t
0006000        i   n   t   e   n   d       o   n       e   d   i   t   i
0006020    n   g       o   r       r   u   n   n   i   n   g       t   h
0006040    e       d   e   f   i   n   i   t   i   o   n   ,       b   u
0006060    t       s   i   m   p   l   y       w   a   n   t   s       t
0006100    o       {   i   t       s   e   e   }       t   h   e       d
0006120    e   f   i   n   i   t   i   o   n   ,       t   h   e       f
0006140    u   n   c   t   i   o   n       {   f   n       P   F   }    
0006160    d   e   s   c   r   i   b   e   d       b   e   l   o   w    
0006200    c   a   n       b   e       u   s   e   d       t   o       s
0006220    i   m   p   l   y       c   o   p   y       t   h   e       c
0006240    o   r   r   e   s   p   o   n   d   i   n   g       c   h   a
0006260    r   a   c   t   e   r   s       f   r   o   m       t   h   e
0006300        f   i   l   e       t   o       t   h   e       t   e   r
0006320    m   i   n   a   l   .           T   h   i   s       r   e   s
0006340    u   l   t   s       i   n       a       s   a   v   i   n   g
0006360    s       i   n       b   o   t   h       s   p   a   c   e    
0006400    a   n   d       t   i   m   e   ,       s   i   n   c   e    
0006420    i   t       i   s       n   o   t       n   e   c   e   s   s
0006440    a   r   y       t   o       a   l   l   o   c   a   t   e    
0006460    s   t   o   r   a   g   e       t   o       a   c   t   u   a
0006500    l   l   y       r   e   a   d       i   n       t   h   e    
0006520    d   e   f   i   n   i   t   i   o   n   ,       a   n   d    
0006540    i   t       i   s       n   o   t       n   e   c   e   s   s
0006560    a   r   y       t   o       r   e   -   p   r   e   t   t   y
0006600    p   r   i   n   t       i   t       (   s   i   n   c   e    
0006620    t   h   e       f   u   n   c   t   i   o   n       i   s    
0006640    a   l   r   e   a   d   y       i   n       p   r   e   t   t
0006660    y   p   r   i   n   t       f   o   r   m   a   t       o   n
0006700        t   h   e       f   i   l   e   )   .  \r  \r  \r   {   F
0006720    n   D   e   f       {   F   n   N   a   m   e       P   F   }
0006740        {   F   n   A   r   g   s       F   N       F   R   O   M
0006760    F   I   L   E   S       T   O   F   I   L   E   }  \r   {   T
0007000    y   p   e       N   O   S   P   R   E   A   D       N   L   A
0007020    M   B   D   A   }  \r   {   T   e   x   t  \r   C   o   p   i
0007040    e   s       t   h   e       d   e   f   i   n   i   t   i   o
0007060    n       o   f       {   a   r   g       F   N   }       f   o
0007100    u   n   d       o   n       e   a   c   h       o   f       t
0007120    h   e       f   i   l   e   s       i   n       {   a   r   g
0007140        F   R   O   M   F   I   L   E   S   }       t   o       {
0007160    a   r   g       T   O   F   I   L   E   }   .           I   f
0007200        {   a   r   g       T   O   F   I   L   E   }   =   {   l
0007220    i   s   p       N   I   L   }   ,       d   e   f   a   u   l
0007240    t   s       t   o       {   l   i   s   p       T   }   .    
0007260        I   f       {   a   r   g       F   R   O   M   F   I   L
0007300    E   S   }   =   {   l   i   s   p       N   I   L   }   ,    
0007320    d   e   f   a   u   l   t   s       t   o       {   l   i   s
0007340    p       (   W   H   E   R   E   I   S       {   a   r   g    
0007360    F   N   }       N   I   L       T   )   }       (   s   e   e
0007400        {   P   a   g   e   R   e   f       F   n       W   H   E
0007420    R   E   I   S   }   )   .           T   h   e       t   y   p
0007440    i   c   a   l       u   s   a   g   e       o   f       {   f
0007460    n       P   F   }       i   s       s   i   m   p   l   y    
0007500    t   o       t   y   p   e       "   {   l   i   s   p       P
0007520    F       {   a   r   g       F   N   }   }   "   .  \r  \r   {
0007540    f   n       P   F   }       p   r   i   n   t   s       a    
0007560    m   e   s   s   a   g   e       i   f       i   t       c   a
0007600    n   '   t       f   i   n   d       a       f   i   l   e    
0007620    o   n       {   a   r   g       F   R   O   M   F   I   L   E
0007640    S   }   ,       o   r       i   t       c   a   n   '   t    
0007660    f   i   n   d       t   h   e       f   u   n   c   t   i   o
0007700    n       {   a   r   g       F   N   }       o   n       a    
0007720    f   i   l   e   .  \r   }   }  \r  \r   W   h   e   n       p
0007740    r   i   n   t   i   n   g       t   o       t   h   e       t
0007760    e   r   m   i   n   a   l   ,       {   f   n       P   F   }
0010000        p   e   r   f   o   r   m   s       s   e   v   e   r   a
0010020    l       t   r   a   n   s   f   o   r   m   a   t   i   o   n
0010040    s       o   n       t   h   e       c   h   a   r   a   c   t
0010060    e   r   s       i   n       t   h   e       f   i   l   e    
0010100    t   h   a   t       c   o   m   p   r   i   s   e       t   h
0010120    e       d   e   f   i   n   i   t   i   o   n       f   o   r
0010140        {   a   r   g       F   N   }   :       (   1   )       f
0010160    o   n   t       i   n   f   o   r   m   a   t   i   o   n    
0010200    i   s       s   t   r   i   p   p   e   d       o   u   t    
0010220    (   e   x   c   e   p   t       i   n       I   n   t   e   r
0010240    l   i   s   p   -   D   ,       w   h   o   s   e       d   i
0010260    s   p   l   a   y       s   u   p   p   o   r   t   s       m
0010300    u   l   t   i   p   l   e       f   o   n   t   s   )   ;    
0010320    (   2   )       o   c   c   u   r   r   e   n   c   e   s    
0010340    o   f       t   h   e       {   v   a   r       C   H   A   N
0010360    G   E   C   H   A   R   }       (   {   P   a   g   e   R   e
0010400    f       V   a   r       C   H   A   N   G   E   C   H   A   R
0010420    }   )       a   r   e       n   o   t       p   r   i   n   t
0010440    e   d   ;       (   3   )       s   i   n   c   e       f   u
0010460    n   c   t   i   o   n   s       t   y   p   i   c   a   l   l
0010500    y       t   e   n   d       t   o       b   e       p   r   i
0010520    n   t   e   d       t   o       a       f   i   l   e       w
0010540    i   t   h       a       l   a   r   g   e   r       l   i   n
0010560    e   l   e   n   g   t   h       t   h   a   n       w   h   e
0010600    n       p   r   i   n   t   i   n   g       t   o       a    
0010620    t   e   r   m   i   n   a   l   ,       t   h   e       n   u
0010640    m   b   e   r       o   f       l   e   a   d   i   n   g    
0010660    s   p   a   c   e   s       o   n       e   a   c   h       l
0010700    i   n   e       i   s       c   u   t       i   n       h   a
0010720    l   f       (   u   n   l   e   s   s       {   v   a   r    
0010740    P   F   D   E   F   A   U   L   T   }   {   I   n   d   e   x
0010760        P   F   D   E   F   A   U   L   T       V   a   r   }    
0011000    i   s       {   l   i   s   p       T   }   ;       i   n   i
0011020    t   i   a   l   l   y       {   l   i   s   p       N   I   L
0011040    }   )   ;       a   n   d       (   4   )       c   o   m   m
0011060    e   n   t   s       a   r   e       e   l   i   d   e   d   ,
0011100        i   f       {   v   a   r       *   *   C   O   M   M   E
0011120    N   T   *   *   F   L   G   }       i   s       n   o   n   -
0011140    {   l   i   s   p       N   I   L   }       (   s   e   e    
0011160    {   P   a   g   e   R   e   f       V   a   r       *   *   C
0011200    O   M   M   E   N   T   *   *   F   L   G   }   )   .      \r
0011220   \r  \r   {   F   n   D   e   f       {   F   n   N   a   m   e
0011240        S   E   E   }       {   F   n   A   r   g   s       F   R
0011260    O   M   F   I   L   E       T   O   F   I   L   E   }  \r   {
0011300    T   y   p   e       N   O   S   P   R   E   A   D       N   L
0011320    A   M   B   D   A   }  \r   {   T   e   x   t  \r   C   o   p
0011340    i   e   s       a   l   l       o   f       t   h   e       t
0011360    e   x   t       f   r   o   m       {   a   r   g       F   R
0011400    O   M   F   I   L   E   }       t   o       {   a   r   g    
0011420    T   O   F   I   L   E   }       (   d   e   f   a   u   l   t
0011440    s       t   o       {   l   i   s   p       T   }   )   ,    
0011460    p   r   o   c   e   s   s   i   n   g       a   l   l       t
0011500    e   x   t       a   s       {   l   i   s   p       P   F   }
0011520        d   o   e   s   .           U   s   e   d       t   o    
0011540    d   i   s   p   l   a   y       t   h   e       c   o   n   t
0011560    e   n   t   s       o   f       f   i   l   e   s       o   n
0011600        t   h   e       t   e   r   m   i   n   a   l   .  \r   }
0011620    }  \r  \r  \r   {   F   n   D   e   f       {   F   n   N   a
0011640    m   e       P   P   *   }       {   F   n   A   r   g   s    
0011660    X   }  \r   {   T   y   p   e       N   O   S   P   R   E   A
0011700    D       N   L   A   M   B   D   A   }       }  \r   {   F   n
0011720    D   e   f       {   F   n   N   a   m   e       P   F   *   }
0011740        {   F   n   A   r   g   s       F   N       F   R   O   M
0011760    F   I   L   E   S       T   O   F   I   L   E   }  \r   {   T
0012000    y   p   e       N   O   S   P   R   E   A   D       N   L   A
0012020    M   B   D   A   }       }  \r   {   F   n   D   e   f       {
0012040    F   n   N   a   m   e       S   E   E   *   }       {   F   n
0012060    A   r   g   s       F   R   O   M   F   I   L   E       T   O
0012100    F   I   L   E   }  \r   {   T   y   p   e       N   O   S   P
0012120    R   E   A   D       N   L   A   M   B   D   A   }  \r   {   T
0012140    e   x   t  \r   T   h   e   s   e       f   u   n   c   t   i
0012160    o   n   s       o   p   e   r   a   t   e       e   x   a   c
0012200    t   l   y       l   i   k   e       {   f   n       P   P   }
0012220    ,       {   f   n       P   F   }   ,       a   n   d       {
0012240    l   i   s   p       S   E   E   }   ,       e   x   c   e   p
0012260    t       t   h   a   t       t   h   e   y       b   i   n   d
0012300        {   v   a   r       *   *   C   O   M   M   E   N   T   *
0012320    *   F   L   G   }       t   o       {   l   i   s   p       N
0012340    I   L   }   ,       s   o       c   o   m   m   e   n   t   s
0012360        a   r   e       p   r   i   n   t   e   d       i   n    
0012400    f   u   l   l       (   s   e   e       {   P   a   g   e   R
0012420    e   f       V   a   r       *   *   C   O   M   M   E   N   T
0012440    *   *   F   L   G   }   )   .  \r   }   }  \r  \r   W   h   i
0012460    l   e       t   h   e       f   u   n   c   t   i   o   n    
0012500    {   f   n       P   R   E   T   T   Y   P   R   I   N   T   }
0012520        p   r   i   n   t   s       e   n   t   i   r   e       f
0012540    u   n   c   t   i   o   n       d   e   f   i   n   i   t   i
0012560    o   n   s   ,       t   h   e       f   u   n   c   t   i   o
0012600    n       {   f   n       P   R   I   N   T   D   E   F   }    
0012620    c   a   n       b   e       u   s   e   d       t   o       p
0012640    r   i   n   t       p   a   r   t   s       o   f       f   u
0012660    n   c   t   i   o   n   s   ,       o   r       a   r   b   i
0012700    t   r   a   r   y       I   n   t   e   r   l   i   s   p    
0012720    s   t   r   u   c   t   u   r   e   s   :  \r  \r   {   F   n
0012740    D   e   f       {   F   n   N   a   m   e       P   R   I   N
0012760    T   D   E   F   }       {   F   n   A   r   g   s       E   X
0013000    P   R       L   E   F   T       D   E   F       T   A   I   L
0013020    F   L   G       F   N   S   L   S   T       F   I   L   E   }
0013040   \r   {   T   e   x   t  \r   P   r   i   n   t   s       t   h
0013060    e       e   x   p   r   e   s   s   i   o   n       {   a   r
0013100    g       E   X   P   R   }       i   n       a       p   r   e
0013120    t   t   y       f   o   r   m   a   t       o   n       {   a
0013140    r   g       F   I   L   E   }       u   s   i   n   g       t
0013160    h   e       p   r   i   m   a   r   y       r   e   a   d   t
0013200    a   b   l   e   .           {   a   r   g       L   E   F   T
0013220    }       i   s       t   h   e       l   e   f   t       h   a
0013240    n   d       m   a   r   g   i   n       (   {   f   n       L
0013260    I   N   E   L   E   N   G   T   H   }       d   e   t   e   r
0013300    m   i   n   e   s       t   h   e       r   i   g   h   t    
0013320    h   a   n   d       m   a   r   g   i   n   )   .           {
0013340    f   n       P   R   I   N   T   D   E   F   }       i   n   i
0013360    t   i   a   l   l   y       p   e   r   f   o   r   m   s    
0013400    {   l   i   s   p       (   T   A   B       {   a   r   g    
0013420    L   E   F   T   }       T   )   }   ,       w   h   i   c   h
0013440        m   e   a   n   s       t   o       s   p   a   c   e    
0013460    t   o       p   o   s   i   t   i   o   n       {   a   r   g
0013500        L   E   F   T   }   ,       u   n   l   e   s   s       a
0013520    l   r   e   a   d   y       b   e   y   o   n   d       t   h
0013540    i   s       p   o   s   i   t   i   o   n   ,       i   n    
0013560    w   h   i   c   h       c   a   s   e       i   t       d   o
0013600    e   s       n   o   t   h   i   n   g   .  \r  \r   {   a   r
0013620    g       D   E   F   }   =   {   l   i   s   p       T   }    
0013640    m   e   a   n   s       {   a   r   g       E   X   P   R   }
0013660        i   s       a       f   u   n   c   t   i   o   n       d
0013700    e   f   i   n   i   t   i   o   n   ,       o   r       a    
0013720    p   i   e   c   e       o   f       o   n   e   .           I
0013740    f       {   a   r   g       D   E   F   }   =   {   l   i   s
0013760    p       N   I   L   }   ,       n   o       s   p   e   c   i
0014000    a   l       a   c   t   i   o   n       i   s       t   a   k
0014020    e   n       f   o   r       {   l   i   s   p       L   A   M
0014040    B   D   A   }   '   s   ,       {   f   n       P   R   O   G
0014060    }   '   s   ,       {   f   n       C   O   N   D   }   '   s
0014100    ,       c   o   m   m   e   n   t   s   ,       C   L   I   S
0014120    P   ,       e   t   c   .           {   a   r   g       D   E
0014140    F   }       i   s       {   l   i   s   p       N   I   L   }
0014160        w   h   e   n       {   f   n       P   R   E   T   T   Y
0014200    D   E   F   }       c   a   l   l   s       {   f   n       P
0014220    R   E   T   T   Y   P   R   I   N   T   }       t   o       p
0014240    r   i   n   t       v   a   r   i   a   b   l   e   s       a
0014260    n   d       p   r   o   p   e   r   t   y       l   i   s   t
0014300    s   ,       a   n   d       w   h   e   n       {   i   n   d
0014320    e   x       P   R   I   N   T   D   E   F       F   N   }   {
0014340    f   n       P   R   I   N   T   D   E   F   }       i   s    
0014360    c   a   l   l   e   d       f   r   o   m       t   h   e    
0014400    e   d   i   t   o   r       v   i   a       t   h   e       c
0014420    o   m   m   a   n   d       {   i   n   d   e   x       P   P
0014440    V       E   d   i   t   C   o   m   }   {   e   d   i   t   c
0014460    o   m       P   P   V   }   .  \r  \r   {   a   r   g       T
0014500    A   I   L   F   L   G   }   =   {   l   i   s   p       T   }
0014520        m   e   a   n   s       {   a   r   g       E   X   P   R
0014540    }       i   s       i   n   t   e   r   p   r   e   t   e   d
0014560        a   s       a       t   a   i   l       o   f       a    
0014600    l   i   s   t   ,       t   o       b   e       p   r   i   n
0014620    t   e   d       w   i   t   h   o   u   t       p   a   r   e
0014640    n   t   h   e   s   e   s   .  \r  \r   {   a   r   g       F
0014660    N   S   L   S   T   }       i   s       f   o   r       u   s
0014700    e       f   o   r       p   r   i   n   t   i   n   g       w
0014720    i   t   h       m   u   l   t   i   p   l   e       f   o   n
0014740    t   s       (   {   P   a   g   e   R   e   f       T   e   r
0014760    m       F   o   n   t   s   }   )   .           {   f   n    
0015000    P   R   I   N   T   D   E   F   }       p   r   i   n   t   s
0015020        o   c   c   u   r   r   e   n   c   e   s       o   f    
0015040    a   n   y       f   u   n   c   t   i   o   n       i   n    
0015060    t   h   e       l   i   s   t       {   a   r   g       F   N
0015100    S   L   S   T   }       i   n       a       d   i   f   f   e
0015120    r   e   n   t       f   o   n   t   ,       f   o   r       e
0015140    m   p   h   a   s   i   s   .           {   f   n       M   A
0015160    K   E   F   I   L   E   }       p   a   s   s   e   s       a
0015200    s       {   a   r   g       F   N   S   L   S   T   }       t
0015220    h   e       l   i   s   t       o   f       a   l   l       f
0015240    u   n   c   t   i   o   n   s       o   n       t   h   e    
0015260    f   i   l   e       b   e   i   n   g       m   a   d   e   .
0015300   \r   }   }  \r  \r  \r   {   B   e   g   i   n       S   u   b
0015320    S   e   c       C   o   m   m   e   n   t       F   e   a   t
0015340    u   r   e   }  \r   {   T   i   t   l   e       C   o   m   m
0015360    e   n   t       F   e   a   t   u   r   e   }  \r   {   T   e
0015400    x   t  \r  \r  \r   {   T   a   g       C   o   m   m   e   n
0015420    t   F   e   a   t   u   r   e   }  \r  \r   {   i   n   d   e
0015440    x       *   P   R   I   M   A   R   Y   *       *       (   u
0015460    s   e       i   n       c   o   m   m   e   n   t   s   )   }
0015500   \r   {   i   n   d   e   x       *   P   R   I   M   A   R   Y
0015520    *       C   o   m   m   e   n   t   s       i   n       f   u
0015540    n   c   t   i   o   n   s   }  \r  \r   A       f   a   c   i
0015560    l   i   t   y       f   o   r       a   n   n   o   t   a   t
0015600    i   n   g       I   n   t   e   r   l   i   s   p       f   u
0015620    n   c   t   i   o   n   s       i   s       p   r   o   v   i
0015640    d   e   d       i   n       {   f   n       P   R   E   T   T
0015660    Y   P   R   I   N   T   }   .           A   n   y       e   x
0015700    p   r   e   s   s   i   o   n       b   e   g   i   n   n   i
0015720    n   g       w   i   t   h       t   h   e       a   t   o   m
0015740        {   l   i   s   p       *   }       i   s       i   n   t
0015760    e   r   p   r   e   t   e   d       a   s       a       c   o
0016000    m   m   e   n   t       a   n   d       p   r   i   n   t   e
0016020    d       i   n       t   h   e       r   i   g   h   t       m
0016040    a   r   g   i   n   .           E   x   a   m   p   l   e   :
0016060   \r  \r  \r   {   l   i   s   p   c   o   d   e  \r   (   F   A
0016100    C   T   O   R   I   A   L  \r               [   L   A   M   B
0016120    D   A       (   N   )                                        
0016140                                                                 
0016160                                    (   *       C   O   M   P   U
0016200    T   E   S       N   !   )  \r                                
0016220    (   C   O   N   D  \r                                        
0016240    (   (   Z   E   R   O   P       N   )                        
0016260                                                                 
0016300                            (   *       0   !   =   1   )  \r    
0016320                                                1   )  \r        
0016340                                    (   T                        
0016360                                                                 
0016400                                                            (   *
0016420        R   E   C   U   R   S   I   V   E       D   E   F   I   N
0016440    I   T   I   O   N   :  \r                                    
0016460                                                                 
*
0016520                                            N   !   =   N   *   N
0016540    -   1   !   )  \r                                            
0016560        (   I   T   I   M   E   S       N       (   F   A   C   T
0016600    O   R   I   A   L       (   S   U   B   1       N   ]   )   }
0016620   \r  \r  \r   {   i   n   d   e   x       *   P   R   I   M   A
0016640    R   Y   *       *       F   n   }  \r  \r   T   h   e   s   e
0016660        c   o   m   m   e   n   t   s       a   c   t   u   a   l
0016700    l   y       f   o   r   m       a       p   a   r   t       o
0016720    f       t   h   e       f   u   n   c   t   i   o   n       d
0016740    e   f   i   n   i   t   i   o   n   .           A   c   c   o
0016760    r   d   i   n   g   l   y   ,       {   l   i   s   p       *
0017000    }       i   s       d   e   f   i   n   e   d       a   s    
0017020    a   n       n   l   a   m   b   d   a       n   o   s   p   r
0017040    e   a   d       f   u   n   c   t   i   o   n       t   h   a
0017060    t       r   e   t   u   r   n   s       i   t   s       a   r
0017100    g   u   m   e   n   t   ,       s   i   m   i   l   a   r    
0017120    t   o       {   f   n       Q   U   O   T   E   }   .        
0017140    W   h   e   n       r   u   n   n   i   n   g       a   n    
0017160    i   n   t   e   r   p   r   e   t   e   d       f   u   n   c
0017200    t   i   o   n   ,       {   l   i   s   p       *   }       i
0017220    s       e   n   t   e   r   e   d       t   h   e       s   a
0017240    m   e       a   s       a   n   y       o   t   h   e   r    
0017260    I   n   t   e   r   l   i   s   p       f   u   n   c   t   i
0017300    o   n   .           T   h   e   r   e   f   o   r   e   ,    
0017320    c   o   m   m   e   n   t   s       s   h   o   u   l   d    
0017340    o   n   l   y       b   e       p   l   a   c   e   d       w
0017360    h   e   r   e       t   h   e   y       w   i   l   l       n
0017400    o   t       h   a   r   m       t   h   e       c   o   m   p
0017420    u   t   a   t   i   o   n   ,       i   .   e   .   ,       w
0017440    h   e   r   e       a       q   u   o   t   e   d       e   x
0017460    p   r   e   s   s   i   o   n       c   o   u   l   d       b
0017500    e       p   l   a   c   e   d   .           F   o   r       e
0017520    x   a   m   p   l   e   ,       w   r   i   t   i   n   g  \r
0017540   \r   {   l   i   s   p   c   o   d   e       (   I   T   I   M
0017560    E   S       N       (   F   A   C   T   O   R   I   A   L    
0017600    (   S   U   B   1       N   )   )       (   *       R   E   C
0017620    U   R   S   I   V   E       D   E   F   I   N   I   T   I   O
0017640    N   )   )   }  \r  \r   i   n       t   h   e       a   b   o
0017660    v   e       f   u   n   c   t   i   o   n       w   o   u   l
0017700    d       c   a   u   s   e       a   n       e   r   r   o   r
0017720        w   h   e   n       {   l   i   s   p       I   T   I   M
0017740    E   S   }       a   t   t   e   m   p   t   e   d       t   o
0017760        m   u   l   t   i   p   l   y       {   l   i   s   p    
0020000    N   }   ,       {   l   i   s   p       N   -   1   !   }   ,
0020020        a   n   d       {   l   i   s   p       R   E   C   U   R
0020040    S   I   V   E   }   .  \r  \r  \r  \r   F   o   r       c   o
0020060    m   p   i   l   a   t   i   o   n       p   u   r   p   o   s
0020100    e   s   ,       {   l   i   s   p       *   }       i   s    
0020120    d   e   f   i   n   e   d       a   s       a       m   a   c
0020140    r   o       w   h   i   c   h       c   o   m   p   i   l   e
0020160    s       i   n   t   o       n   o       i   n   s   t   r   u
0020200    c   t   i   o   n   s       (   u   n   l   e   s   s       t
0020220    h   e       c   o   m   m   e   n   t       h   a   s       b
0020240    e   e   n       p   l   a   c   e   d       w   h   e   r   e
0020260        i   t       h   a   s       b   e   e   n       u   s   e
0020300    d       f   o   r       v   a   l   u   e   ,       i   n    
0020320    w   h   i   c   h       c   a   s   e       t   h   e       c
0020340    o   m   p   i   l   e   r       p   r   i   n   t   s       a
0020360    n       a   p   p   r   o   p   r   i   a   t   e       e   r
0020400    r   o   r       m   e   s   s   a   g   e       a   n   d    
0020420    c   o   m   p   i   l   e   s       {   l   i   s   p       *
0020440    }       a   s       {   f   n       Q   U   O   T   E   }   )
0020460    .           T   h   u   s   ,       t   h   e       c   o   m
0020500    p   i   l   e   d       f   o   r   m       o   f       a    
0020520    f   u   n   c   t   i   o   n       w   i   t   h       c   o
0020540    m   m   e   n   t   s       d   o   e   s       n   o   t    
0020560    u   s   e       t   h   e       e   x   t   r   a       a   t
0020600    o   m       a   n   d       l   i   s   t       s   t   r   u
0020620    c   t   u   r   e       s   t   o   r   a   g   e       r   e
0020640    q   u   i   r   e   d       b   y       t   h   e       c   o
0020660    m   m   e   n   t   s       i   n       t   h   e       s   o
0020700    u   r   c   e       (   i   n   t   e   r   p   r   e   t   e
0020720    d   )       c   o   d   e   .           T   h   i   s       i
0020740    s       t   h   e       w   a   y       t   h   e       c   o
0020760    m   m   e   n   t       f   e   a   t   u   r   e       i   s
0021000        i   n   t   e   n   d   e   d       t   o       b   e    
0021020    u   s   e   d   .  \r  \r  \r   A       c   o   m   m   e   n
0021040    t       o   f       t   h   e       f   o   r   m       {   l
0021060    i   s   p       (   *       E       {   a   r   g       X   }
0021100    )   }       c   a   u   s   e   s       {   a   r   g       X
0021120    }       t   o       b   e       e   v   a   l   u   a   t   e
0021140    d       a   t       p   r   e   t   t   y   p   r   i   n   t
0021160        t   i   m   e   ,       a   s       w   e   l   l       a
0021200    s       p   r   i   n   t   e   d       a   s       a       c
0021220    o   m   m   e   n   t       i   n       t   h   e       u   s
0021240    u   a   l       w   a   y   .           F   o   r       e   x
0021260    a   m   p   l   e   ,       {   l   i   s   p       (   *    
0021300    E       (   R   A   D   I   X       8   )   )   }       a   s
0021320        a       c   o   m   m   e   n   t       i   n       a    
0021340    f   u   n   c   t   i   o   n       c   o   n   t   a   i   n
0021360    i   n   g       o   c   t   a   l       n   u   m   b   e   r
0021400    s       c   a   n       b   e       u   s   e   d       t   o
0021420        c   h   a   n   g   e       t   h   e       r   a   d   i
0021440    x       t   o       p   r   o   d   u   c   e       m   o   r
0021460    e       r   e   a   d   a   b   l   e       p   r   i   n   t
0021500    o   u   t   .   {   i   n   d   e   x       E       (   u   s
0021520    e       i   n       c   o   m   m   e   n   t   s   )   }  \r
0021540   \r  \r  \r   T   h   e       c   o   m   m   e   n   t       c
0021560    h   a   r   a   c   t   e   r       {   l   i   s   p       *
0021600    }       i   s       s   t   o   r   e   d       i   n       t
0021620    h   e       v   a   r   i   a   b   l   e       {   v   a   r
0021640        C   O   M   M   E   N   T   F   L   G   }   .           T
0021660    h   e       u   s   e   r       c   a   n       s   e   t    
0021700    i   t       t   o       s   o   m   e       o   t   h   e   r
0021720        v   a   l   u   e   ,       e   .   g   .       "   {   l
0021740    i   s   p       ;   }   "   ,       a   n   d       u   s   e
0021760        t   h   i   s       t   o       i   n   d   i   c   a   t
0022000    e       c   o   m   m   e   n   t   s   .  \r  \r   {   V   a
0022020    r   D   e   f       {   N   a   m   e       C   O   M   M   E
0022040    N   T   F   L   G   }  \r   {   T   e   x   t  \r   I   f    
0022060    {   f   n       C   A   R   }       o   f       a   n       e
0022100    x   p   r   e   s   s   i   o   n       i   s       {   f   n
0022120        E   Q   }       t   o       {   v   a   r       C   O   M
0022140    M   E   N   T   F   L   G   }   ,       t   h   e       e   x
0022160    p   r   e   s   s   i   o   n       i   s       t   r   e   a
0022200    t   e   d       a   s       a       c   o   m   m   e   n   t
0022220        b   y       {   f   n       P   R   E   T   T   Y   P   R
0022240    I   N   T   }   .           {   v   a   r       C   O   M   M
0022260    E   N   T   F   L   G   }       i   s       i   n   i   t   i
0022300    a   l   i   z   e   d       t   o       {   l   i   s   p    
0022320    *   }   .   {   i   n   d   e   x       *       (   u   s   e
0022340        i   n       c   o   m   m   e   n   t   s   )   }        
0022360    N   o   t   e       t   h   a   t       w   h   a   t   e   v
0022400    e   r       a   t   o   m       i   s       c   h   o   s   e
0022420    n       f   o   r       {   v   a   r       C   O   M   M   E
0022440    N   T   F   L   G   }       s   h   o   u   l   d       a   l
0022460    s   o       h   a   v   e       a   n       a   p   p   r   o
0022500    p   r   i   a   t   e       f   u   n   c   t   i   o   n    
0022520    d   e   f   i   n   i   t   i   o   n       a   n   d       c
0022540    o   m   p   i   l   e   r       m   a   c   r   o   ,       f
0022560    o   r       e   x   a   m   p   l   e   ,       b   y       c
0022600    o   p   y   i   n   g       t   h   o   s   e       o   f    
0022620    {   l   i   s   p       *   }   .  \r   }   }  \r  \r  \r  \r
0022640    {   i   n   d   e   x       *   *   C   O   M   M   E   N   T
0022660    *   *       (   p   r   i   n   t   e   d       b   y       s
0022700    y   s   t   e   m   )   }  \r   {   i   n   d   e   x   X    
0022720    {   N   a   m   e       C   O   M   M   E   N   T   }       {
0022740    T   y   p   e       p   r   i   n   t   e   d       b   y    
0022760    s   y   s   t   e   m   }       {   T   e   x   t       {   l
0023000    i   s   p       *   *   C   O   M   M   E   N   T   *   *   }
0023020    }       }  \r  \r   C   o   m   m   e   n   t   s       a   r
0023040    e       d   e   s   i   g   n   e   d       m   a   i   n   l
0023060    y       f   o   r       d   o   c   u   m   e   n   t   i   n
0023100    g       {   i   t       l   i   s   t   i   n   g   s   }   .
0023120            T   h   e   r   e   f   o   r   e   ,       w   h   e
0023140    n       p   r   e   t   t   y   p   r   i   n   t   i   n   g
0023160        t   o       t   h   e       t   e   r   m   i   n   a   l
0023200    ,       c   o   m   m   e   n   t   s       a   r   e       s
0023220    u   p   p   r   e   s   s   e   d       a   n   d       p   r
0023240    i   n   t   e   d       a   s       t   h   e       s   t   r
0023260    i   n   g       {   l   i   s   p       *   *   C   O   M   M
0023300    E   N   T   *   *   }   .           T   h   e       v   a   l
0023320    u   e       o   f       {   v   a   r       *   *   C   O   M
0023340    M   E   N   T   *   *   F   L   G   }       d   e   t   e   r
0023360    m   i   n   e   s       t   h   e       a   c   t   i   o   n
0023400    .  \r  \r  \r   {   i   n   d   e   x   X       {   N   a   m
0023420    e       C   O   M   M   E   N   T   *   *   F   L   G   }    
0023440    {   T   y   p   e       V   a   r   i   a   b   l   e   }    
0023460    {   T   e   x   t       {   l   i   s   p       *   *   C   O
0023500    M   M   E   N   T   *   *   F   L   G   }   }       }  \r  \r
0023520    {   V   a   r   D   e   f       {   N   a   m   e       *   *
0023540    C   O   M   M   E   N   T   *   *   F   L   G   }  \r   {   T
0023560    e   x   t  \r   I   f       {   v   a   r       *   *   C   O
0023600    M   M   E   N   T   *   *   F   L   G   }       i   s       {
0023620    l   i   s   p       N   I   L   }   ,       c   o   m   m   e
0023640    n   t   s       a   r   e       p   r   i   n   t   e   d   .
0023660            O   t   h   e   r   w   i   s   e   ,       t   h   e
0023700        v   a   l   u   e       o   f       {   v   a   r       *
0023720    *   C   O   M   M   E   N   T   *   *   F   L   G   }       i
0023740    s       p   r   i   n   t   e   d   .           I   n   i   t
0023760    i   a   l   l   y       {   l   i   s   p       "       *   *
0024000    C   O   M   M   E   N   T   *   *       "   }   .  \r   }   }
0024020   \r  \r  \r   {   F   n   D   e   f       {   F   n   N   a   m
0024040    e       C   O   M   M   E   N   T   1   }       {   F   n   A
0024060    r   g   s       L       {   a   n   o   n   a   r   g   }   }
0024100   \r   {   T   e   x   t  \r   P   r   i   n   t   s       t   h
0024120    e       c   o   m   m   e   n   t       {   a   r   g       L
0024140    }   .           {   f   n       C   O   M   M   E   N   T   1
0024160    }       i   s       a       s   e   p   a   r   a   t   e    
0024200    f   u   n   c   t   i   o   n       t   o       p   e   r   m
0024220    i   t       t   h   e       u   s   e   r       t   o       w
0024240    r   i   t   e       p   r   e   t   t   y   p   r   i   n   t
0024260        m   a   c   r   o   s       (   {   P   a   g   e   R   e
0024300    f       V   a   r       P   R   E   T   T   Y   P   R   I   N
0024320    T   M   A   C   R   O   S   }   )       t   h   a   t       u
0024340    s   e       t   h   e       r   e   g   u   l   a   r       c
0024360    o   m   m   e   n   t       p   r   i   n   t   e   r   .    
0024400        F   o   r       e   x   a   m   p   l   e   ,       t   o
0024420        c   a   u   s   e       c   o   m   m   e   n   t   s    
0024440    t   o       b   e       p   r   i   n   t   e   d       a   t
0024460        a       l   a   r   g   e   r       t   h   a   n       n
0024500    o   r   m   a   l       l   i   n   e   l   e   n   g   t   h
0024520    ,       o   n   e       c   o   u   l   d       p   u   t    
0024540    a   n       e   n   t   r   y       f   o   r       {   l   i
0024560    s   p       *   }       o   n       {   v   a   r       P   R
0024600    E   T   T   Y   P   R   I   N   T   M   A   C   R   O   S   }
0024620    :  \r  \r   {   l   i   s   p   c   o   d   e       (   *    
0024640    L   A   M   B   D   A       (   X   )       (   R   E   S   E
0024660    T   F   O   R   M       (   L   I   N   E   L   E   N   G   T
0024700    H       1   0   0   )       (   C   O   M   M   E   N   T   1
0024720        X   )   )   )   }  \r  \r   T   h   i   s       m   a   c
0024740    r   o       r   e   s   e   t   s       t   h   e       l   i
0024760    n   e       l   e   n   g   t   h   ,       p   r   i   n   t
0025000    s       t   h   e       c   o   m   m   e   n   t   ,       a
0025020    n   d       t   h   e   n       r   e   s   t   o   r   e   s
0025040        t   h   e       l   i   n   e       l   e   n   g   t   h
0025060    .  \r  \r   {   f   n       C   O   M   M   E   N   T   1   }
0025100        e   x   p   e   c   t   s       t   o       b   e       c
0025120    a   l   l   e   d       f   r   o   m       w   i   t   h   i
0025140    n       t   h   e       e   n   v   i   r   o   n   m   e   n
0025160    t       e   s   t   a   b   l   i   s   h   e   d       b   y
0025200        {   f   n       P   R   I   N   T   D   E   F   }   ,    
0025220    s   o       o   r   d   i   n   a   r   i   l   y       t   h
0025240    e       u   s   e   r       s   h   o   u   l   d       c   a
0025260    l   l       i   t       {   i   t       o   n   l   y   }    
0025300    f   r   o   m       w   i   t   h   i   n       p   r   e   t
0025320    t   y   p   r   i   n   t       m   a   c   r   o   s   .  \r
0025340    }   }  \r  \r  \r   }   {   E   n   d       S   u   b   S   e
0025360    c       C   o   m   m   e   n   t       F   e   a   t   u   r
0025400    e   }  \r  \r  \r   {   B   e   g   i   n       S   u   b   S
0025420    e   c       C   o   m   m   e   n   t       P   o   i   n   t
0025440    e   r   s   }  \r   {   T   i   t   l   e       C   o   m   m
0025460    e   n   t       P   o   i   n   t   e   r   s   }  \r   {   T
0025500    e   x   t  \r  \r  \r   {   T   a   g       C   o   m   m   e
0025520    n   t   P   o   i   n   t   e   r   }  \r  \r   {   i   n   d
0025540    e   x       *   P   R   I   M   A   R   Y   *       C   o   m
0025560    m   e   n   t       p   o   i   n   t   e   r   s   }  \r   {
0025600    i   n   d   e   x       *   P   R   I   M   A   R   Y   *    
0025620    *       (   a   s       a       r   e   a   d       m   a   c
0025640    r   o   )   }  \r   {   i   n   d   e   x       *   P   R   I
0025660    M   A   R   Y   *       *       (   a   s       a       p   r
0025700    e   t   t   y   p   r   i   n   t       m   a   c   r   o   )
0025720    }  \r  \r   F   o   r       a       w   e   l   l   -   c   o
0025740    m   m   e   n   t   e   d       c   o   l   l   e   c   t   i
0025760    o   n       o   f       p   r   o   g   r   a   m   s   ,    
0026000    t   h   e       l   i   s   t       s   t   r   u   c   t   u
0026020    r   e   ,       a   t   o   m   ,       a   n   d       p   r
0026040    i   n   t       n   a   m   e       s   t   o   r   a   g   e
0026060        r   e   q   u   i   r   e   d       t   o       r   e   p
0026100    r   e   s   e   n   t       t   h   e       c   o   m   m   e
0026120    n   t   s       i   n       c   o   r   e       c   a   n    
0026140    b   e       s   i   g   n   i   f   i   c   a   n   t   .    
0026160        I   f       t   h   e       c   o   m   m   e   n   t   s
0026200        a   l   r   e   a   d   y       a   p   p   e   a   r    
0026220    o   n       a       f   i   l   e       a   n   d       a   r
0026240    e       n   o   t       n   e   e   d   e   d       f   o   r
0026260        e   d   i   t   i   n   g   ,       a       s   i   g   n
0026300    i   f   i   c   a   n   t       s   a   v   i   n   g   s    
0026320    i   n       s   t   o   r   a   g   e       c   a   n       b
0026340    e       a   c   h   i   e   v   e   d       b   y       s   i
0026360    m   p   l   y       l   e   a   v   i   n   g       t   h   e
0026400        t   e   x   t       o   f       t   h   e       c   o   m
0026420    m   e   n   t       o   n       t   h   e       f   i   l   e
0026440        w   h   e   n       t   h   e       f   i   l   e       i
0026460    s       l   o   a   d   e   d   ,       a   n   d       i   n
0026500    s   t   e   a   d       r   e   t   a   i   n   i   n   g    
0026520    i   n       c   o   r   e       o   n   l   y       a       {
0026540    i   t       p   o   i   n   t   e   r   }       t   o       t
0026560    h   e       c   o   m   m   e   n   t   .           W   h   e
0026600    n       t   h   i   s       f   e   a   t   u   r   e       i
0026620    s       e   n   a   b   l   e   d   ,       {   l   i   s   p
0026640        *   }       i   s       d   e   f   i   n   e   d       a
0026660    s       a       r   e   a   d       m   a   c   r   o       (
0026700    {   P   a   g   e   R   e   f       T   a   g       R   e   a
0026720    d   M   a   c   r   o   s   }   )       i   n       {   v   a
0026740    r       F   I   L   E   R   D   T   B   L   }   {   i   n   d
0026760    e   x       F   I   L   E   R   D   T   B   L       V   a   r
0027000    }       w   h   i   c   h   ,       i   n   s   t   e   a   d
0027020        o   f       r   e   a   d   i   n   g       i   n       t
0027040    h   e       e   n   t   i   r   e       t   e   x   t       o
0027060    f       t   h   e       c   o   m   m   e   n   t   ,       c
0027100    o   n   s   t   r   u   c   t   s       a   n       e   x   p
0027120    r   e   s   s   i   o   n       c   o   n   t   a   i   n   i
0027140    n   g       (   1   )       t   h   e       n   a   m   e    
0027160    o   f       t   h   e       f   i   l   e       i   n       w
0027200    h   i   c   h       t   h   e       t   e   x   t       o   f
0027220        t   h   e       c   o   m   m   e   n   t       i   s    
0027240    c   o   n   t   a   i   n   e   d   ,       (   2   )       t
0027260    h   e       a   d   d   r   e   s   s       o   f       t   h
0027300    e       f   i   r   s   t       c   h   a   r   a   c   t   e
0027320    r       o   f       t   h   e       c   o   m   m   e   n   t
0027340    ,       (   3   )       t   h   e       n   u   m   b   e   r
0027360        o   f       c   h   a   r   a   c   t   e   r   s       i
0027400    n       t   h   e       c   o   m   m   e   n   t   ,        
0027420    a   n   d       (   4   )       a       f   l   a   g       i
0027440    n   d   i   c   a   t   i   n   g       w   h   e   t   h   e
0027460    r       t   h   e       c   o   m   m   e   n   t       a   p
0027500    p   e   a   r   e   d       a   t       t   h   e       r   i
0027520    g   h   t       h   a   n   d       m   a   r   g   i   n    
0027540    o   r       c   e   n   t   e   r   e   d       o   n       t
0027560    h   e       p   a   g   e   .           F   o   r       o   u
0027600    t   p   u   t       p   u   r   p   o   s   e   s   ,       {
0027620    l   i   s   p       *   }       i   s       d   e   f   i   n
0027640    e   d       o   n       {   v   a   r       P   R   E   T   T
0027660    Y   P   R   I   N   T   M   A   C   R   O   S   }       (   {
0027700    P   a   g   e   R   e   f       V   a   r       P   R   E   T
0027720    T   Y   P   R   I   N   T   M   A   C   R   O   S   }   )    
0027740    s   o       t   h   a   t       i   t       p   r   i   n   t
0027760    s       t   h   e       c   o   m   m   e   n   t   s       r
0030000    e   p   r   e   s   e   n   t   e   d       b   y       s   u
0030020    c   h       p   o   i   n   t   e   r   s       b   y       s
0030040    i   m   p   l   y       c   o   p   y   i   n   g       t   h
0030060    e       c   o   r   r   e   s   p   o   n   d   i   n   g    
0030100    c   h   a   r   a   c   t   e   r   s       f   r   o   m    
0030120    o   n   e       f   i   l   e       t   o       a   n   o   t
0030140    h   e   r   ,       o   r       t   o       t   h   e       t
0030160    e   r   m   i   n   a   l   .           N   o   r   m   a   l
0030200        c   o   m   m   e   n   t   s       a   r   e       p   r
0030220    o   c   e   s   s   e   d       t   h   e       s   a   m   e
0030240        a   s       b   e   f   o   r   e   ,       a   n   d    
0030260    c   a   n       b   e       i   n   t   e   r   m   i   x   e
0030300    d       f   r   e   e   l   y       w   i   t   h       c   o
0030320    m   m   e   n   t       p   o   i   n   t   e   r   s   .  \r
0030340   \r  \r   T   h   e       c   o   m   m   e   n   t       p   o
0030360    i   n   t   e   r       f   e   a   t   u   r   e       i   s
0030400        c   o   n   t   r   o   l   l   e   d       b   y       t
0030420    h   e       f   u   n   c   t   i   o   n       {   f   n    
0030440    N   O   R   M   A   L   C   O   M   M   E   N   T   S   }   .
0030460   \r  \r   {   F   n   D   e   f       {   N   a   m   e       N
0030500    O   R   M   A   L   C   O   M   M   E   N   T   S   }       {
0030520    A   r   g   s       F   L   G   }  \r   {   T   e   x   t  \r
0030540    I   f       {   a   r   g       F   L   G   }       i   s    
0030560    {   l   i   s   p       N   I   L   }   ,       t   h   e    
0030600    c   o   m   m   e   n   t       p   o   i   n   t   e   r    
0030620    f   e   a   t   u   r   e       i   s       e   n   a   b   l
0030640    e   d   .           I   f       {   a   r   g       F   L   G
0030660    }       i   s       {   l   i   s   p       T   }   ,       t
0030700    h   e       c   o   m   m   e   n   t       p   o   i   n   t
0030720    e   r       f   e   a   t   u   r   e       i   s       d   i
0030740    s   a   b   l   e   d       (   t   h   e       d   e   f   a
0030760    u   l   t   )   .  \r  \r   {   f   n       N   O   R   M   A
0031000    L   C   O   M   M   E   N   T   S   }       c   a   n       b
0031020    e       c   h   a   n   g   e   d       a   s       o   f   t
0031040    e   n       a   s       d   e   s   i   r   e   d   .        
0031060    T   h   u   s   ,       s   o   m   e       f   i   l   e   s
0031100        c   a   n       b   e       l   o   a   d   e   d       n
0031120    o   r   m   a   l   l   y   ,       a   n   d       o   t   h
0031140    e   r   s       w   i   t   h       t   h   e   i   r       c
0031160    o   m   m   e   n   t   s       c   o   n   v   e   r   t   e
0031200    d       t   o       c   o   m   m   e   n   t       p   o   i
0031220    n   t   e   r   s   .  \r   }   }  \r  \r  \r   F   o   r    
0031240    c   o   n   v   e   n   i   e   n   c   e       o   f       e
0031260    d   i   t   i   n   g       s   e   l   e   c   t   e   d    
0031300    c   o   m   m   e   n   t   s   ,       a   n       e   d   i
0031320    t       m   a   c   r   o   ,       {   e   d   i   t   c   o
0031340    m       G   E   T   *   }   {   i   n   d   e   x       G   E
0031360    T   *       E   d   i   t   C   o   m   }   ,       i   s    
0031400    i   n   c   l   u   d   e   d   ,       w   h   i   c   h    
0031420    l   o   a   d   s       i   n       t   h   e       t   e   x
0031440    t       o   f       t   h   e       c   o   r   r   e   s   p
0031460    o   n   d   i   n   g       c   o   m   m   e   n   t   .    
0031500        T   h   e       e   d   i   t   o   r   '   s       {   f
0031520    n       P   P   *   }       c   o   m   m   a   n   d   ,    
0031540    i   n       c   o   n   t   r   a   s   t   ,       p   r   i
0031560    n   t   s       t   h   e       c   o   m   m   e   n   t    
0031600    {   i   t       w   i   t   h   o   u   t   }       r   e   a
0031620    d   i   n   g       i   t       b   y       s   i   m   p   l
0031640    y       c   o   p   y   i   n   g       t   h   e       c   o
0031660    r   r   e   s   p   o   n   d   i   n   g       c   h   a   r
0031700    a   c   t   e   r   s       t   o       t   h   e       t   e
0031720    r   m   i   n   a   l   .           {   e   d   i   t   c   o
0031740    m       G   E   T   *   }       i   s       d   e   f   i   n
0031760    e   d       i   n       t   e   r   m   s       o   f       {
0032000    f   n       G   E   T   C   O   M   M   E   N   T   }   :  \r
0032020   \r  \r   {   F   n   D   e   f       {   F   n   N   a   m   e
0032040        G   E   T   C   O   M   M   E   N   T   }       {   F   n
0032060    A   r   g   s       X       D   E   S   T   F   L       {   a
0032100    n   o   n   a   r   g   }   }  \r   {   T   e   x   t  \r   I
0032120    f       {   a   r   g       X   }       i   s       a       c
0032140    o   m   m   e   n   t       p   o   i   n   t   e   r   ,    
0032160    r   e   p   l   a   c   e   s       {   a   r   g       X   }
0032200        w   i   t   h       t   h   e       a   c   t   u   a   l
0032220        t   e   x   t       o   f       t   h   e       c   o   m
0032240    m   e   n   t   ,       w   h   i   c   h       i   t       r
0032260    e   a   d   s       f   r   o   m       i   t   s       f   i
0032300    l   e   .           R   e   t   u   r   n   s       {   a   r
0032320    g       X   }       i   n       a   l   l       c   a   s   e
0032340    s   .           I   f       {   a   r   g       D   E   S   T
0032360    F   L   }       i   s       n   o   n   -   {   l   i   s   p
0032400        N   I   L   }   ,       i   t       i   s       t   h   e
0032420        n   a   m   e       o   f       a   n       o   p   e   n
0032440        f   i   l   e   ,       t   o       w   h   i   c   h    
0032460    {   f   n       G   E   T   C   O   M   M   E   N   T   }    
0032500    c   o   p   i   e   s       t   h   e       c   o   m   m   e
0032520    n   t   ;       i   n       t   h   i   s       c   a   s   e
0032540    ,       {   a   r   g       X   }       r   e   m   a   i   n
0032560    s       a       c   o   m   m   e   n   t       p   o   i   n
0032600    t   e   r   ,       b   u   t       i   t       h   a   s    
0032620    b   e   e   n       c   h   a   n   g   e   d       t   o    
0032640    p   o   i   n   t       t   o       t   h   e       n   e   w
0032660        f   i   l   e       (   u   n   l   e   s   s       {   f
0032700    n       N   O   R   M   A   L   C   O   M   M   E   N   T   S
0032720    }   {   i   n   d   e   x       N   O   R   M   A   L   C   O
0032740    M   M   E   N   T   S       F   n   }       h   a   s       b
0032760    e   e   n       s   e   t       t   o       {   l   i   s   p
0033000        D   O   N   T   U   P   D   A   T   E   }   )   .  \r   }
0033020    }  \r  \r   {   F   n   D   e   f       {   F   n   N   a   m
0033040    e       P   R   I   N   T   C   O   M   M   E   N   T   }    
0033060    {   F   n   A   r   g   s       X   }  \r   {   T   e   x   t
0033100   \r   D   e   f   i   n   e   d       a   s       t   h   e    
0033120    p   r   e   t   t   y   p   r   i   n   t       m   a   c   r
0033140    o       f   o   r       {   l   i   s   p       *   }   :    
0033160    c   o   p   i   e   s       t   h   e       c   o   m   m   e
0033200    n   t       t   o       t   h   e       p   r   i   m   a   r
0033220    y       o   u   t   p   u   t       f   i   l   e       b   y
0033240        u   s   i   n   g       {   f   n       G   E   T   C   O
0033260    M   M   E   N   T   }   .  \r   }   }  \r  \r   {   F   n   D
0033300    e   f       {   F   n   N   a   m   e       R   E   A   D   C
0033320    O   M   M   E   N   T   }       {   F   n   A   r   g   s    
0033340    F   L       R   D   T   B   L       L   S   T   }  \r   {   T
0033360    e   x   t  \r   D   e   f   i   n   e   d       a   s       t
0033400    h   e       r   e   a   d       m   a   c   r   o       f   o
0033420    r       {   l   i   s   p       *   }       i   n       {   l
0033440    i   s   p       F   I   L   E   R   D   T   B   L   }   :    
0033460    i   f       {   v   a   r       N   O   R   M   A   L   C   O
0033500    M   M   E   N   T   S   F   L   G   }       i   s       {   l
0033520    i   s   p       N   I   L   }   ,       i   t       c   o   n
0033540    s   t   r   u   c   t   s       a       c   o   m   m   e   n
0033560    t       p   o   i   n   t   e   r   ,       u   n   l   e   s
0033600    s       i   t       b   e   l   i   e   v   e   s       t   h
0033620    e       e   x   p   r   e   s   s   i   o   n       b   e   g
0033640    i   n   n   i   n   g       w   i   t   h       {   l   i   s
0033660    p       *   }       i   s       n   o   t       a   c   t   u
0033700    a   l   l   y       a       c   o   m   m   e   n   t   ,    
0033720    e   .   g   .   ,       i   f       t   h   e       n   e   x
0033740    t       a   t   o   m       i   s       "   {   l   i   s   p
0033760        .   }   "       o   r       {   l   i   s   p       E   }
0034000    .  \r   }   }  \r  \r  \r   N   o   t   e       t   h   a   t
0034020        a       c   e   r   t   a   i   n       a   m   o   u   n
0034040    t       o   f       c   a   r   e       i   s       r   e   q
0034060    u   i   r   e   d       i   n       u   s   i   n   g       t
0034100    h   e       c   o   m   m   e   n   t       p   o   i   n   t
0034120    e   r       f   e   a   t   u   r   e   .           S   i   n
0034140    c   e       t   h   e       t   e   x   t       o   f       t
0034160    h   e       c   o   m   m   e   n   t       r   e   s   i   d
0034200    e   s       o   n       t   h   e       f   i   l   e       p
0034220    o   i   n   t   e   d       t   o       b   y       t   h   e
0034240        c   o   m   m   e   n   t       p   o   i   n   t   e   r
0034260    ,       t   h   a   t       f   i   l   e       m   u   s   t
0034300        r   e   m   a   i   n       i   n       e   x   i   s   t
0034320    e   n   c   e       a   s       l   o   n   g       a   s    
0034340    t   h   e       c   o   m   m   e   n   t       i   s       n
0034360    e   e   d   e   d   .           {   f   n       G   E   T   C
0034400    O   M   M   E   N   T   }       h   e   l   p   s       o   u
0034420    t       b   y       c   h   a   n   g   i   n   g       t   h
0034440    e       c   o   m   m   e   n   t       p   o   i   n   t   e
0034460    r       t   o       a   l   w   a   y   s       p   o   i   n
0034500    t       a   t       t   h   e       m   o   s   t       r   e
0034520    c   e   n   t       f   i   l   e       t   h   a   t       t
0034540    h   e       c   o   m   m   e   n   t       l   i   v   e   s
0034560        o   n   .           H   o   w   e   v   e   r   ,       i
0034600    f       t   h   e       u   s   e   r       h   a   s       b
0034620    e   e   n       p   e   r   f   o   r   m   i   n   g       r
0034640    e   p   e   a   t   e   d       {   f   n       M   A   K   E
0034660    F   I   L   E   }   '   s       (   {   P   a   g   e   R   e
0034700    f       F   n       M   A   K   E   F   I   L   E   }   )    
0034720    i   n       w   h   i   c   h       d   i   f   f   e   r   i
0034740    n   g       f   u   n   c   t   i   o   n   s       h   a   v
0034760    e       c   h   a   n   g   e   d       a   t       e   a   c
0035000    h       i   n   v   o   c   a   t   i   o   n       o   f    
0035020    {   f   n       M   A   K   E   F   I   L   E   }   ,       i
0035040    t       i   s       p   o   s   s   i   b   l   e       f   o
0035060    r       t   h   e       c   o   m   m   e   n   t       p   o
0035100    i   n   t   e   r   s       i   n       m   e   m   o   r   y
0035120        t   o       b   e       p   o   i   n   t   i   n   g    
0035140    a   t       s   e   v   e   r   a   l       v   e   r   s   i
0035160    o   n   s       o   f       t   h   e       s   a   m   e    
0035200    f   i   l   e   ,       s   i   n   c   e       a       c   o
0035220    m   m   e   n   t       p   o   i   n   t   e   r       i   s
0035240        o   n   l   y       u   p   d   a   t   e   d       w   h
0035260    e   n       t   h   e       f   u   n   c   t   i   o   n    
0035300    i   t       l   i   v   e   s       i   n       i   s       p
0035320    r   e   t   t   y   p   r   i   n   t   e   d   ,       n   o
0035340    t       w   h   e   n       t   h   e       f   u   n   c   t
0035360    i   o   n       h   a   s       b   e   e   n       c   o   p
0035400    i   e   d       v   e   r   b   a   t   i   m       t   o    
0035420    t   h   e       n   e   w       f   i   l   e   .           T
0035440    h   i   s       c   a   n       b   e       a       p   r   o
0035460    b   l   e   m       f   o   r       f   i   l   e       s   y
0035500    s   t   e   m   s       t   h   a   t       h   a   v   e    
0035520    a       b   u   i   l   t   -   i   n       l   i   m   i   t
0035540        o   n       t   h   e       n   u   m   b   e   r       o
0035560    f       v   e   r   s   i   o   n   s       o   f       a    
0035600    g   i   v   e   n       f   i   l   e       t   h   a   t    
0035620    w   i   l   l       b   e       m   a   d   e       b   e   f
0035640    o   r   e       o   l   d       v   e   r   s   i   o   n   s
0035660        a   r   e       e   x   p   u   n   g   e   d   .        
0035700    I   n       s   u   c   h       a       c   a   s   e   ,    
0035720    t   h   e       u   s   e   r       s   h   o   u   l   d    
0035740    s   e   t       t   h   e       v   e   r   s   i   o   n    
0035760    r   e   t   e   n   t   i   o   n       c   o   u   n   t    
0036000    o   f       a   n   y       d   i   r   e   c   t   o   r   i
0036020    e   s       i   n   v   o   l   v   e   d       t   o       b
0036040    e       i   n   f   i   n   i   t   e   .           {   f   n
0036060        G   E   T   C   O   M   M   E   N   T   }       p   r   i
0036100    n   t   s       a   n       e   r   r   o   r       m   e   s
0036120    s   a   g   e       i   f       t   h   e       f   i   l   e
0036140        t   h   a   t       t   h   e       c   o   m   m   e   n
0036160    t       p   o   i   n   t   e   r       p   o   i   n   t   s
0036200        a   t       h   a   s       d   i   s   a   p   p   e   a
0036220    r   e   d   .  \r  \r   S   i   m   i   l   a   r   l   y   ,
0036240        o   n   e       s   h   o   u   l   d       b   e       c
0036260    o   g   n   i   z   a   n   t       o   f       c   o   m   m
0036300    e   n   t       p   o   i   n   t   e   r   s       i   n    
0036320    s   y   s   o   u   t   s   ,       a   n   d       b   e    
0036340    s   u   r   e       t   o       r   e   t   a   i   n       a
0036360    n   y       f   i   l   e   s       t   h   u   s       p   o
0036400    i   n   t   e   d       t   o   .  \r  \r   W   h   e   n    
0036420    u   s   i   n   g       c   o   m   m   e   n   t       p   o
0036440    i   n   t   e   r   s   ,       t   h   e       u   s   e   r
0036460        s   h   o   u   l   d       a   l   s   o       n   o   t
0036500        s   e   t       {   v   a   r       P   R   E   T   T   Y
0036520    F   L   G   }       (   {   P   a   g   e   R   e   f       V
0036540    a   r       P   R   E   T   T   Y   F   L   G   }   )       t
0036560    o       {   l   i   s   p       N   I   L   }       o   r    
0036600    c   a   l   l       {   f   n       M   A   K   E   F   I   L
0036620    E   }       w   i   t   h       o   p   t   i   o   n       {
0036640    l   i   s   p       F   A   S   T   }   ,       s   i   n   c
0036660    e       t   h   i   s       w   i   l   l       p   r   e   v
0036700    e   n   t       f   u   n   c   t   i   o   n   s       f   r
0036720    o   m       b   e   i   n   g       p   r   e   t   t   y   p
0036740    r   i   n   t   e   d   ,       a   n   d       h   e   n   c
0036760    e       n   o   t       g   e   t       t   h   e       t   e
0037000    x   t       o   f       t   h   e       c   o   m   m   e   n
0037020    t       c   o   p   i   e   d       i   n   t   o       t   h
0037040    e       n   e   w       f   i   l   e   .  \r  \r  \r   I   f
0037060        t   h   e       u   s   e   r       c   h   a   n   g   e
0037100    s       t   h   e       v   a   l   u   e       o   f       {
0037120    v   a   r       C   O   M   M   E   N   T   F   L   G   }   {
0037140    i   n   d   e   x       C   O   M   M   E   N   T   F   L   G
0037160        V   a   r   }       b   u   t       s   t   i   l   l    
0037200    w   i   s   h   e   s       t   o       u   s   e       t   h
0037220    e       c   o   m   m   e   n   t       p   o   i   n   t   e
0037240    r       f   e   a   t   u   r   e   ,       t   h   e       n
0037260    e   w       {   v   a   r       C   O   M   M   E   N   T   F
0037300    L   G   }       s   h   o   u   l   d       b   e       g   i
0037320    v   e   n       t   h   e       s   a   m   e       r   e   a
0037340    d   -   m   a   c   r   o       d   e   f   i   n   i   t   i
0037360    o   n       i   n       {   v   a   r       F   I   L   E   R
0037400    D   T   B   L   }       a   s       {   l   i   s   p       *
0037420    }       h   a   s   ,       a   n   d       t   h   e       s
0037440    a   m   e       e   n   t   r   y       b   e       p   u   t
0037460        o   n       {   v   a   r       P   R   E   T   T   Y   P
0037500    R   I   N   T   M   A   C   R   O   S   }   .           F   o
0037520    r       e   x   a   m   p   l   e   ,       i   f       {   v
0037540    a   r       C   O   M   M   E   N   T   F   L   G   }       i
0037560    s       r   e   s   e   t       t   o       b   e       "   {
0037600    l   i   s   p       ;   }   "   ,       t   h   e   n       {
0037620    l   i   s   p       (   S   E   T   S   Y   N   T   A   X    
0037640    '   ;       '   *       F   I   L   E   R   D   T   B   L   )
0037660    }       s   h   o   u   l   d       b   e       p   e   r   f
0037700    o   r   m   e   d   ,       a   n   d       {   l   i   s   p
0037720        (   ;       .       P   R   I   N   T   C   O   M   M   E
0037740    N   T   )   }       a   d   d   e   d       t   o       {   v
0037760    a   r       P   R   E   T   T   Y   P   R   I   N   T   M   A
0040000    C   R   O   S   }   .  \r  \r   }   {   E   n   d       S   u
0040020    b   S   e   c       C   o   m   m   e   n   t       P   o   i
0040040    n   t   e   r   s   }  \r  \r  \r  \r   {   B   e   g   i   n
0040060        S   u   b   S   e   c       C   o   n   v   e   r   t   i
0040100    n   g       C   o   m   m   e   n   t   s       t   o       L
0040120    o   w   e   r       C   a   s   e   }  \r   {   T   i   t   l
0040140    e       C   o   n   v   e   r   t   i   n   g       C   o   m
0040160    m   e   n   t   s       t   o       L   o   w   e   r       C
0040200    a   s   e   }  \r   {   T   e   x   t  \r  \r   {   i   n   d
0040220    e   x       *   P   R   I   M   A   R   Y   *       L   o   w
0040240    e   r       c   a   s   e       c   o   m   m   e   n   t   s
0040260    }  \r  \r   {   T   a   g       L   o   w   e   r   C   a   s
0040300    e   C   o   m   m   e   n   t   s   }  \r  \r  \r   T   h   i
0040320    s       s   e   c   t   i   o   n       i   s       f   o   r
0040340        u   s   e   r   s       u   s   i   n   g       t   e   r
0040360    m   i   n   a   l   s       w   i   t   h   o   u   t       l
0040400    o   w   e   r       c   a   s   e   ,       w   h   o       n
0040420    e   v   e   r   t   h   e   l   e   s   s       w   o   u   l
0040440    d       l   i   k   e       t   h   e   i   r       c   o   m
0040460    m   e   n   t   s       t   o       b   e       c   o   n   v
0040500    e   r   t   e   d       t   o       l   o   w   e   r       c
0040520    a   s   e       f   o   r       m   o   r   e       r   e   a
0040540    d   a   b   l   e       l   i   s   t   i   n   g   s   .    
0040560        I   f       t   h   e       s   e   c   o   n   d       a
0040600    t   o   m       i   n       a       c   o   m   m   e   n   t
0040620        i   s       {   l   i   s   p       %   %   }   ,       t
0040640    h   e       t   e   x   t       o   f       t   h   e       c
0040660    o   m   m   e   n   t       i   s       c   o   n   v   e   r
0040700    t   e   d       t   o       l   o   w   e   r       c   a   s
0040720    e       s   o       t   h   a   t       i   t       l   o   o
0040740    k   s       l   i   k   e       E   n   g   l   i   s   h    
0040760    i   n   s   t   e   a   d       o   f       L   i   s   p   .
0041000            N   o   t   e       t   h   a   t       c   o   m   m
0041020    e   n   t   s       a   r   e       c   o   n   v   e   r   t
0041040    e   d       {   i   t       o   n   l   y   }       w   h   e
0041060    n       t   h   e   y       a   r   e       a   c   t   u   a
0041100    l   l   y       w   r   i   t   t   e   n       t   o       a
0041120        f   i   l   e       b   y       {   f   n       P   R   E
0041140    T   T   Y   P   R   I   N   T   }   .  \r  \r  \r   T   h   e
0041160        a   l   g   o   r   i   t   h   m       f   o   r       c
0041200    o   n   v   e   r   s   i   o   n       t   o       l   o   w
0041220    e   r       c   a   s   e       i   s       t   h   e       f
0041240    o   l   l   o   w   i   n   g   :           I   f       t   h
0041260    e       f   i   r   s   t       c   h   a   r   a   c   t   e
0041300    r       i   n       a   n       a   t   o   m       i   s    
0041320    {   l   i   s   p       ^   }   ,   {   i   n   d   e   x    
0041340    ^       (   u   s   e       i   n       c   o   m   m   e   n
0041360    t   s   )   }       d   o       n   o   t       c   h   a   n
0041400    g   e       t   h   e       a   t   o   m       (   b   u   t
0041420        r   e   m   o   v   e       t   h   e       {   l   i   s
0041440    p       ^   }   )   .           I   f       t   h   e       f
0041460    i   r   s   t       c   h   a   r   a   c   t   e   r       i
0041500    s       {   l   i   s   p       %   }   ,   {   i   n   d   e
0041520    x       %       (   u   s   e       i   n       c   o   m   m
0041540    e   n   t   s   )   }       c   o   n   v   e   r   t       t
0041560    h   e       a   t   o   m       t   o       l   o   w   e   r
0041600        c   a   s   e   .           N   o   t   e       t   h   a
0041620    t       t   h   e       u   s   e   r       m   u   s   t    
0041640    t   y   p   e       {   l   i   s   p       %   %   }       a
0041660    s       {   l   i   s   p       %   }       i   s       t   h
0041700    e       e   s   c   a   p   e       c   h   a   r   a   c   t
0041720    e   r   .           I   f       t   h   e       a   t   o   m
0041740        (   m   i   n   u   s       a   n   y       t   r   a   i
0041760    l   i   n   g       p   u   n   c   t   u   a   t   i   o   n
0042000        m   a   r   k   s   )       i   s       a   n       I   n
0042020    t   e   r   l   i   s   p       w   o   r   d       (   i   .
0042040    e   .   ,       i   s       a       b   o   u   n   d       o
0042060    r       f   r   e   e       v   a   r   i   a   b   l   e    
0042100    f   o   r       t   h   e       f   u   n   c   t   i   o   n
0042120        c   o   n   t   a   i   n   i   n   g       t   h   e    
0042140    c   o   m   m   e   n   t   ,       o   r       h   a   s    
0042160    a       t   o   p       l   e   v   e   l       v   a   l   u
0042200    e   ,       o   r       i   s       a       d   e   f   i   n
0042220    e   d       f   u   n   c   t   i   o   n   ,       o   r    
0042240    h   a   s       a       n   o   n   -   {   l   i   s   p    
0042260    N   I   L   }       p   r   o   p   e   r   t   y       l   i
0042300    s   t   )   ,       d   o       n   o   t       c   h   a   n
0042320    g   e       i   t   .           O   t   h   e   r   w   i   s
0042340    e   ,       c   o   n   v   e   r   t       t   h   e       a
0042360    t   o   m       t   o       l   o   w   e   r       c   a   s
0042400    e   .           C   o   n   v   e   r   s   i   o   n       o
0042420    n   l   y       a   f   f   e   c   t   s       t   h   e    
0042440    u   p   p   e   r       c   a   s   e       a   l   p   h   a
0042460    b   e   t   ,       i   .   e   .   ,       a   t   o   m   s
0042500        a   l   r   e   a   d   y       c   o   n   v   e   r   t
0042520    e   d       t   o       l   o   w   e   r       c   a   s   e
0042540        a   r   e       n   o   t       c   h   a   n   g   e   d
0042560        i   f       t   h   e       c   o   m   m   e   n   t    
0042600    i   s       c   o   n   v   e   r   t   e   d       a   g   a
0042620    i   n   .       W   h   e   n       c   o   n   v   e   r   t
0042640    i   n   g   ,       t   h   e       f   i   r   s   t       c
0042660    h   a   r   a   c   t   e   r       i   n       t   h   e    
0042700    c   o   m   m   e   n   t       a   n   d       t   h   e    
0042720    f   i   r   s   t       c   h   a   r   a   c   t   e   r    
0042740    f   o   l   l   o   w   i   n   g       e   a   c   h       p
0042760    e   r   i   o   d       a   r   e       l   e   f   t       c
0043000    a   p   i   t   a   l   i   z   e   d   .           A   f   t
0043020    e   r       c   o   n   v   e   r   s   i   o   n   ,       t
0043040    h   e       c   o   m   m   e   n   t       i   s       p   h
0043060    y   s   i   c   a   l   l   y       m   o   d   i   f   i   e
0043100    d       t   o       b   e       t   h   e       l   o   w   e
0043120    r       c   a   s   e       t   e   x   t       m   i   n   u
0043140    s       t   h   e       {   l   i   s   p       %   %   }   {
0043160    i   n   d   e   x       %   %       (   u   s   e       i   n
0043200        c   o   m   m   e   n   t   s   )   }       f   l   a   g
0043220    ,       s   o       t   h   a   t       c   o   n   v   e   r
0043240    s   i   o   n       i   s       t   h   u   s       o   n   l
0043260    y       p   e   r   f   o   r   m   e   d       o   n   c   e
0043300        (   u   n   l   e   s   s       t   h   e       u   s   e
0043320    r       e   d   i   t   s       t   h   e       c   o   m   m
0043340    e   n   t       i   n   s   e   r   t   i   n   g       a   d
0043360    d   i   t   i   o   n   a   l       u   p   p   e   r       c
0043400    a   s   e       t   e   x   t       a   n   d       a   n   o
0043420    t   h   e   r       {   l   i   s   p       %   %   }       f
0043440    l   a   g   )   .  \r  \r   {   V   a   r   D   e   f       {
0043460    N   a   m   e       L   C   A   S   E   L   S   T   }  \r   {
0043500    T   e   x   t  \r   W   o   r   d   s       o   n       {   v
0043520    a   r       L   C   A   S   E   L   S   T   }       w   i   l
0043540    l       a   l   w   a   y   s       b   e       c   o   n   v
0043560    e   r   t   e   d       t   o       l   o   w   e   r       c
0043600    a   s   e   .           {   v   a   r       L   C   A   S   E
0043620    L   S   T   }       i   s       i   n   i   t   i   a   l   i
0043640    z   e   d       t   o       c   o   n   t   a   i   n       w
0043660    o   r   d   s       w   h   i   c   h       a   r   e       I
0043700    n   t   e   r   l   i   s   p       f   u   n   c   t   i   o
0043720    n   s       b   u   t       a   l   s   o       a   p   p   e
0043740    a   r       f   r   e   q   u   e   n   t   l   y       i   n
0043760        c   o   m   m   e   n   t   s       a   s       E   n   g
0044000    l   i   s   h       w   o   r   d   s       (   {   l   i   s
0044020    p       A   N   D   }   ,       {   l   i   s   p       E   V
0044040    E   R   Y   }   ,       {   l   i   s   p       G   E   T   }
0044060    ,       {   l   i   s   p       G   O   }   ,       {   l   i
0044100    s   p       L   A   S   T   }   ,           {   l   i   s   p
0044120        L   E   N   G   T   H   }   ,       {   l   i   s   p    
0044140    L   I   S   T   }   ,       e   t   c   .   )   .           T
0044160    h   e   r   e   f   o   r   e   ,       i   f       o   n   e
0044200        w   i   s   h   e   d       t   o       t   y   p   e    
0044220    a       c   o   m   m   e   n   t       i   n   c   l   u   d
0044240    i   n   g       t   h   e       l   i   s   p       f   u   c
0044260    t   i   o   n       {   f   n       G   O   }   ,       i   t
0044300        w   o   u   l   d       b   e       n   e   c   e   s   s
0044320    a   r   y       t   o       t   y   p   e       {   l   i   s
0044340    p       ^   G   O   }       i   n       o   r   d   e   r    
0044360    t   h   a   t       i   t       m   i   g   h   t       b   e
0044400        l   e   f   t       i   n       u   p   p   e   r       c
0044420    a   s   e   .  \r   }   }  \r  \r   {   V   a   r   D   e   f
0044440        {   N   a   m   e       U   C   A   S   E   L   S   T   }
0044460   \r   {   T   e   x   t  \r   W   o   r   d   s       o   n    
0044500    {   v   a   r       U   C   A   S   E   L   S   T   }       (
0044520    t   h   a   t       d   o       n   o   t       a   p   p   e
0044540    a   r       o   n       {   v   a   r       L   C   A   S   E
0044560    L   S   T   }   )       w   i   l   l       b   e       l   e
0044600    f   t       i   n       u   p   p   e   r       c   a   s   e
0044620    .           {   v   a   r       U   C   A   S   E   L   S   T
0044640    }       i   s       i   n   i   t   i   a   l   i   z   e   d
0044660        t   o       {   l   i   s   p       N   I   L   }   .  \r
0044700    }   }  \r  \r   {   V   a   r   D   e   f       {   N   a   m
0044720    e       A   B   B   R   E   V   L   S   T   }  \r   {   T   e
0044740    x   t  \r   {   v   a   r       A   B   B   R   E   V   L   S
0044760    T   }       i   s       u   s   e   d       t   o       d   i
0045000    s   t   i   n   g   u   i   s   h       b   e   t   w   e   e
0045020    n       a   b   b   r   e   v   i   a   t   i   o   n   s    
0045040    a   n   d       w   o   r   d   s       t   h   a   t       e
0045060    n   d       i   n       p   e   r   i   o   d   s   .        
0045100    N   o   r   m   a   l   l   y   ,       w   o   r   d   s    
0045120    t   h   a   t       e   n   d       i   n       p   e   r   i
0045140    o   d   s       a   n   d       o   c   c   u   r       m   o
0045160    r   e       t   h   a   n       h   a   l   f   w   a   y    
0045200    t   o       t   h   e       r   i   g   h   t       m   a   r
0045220    g   i   n       c   a   u   s   e       c   a   r   r   i   a
0045240    g   e   -   r   e   t   u   r   n   s   .           F   u   r
0045260    t   h   e   r   m   o   r   e   ,       d   u   r   i   n   g
0045300        c   o   n   v   e   r   s   i   o   n       t   o       l
0045320    o   w   e   r   c   a   s   e   ,       w   o   r   d   s    
0045340    e   n   d   i   n   g       i   n       p   e   r   i   o   d
0045360    s   ,       e   x   c   e   p   t       f   o   r       t   h
0045400    o   s   e       o   n       {   v   a   r       A   B   B   R
0045420    E   V   L   S   T   }   ,       c   a   u   s   e       t   h
0045440    e       f   i   r   s   t       c   h   a   r   a   c   t   e
0045460    r       i   n       t   h   e       {   i   t       n   e   x
0045500    t   }       w   o   r   d       t   o       b   e       c   a
0045520    p   i   t   a   l   i   z   e   d   .           {   v   a   r
0045540        A   B   B   R   E   V   L   S   T   }       i   s       i
0045560    n   i   t   i   a   l   i   z   e   d       t   o       t   h
0045600    e       u   p   p   e   r       a   n   d       l   o   w   e
0045620    r       c   a   s   e       f   o   r   m   s       o   f    
0045640    {   l   i   s   p       E   T   C   .   }   ,       {   l   i
0045660    s   p       I   .   E   .   }   ,       a   n   d       {   l
0045700    i   s   p       E   .   G   .   }   .  \r   }   }  \r  \r  \r
0045720   \r   }   {   E   n   d       S   u   b   S   e   c       C   o
0045740    n   v   e   r   t   i   n   g       C   o   m   m   e   n   t
0045760    s       t   o       L   o   w   e   r       C   a   s   e   }
0046000   \r  \r  \r   {   B   e   g   i   n       S   u   b   S   e   c
0046020        S   p   e   c   i   a   l       P   r   e   t   t   y   p
0046040    r   i   n   t       C   o   n   t   r   o   l   s   }  \r   {
0046060    T   i   t   l   e       S   p   e   c   i   a   l       P   r
0046100    e   t   t   y   p   r   i   n   t       C   o   n   t   r   o
0046120    l   s   }  \r   {   T   e   x   t  \r  \r  \r   {   V   a   r
0046140    D   e   f       {   N   a   m   e       P   R   E   T   T   Y
0046160    T   A   B   F   L   G   }  \r   {   T   e   x   t  \r   I   n
0046200        o   r   d   e   r       t   o       s   a   v   e       s
0046220    p   a   c   e       o   n       f   i   l   e   s   ,       t
0046240    a   b   s       a   r   e       u   s   e   d       i   n   s
0046260    t   e   a   d       o   f       s   p   a   c   e   s       f
0046300    o   r       t   h   e       i   n   i   t   a   l       s   p
0046320    a   c   e   s       o   n       e   a   c   h       l   i   n
0046340    e   ,       a   s   s   u   m   i   n   g       t   h   a   t
0046360        e   a   c   h       t   a   b       c   o   r   r   e   s
0046400    p   o   n   d   s       t   o       8       s   p   a   c   e
0046420    s   .           T   h   i   s       r   e   s   u   l   t   s
0046440        i   n       a       r   e   d   u   c   t   i   o   n    
0046460    o   f       f   i   l   e       s   i   z   e       b   y    
0046500    a   b   o   u   t       3   0   %   .           T   a   b   s
0046520        a   r   e       n   o   t       u   s   e   d       i   f
0046540        {   v   a   r       P   R   E   T   T   Y   T   A   B   F
0046560    L   G   }       i   s       s   e   t       t   o       {   l
0046600    i   s   p       N   I   L   }       (   i   n   i   t   i   a
0046620    l   l   y       {   l   i   s   p       T   }   )   .  \r   }
0046640    }  \r  \r  \r   {   i   n   d   e   x   X       {   N   a   m
0046660    e       R   P   A   R   S   }       {   T   y   p   e       V
0046700    a   r   i   a   b   l   e   }  \r   {   T   e   x   t       {
0046720    l   i   s   p       #   R   P   A   R   S   }   }       }  \r
0046740   \r   {   V   a   r   D   e   f       {   N   a   m   e       #
0046760    R   P   A   R   S   }  \r   {   T   e   x   t  \r   C   o   n
0047000    t   r   o   l   s       t   h   e       n   u   m   b   e   r
0047020        o   f       r   i   g   h   t       p   a   r   e   n   t
0047040    h   e   s   e   s       n   e   c   e   s   s   a   r   y    
0047060    f   o   r       s   q   u   a   r   e       b   r   a   c   k
0047100    e   t   i   n   g       t   o       o   c   c   u   r   .   {
0047120    i   n   d   e   x       S   q   u   a   r   e       b   r   a
0047140    c   k   e   t   s       i   n   s   e   r   t   e   d       b
0047160    y       P   R   E   T   T   Y   P   R   I   N   T   }   {   i
0047200    n   d   e   x       [   ,   ]       i   n   s   e   r   t   e
0047220    d       b   y       P   R   E   T   T   Y   P   R   I   N   T
0047240    }           I   f       {   v   a   r       #   R   P   A   R
0047260    S   }   =   {   l   i   s   p       N   I   L   }   ,       n
0047300    o       b   r   a   c   k   e   t   s       a   r   e       u
0047320    s   e   d   .           {   v   a   r       #   R   P   A   R
0047340    S   }       i   s       i   n   i   t   i   a   l   i   z   e
0047360    d       t   o       4   .  \r   }   }  \r  \r  \r  \r   {   V
0047400    a   r   D   e   f       {   N   a   m   e       F   I   R   S
0047420    T   C   O   L   }  \r   {   T   e   x   t  \r   T   h   e    
0047440    s   t   a   r   t   i   n   g       c   o   l   u   m   n    
0047460    f   o   r       c   o   m   m   e   n   t   s   .           C
0047500    o   m   m   e   n   t   s       r   u   n       b   e   t   w
0047520    e   e   n       {   v   a   r       F   I   R   S   T   C   O
0047540    L   }       a   n   d       t   h   e       l   i   n   e    
0047560    l   e   n   g   t   h       s   e   t       b   y       {   f
0047600    n       L   I   N   E   L   E   N   G   T   H   }       (   {
0047620    P   a   g   e   R   e   f       F   n       L   I   N   E   L
0047640    E   N   G   T   H   }   )   .           I   f       a       w
0047660    o   r   d       i   n       a       c   o   m   m   e   n   t
0047700        e   n   d   s       w   i   t   h       a       "   {   l
0047720    i   s   p       .   }   "       a   n   d       i   s       n
0047740    o   t       o   n       t   h   e       l   i   s   t       {
0047760    i   n   d   e   x       A   B   B   R   E   V   L   S   T    
0050000    V   a   r   }   {   v   a   r       A   B   B   R   E   V   L
0050020    S   T   }   ,       a   n   d       t   h   e       p   o   s
0050040    i   t   i   o   n       i   s       g   r   e   a   t   e   r
0050060        t   h   a   n       h   a   l   f   w   a   y       b   e
0050100    t   w   e   e   n       {   v   a   r       F   I   R   S   T
0050120    C   O   L   }       a   n   d       {   f   n       L   I   N
0050140    E   L   E   N   G   T   H   }   ,       t   h   e       n   e
0050160    x   t       w   o   r   d       i   n       t   h   e       c
0050200    o   m   m   e   n   t       b   e   g   i   n   s       o   n
0050220        a       n   e   w       l   i   n   e   .           A   l
0050240    s   o   ,       i   f       a       l   i   s   t       i   s
0050260        e   n   c   o   u   n   t   e   r   e   d       i   n    
0050300    a       c   o   m   m   e   n   t   ,       a   n   d       t
0050320    h   e       p   o   s   i   t   i   o   n       i   s       g
0050340    r   e   a   t   e   r       t   h   a   n       h   a   l   f
0050360    w   a   y   ,       t   h   e       l   i   s   t       b   e
0050400    g   i   n   s       o   n       a       n   e   w       l   i
0050420    n   e   .  \r   }   }  \r  \r  \r   {   V   a   r   D   e   f
0050440        {   N   a   m   e       P   R   E   T   T   Y   L   C   O
0050460    M   }  \r   {   T   e   x   t  \r   I   f       a       c   o
0050500    m   m   e   n   t       h   a   s       m   o   r   e       t
0050520    h   a   n       {   v   a   r       P   R   E   T   T   Y   L
0050540    C   O   M   }       e   l   e   m   e   n   t   s       (   u
0050560    s   i   n   g       {   f   n       C   O   U   N   T   }   )
0050600    ,       i   t       i   s       p   r   i   n   t   e   d    
0050620    s   t   a   r   t   i   n   g       a   t       c   o   l   u
0050640    m   n       1   0   ,       i   n   s   t   e   a   d       o
0050660    f       {   v   a   r       F   I   R   S   T   C   O   L   }
0050700    .           C   o   m   m   e   n   t   s       a   r   e    
0050720    a   l   s   o       p   r   i   n   t   e   d       s   t   a
0050740    r   t   i   n   g       a   t       c   o   l   u   m   n    
0050760    1   0       i   f       t   h   e   i   r       s   e   c   o
0051000    n   d       e   l   e   m   e   n   t       i   s       a   l
0051020    s   o       a       {   l   i   s   p       *   }   ,       i
0051040    .   e   .   ,       c   o   m   m   e   n   t   s       o   f
0051060        t   h   e       f   o   r   m       {   l   i   s   p    
0051100    (   *       *       -   -   )   }   .  \r   }   }  \r  \r  \r
0051120    {   i   n   d   e   x   X       {   N   a   m   e       C   A
0051140    R   E   F   U   L   C   O   L   U   M   N   S   }       {   T
0051160    y   p   e       V   a   r   i   a   b   l   e   }  \r   {   T
0051200    e   x   t       {   l   i   s   p       #   C   A   R   E   F
0051220    U   L   C   O   L   U   M   N   S   }   }       }  \r  \r   {
0051240    V   a   r   D   e   f       {   N   a   m   e       #   C   A
0051260    R   E   F   U   L   C   O   L   U   M   N   S   }  \r   {   T
0051300    e   x   t  \r   I   n       t   h   e       i   n   t   e   r
0051320    e   s   t   s       o   f       e   f   f   i   c   i   e   n
0051340    c   y   ,       {   f   n       P   R   E   T   T   Y   P   R
0051360    I   N   T   }       a   p   p   r   o   x   i   m   a   t   e
0051400    s       t   h   e       n   u   m   b   e   r       o   f    
0051420    c   h   a   r   a   c   t   e   r   s       i   n       e   a
0051440    c   h       a   t   o   m   ,       r   a   t   h   e   r    
0051460    t   h   a   n       c   a   l   l   i   n   g       {   f   n
0051500        N   C   H   A   R   S   }   ,       w   h   e   n       c
0051520    o   m   p   u   t   i   n   g       h   o   w       m   u   c
0051540    h       w   i   l   l       f   i   t       o   n       a    
0051560    l   i   n   e   .           T   h   i   s       p   r   o   c
0051600    e   d   u   r   e       w   o   r   k   s       s   a   t   i
0051620    s   f   a   c   t   o   r   i   l   y       i   n       m   o
0051640    s   t       c   a   s   e   s   .           H   o   w   e   v
0051660    e   r   ,       u   s   e   r   s       w   i   t   h       u
0051700    n   u   s   u   a   l   l   y       l   o   n   g       a   t
0051720    o   m   s       i   n       t   h   e   i   r       p   r   o
0051740    g   r   a   m   s   ,       e   .   g   .   ,       s   u   c
0051760    h       a   s       p   r   o   d   u   c   e   d       b   y
0052000        {   f   n       C   L   I   S   P   I   F   Y   }   ,    
0052020    m   a   y       o   c   c   a   s   i   o   n   l   l   y    
0052040    e   n   c   o   u   n   t   e   r       s   o   m   e       g
0052060    l   i   t   c   h   e   s       i   n       t   h   e       o
0052100    u   t   p   u   t       p   r   o   d   u   c   e   d       b
0052120    y       {   f   n       P   R   E   T   T   Y   P   R   I   N
0052140    T   }   .           T   h   e       v   a   l   u   e       o
0052160    f       {   v   a   r       #   C   A   R   E   F   U   L   C
0052200    O   L   U   M   N   S   }       t   e   l   l   s       {   f
0052220    n       P   R   E   T   T   Y   P   R   I   N   T   }       h
0052240    o   w       m   a   n   y       c   o   l   u   m   n   s    
0052260    (   c   o   u   n   t   i   n   g       f   r   o   m       t
0052300    h   e       r   i   g   h   t       h   a   n   d       m   a
0052320    r   g   i   n   )       i   n       w   h   i   c   h       t
0052340    o       a   c   t   u   a   l   l   y       c   o   m   p   u
0052360    t   e       {   f   n       N   C   H   A   R   S   }       i
0052400    n   s   t   e   a   d       o   f       a   p   p   r   o   x
0052420    i   m   a   t   i   n   g   .           S   e   t   t   i   n
0052440    g       {   v   a   r       #   C   A   R   E   F   U   L   C
0052460    O   L   U   M   N   S   }       t   o       2   0       o   r
0052500        3   0       w   i   l   l       e   l   i   m   i   n   a
0052520    t   e       t   h   e       g   l   i   t   c   h   e   s   ,
0052540        a   l   t   h   o   u   g   h       i   t       w   i   l
0052560    l       s   l   o   w       d   o   w   n       {   f   n    
0052600    P   R   E   T   T   Y   P   R   I   N   T   }       s   l   i
0052620    g   h   t   l   y   .           {   v   a   r       #   C   A
0052640    R   E   F   U   L   C   O   L   U   M   N   S   }       i   s
0052660        i   n   i   t   i   a   l   l   y       0   .  \r   }   }
0052700   \r  \r  \r   {   F   n   D   e   f       {   F   n   N   a   m
0052720    e       W   I   D   E   P   A   P   E   R   }       {   F   n
0052740    A   r   g   s       F   L   G   }  \r   {   T   e   x   t  \r
0052760    {   l   i   s   p       (   W   I   D   E   P   A   P   E   R
0053000        T   )   }       s   e   t   s       {   v   a   r       F
0053020    I   L   E   L   I   N   E   L   E   N   G   T   H   }   {   i
0053040    n   d   e   x       F   I   L   E   L   I   N   E   L   E   N
0053060    G   T   H       V   a   r   }       (   {   P   a   g   e   R
0053100    e   f       V   a   r       F   I   L   E   L   I   N   E   L
0053120    E   N   G   T   H   }   )   ,       {   i   n   d   e   x    
0053140    F   I   R   S   T   C   O   L       V   a   r   }   {   v   a
0053160    r       F   I   R   S   T   C   O   L   }   ,       a   n   d
0053200        {   i   n   d   e   x       P   R   E   T   T   Y   L   C
0053220    O   M       V   a   r   }   {   v   a   r       P   R   E   T
0053240    T   Y   L   C   O   M   }       t   o       l   a   r   g   e
0053260        v   a   l   u   e   s       a   p   p   r   o   p   r   i
0053300    a   t   e       f   o   r       p   r   e   t   t   y       p
0053320    r   i   n   t   i   n   g       f   i   l   e   s       t   o
0053340        b   e       l   i   s   t   e   d       o   n       w   i
0053360    d   e       p   a   p   e   r   .           {   l   i   s   p
0053400        (   W   I   D   E   P   A   P   E   R   )   }       r   e
0053420    s   t   o   r   e   s       t   h   e   s   e       p   a   r
0053440    a   m   e   t   e   r   s       t   o       t   h   e   i   r
0053460        i   n   i   t   i   a   l       v   a   l   u   e   s   .
0053500            {   f   n       W   I   D   E   P   A   P   E   R   }
0053520        r   e   t   u   r   n   s       t   h   e       p   r   e
0053540    v   i   o   u   s       s   e   t   t   i   n   g       o   f
0053560        {   a   r   g       F   L   G   }   .  \r   }   }  \r  \r
0053600   \r  \r   {   n   o   t   e       s   h   o   u   l   d       P
0053620    R   E   T   T   Y   F   L   G       b   e       m   o   v   e
0053640    d       n   e   a   r       P   R   I   N   T   D   E   F    
0053660    (   i   n       P   R   E   T   T   Y   D   E   F       s   e
0053700    c   t   i   o   n   )       ?   ?   }  \r  \r   {   V   a   r
0053720    D   e   f       {   N   a   m   e       P   R   E   T   T   Y
0053740    F   L   G   }  \r   {   T   e   x   t  \r   I   f       {   v
0053760    a   r       P   R   E   T   T   Y   F   L   G   }       i   s
0054000        {   l   i   s   p       N   I   L   }   ,       {   i   n
0054020    d   e   x       P   R   I   N   T   D   E   F       F   N   }
0054040    {   f   n       P   R   I   N   T   D   E   F   }       u   s
0054060    e   s       {   f   n       P   R   I   N   2   }       i   n
0054100    s   t   e   a   d       o   f       p   r   e   t   t   y   p
0054120    r   i   n   t   i   n   g   .           T   h   i   s       i
0054140    s       u   s   e   f   u   l       f   o   r       p   r   o
0054160    d   u   c   i   n   g       a       f   a   s   t       s   y
0054200    m   b   o   l   i   c       d   u   m   p       (   s   e   e
0054220        t   h   e       {   l   i   s   p       F   A   S   T   }
0054240        o   p   t   i   o   n       o   f       {   f   n       M
0054260    A   K   E   F   I   L   E   }   ,       {   P   a   g   e   R
0054300    e   f       F   n       M   A   K   E   F   I   L   E   }   )
0054320    .           N   o   t   e       t   h   a   t       t   h   e
0054340        f   i   l   e       l   o   a   d   s       t   h   e    
0054360    s   a   m   e       a   s       i   f       i   t       w   e
0054400    r   e       p   r   e   t   t   y   p   r   i   n   t   e   d
0054420    .           {   v   a   r       P   R   E   T   T   Y   F   L
0054440    G   }       i   s       i   n   i   t   i   a   l   l   y    
0054460    s   e   t       t   o       {   l   i   s   p       T   }   .
0054500            {   v   a   r       P   R   E   T   T   Y   F   L   G
0054520    }       s   h   o   u   l   d       n   o   t       b   e    
0054540    s   e   t       t   o       {   l   i   s   p       N   I   L
0054560    }       i   f       c   o   m   m   e   n   t       p   o   i
0054600    n   t   e   r   s       (   {   P   a   g   e   R   e   f    
0054620    t   a   g       C   o   m   m   e   n   t   P   o   i   n   t
0054640    e   r   }   )       a   r   e       b   e   i   n   g       u
0054660    s   e   d   .  \r   }   }  \r  \r  \r   {   V   a   r   D   e
0054700    f       {   N   a   m   e       C   L   I   S   P   I   F   Y
0054720    P   R   E   T   T   Y   F   L   G   }  \r   {   T   e   x   t
0054740   \r   U   s   e   d       t   o       i   n   f   o   r   m    
0054760    {   f   n       P   R   E   T   T   Y   P   R   I   N   T   }
0055000        t   o       c   a   l   l       {   f   n       C   L   I
0055020    S   P   I   F   Y   }       o   n       s   e   l   e   c   t
0055040    e   d       f   u   n   c   t   i   o   n       d   e   f   i
0055060    n   i   t   i   o   n   s       b   e   f   o   r   e       p
0055100    r   i   n   t   i   n   g       t   h   e   m       (   s   e
0055120    e       {   P   a   g   e   R   e   f       V   a   r       C
0055140    L   I   S   P   I   F   Y   P   R   E   T   T   Y   F   L   G
0055160    }   )   .  \r   }   }  \r  \r  \r   {   V   a   r   D   e   f
0055200        {   N   a   m   e       P   R   E   T   T   Y   P   R   I
0055220    N   T   M   A   C   R   O   S   }  \r   {   T   e   x   t  \r
0055240    A   n       a   s   s   o   c   i   a   t   i   o   n   -   l
0055260    i   s   t       t   h   a   t       e   n   a   b   l   e   s
0055300        t   h   e       u   s   e   r       t   o       c   o   n
0055320    t   r   o   l       t   h   e       f   o   r   m   a   t   t
0055340    i   n   g       o   f       s   e   l   e   c   t   e   d    
0055360    e   x   p   r   e   s   s   i   o   n   s   .           {   f
0055400    n       C   A   R   }       o   f       e   a   c   h       e
0055420    x   p   r   e   s   s   i   o   n       b   e   i   n   g    
0055440    {   f   n       P   R   E   T   T   Y   P   R   I   N   T   }
0055460    e   d       i   s       l   o   o   k   e   d       u   p    
0055500    o   n       {   v   a   r       P   R   E   T   T   Y   P   R
0055520    I   N   T   M   A   C   R   O   S   }   ,       a   n   d    
0055540    i   f       f   o   u   n   d   ,       {   f   n       C   D
0055560    R   }       o   f       t   h   e       c   o   r   r   e   s
0055600    p   o   n   d   i   n   g       e   n   t   r   y       i   s
0055620        a   p   p   l   i   e   d       t   o       t   h   e    
0055640    e   x   p   r   e   s   s   i   o   n   .           I   f    
0055660    t   h   e       r   e   s   u   l   t       o   f       t   h
0055700    i   s       a   p   p   l   i   c   a   t   i   o   n       i
0055720    s       {   l   i   s   p       N   I   L   }   ,       {   f
0055740    n       P   R   E   T   T   Y   P   R   I   N   T   }       i
0055760    g   n   o   r   e   s       t   h   e       e   x   p   r   e
0056000    s   s   i   o   n   ;       i   .   e   .   ,       i   t    
0056020    p   r   i   n   t   s       n   o   t   h   i   n   g   ,    
0056040    a   s   s   u   m   i   n   g       t   h   a   t       t   h
0056060    e       p   r   e   t   t   y   p   r   i   n   t   m   a   c
0056100    r   o       h   a   s       d   o   n   e       a   n   y    
0056120    d   e   s   i   r   e   d       p   r   i   n   t   i   n   g
0056140    .           I   f       t   h   e       r   e   s   u   l   t
0056160        o   f       a   p   p   l   y   i   n   g       t   h   e
0056200        p   r   e   t   t   y   p   r   i   n   t       m   a   c
0056220    r   o       i   s       n   o   n   -   {   l   i   s   p    
0056240    N   I   L   }   ,       t   h   e       r   e   s   u   l   t
0056260        i   s       p   r   e   t   t   y   p   r   i   n   t   e
0056300    d       i   n       t   h   e       n   o   r   m   a   l    
0056320    f   a   s   h   i   o   n   .           T   h   i   s       g
0056340    i   v   e   s       t   h   e       u   s   e   r       t   h
0056360    e       o   p   t   i   o   n       o   f       c   o   m   p
0056400    u   t   i   n   g       s   o   m   e       o   t   h   e   r
0056420        e   x   p   r   e   s   s   i   o   n       t   o       b
0056440    e       p   r   e   t   t   y   p   r   i   n   t   e   d    
0056460    i   n       i   t   s       p   l   a   c   e   .  \r  \r   N
0056500    o   t   e   :           "   p   r   e   t   t   y   p   r   i
0056520    n   t   e   d       i   n       t   h   e       n   o   r   m
0056540    a   l       f   a   s   h   i   o   n   "       i   n   c   l
0056560    u   d   e   s       p   r   o   c   e   s   s   i   n   g    
0056600    p   r   e   t   t   y   p   r   i   n   t       m   a   c   r
0056620    o   s   ,       u   n   l   e   s   s       t   h   e       p
0056640    r   e   t   t   y   p   r   i   n   t       m   a   c   r   o
0056660        r   e   t   u   r   n   s       a       s   t   r   u   c
0056700    t   u   r   e       {   l   i   s   p       E   Q   }       t
0056720    o       t   h   e       o   n   e       i   t       w   a   s
0056740        h   a   n   d   e   d   ,       i   n       w   h   i   c
0056760    h       c   a   s   e       t   h   e       p   o   t   e   n
0057000    t   i   a   l       r   e   c   u   r   s   i   o   n       i
0057020    s       b   r   o   k   e   n   .  \r   }   }  \r  \r  \r   {
0057040    V   a   r   D   e   f       {   N   a   m   e       P   R   E
0057060    T   T   Y   P   R   I   N   T   Y   P   E   M   A   C   R   O
0057100    S   }  \r   {   T   e   x   t  \r   A       l   i   s   t    
0057120    o   f       e   l   e   m   e   n   t   s       o   f       t
0057140    h   e       f   o   r   m       {   l   i   s   p       (   {
0057160    a   r   g       T   Y   P   E   N   A   M   E   }       .    
0057200    {   a   r   g       F   N   }   )   }   .           F   o   r
0057220        t   y   p   e   s       o   t   h   e   r       t   h   a
0057240    n       l   i   s   t   s       a   n   d       a   t   o   m
0057260    s   ,       t   h   e       t   y   p   e       n   a   m   e
0057300        o   f       e   a   c   h       d   a   t   u   m       t
0057320    o       b   e       p   r   e   t   t   y   p   r   i   n   t
0057340    e   d       i   s       l   o   o   k   e   d       u   p    
0057360    o   n       {   v   a   r       P   R   E   T   T   Y   P   R
0057400    I   N   T   Y   P   E   M   A   C   R   O   S   }   ,       a
0057420    n   d       i   f       f   o   u   n   d   ,       t   h   e
0057440        c   o   r   r   e   s   p   o   n   d   i   n   g       f
0057460    u   n   c   t   i   o   n       i   s       a   p   p   l   i
0057500    e   d       t   o       t   h   e       d   a   t   u   m    
0057520    a   b   o   u   t       t   o       b   e       p   r   i   n
0057540    t   e   d   ,       i   n   s   t   e   a   d       o   f    
0057560    s   i   m   p   l   y       p   r   i   n   t   i   n   g    
0057600    i   t       w   i   t   h       {   f   n       P   R   I   N
0057620    2   }   .  \r   }   }  \r  \r  \r   {   V   a   r   D   e   f
0057640        {   N   a   m   e       P   R   E   T   T   Y   E   Q   U
0057660    I   V   L   S   T   }  \r   {   T   e   x   t  \r   A   n    
0057700    a   s   s   o   c   i   a   t   i   o   n   -   l   i   s   t
0057720        t   h   a   t       t   e   l   l   s       {   f   n    
0057740    P   R   E   T   T   Y   P   R   I   N   T   }       t   o    
0057760    t   r   e   a   t       a       {   f   n       C   A   R   }
0060000    -   o   f   -   f   o   r   m       t   h   e       s   a   m
0060020    e       a   s       s   o   m   e       o   t   h   e   r    
0060040    {   f   n       C   A   R   }   -   o   f   -   f   o   r   m
0060060    .           F   o   r       e   x   a   m   p   l   e   ,    
0060100    i   f       {   l   i   s   p       (   Q   L   A   M   B   D
0060120    A       .       L   A   M   B   D   A   )   }       a   p   p
0060140    e   a   r   s       o   n       {   v   a   r       P   R   E
0060160    T   T   Y   E   Q   U   I   V   L   S   T   }   ,       t   h
0060200    e   n       e   x   p   r   e   s   s   i   o   n   s       b
0060220    e   g   i   n   n   i   n   g       w   i   t   h       {   l
0060240    i   s   p       Q   L   A   M   B   D   A   }       a   r   e
0060260        p   r   e   t   t   y   p   r   i   n   t   e   d       t
0060300    h   e       s   a   m   e       a   s       {   l   i   s   p
0060320        L   A   M   B   D   A   }   s   .           C   u   r   r
0060340    e   n   t   l   y   ,       {   v   a   r       P   R   E   T
0060360    T   Y   E   Q   U   I   V   L   S   T   }       o   n   l   y
0060400        a   l   l   o   w   s       (   i   .   e   .   ,       s
0060420    u   p   p   o   r   t   s       i   n       a   n       i   n
0060440    t   e   r   e   s   t   i   n   g       w   a   y   )       e
0060460    q   u   i   v   a   l   e   n   c   e   s       t   o       f
0060500    o   r   m   s       t   h   a   t       {   f   n       P   R
0060520    E   T   T   Y   P   R   I   N   T   }       i   n   t   e   r
0060540    n   a   l   l   y       h   a   n   d   l   e   s   .        
0060560    E   q   u   i   v   a   l   e   n   c   e       t   o       f
0060600    o   r   m   s       f   o   r       w   h   i   c   h       t
0060620    h   e       u   s   e   r       h   a   s       s   p   e   c
0060640    i   f   i   e   d       a       p   r   e   t   t   y   p   r
0060660    i   n   t       m   a   c   r   o       s   h   o   u   l   d
0060700        b   e       m   a   d   e       b   y       a   d   d   i
0060720    n   g       f   u   r   t   h   e   r       e   n   t   r   i
0060740    e   s       t   o       {   v   a   r       P   R   E   T   T
0060760    Y   P   R   I   N   T   M   A   C   R   O   S   }  \r   }   }
0061000   \r  \r  \r   {   V   a   r   D   e   f       {   N   a   m   e
0061020        C   H   A   N   G   E   C   H   A   R   }  \r   {   T   e
0061040    x   t  \r   I   f       n   o   n   -   {   l   i   s   p    
0061060    N   I   L   }   ,       a   n   d       {   f   n       P   R
0061100    E   T   T   Y   P   R   I   N   T   }       i   s       p   r
0061120    i   n   t   i   n   g       t   o       a       f   i   l   e
0061140        o   r       d   i   s   p   l   a   y       t   e   r   m
0061160    i   n   a   l   ,       {   f   n       P   R   E   T   T   Y
0061200    P   R   I   N   T   }       p   r   i   n   t   s       {   v
0061220    a   r       C   H   A   N   G   E   C   H   A   R   }       i
0061240    n       t   h   e       r   i   g   h   t       h   a   n   d
0061260        m   a   r   g   i   n       w   h   i   l   e       p   r
0061300    i   n   t   i   n   g       t   h   o   s   e       e   x   p
0061320    r   e   s   s   i   o   n   s       m   a   r   k   e   d    
0061340    b   y       t   h   e       e   d   i   t   o   r       a   s
0061360        h   a   v   i   n   g       b   e   e   n       c   h   a
0061400    n   g   e   d       (   s   e   e       {   P   a   g   e   R
0061420    e   f       T   a   g       E   d   i   t   o   r   C   h   a
0061440    n   g   e   M   a   r   k   s   }   )   .           {   v   a
0061460    r       C   H   A   N   G   E   C   H   A   R   }       i   s
0061500        i   n   i   t   i   a   l   l   y       {   l   i   s   p
0061520        |   }   .   {   i   n   d   e   x       *   P   R   I   M
0061540    A   R   Y   *       |       (   c   h   a   n   g   e       c
0061560    h   a   r   a   c   t   e   r   )   }  \r   }   }  \r  \r  \r
0061600    }   {   E   n   d       S   u   b   S   e   c       S   p   e
0061620    c   i   a   l       P   r   e   t   t   y   p   r   i   n   t
0061640        C   o   n   t   r   o   l   s   }  \r  \r  \r   }   {   E
0061660    n   d       S   u   b   S   e   c       P   r   e   t   t   y
0061700    p   r   i   n   t   }  \r  \r  \r  \0  \0  \0  \0  \0 004  \0
0061720  002  \0   ?  \0   1   (   D   E   F   A   U   L   T   F   O   N
0061740    T       1       (   G   A   C   H   A       1   0   )       (
0061760    G   A   C   H   A       8   )       (   T   E   R   M   I   N
0062000    A   L       8   )   )  \0  \n  \0  \0  \0  \0  \0  \0  \0  \0
0062020   \0   ?  \0   1   (   D   E   F   A   U   L   T   F   O   N   T
0062040        1       (   G   A   C   H   A       1   0   )       (   G
0062060    A   C   H   A       8   )       (   T   E   R   M   I   N   A
0062100    L       8   )   )  \0  \n  \0  \0  \0  \0  \0  \0  \0  \0  \0
0062120   \0   % 326  \0  \0  \0  \0 002  \0  \0  \0  \a  \0  \0  \0  \0
0062140  001  \0  \0  \0  \b  \0  \0  \0  \0 002  \0  \0  \0  \v  \0  \0
0062160   \0  \0 001  \0  \0  \0 024  \0  \0  \0  \0 002  \0  \0  \0  \v
0062200   \0  \0  \0  \0 001  \0  \0 001 003  \0  \0  \0  \0 002  \0  \0
0062220   \0  \t  \0  \0  \0  \0 001  \0  \0  \0  \v  \0  \0  \0  \0 002
0062240   \0  \0  \0  \b  \0  \0  \0  \0 001  \0  \0  \0 016  \0  \0  \0
0062260   \0 002  \0  \0  \0  \v  \0  \0  \0  \0 001  \0  \0   < 202  \0
0062300   \0  \0  \0 002  \0  \0   c 311  \0  \r   z 272                
0062314