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