$ od -c -N 50000 [Indigo]<Casaba>7.0>Saffron3.0>Derived>SaffronMakeFieldListImpl.Mesa!35
0000000    -   -       S   a   f   f   r   o   n   M   a   k   e   F   i
0000020    e   l   d   L   i   s   t   I   m   p   l   .   m   e   s   a
0000040   \r       -   -       C   o   p   y   r   i   g   h   t     323
0000060        1   9   8   7       b   y       X   e   r   o   x       C
0000100    o   r   p   o   r   a   t   i   o   n   .           A   l   l
0000120        r   i   g   h   t   s       r   e   s   e   r   v   e   d
0000140    .  \r       -   -       G   e   n   e   r   a   t   e   d    
0000160    b   y       R   a   u   e   n   .   p   a       a   t       S
0000200    e   p   t   e   m   b   e   r       1   ,       1   9   8   8
0000220        6   :   2   9   :   5   4       p   m       P   D   T  \r
0000240        -   -           u   s   i   n   g       T   h   r   e   e
0000260    C   a   s   a   b   a   F   o   u   r       [   1   .   2   ]
0000300        o   f       J   u   n   e       1   ,       1   9   8   7
0000320        6   :   0   0   :   0   0       p   m       P   D   T  \r
0000340   \r   D   I   R   E   C   T   O   R   Y  \r  \t   S   a   f   f
0000360    r   o   n   A   G   7   b   D   e   f   ,  \r  \t   S   a   f
0000400    f   r   o   n   A   G   8   D   e   f   ,  \r  \t   S   a   f
0000420    f   r   o   n   A   G   6   c   D   e   f   ,  \r  \t   S   a
0000440    f   f   r   o   n   G   e   n   e   r   i   c   D   e   f   ,
0000460   \r  \t   T   h   r   e   e   C   4   S   u   p   p   o   r   t
0000500    ,  \r  \t   S   a   f   f   r   o   n   B   a   s   e   D   e
0000520    f   ,  \r  \t   S   a   f   f   r   o   n   A   T   D   e   f
0000540    ;  \r  \r   S   a   f   f   r   o   n   M   a   k   e   F   i
0000560    e   l   d   L   i   s   t   I   m   p   l   :       C   E   D
0000600    A   R       P   R   O   G   R   A   M       I   M   P   O   R
0000620    T   S       T   h   r   e   e   C   4   S   u   p   p   o   r
0000640    t   ,       S   a   f   f   r   o   n   B   a   s   e   D   e
0000660    f       E   X   P   O   R   T   S       S   a   f   f   r   o
0000700    n   A   G   7   b   D   e   f   ,       S   a   f   f   r   o
0000720    n   A   G   8   D   e   f   ,       S   a   f   f   r   o   n
0000740    A   G   6   c   D   e   f   =      \r   B   E   G   I   N  \r
0000760    O   P   E   N       S   a   f   f   r   o   n   A   G   7   b
0001000    D   e   f   ,       S   a   f   f   r   o   n   A   G   8   D
0001020    e   f   ,       S   a   f   f   r   o   n   A   G   6   c   D
0001040    e   f   ,       S   a   f   f   r   o   n   G   e   n   e   r
0001060    i   c   D   e   f   ,       T   h   r   e   e   C   4   S   u
0001100    p   p   o   r   t   ,       S   a   f   f   r   o   n   B   a
0001120    s   e   D   e   f   ,       S   a   f   f   r   o   n   A   T
0001140    D   e   f   ;  \r   R   e   c   L   i   s   t   e   m   p   t
0001160    y   P   r   o   d   M   a   k   e   F   i   e   l   d   L   i
0001200    s   t   :  \t   P   U   B   L   I   C       P   R   O   C   [
0001220    r   e   f   :       R   E   F       A   N   Y   ,       l   o
0001240    c   a   l   C   o   n   t   e   x   t   :       L   o   c   a
0001260    l   C   o   n   t   e   x   t   N   o   d   e   ,       p   a
0001300    i   n   t   R   e   c   o   r   d   s   :       B   O   O   L
0001320    E   A   N   ,       c   s   :       C   o   m   p   i   l   e
0001340    r   S   t   a   t   e   N   o   d   e   ]       R   E   T   U
0001360    R   N   S   [   t   e   m   p   0   :       L   o   c   a   l
0001400    C   o   n   t   e   x   t   N   o   d   e   ,       t   e   m
0001420    p   1   :       F   i   e   l   d   L   i   s   t   N   o   d
0001440    e   ]       =  \r   B   E   G   I   N  \r   t   r   e   e   :
0001460   \t   R   e   c   L   i   s   t   N   o   d   e   _       N   A
0001500    R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I   N
0001520   \r   E   N   A   B   L   E       T   h   r   e   e   C   4   S
0001540    u   p   p   o   r   t   .   G   e   t   S   o   u   r   c   e
0001560    I   n   f   o       =   >       R   E   S   U   M   E   [   t
0001600    r   e   e   .   p   o   s   i   t   i   o   n   ,       t   r
0001620    e   e   .   l   e   n   g   t   h   ]   ;  \r   t   e   m   p
0001640    1       _       C   r   e   a   t   e   E   m   p   t   y   F
0001660    i   e   l   d   L   i   s   t   [   ]   ;  \r   t   e   m   p
0001700    0       _       F   a   k   e   D   a   m   a   g   e   C   o
0001720    n   t   e   x   t   [   l   o   c   a   l   C   o   n   t   e
0001740    x   t   ]   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   R
0001760    e   c   L   i   s   t   p   a   i   r   l   i   s   t   P   r
0002000    o   d   M   a   k   e   F   i   e   l   d   L   i   s   t   :
0002020   \t   P   U   B   L   I   C       P   R   O   C   [   r   e   f
0002040    :       R   E   F       A   N   Y   ,       l   o   c   a   l
0002060    C   o   n   t   e   x   t   :       L   o   c   a   l   C   o
0002100    n   t   e   x   t   N   o   d   e   ,       p   a   i   n   t
0002120    R   e   c   o   r   d   s   :       B   O   O   L   E   A   N
0002140    ,       c   s   :       C   o   m   p   i   l   e   r   S   t
0002160    a   t   e   N   o   d   e   ]       R   E   T   U   R   N   S
0002200    [   t   e   m   p   0   :       L   o   c   a   l   C   o   n
0002220    t   e   x   t   N   o   d   e   ,       t   e   m   p   1   :
0002240        F   i   e   l   d   L   i   s   t   N   o   d   e   ]    
0002260    =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   R   e
0002300    c   L   i   s   t   N   o   d   e   _       N   A   R   R   O
0002320    W   [   r   e   f   ]   ;  \r   B   E   G   I   N  \r   E   N
0002340    A   B   L   E       T   h   r   e   e   C   4   S   u   p   p
0002360    o   r   t   .   G   e   t   S   o   u   r   c   e   I   n   f
0002400    o       =   >       R   E   S   U   M   E   [   t   r   e   e
0002420    .   p   o   s   i   t   i   o   n   ,       t   r   e   e   .
0002440    l   e   n   g   t   h   ]   ;  \r   t   r   e   e   D   a   t
0002460    a   :  \t   R   e   c   L   i   s   t   p   a   i   r   l   i
0002500    s   t   P   r   o   d   D   a   t   a       _       N   A   R
0002520    R   O   W   [   t   r   e   e   .   d   a   t   a   ]   ;  \r
0002540    B   E   G   I   N  \r   l   o   c   a   l   C   o   n   t   e
0002560    x   t   1   :  \t   L   o   c   a   l   C   o   n   t   e   x
0002600    t   N   o   d   e   ;  \r   f   i   e   l   d   L   i   s   t
0002620    :  \t   F   i   e   l   d   L   i   s   t   N   o   d   e   ;
0002640   \r   n   e   w   F   i   e   l   d   L   i   s   t   :  \t   F
0002660    i   e   l   d   L   i   s   t   N   o   d   e   ;  \r   n   e
0002700    w   F   i   e   l   d   L   i   s   t       _       C   r   e
0002720    a   t   e   E   m   p   t   y   F   i   e   l   d   L   i   s
0002740    t   [   ]   ;  \r   [   l   o   c   a   l   C   o   n   t   e
0002760    x   t   1   ,       f   i   e   l   d   L   i   s   t   ]    
0003000    _       t   r   e   e   D   a   t   a   .   P   a   i   r   L
0003020    i   s   t   .   p   r   o   c   s   .   A   d   d   P   a   i
0003040    r   s   T   o   F   i   e   l   d   L   i   s   t   [   t   r
0003060    e   e   D   a   t   a   .   P   a   i   r   L   i   s   t   ,
0003100        l   o   c   a   l   C   o   n   t   e   x   t   ,       n
0003120    e   w   F   i   e   l   d   L   i   s   t   ,       p   a   i
0003140    n   t   R   e   c   o   r   d   s   ,       c   s   ]   ;  \r
0003160    t   e   m   p   1       _       f   i   e   l   d   L   i   s
0003200    t   ;  \r   t   e   m   p   0       _       l   o   c   a   l
0003220    C   o   n   t   e   x   t   1   ;  \r   E   N   D   ;  \r   E
0003240    N   D  \r   E   N   D   ;  \r  \r   R   e   c   L   i   s   t
0003260    t   y   p   e   l   i   s   t   P   r   o   d   M   a   k   e
0003300    F   i   e   l   d   L   i   s   t   :  \t   P   U   B   L   I
0003320    C       P   R   O   C   [   r   e   f   :       R   E   F    
0003340    A   N   Y   ,       l   o   c   a   l   C   o   n   t   e   x
0003360    t   :       L   o   c   a   l   C   o   n   t   e   x   t   N
0003400    o   d   e   ,       p   a   i   n   t   R   e   c   o   r   d
0003420    s   :       B   O   O   L   E   A   N   ,       c   s   :    
0003440    C   o   m   p   i   l   e   r   S   t   a   t   e   N   o   d
0003460    e   ]       R   E   T   U   R   N   S   [   t   e   m   p   0
0003500    :       L   o   c   a   l   C   o   n   t   e   x   t   N   o
0003520    d   e   ,       t   e   m   p   1   :       F   i   e   l   d
0003540    L   i   s   t   N   o   d   e   ]       =  \r   B   E   G   I
0003560    N  \r   t   r   e   e   :  \t   R   e   c   L   i   s   t   N
0003600    o   d   e   _       N   A   R   R   O   W   [   r   e   f   ]
0003620    ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E       T
0003640    h   r   e   e   C   4   S   u   p   p   o   r   t   .   G   e
0003660    t   S   o   u   r   c   e   I   n   f   o       =   >       R
0003700    E   S   U   M   E   [   t   r   e   e   .   p   o   s   i   t
0003720    i   o   n   ,       t   r   e   e   .   l   e   n   g   t   h
0003740    ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   R   e   c
0003760    L   i   s   t   t   y   p   e   l   i   s   t   P   r   o   d
0004000    D   a   t   a       _       N   A   R   R   O   W   [   t   r
0004020    e   e   .   d   a   t   a   ]   ;  \r   B   E   G   I   N  \r
0004040    l   o   c   a   l   C   o   n   t   e   x   t   1   :  \t   L
0004060    o   c   a   l   C   o   n   t   e   x   t   N   o   d   e   ;
0004100   \r   f   i   e   l   d   L   i   s   t   :  \t   F   i   e   l
0004120    d   L   i   s   t   N   o   d   e   ;  \r   n   e   w   F   i
0004140    e   l   d   L   i   s   t   :  \t   F   i   e   l   d   L   i
0004160    s   t   N   o   d   e   ;  \r   n   e   w   F   i   e   l   d
0004200    L   i   s   t       _       C   r   e   a   t   e   E   m   p
0004220    t   y   F   i   e   l   d   L   i   s   t   [   ]   ;  \r   [
0004240    l   o   c   a   l   C   o   n   t   e   x   t   1   ,       f
0004260    i   e   l   d   L   i   s   t   ]       _       t   r   e   e
0004300    D   a   t   a   .   T   y   p   e   L   i   s   t   .   p   r
0004320    o   c   s   .   A   d   d   T   o   F   i   e   l   d   L   i
0004340    s   t   [   t   r   e   e   D   a   t   a   .   T   y   p   e
0004360    L   i   s   t   ,       l   o   c   a   l   C   o   n   t   e
0004400    x   t   ,       n   e   w   F   i   e   l   d   L   i   s   t
0004420    ,       p   a   i   n   t   R   e   c   o   r   d   s   ,    
0004440    c   s   ]   ;  \r   t   e   m   p   1       _       f   i   e
0004460    l   d   L   i   s   t   ;  \r   t   e   m   p   0       _    
0004500    l   o   c   a   l   C   o   n   t   e   x   t   1   ;  \r   E
0004520    N   D   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   P   a
0004540    r   a   m   e   t   e   r   L   i   s   t   e   m   p   t   y
0004560    P   r   o   d   M   a   k   e   F   i   e   l   d   L   i   s
0004600    t   :  \t   P   U   B   L   I   C       P   R   O   C   [   r
0004620    e   f   :       R   E   F       A   N   Y   ,       l   o   c
0004640    a   l   C   o   n   t   e   x   t   :       L   o   c   a   l
0004660    C   o   n   t   e   x   t   N   o   d   e   ,       p   a   i
0004700    n   t   R   e   c   o   r   d   s   :       B   O   O   L   E
0004720    A   N   ,       c   s   :       C   o   m   p   i   l   e   r
0004740    S   t   a   t   e   N   o   d   e   ]       R   E   T   U   R
0004760    N   S   [   t   e   m   p   0   :       L   o   c   a   l   C
0005000    o   n   t   e   x   t   N   o   d   e   ,       t   e   m   p
0005020    1   :       F   i   e   l   d   L   i   s   t   N   o   d   e
0005040    ]       =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t
0005060    P   a   r   a   m   e   t   e   r   L   i   s   t   N   o   d
0005100    e   _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r
0005120    B   E   G   I   N  \r   E   N   A   B   L   E       T   h   r
0005140    e   e   C   4   S   u   p   p   o   r   t   .   G   e   t   S
0005160    o   u   r   c   e   I   n   f   o       =   >       R   E   S
0005200    U   M   E   [   t   r   e   e   .   p   o   s   i   t   i   o
0005220    n   ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;
0005240   \r   t   e   m   p   1       _       C   r   e   a   t   e   E
0005260    m   p   t   y   F   i   e   l   d   L   i   s   t   [   ]   ;
0005300   \r   t   e   m   p   0       _       F   a   k   e   D   a   m
0005320    a   g   e   C   o   n   t   e   x   t   [   l   o   c   a   l
0005340    C   o   n   t   e   x   t   ]   ;  \r   E   N   D  \r   E   N
0005360    D   ;  \r  \r   P   a   r   a   m   e   t   e   r   L   i   s
0005400    t   a   n   y   P   r   o   d   M   a   k   e   F   i   e   l
0005420    d   L   i   s   t   :  \t   P   U   B   L   I   C       P   R
0005440    O   C   [   r   e   f   :       R   E   F       A   N   Y   ,
0005460        l   o   c   a   l   C   o   n   t   e   x   t   :       L
0005500    o   c   a   l   C   o   n   t   e   x   t   N   o   d   e   ,
0005520        p   a   i   n   t   R   e   c   o   r   d   s   :       B
0005540    O   O   L   E   A   N   ,       c   s   :       C   o   m   p
0005560    i   l   e   r   S   t   a   t   e   N   o   d   e   ]       R
0005600    E   T   U   R   N   S   [   t   e   m   p   0   :       L   o
0005620    c   a   l   C   o   n   t   e   x   t   N   o   d   e   ,    
0005640    t   e   m   p   1   :       F   i   e   l   d   L   i   s   t
0005660    N   o   d   e   ]       =  \r   B   E   G   I   N  \r   t   r
0005700    e   e   :  \t   P   a   r   a   m   e   t   e   r   L   i   s
0005720    t   N   o   d   e   _       N   A   R   R   O   W   [   r   e
0005740    f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E
0005760        T   h   r   e   e   C   4   S   u   p   p   o   r   t   .
0006000    G   e   t   S   o   u   r   c   e   I   n   f   o       =   >
0006020        R   E   S   U   M   E   [   t   r   e   e   .   p   o   s
0006040    i   t   i   o   n   ,       t   r   e   e   .   l   e   n   g
0006060    t   h   ]   ;  \r   t   e   m   p   1       _       A   n   y
0006100    F   i   e   l   d   L   i   s   t   [   ]   ;  \r   t   e   m
0006120    p   0       _       F   a   k   e   D   a   m   a   g   e   C
0006140    o   n   t   e   x   t   [   l   o   c   a   l   C   o   n   t
0006160    e   x   t   ]   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r
0006200    P   a   r   a   m   e   t   e   r   L   i   s   t   p   a   i
0006220    r   l   i   s   t   P   r   o   d   M   a   k   e   F   i   e
0006240    l   d   L   i   s   t   :  \t   P   U   B   L   I   C       P
0006260    R   O   C   [   r   e   f   :       R   E   F       A   N   Y
0006300    ,       l   o   c   a   l   C   o   n   t   e   x   t   :    
0006320    L   o   c   a   l   C   o   n   t   e   x   t   N   o   d   e
0006340    ,       p   a   i   n   t   R   e   c   o   r   d   s   :    
0006360    B   O   O   L   E   A   N   ,       c   s   :       C   o   m
0006400    p   i   l   e   r   S   t   a   t   e   N   o   d   e   ]    
0006420    R   E   T   U   R   N   S   [   t   e   m   p   0   :       L
0006440    o   c   a   l   C   o   n   t   e   x   t   N   o   d   e   ,
0006460        t   e   m   p   1   :       F   i   e   l   d   L   i   s
0006500    t   N   o   d   e   ]       =  \r   B   E   G   I   N  \r   t
0006520    r   e   e   :  \t   P   a   r   a   m   e   t   e   r   L   i
0006540    s   t   N   o   d   e   _       N   A   R   R   O   W   [   r
0006560    e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L
0006600    E       T   h   r   e   e   C   4   S   u   p   p   o   r   t
0006620    .   G   e   t   S   o   u   r   c   e   I   n   f   o       =
0006640    >       R   E   S   U   M   E   [   t   r   e   e   .   p   o
0006660    s   i   t   i   o   n   ,       t   r   e   e   .   l   e   n
0006700    g   t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t
0006720    P   a   r   a   m   e   t   e   r   L   i   s   t   p   a   i
0006740    r   l   i   s   t   P   r   o   d   D   a   t   a       _    
0006760    N   A   R   R   O   W   [   t   r   e   e   .   d   a   t   a
0007000    ]   ;  \r   B   E   G   I   N  \r   l   o   c   a   l   C   o
0007020    n   t   e   x   t   1   :  \t   L   o   c   a   l   C   o   n
0007040    t   e   x   t   N   o   d   e   ;  \r   f   i   e   l   d   L
0007060    i   s   t   :  \t   F   i   e   l   d   L   i   s   t   N   o
0007100    d   e   ;  \r   n   e   w   F   i   e   l   d   L   i   s   t
0007120    :  \t   F   i   e   l   d   L   i   s   t   N   o   d   e   ;
0007140   \r   n   e   w   F   i   e   l   d   L   i   s   t       _    
0007160    C   r   e   a   t   e   E   m   p   t   y   F   i   e   l   d
0007200    L   i   s   t   [   ]   ;  \r   [   l   o   c   a   l   C   o
0007220    n   t   e   x   t   1   ,       f   i   e   l   d   L   i   s
0007240    t   ]       _       t   r   e   e   D   a   t   a   .   P   a
0007260    i   r   L   i   s   t   .   p   r   o   c   s   .   A   d   d
0007300    P   a   i   r   s   T   o   F   i   e   l   d   L   i   s   t
0007320    [   t   r   e   e   D   a   t   a   .   P   a   i   r   L   i
0007340    s   t   ,       l   o   c   a   l   C   o   n   t   e   x   t
0007360    ,       n   e   w   F   i   e   l   d   L   i   s   t   ,    
0007400    p   a   i   n   t   R   e   c   o   r   d   s   ,       c   s
0007420    ]   ;  \r   t   e   m   p   1       _       f   i   e   l   d
0007440    L   i   s   t   ;  \r   t   e   m   p   0       _       l   o
0007460    c   a   l   C   o   n   t   e   x   t   1   ;  \r   E   N   D
0007500    ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   P   a   r   a
0007520    m   e   t   e   r   L   i   s   t   t   y   p   e   l   i   s
0007540    t   P   r   o   d   M   a   k   e   F   i   e   l   d   L   i
0007560    s   t   :  \t   P   U   B   L   I   C       P   R   O   C   [
0007600    r   e   f   :       R   E   F       A   N   Y   ,       l   o
0007620    c   a   l   C   o   n   t   e   x   t   :       L   o   c   a
0007640    l   C   o   n   t   e   x   t   N   o   d   e   ,       p   a
0007660    i   n   t   R   e   c   o   r   d   s   :       B   O   O   L
0007700    E   A   N   ,       c   s   :       C   o   m   p   i   l   e
0007720    r   S   t   a   t   e   N   o   d   e   ]       R   E   T   U
0007740    R   N   S   [   t   e   m   p   0   :       L   o   c   a   l
0007760    C   o   n   t   e   x   t   N   o   d   e   ,       t   e   m
0010000    p   1   :       F   i   e   l   d   L   i   s   t   N   o   d
0010020    e   ]       =  \r   B   E   G   I   N  \r   t   r   e   e   :
0010040   \t   P   a   r   a   m   e   t   e   r   L   i   s   t   N   o
0010060    d   e   _       N   A   R   R   O   W   [   r   e   f   ]   ;
0010100   \r   B   E   G   I   N  \r   E   N   A   B   L   E       T   h
0010120    r   e   e   C   4   S   u   p   p   o   r   t   .   G   e   t
0010140    S   o   u   r   c   e   I   n   f   o       =   >       R   E
0010160    S   U   M   E   [   t   r   e   e   .   p   o   s   i   t   i
0010200    o   n   ,       t   r   e   e   .   l   e   n   g   t   h   ]
0010220    ;  \r   t   r   e   e   D   a   t   a   :  \t   P   a   r   a
0010240    m   e   t   e   r   L   i   s   t   t   y   p   e   l   i   s
0010260    t   P   r   o   d   D   a   t   a       _       N   A   R   R
0010300    O   W   [   t   r   e   e   .   d   a   t   a   ]   ;  \r   B
0010320    E   G   I   N  \r   l   o   c   a   l   C   o   n   t   e   x
0010340    t   1   :  \t   L   o   c   a   l   C   o   n   t   e   x   t
0010360    N   o   d   e   ;  \r   f   i   e   l   d   L   i   s   t   :
0010400   \t   F   i   e   l   d   L   i   s   t   N   o   d   e   ;  \r
0010420    n   e   w   F   i   e   l   d   L   i   s   t   :  \t   F   i
0010440    e   l   d   L   i   s   t   N   o   d   e   ;  \r   n   e   w
0010460    F   i   e   l   d   L   i   s   t       _       C   r   e   a
0010500    t   e   E   m   p   t   y   F   i   e   l   d   L   i   s   t
0010520    [   ]   ;  \r   [   l   o   c   a   l   C   o   n   t   e   x
0010540    t   1   ,       f   i   e   l   d   L   i   s   t   ]       _
0010560        t   r   e   e   D   a   t   a   .   T   y   p   e   L   i
0010600    s   t   .   p   r   o   c   s   .   A   d   d   T   o   F   i
0010620    e   l   d   L   i   s   t   [   t   r   e   e   D   a   t   a
0010640    .   T   y   p   e   L   i   s   t   ,       l   o   c   a   l
0010660    C   o   n   t   e   x   t   ,       n   e   w   F   i   e   l
0010700    d   L   i   s   t   ,       p   a   i   n   t   R   e   c   o
0010720    r   d   s   ,       c   s   ]   ;  \r   t   e   m   p   1    
0010740    _       f   i   e   l   d   L   i   s   t   ;  \r   t   e   m
0010760    p   0       _       l   o   c   a   l   C   o   n   t   e   x
0011000    t   1   ;  \r   E   N   D   ;  \r   E   N   D  \r   E   N   D
0011020    ;  \r  \r   V   a   r   i   a   n   t   L   i   s   t   o   n
0011040    e   P   r   o   d   A   d   d   V   a   r   i   a   n   t   N
0011060    a   m   e   s   T   o   E   n   u   m   T   y   p   e   T   G
0011100    N   :  \t   P   U   B   L   I   C       P   R   O   C   [   r
0011120    e   f   :       R   E   F       A   N   Y   ,       l   o   c
0011140    a   l   C   o   n   t   e   x   t   :       L   o   c   a   l
0011160    C   o   n   t   e   x   t   N   o   d   e   ,       t   g   n
0011200    :       T   y   p   e   G   r   a   p   h   N   o   d   e   N
0011220    o   d   e   ]       R   E   T   U   R   N   S   [   t   e   m
0011240    p   0   :       L   o   c   a   l   C   o   n   t   e   x   t
0011260    N   o   d   e   ]       =  \r   B   E   G   I   N  \r   t   r
0011300    e   e   :  \t   V   a   r   i   a   n   t   L   i   s   t   N
0011320    o   d   e   _       N   A   R   R   O   W   [   r   e   f   ]
0011340    ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E       T
0011360    h   r   e   e   C   4   S   u   p   p   o   r   t   .   G   e
0011400    t   S   o   u   r   c   e   I   n   f   o       =   >       R
0011420    E   S   U   M   E   [   t   r   e   e   .   p   o   s   i   t
0011440    i   o   n   ,       t   r   e   e   .   l   e   n   g   t   h
0011460    ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   V   a   r
0011500    i   a   n   t   L   i   s   t   o   n   e   P   r   o   d   D
0011520    a   t   a       _       N   A   R   R   O   W   [   t   r   e
0011540    e   .   d   a   t   a   ]   ;  \r   t   e   m   p   0       _
0011560        t   r   e   e   D   a   t   a   .   V   a   r   i   a   n
0011600    t   I   t   e   m   .   p   r   o   c   s   .   A   d   d   V
0011620    a   r   i   a   n   t   N   a   m   e   s   T   o   E   n   u
0011640    m   T   y   p   e   T   G   N   [   t   r   e   e   D   a   t
0011660    a   .   V   a   r   i   a   n   t   I   t   e   m   ,       l
0011700    o   c   a   l   C   o   n   t   e   x   t   ,       t   g   n
0011720    ]   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   V   a   r
0011740    i   a   n   t   L   i   s   t   o   n   e   P   r   o   d   M
0011760    a   k   e   S   t   a   r   T   a   g   T   y   p   e   :  \t
0012000    P   U   B   L   I   C       P   R   O   C   [   r   e   f   :
0012020        R   E   F       A   N   Y   ,       l   o   c   a   l   C
0012040    o   n   t   e   x   t   :       L   o   c   a   l   C   o   n
0012060    t   e   x   t   N   o   d   e   ]       R   E   T   U   R   N
0012100    S   [   t   e   m   p   0   :       L   o   c   a   l   C   o
0012120    n   t   e   x   t   N   o   d   e   ,       t   e   m   p   1
0012140    :       T   y   p   e   G   r   a   p   h   N   o   d   e   N
0012160    o   d   e   ]       =  \r   B   E   G   I   N  \r   t   r   e
0012200    e   :  \t   V   a   r   i   a   n   t   L   i   s   t   N   o
0012220    d   e   _       N   A   R   R   O   W   [   r   e   f   ]   ;
0012240   \r   B   E   G   I   N  \r   E   N   A   B   L   E       T   h
0012260    r   e   e   C   4   S   u   p   p   o   r   t   .   G   e   t
0012300    S   o   u   r   c   e   I   n   f   o       =   >       R   E
0012320    S   U   M   E   [   t   r   e   e   .   p   o   s   i   t   i
0012340    o   n   ,       t   r   e   e   .   l   e   n   g   t   h   ]
0012360    ;  \r   t   r   e   e   D   a   t   a   :  \t   V   a   r   i
0012400    a   n   t   L   i   s   t   o   n   e   P   r   o   d   D   a
0012420    t   a       _       N   A   R   R   O   W   [   t   r   e   e
0012440    .   d   a   t   a   ]   ;  \r   B   E   G   I   N  \r   l   o
0012460    c   a   l   C   o   n   t   e   x   t   2   :  \t   L   o   c
0012500    a   l   C   o   n   t   e   x   t   N   o   d   e   ;  \r   l
0012520    o   c   a   l   C   o   n   t   e   x   t   1   :  \t   L   o
0012540    c   a   l   C   o   n   t   e   x   t   N   o   d   e   ;  \r
0012560    t   g   n   :  \t   T   y   p   e   G   r   a   p   h   N   o
0012600    d   e   N   o   d   e   ;  \r   [   l   o   c   a   l   C   o
0012620    n   t   e   x   t   1   ,       t   g   n   ]       _       C
0012640    r   e   a   t   e   E   m   p   t   y   E   n   u   m   T   y
0012660    p   e   T   G   N   [   l   o   c   a   l   C   o   n   t   e
0012700    x   t   ,       F   a   l   s   e   [   ]   ]   ;  \r   l   o
0012720    c   a   l   C   o   n   t   e   x   t   2       _       t   r
0012740    e   e   D   a   t   a   .   V   a   r   i   a   n   t   I   t
0012760    e   m   .   p   r   o   c   s   .   A   d   d   V   a   r   i
0013000    a   n   t   N   a   m   e   s   T   o   E   n   u   m   T   y
0013020    p   e   T   G   N   [   t   r   e   e   D   a   t   a   .   V
0013040    a   r   i   a   n   t   I   t   e   m   ,       l   o   c   a
0013060    l   C   o   n   t   e   x   t   1   ,       t   g   n   ]   ;
0013100   \r   t   e   m   p   1       _       t   g   n   ;  \r   t   e
0013120    m   p   0       _       l   o   c   a   l   C   o   n   t   e
0013140    x   t   2   ;  \r   E   N   D   ;  \r   E   N   D  \r   E   N
0013160    D   ;  \r  \r   V   a   r   i   a   n   t   L   i   s   t   o
0013200    n   e   P   r   o   d   A   d   d   V   a   r   i   a   n   t
0013220    s   T   o   U   n   i   o   n   L   i   s   t   :  \t   P   U
0013240    B   L   I   C       P   R   O   C   [   r   e   f   :       R
0013260    E   F       A   N   Y   ,       l   o   c   a   l   C   o   n
0013300    t   e   x   t   :       L   o   c   a   l   C   o   n   t   e
0013320    x   t   N   o   d   e   ,       u   n   i   o   n   L   i   s
0013340    t   :       U   n   i   o   n   L   i   s   t   N   o   d   e
0013360    ,       p   a   i   n   t   R   e   c   o   r   d   s   :    
0013400    B   O   O   L   E   A   N   ,       c   s   :       C   o   m
0013420    p   i   l   e   r   S   t   a   t   e   N   o   d   e   ]    
0013440    R   E   T   U   R   N   S   [   t   e   m   p   0   :       L
0013460    o   c   a   l   C   o   n   t   e   x   t   N   o   d   e   ,
0013500        t   e   m   p   1   :       U   n   i   o   n   L   i   s
0013520    t   N   o   d   e   ]       =  \r   B   E   G   I   N  \r   t
0013540    r   e   e   :  \t   V   a   r   i   a   n   t   L   i   s   t
0013560    N   o   d   e   _       N   A   R   R   O   W   [   r   e   f
0013600    ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E    
0013620    T   h   r   e   e   C   4   S   u   p   p   o   r   t   .   G
0013640    e   t   S   o   u   r   c   e   I   n   f   o       =   >    
0013660    R   E   S   U   M   E   [   t   r   e   e   .   p   o   s   i
0013700    t   i   o   n   ,       t   r   e   e   .   l   e   n   g   t
0013720    h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   V   a
0013740    r   i   a   n   t   L   i   s   t   o   n   e   P   r   o   d
0013760    D   a   t   a       _       N   A   R   R   O   W   [   t   r
0014000    e   e   .   d   a   t   a   ]   ;  \r   [   t   e   m   p   0
0014020    ,       t   e   m   p   1   ]       _       t   r   e   e   D
0014040    a   t   a   .   V   a   r   i   a   n   t   I   t   e   m   .
0014060    p   r   o   c   s   .   A   d   d   V   a   r   i   a   n   t
0014100    s   T   o   U   n   i   o   n   L   i   s   t   [   t   r   e
0014120    e   D   a   t   a   .   V   a   r   i   a   n   t   I   t   e
0014140    m   ,       l   o   c   a   l   C   o   n   t   e   x   t   ,
0014160        u   n   i   o   n   L   i   s   t   ,       p   a   i   n
0014200    t   R   e   c   o   r   d   s   ,       c   s   ]   ;  \r   E
0014220    N   D  \r   E   N   D   ;  \r  \r   V   a   r   i   a   n   t
0014240    L   i   s   t   o   n   e   P   r   o   d   M   a   k   e   U
0014260    n   i   o   n   L   i   s   t   :  \t   P   U   B   L   I   C
0014300        P   R   O   C   [   r   e   f   :       R   E   F       A
0014320    N   Y   ,       l   o   c   a   l   C   o   n   t   e   x   t
0014340    :       L   o   c   a   l   C   o   n   t   e   x   t   N   o
0014360    d   e   ,       p   a   i   n   t   R   e   c   o   r   d   s
0014400    :       B   O   O   L   E   A   N   ,       c   s   :       C
0014420    o   m   p   i   l   e   r   S   t   a   t   e   N   o   d   e
0014440    ]       R   E   T   U   R   N   S   [   t   e   m   p   0   :
0014460        L   o   c   a   l   C   o   n   t   e   x   t   N   o   d
0014500    e   ,       t   e   m   p   1   :       U   n   i   o   n   L
0014520    i   s   t   N   o   d   e   ]       =  \r   B   E   G   I   N
0014540   \r   t   r   e   e   :  \t   V   a   r   i   a   n   t   L   i
0014560    s   t   N   o   d   e   _       N   A   R   R   O   W   [   r
0014600    e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L
0014620    E       T   h   r   e   e   C   4   S   u   p   p   o   r   t
0014640    .   G   e   t   S   o   u   r   c   e   I   n   f   o       =
0014660    >       R   E   S   U   M   E   [   t   r   e   e   .   p   o
0014700    s   i   t   i   o   n   ,       t   r   e   e   .   l   e   n
0014720    g   t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t
0014740    V   a   r   i   a   n   t   L   i   s   t   o   n   e   P   r
0014760    o   d   D   a   t   a       _       N   A   R   R   O   W   [
0015000    t   r   e   e   .   d   a   t   a   ]   ;  \r   B   E   G   I
0015020    N  \r   n   e   w   U   n   i   o   n   L   i   s   t   :  \t
0015040    U   n   i   o   n   L   i   s   t   N   o   d   e   ;  \r   n
0015060    e   w   U   n   i   o   n   L   i   s   t       _       C   r
0015100    e   a   t   e   E   m   p   t   y   U   n   i   o   n   L   i
0015120    s   t   [   ]   ;  \r   [   t   e   m   p   0   ,       t   e
0015140    m   p   1   ]       _       t   r   e   e   D   a   t   a   .
0015160    V   a   r   i   a   n   t   I   t   e   m   .   p   r   o   c
0015200    s   .   A   d   d   V   a   r   i   a   n   t   s   T   o   U
0015220    n   i   o   n   L   i   s   t   [   t   r   e   e   D   a   t
0015240    a   .   V   a   r   i   a   n   t   I   t   e   m   ,       l
0015260    o   c   a   l   C   o   n   t   e   x   t   ,       n   e   w
0015300    U   n   i   o   n   L   i   s   t   ,       p   a   i   n   t
0015320    R   e   c   o   r   d   s   ,       c   s   ]   ;  \r   E   N
0015340    D   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   V   a   r
0015360    i   a   n   t   L   i   s   t   m   o   r   e   P   r   o   d
0015400    A   d   d   V   a   r   i   a   n   t   N   a   m   e   s   T
0015420    o   E   n   u   m   T   y   p   e   T   G   N   :  \t   P   U
0015440    B   L   I   C       P   R   O   C   [   r   e   f   :       R
0015460    E   F       A   N   Y   ,       l   o   c   a   l   C   o   n
0015500    t   e   x   t   :       L   o   c   a   l   C   o   n   t   e
0015520    x   t   N   o   d   e   ,       t   g   n   :       T   y   p
0015540    e   G   r   a   p   h   N   o   d   e   N   o   d   e   ]    
0015560    R   E   T   U   R   N   S   [   t   e   m   p   0   :       L
0015600    o   c   a   l   C   o   n   t   e   x   t   N   o   d   e   ]
0015620        =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   V
0015640    a   r   i   a   n   t   L   i   s   t   N   o   d   e   _    
0015660    N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G
0015700    I   N  \r   E   N   A   B   L   E       T   h   r   e   e   C
0015720    4   S   u   p   p   o   r   t   .   G   e   t   S   o   u   r
0015740    c   e   I   n   f   o       =   >       R   E   S   U   M   E
0015760    [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,    
0016000    t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t   r
0016020    e   e   D   a   t   a   :  \t   V   a   r   i   a   n   t   L
0016040    i   s   t   m   o   r   e   P   r   o   d   D   a   t   a    
0016060    _       N   A   R   R   O   W   [   t   r   e   e   .   d   a
0016100    t   a   ]   ;  \r   B   E   G   I   N  \r   l   o   c   a   l
0016120    C   o   n   t   e   x   t   1   :  \t   L   o   c   a   l   C
0016140    o   n   t   e   x   t   N   o   d   e   ;  \r   l   o   c   a
0016160    l   C   o   n   t   e   x   t   1       _       t   r   e   e
0016200    D   a   t   a   .   V   a   r   i   a   n   t   L   i   s   t
0016220    .   p   r   o   c   s   .   A   d   d   V   a   r   i   a   n
0016240    t   N   a   m   e   s   T   o   E   n   u   m   T   y   p   e
0016260    T   G   N   [   t   r   e   e   D   a   t   a   .   V   a   r
0016300    i   a   n   t   L   i   s   t   ,       l   o   c   a   l   C
0016320    o   n   t   e   x   t   ,       t   g   n   ]   ;  \r   t   e
0016340    m   p   0       _       t   r   e   e   D   a   t   a   .   V
0016360    a   r   i   a   n   t   I   t   e   m   .   p   r   o   c   s
0016400    .   A   d   d   V   a   r   i   a   n   t   N   a   m   e   s
0016420    T   o   E   n   u   m   T   y   p   e   T   G   N   [   t   r
0016440    e   e   D   a   t   a   .   V   a   r   i   a   n   t   I   t
0016460    e   m   ,       l   o   c   a   l   C   o   n   t   e   x   t
0016500    1   ,       t   g   n   ]   ;  \r   E   N   D   ;  \r   E   N
0016520    D  \r   E   N   D   ;  \r  \r   V   a   r   i   a   n   t   L
0016540    i   s   t   m   o   r   e   P   r   o   d   M   a   k   e   S
0016560    t   a   r   T   a   g   T   y   p   e   :  \t   P   U   B   L
0016600    I   C       P   R   O   C   [   r   e   f   :       R   E   F
0016620        A   N   Y   ,       l   o   c   a   l   C   o   n   t   e
0016640    x   t   :       L   o   c   a   l   C   o   n   t   e   x   t
0016660    N   o   d   e   ]       R   E   T   U   R   N   S   [   t   e
0016700    m   p   0   :       L   o   c   a   l   C   o   n   t   e   x
0016720    t   N   o   d   e   ,       t   e   m   p   1   :       T   y
0016740    p   e   G   r   a   p   h   N   o   d   e   N   o   d   e   ]
0016760        =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   V
0017000    a   r   i   a   n   t   L   i   s   t   N   o   d   e   _    
0017020    N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G
0017040    I   N  \r   E   N   A   B   L   E       T   h   r   e   e   C
0017060    4   S   u   p   p   o   r   t   .   G   e   t   S   o   u   r
0017100    c   e   I   n   f   o       =   >       R   E   S   U   M   E
0017120    [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,    
0017140    t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t   r
0017160    e   e   D   a   t   a   :  \t   V   a   r   i   a   n   t   L
0017200    i   s   t   m   o   r   e   P   r   o   d   D   a   t   a    
0017220    _       N   A   R   R   O   W   [   t   r   e   e   .   d   a
0017240    t   a   ]   ;  \r   B   E   G   I   N  \r   l   o   c   a   l
0017260    C   o   n   t   e   x   t   3   :  \t   L   o   c   a   l   C
0017300    o   n   t   e   x   t   N   o   d   e   ;  \r   l   o   c   a
0017320    l   C   o   n   t   e   x   t   2   :  \t   L   o   c   a   l
0017340    C   o   n   t   e   x   t   N   o   d   e   ;  \r   l   o   c
0017360    a   l   C   o   n   t   e   x   t   1   :  \t   L   o   c   a
0017400    l   C   o   n   t   e   x   t   N   o   d   e   ;  \r   t   g
0017420    n   :  \t   T   y   p   e   G   r   a   p   h   N   o   d   e
0017440    N   o   d   e   ;  \r   [   l   o   c   a   l   C   o   n   t
0017460    e   x   t   1   ,       t   g   n   ]       _       C   r   e
0017500    a   t   e   E   m   p   t   y   E   n   u   m   T   y   p   e
0017520    T   G   N   [   l   o   c   a   l   C   o   n   t   e   x   t
0017540    ,       F   a   l   s   e   [   ]   ]   ;  \r   l   o   c   a
0017560    l   C   o   n   t   e   x   t   2       _       t   r   e   e
0017600    D   a   t   a   .   V   a   r   i   a   n   t   L   i   s   t
0017620    .   p   r   o   c   s   .   A   d   d   V   a   r   i   a   n
0017640    t   N   a   m   e   s   T   o   E   n   u   m   T   y   p   e
0017660    T   G   N   [   t   r   e   e   D   a   t   a   .   V   a   r
0017700    i   a   n   t   L   i   s   t   ,       l   o   c   a   l   C
0017720    o   n   t   e   x   t   1   ,       t   g   n   ]   ;  \r   l
0017740    o   c   a   l   C   o   n   t   e   x   t   3       _       t
0017760    r   e   e   D   a   t   a   .   V   a   r   i   a   n   t   I
0020000    t   e   m   .   p   r   o   c   s   .   A   d   d   V   a   r
0020020    i   a   n   t   N   a   m   e   s   T   o   E   n   u   m   T
0020040    y   p   e   T   G   N   [   t   r   e   e   D   a   t   a   .
0020060    V   a   r   i   a   n   t   I   t   e   m   ,       l   o   c
0020100    a   l   C   o   n   t   e   x   t   2   ,       t   g   n   ]
0020120    ;  \r   t   e   m   p   1       _       t   g   n   ;  \r   t
0020140    e   m   p   0       _       l   o   c   a   l   C   o   n   t
0020160    e   x   t   3   ;  \r   E   N   D   ;  \r   E   N   D  \r   E
0020200    N   D   ;  \r  \r   V   a   r   i   a   n   t   L   i   s   t
0020220    m   o   r   e   P   r   o   d   A   d   d   V   a   r   i   a
0020240    n   t   s   T   o   U   n   i   o   n   L   i   s   t   :  \t
0020260    P   U   B   L   I   C       P   R   O   C   [   r   e   f   :
0020300        R   E   F       A   N   Y   ,       l   o   c   a   l   C
0020320    o   n   t   e   x   t   :       L   o   c   a   l   C   o   n
0020340    t   e   x   t   N   o   d   e   ,       u   n   i   o   n   L
0020360    i   s   t   :       U   n   i   o   n   L   i   s   t   N   o
0020400    d   e   ,       p   a   i   n   t   R   e   c   o   r   d   s
0020420    :       B   O   O   L   E   A   N   ,       c   s   :       C
0020440    o   m   p   i   l   e   r   S   t   a   t   e   N   o   d   e
0020460    ]       R   E   T   U   R   N   S   [   t   e   m   p   0   :
0020500        L   o   c   a   l   C   o   n   t   e   x   t   N   o   d
0020520    e   ,       t   e   m   p   1   :       U   n   i   o   n   L
0020540    i   s   t   N   o   d   e   ]       =  \r   B   E   G   I   N
0020560   \r   t   r   e   e   :  \t   V   a   r   i   a   n   t   L   i
0020600    s   t   N   o   d   e   _       N   A   R   R   O   W   [   r
0020620    e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L
0020640    E       T   h   r   e   e   C   4   S   u   p   p   o   r   t
0020660    .   G   e   t   S   o   u   r   c   e   I   n   f   o       =
0020700    >       R   E   S   U   M   E   [   t   r   e   e   .   p   o
0020720    s   i   t   i   o   n   ,       t   r   e   e   .   l   e   n
0020740    g   t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t
0020760    V   a   r   i   a   n   t   L   i   s   t   m   o   r   e   P
0021000    r   o   d   D   a   t   a       _       N   A   R   R   O   W
0021020    [   t   r   e   e   .   d   a   t   a   ]   ;  \r   B   E   G
0021040    I   N  \r   l   o   c   a   l   C   o   n   t   e   x   t   1
0021060    :  \t   L   o   c   a   l   C   o   n   t   e   x   t   N   o
0021100    d   e   ;  \r   u   n   i   o   n   L   i   s   t   1   :  \t
0021120    U   n   i   o   n   L   i   s   t   N   o   d   e   ;  \r   [
0021140    l   o   c   a   l   C   o   n   t   e   x   t   1   ,       u
0021160    n   i   o   n   L   i   s   t   1   ]       _       t   r   e
0021200    e   D   a   t   a   .   V   a   r   i   a   n   t   L   i   s
0021220    t   .   p   r   o   c   s   .   A   d   d   V   a   r   i   a
0021240    n   t   s   T   o   U   n   i   o   n   L   i   s   t   [   t
0021260    r   e   e   D   a   t   a   .   V   a   r   i   a   n   t   L
0021300    i   s   t   ,       l   o   c   a   l   C   o   n   t   e   x
0021320    t   ,       u   n   i   o   n   L   i   s   t   ,       p   a
0021340    i   n   t   R   e   c   o   r   d   s   ,       c   s   ]   ;
0021360   \r   [   t   e   m   p   0   ,       t   e   m   p   1   ]    
0021400    _       t   r   e   e   D   a   t   a   .   V   a   r   i   a
0021420    n   t   I   t   e   m   .   p   r   o   c   s   .   A   d   d
0021440    V   a   r   i   a   n   t   s   T   o   U   n   i   o   n   L
0021460    i   s   t   [   t   r   e   e   D   a   t   a   .   V   a   r
0021500    i   a   n   t   I   t   e   m   ,       l   o   c   a   l   C
0021520    o   n   t   e   x   t   1   ,       u   n   i   o   n   L   i
0021540    s   t   1   ,       p   a   i   n   t   R   e   c   o   r   d
0021560    s   ,       c   s   ]   ;  \r   E   N   D   ;  \r   E   N   D
0021600   \r   E   N   D   ;  \r  \r   V   a   r   i   a   n   t   L   i
0021620    s   t   m   o   r   e   P   r   o   d   M   a   k   e   U   n
0021640    i   o   n   L   i   s   t   :  \t   P   U   B   L   I   C    
0021660    P   R   O   C   [   r   e   f   :       R   E   F       A   N
0021700    Y   ,       l   o   c   a   l   C   o   n   t   e   x   t   :
0021720        L   o   c   a   l   C   o   n   t   e   x   t   N   o   d
0021740    e   ,       p   a   i   n   t   R   e   c   o   r   d   s   :
0021760        B   O   O   L   E   A   N   ,       c   s   :       C   o
0022000    m   p   i   l   e   r   S   t   a   t   e   N   o   d   e   ]
0022020        R   E   T   U   R   N   S   [   t   e   m   p   0   :    
0022040    L   o   c   a   l   C   o   n   t   e   x   t   N   o   d   e
0022060    ,       t   e   m   p   1   :       U   n   i   o   n   L   i
0022100    s   t   N   o   d   e   ]       =  \r   B   E   G   I   N  \r
0022120    t   r   e   e   :  \t   V   a   r   i   a   n   t   L   i   s
0022140    t   N   o   d   e   _       N   A   R   R   O   W   [   r   e
0022160    f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E
0022200        T   h   r   e   e   C   4   S   u   p   p   o   r   t   .
0022220    G   e   t   S   o   u   r   c   e   I   n   f   o       =   >
0022240        R   E   S   U   M   E   [   t   r   e   e   .   p   o   s
0022260    i   t   i   o   n   ,       t   r   e   e   .   l   e   n   g
0022300    t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   V
0022320    a   r   i   a   n   t   L   i   s   t   m   o   r   e   P   r
0022340    o   d   D   a   t   a       _       N   A   R   R   O   W   [
0022360    t   r   e   e   .   d   a   t   a   ]   ;  \r   B   E   G   I
0022400    N  \r   l   o   c   a   l   C   o   n   t   e   x   t   1   :
0022420   \t   L   o   c   a   l   C   o   n   t   e   x   t   N   o   d
0022440    e   ;  \r   u   n   i   o   n   L   i   s   t   :  \t   U   n
0022460    i   o   n   L   i   s   t   N   o   d   e   ;  \r   n   e   w
0022500    U   n   i   o   n   L   i   s   t   :  \t   U   n   i   o   n
0022520    L   i   s   t   N   o   d   e   ;  \r   n   e   w   U   n   i
0022540    o   n   L   i   s   t       _       C   r   e   a   t   e   E
0022560    m   p   t   y   U   n   i   o   n   L   i   s   t   [   ]   ;
0022600   \r   [   l   o   c   a   l   C   o   n   t   e   x   t   1   ,
0022620        u   n   i   o   n   L   i   s   t   ]       _       t   r
0022640    e   e   D   a   t   a   .   V   a   r   i   a   n   t   L   i
0022660    s   t   .   p   r   o   c   s   .   A   d   d   V   a   r   i
0022700    a   n   t   s   T   o   U   n   i   o   n   L   i   s   t   [
0022720    t   r   e   e   D   a   t   a   .   V   a   r   i   a   n   t
0022740    L   i   s   t   ,       l   o   c   a   l   C   o   n   t   e
0022760    x   t   ,       n   e   w   U   n   i   o   n   L   i   s   t
0023000    ,       p   a   i   n   t   R   e   c   o   r   d   s   ,    
0023020    c   s   ]   ;  \r   [   t   e   m   p   0   ,       t   e   m
0023040    p   1   ]       _       t   r   e   e   D   a   t   a   .   V
0023060    a   r   i   a   n   t   I   t   e   m   .   p   r   o   c   s
0023100    .   A   d   d   V   a   r   i   a   n   t   s   T   o   U   n
0023120    i   o   n   L   i   s   t   [   t   r   e   e   D   a   t   a
0023140    .   V   a   r   i   a   n   t   I   t   e   m   ,       l   o
0023160    c   a   l   C   o   n   t   e   x   t   1   ,       u   n   i
0023200    o   n   L   i   s   t   ,       p   a   i   n   t   R   e   c
0023220    o   r   d   s   ,       c   s   ]   ;  \r   E   N   D   ;  \r
0023240    E   N   D  \r   E   N   D   ;  \r  \r   V   a   r   i   a   n
0023260    t   I   t   e   m   P   r   o   d   A   d   d   V   a   r   i
0023300    a   n   t   N   a   m   e   s   T   o   E   n   u   m   T   y
0023320    p   e   T   G   N   :  \t   P   U   B   L   I   C       P   R
0023340    O   C   [   r   e   f   :       R   E   F       A   N   Y   ,
0023360        l   o   c   a   l   C   o   n   t   e   x   t   :       L
0023400    o   c   a   l   C   o   n   t   e   x   t   N   o   d   e   ,
0023420        t   g   n   :       T   y   p   e   G   r   a   p   h   N
0023440    o   d   e   N   o   d   e   ]       R   E   T   U   R   N   S
0023460    [   t   e   m   p   0   :       L   o   c   a   l   C   o   n
0023500    t   e   x   t   N   o   d   e   ]       =  \r   B   E   G   I
0023520    N  \r   t   r   e   e   :  \t   V   a   r   i   a   n   t   I
0023540    t   e   m   N   o   d   e   _       N   A   R   R   O   W   [
0023560    r   e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B
0023600    L   E       T   h   r   e   e   C   4   S   u   p   p   o   r
0023620    t   .   G   e   t   S   o   u   r   c   e   I   n   f   o    
0023640    =   >       R   E   S   U   M   E   [   t   r   e   e   .   p
0023660    o   s   i   t   i   o   n   ,       t   r   e   e   .   l   e
0023700    n   g   t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :
0023720   \t   V   a   r   i   a   n   t   I   t   e   m   P   r   o   d
0023740    D   a   t   a       _       N   A   R   R   O   W   [   t   r
0023760    e   e   .   d   a   t   a   ]   ;  \r   t   e   m   p   0    
0024000    _       t   r   e   e   D   a   t   a   .   I   d   L   i   s
0024020    t   .   p   r   o   c   s   .   A   d   d   V   a   r   i   a
0024040    n   t   N   a   m   e   s   T   o   E   n   u   m   T   y   p
0024060    e   T   G   N   [   t   r   e   e   D   a   t   a   .   I   d
0024100    L   i   s   t   ,       l   o   c   a   l   C   o   n   t   e
0024120    x   t   ,       t   g   n   ]   ;  \r   E   N   D  \r   E   N
0024140    D   ;  \r  \r   V   a   r   i   a   n   t   I   t   e   m   P
0024160    r   o   d   A   d   d   V   a   r   i   a   n   t   s   T   o
0024200    U   n   i   o   n   L   i   s   t   :  \t   P   U   B   L   I
0024220    C       P   R   O   C   [   r   e   f   :       R   E   F    
0024240    A   N   Y   ,       l   o   c   a   l   C   o   n   t   e   x
0024260    t   :       L   o   c   a   l   C   o   n   t   e   x   t   N
0024300    o   d   e   ,       u   n   i   o   n   L   i   s   t   :    
0024320    U   n   i   o   n   L   i   s   t   N   o   d   e   ,       p
0024340    a   i   n   t   R   e   c   o   r   d   s   :       B   O   O
0024360    L   E   A   N   ,       c   s   :       C   o   m   p   i   l
0024400    e   r   S   t   a   t   e   N   o   d   e   ]       R   E   T
0024420    U   R   N   S   [   t   e   m   p   0   :       L   o   c   a
0024440    l   C   o   n   t   e   x   t   N   o   d   e   ,       t   e
0024460    m   p   1   :       U   n   i   o   n   L   i   s   t   N   o
0024500    d   e   ]       =  \r   B   E   G   I   N  \r   t   r   e   e
0024520    :  \t   V   a   r   i   a   n   t   I   t   e   m   N   o   d
0024540    e   _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r
0024560    B   E   G   I   N  \r   E   N   A   B   L   E       T   h   r
0024600    e   e   C   4   S   u   p   p   o   r   t   .   G   e   t   S
0024620    o   u   r   c   e   I   n   f   o       =   >       R   E   S
0024640    U   M   E   [   t   r   e   e   .   p   o   s   i   t   i   o
0024660    n   ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;
0024700   \r   t   r   e   e   D   a   t   a   :  \t   V   a   r   i   a
0024720    n   t   I   t   e   m   P   r   o   d   D   a   t   a       _
0024740        N   A   R   R   O   W   [   t   r   e   e   .   d   a   t
0024760    a   ]   ;  \r   B   E   G   I   N  \r   f   f   l   :  \t   F
0025000    r   o   z   e   n   F   i   e   l   d   L   i   s   t   N   o
0025020    d   e   ;  \r   l   o   c   a   l   C   o   n   t   e   x   t
0025040    1   :  \t   L   o   c   a   l   C   o   n   t   e   x   t   N
0025060    o   d   e   ;  \r   f   i   e   l   d   L   i   s   t   :  \t
0025100    F   i   e   l   d   L   i   s   t   N   o   d   e   ;  \r   [
0025120    l   o   c   a   l   C   o   n   t   e   x   t   1   ,       f
0025140    i   e   l   d   L   i   s   t   ]       _       t   r   e   e
0025160    D   a   t   a   .   R   e   c   L   i   s   t   .   p   r   o
0025200    c   s   .   M   a   k   e   F   i   e   l   d   L   i   s   t
0025220    [   t   r   e   e   D   a   t   a   .   R   e   c   L   i   s
0025240    t   ,       l   o   c   a   l   C   o   n   t   e   x   t   ,
0025260        p   a   i   n   t   R   e   c   o   r   d   s   ,       c
0025300    s   ]   ;  \r   f   f   l       _       F   r   e   e   z   e
0025320    F   i   e   l   d   L   i   s   t   [   f   i   e   l   d   L
0025340    i   s   t   ]   ;  \r   t   e   m   p   1       _       t   r
0025360    e   e   D   a   t   a   .   I   d   L   i   s   t   .   p   r
0025400    o   c   s   .   A   d   d   N   a   m   e   s   T   o   U   n
0025420    i   o   n   L   i   s   t   [   t   r   e   e   D   a   t   a
0025440    .   I   d   L   i   s   t   ,       f   f   l   ,       u   n
0025460    i   o   n   L   i   s   t   ]   ;  \r   t   e   m   p   0    
0025500    _       l   o   c   a   l   C   o   n   t   e   x   t   1   ;
0025520   \r   E   N   D   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r
0025540    I   d   L   i   s   t   o   n   e   P   r   o   d   A   d   d
0025560    I   d   s   T   o   R   e   s   t   r   i   c   t   i   o   n
0025600    L   i   s   t   :  \t   P   U   B   L   I   C       P   R   O
0025620    C   [   r   e   f   :       R   E   F       A   N   Y   ,    
0025640    n   a   m   e   d   T   G   N   :       T   y   p   e   G   r
0025660    a   p   h   N   o   d   e   N   o   d   e   ]       R   E   T
0025700    U   R   N   S   [   t   e   m   p   0   :       T   y   p   e
0025720    G   r   a   p   h   N   o   d   e   N   o   d   e   ]       =
0025740   \r   B   E   G   I   N  \r   t   r   e   e   :  \t   I   d   L
0025760    i   s   t   N   o   d   e   _       N   A   R   R   O   W   [
0026000    r   e   f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B
0026020    L   E       T   h   r   e   e   C   4   S   u   p   p   o   r
0026040    t   .   G   e   t   S   o   u   r   c   e   I   n   f   o    
0026060    =   >       R   E   S   U   M   E   [   t   r   e   e   .   p
0026100    o   s   i   t   i   o   n   ,       t   r   e   e   .   l   e
0026120    n   g   t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :
0026140   \t   I   d   L   i   s   t   o   n   e   P   r   o   d   D   a
0026160    t   a       _       N   A   R   R   O   W   [   t   r   e   e
0026200    .   d   a   t   a   ]   ;  \r   t   e   m   p   0       _    
0026220    A   d   d   I   d   T   o   R   e   s   t   r   i   c   t   i
0026240    o   n   L   i   s   t   [   t   r   e   e   D   a   t   a   .
0026260    I   d   ,       n   a   m   e   d   T   G   N   ]   ;  \r   E
0026300    N   D  \r   E   N   D   ;  \r  \r   I   d   L   i   s   t   o
0026320    n   e   P   r   o   d   A   d   d   V   a   r   i   a   n   t
0026340    N   a   m   e   s   T   o   E   n   u   m   T   y   p   e   T
0026360    G   N   :  \t   P   U   B   L   I   C       P   R   O   C   [
0026400    r   e   f   :       R   E   F       A   N   Y   ,       l   o
0026420    c   a   l   C   o   n   t   e   x   t   :       L   o   c   a
0026440    l   C   o   n   t   e   x   t   N   o   d   e   ,       t   g
0026460    n   :       T   y   p   e   G   r   a   p   h   N   o   d   e
0026500    N   o   d   e   ]       R   E   T   U   R   N   S   [   t   e
0026520    m   p   0   :       L   o   c   a   l   C   o   n   t   e   x
0026540    t   N   o   d   e   ]       =  \r   B   E   G   I   N  \r   t
0026560    r   e   e   :  \t   I   d   L   i   s   t   N   o   d   e   _
0026600        N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E
0026620    G   I   N  \r   E   N   A   B   L   E       T   h   r   e   e
0026640    C   4   S   u   p   p   o   r   t   .   G   e   t   S   o   u
0026660    r   c   e   I   n   f   o       =   >       R   E   S   U   M
0026700    E   [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,
0026720        t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t
0026740    r   e   e   D   a   t   a   :  \t   I   d   L   i   s   t   o
0026760    n   e   P   r   o   d   D   a   t   a       _       N   A   R
0027000    R   O   W   [   t   r   e   e   .   d   a   t   a   ]   ;  \r
0027020    t   e   m   p   0       _       A   p   p   e   n   d   E   l
0027040    e   m   e   n   t   T   o   E   n   u   m   T   y   p   e   T
0027060    G   N   [   l   o   c   a   l   C   o   n   t   e   x   t   ,
0027100        t   g   n   ,       t   r   e   e   D   a   t   a   .   I
0027120    d   ,       M   a   k   e   U   n   p   a   r   s   e   d   N
0027140    u   l   l   V   a   l   u   e   [   ]   ]   ;  \r   E   N   D
0027160   \r   E   N   D   ;  \r  \r   I   d   L   i   s   t   o   n   e
0027200    P   r   o   d   A   d   d   N   a   m   e   s   T   o   U   n
0027220    i   o   n   L   i   s   t   :  \t   P   U   B   L   I   C    
0027240    P   R   O   C   [   r   e   f   :       R   E   F       A   N
0027260    Y   ,       f   f   l   :       F   r   o   z   e   n   F   i
0027300    e   l   d   L   i   s   t   N   o   d   e   ,       u   n   i
0027320    o   n   L   i   s   t   :       U   n   i   o   n   L   i   s
0027340    t   N   o   d   e   ]       R   E   T   U   R   N   S   [   t
0027360    e   m   p   0   :       U   n   i   o   n   L   i   s   t   N
0027400    o   d   e   ]       =  \r   B   E   G   I   N  \r   t   r   e
0027420    e   :  \t   I   d   L   i   s   t   N   o   d   e   _       N
0027440    A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I
0027460    N  \r   E   N   A   B   L   E       T   h   r   e   e   C   4
0027500    S   u   p   p   o   r   t   .   G   e   t   S   o   u   r   c
0027520    e   I   n   f   o       =   >       R   E   S   U   M   E   [
0027540    t   r   e   e   .   p   o   s   i   t   i   o   n   ,       t
0027560    r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t   r   e
0027600    e   D   a   t   a   :  \t   I   d   L   i   s   t   o   n   e
0027620    P   r   o   d   D   a   t   a       _       N   A   R   R   O
0027640    W   [   t   r   e   e   .   d   a   t   a   ]   ;  \r   t   e
0027660    m   p   0       _       A   p   p   e   n   d   T   o   U   n
0027700    i   o   n   L   i   s   t   [   u   n   i   o   n   L   i   s
0027720    t   ,       t   r   e   e   D   a   t   a   .   I   d   ,    
0027740    f   f   l   ]   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r
0027760    I   d   L   i   s   t   m   o   r   e   P   r   o   d   A   d
0030000    d   I   d   s   T   o   R   e   s   t   r   i   c   t   i   o
0030020    n   L   i   s   t   :  \t   P   U   B   L   I   C       P   R
0030040    O   C   [   r   e   f   :       R   E   F       A   N   Y   ,
0030060        t   g   n   :       T   y   p   e   G   r   a   p   h   N
0030100    o   d   e   N   o   d   e   ]       R   E   T   U   R   N   S
0030120    [   t   e   m   p   0   :       T   y   p   e   G   r   a   p
0030140    h   N   o   d   e   N   o   d   e   ]       =  \r   B   E   G
0030160    I   N  \r   t   r   e   e   :  \t   I   d   L   i   s   t   N
0030200    o   d   e   _       N   A   R   R   O   W   [   r   e   f   ]
0030220    ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E       T
0030240    h   r   e   e   C   4   S   u   p   p   o   r   t   .   G   e
0030260    t   S   o   u   r   c   e   I   n   f   o       =   >       R
0030300    E   S   U   M   E   [   t   r   e   e   .   p   o   s   i   t
0030320    i   o   n   ,       t   r   e   e   .   l   e   n   g   t   h
0030340    ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   I   d   L
0030360    i   s   t   m   o   r   e   P   r   o   d   D   a   t   a    
0030400    _       N   A   R   R   O   W   [   t   r   e   e   .   d   a
0030420    t   a   ]   ;  \r   B   E   G   I   N  \r   t   g   n   2   :
0030440   \t   T   y   p   e   G   r   a   p   h   N   o   d   e   N   o
0030460    d   e   ;  \r   t   g   n   1   :  \t   T   y   p   e   G   r
0030500    a   p   h   N   o   d   e   N   o   d   e   ;  \r   t   g   n
0030520    1       _       A   d   d   I   d   T   o   R   e   s   t   r
0030540    i   c   t   i   o   n   L   i   s   t   [   t   r   e   e   D
0030560    a   t   a   .   I   d   ,       t   g   n   ]   ;  \r   t   g
0030600    n   2       _       t   r   e   e   D   a   t   a   .   I   d
0030620    L   i   s   t   .   p   r   o   c   s   .   A   d   d   I   d
0030640    s   T   o   R   e   s   t   r   i   c   t   i   o   n   L   i
0030660    s   t   [   t   r   e   e   D   a   t   a   .   I   d   L   i
0030700    s   t   ,       t   g   n   1   ]   ;  \r   t   e   m   p   0
0030720        _       t   g   n   2   ;  \r   E   N   D   ;  \r   E   N
0030740    D  \r   E   N   D   ;  \r  \r   I   d   L   i   s   t   m   o
0030760    r   e   P   r   o   d   A   d   d   V   a   r   i   a   n   t
0031000    N   a   m   e   s   T   o   E   n   u   m   T   y   p   e   T
0031020    G   N   :  \t   P   U   B   L   I   C       P   R   O   C   [
0031040    r   e   f   :       R   E   F       A   N   Y   ,       l   o
0031060    c   a   l   C   o   n   t   e   x   t   :       L   o   c   a
0031100    l   C   o   n   t   e   x   t   N   o   d   e   ,       t   g
0031120    n   :       T   y   p   e   G   r   a   p   h   N   o   d   e
0031140    N   o   d   e   ]       R   E   T   U   R   N   S   [   t   e
0031160    m   p   0   :       L   o   c   a   l   C   o   n   t   e   x
0031200    t   N   o   d   e   ]       =  \r   B   E   G   I   N  \r   t
0031220    r   e   e   :  \t   I   d   L   i   s   t   N   o   d   e   _
0031240        N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E
0031260    G   I   N  \r   E   N   A   B   L   E       T   h   r   e   e
0031300    C   4   S   u   p   p   o   r   t   .   G   e   t   S   o   u
0031320    r   c   e   I   n   f   o       =   >       R   E   S   U   M
0031340    E   [   t   r   e   e   .   p   o   s   i   t   i   o   n   ,
0031360        t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t
0031400    r   e   e   D   a   t   a   :  \t   I   d   L   i   s   t   m
0031420    o   r   e   P   r   o   d   D   a   t   a       _       N   A
0031440    R   R   O   W   [   t   r   e   e   .   d   a   t   a   ]   ;
0031460   \r   B   E   G   I   N  \r   l   o   c   a   l   C   o   n   t
0031500    e   x   t   1   :  \t   L   o   c   a   l   C   o   n   t   e
0031520    x   t   N   o   d   e   ;  \r   l   o   c   a   l   C   o   n
0031540    t   e   x   t   1       _       A   p   p   e   n   d   E   l
0031560    e   m   e   n   t   T   o   E   n   u   m   T   y   p   e   T
0031600    G   N   [   l   o   c   a   l   C   o   n   t   e   x   t   ,
0031620        t   g   n   ,       t   r   e   e   D   a   t   a   .   I
0031640    d   ,       M   a   k   e   U   n   p   a   r   s   e   d   N
0031660    u   l   l   V   a   l   u   e   [   ]   ]   ;  \r   t   e   m
0031700    p   0       _       t   r   e   e   D   a   t   a   .   I   d
0031720    L   i   s   t   .   p   r   o   c   s   .   A   d   d   V   a
0031740    r   i   a   n   t   N   a   m   e   s   T   o   E   n   u   m
0031760    T   y   p   e   T   G   N   [   t   r   e   e   D   a   t   a
0032000    .   I   d   L   i   s   t   ,       l   o   c   a   l   C   o
0032020    n   t   e   x   t   1   ,       t   g   n   ]   ;  \r   E   N
0032040    D   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   I   d   L
0032060    i   s   t   m   o   r   e   P   r   o   d   A   d   d   N   a
0032100    m   e   s   T   o   U   n   i   o   n   L   i   s   t   :  \t
0032120    P   U   B   L   I   C       P   R   O   C   [   r   e   f   :
0032140        R   E   F       A   N   Y   ,       f   f   l   :       F
0032160    r   o   z   e   n   F   i   e   l   d   L   i   s   t   N   o
0032200    d   e   ,       u   n   i   o   n   L   i   s   t   :       U
0032220    n   i   o   n   L   i   s   t   N   o   d   e   ]       R   E
0032240    T   U   R   N   S   [   t   e   m   p   0   :       U   n   i
0032260    o   n   L   i   s   t   N   o   d   e   ]       =  \r   B   E
0032300    G   I   N  \r   t   r   e   e   :  \t   I   d   L   i   s   t
0032320    N   o   d   e   _       N   A   R   R   O   W   [   r   e   f
0032340    ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E    
0032360    T   h   r   e   e   C   4   S   u   p   p   o   r   t   .   G
0032400    e   t   S   o   u   r   c   e   I   n   f   o       =   >    
0032420    R   E   S   U   M   E   [   t   r   e   e   .   p   o   s   i
0032440    t   i   o   n   ,       t   r   e   e   .   l   e   n   g   t
0032460    h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   I   d
0032500    L   i   s   t   m   o   r   e   P   r   o   d   D   a   t   a
0032520        _       N   A   R   R   O   W   [   t   r   e   e   .   d
0032540    a   t   a   ]   ;  \r   B   E   G   I   N  \r   u   n   i   o
0032560    n   L   i   s   t   1   :  \t   U   n   i   o   n   L   i   s
0032600    t   N   o   d   e   ;  \r   u   n   i   o   n   L   i   s   t
0032620    1       _       A   p   p   e   n   d   T   o   U   n   i   o
0032640    n   L   i   s   t   [   u   n   i   o   n   L   i   s   t   ,
0032660        t   r   e   e   D   a   t   a   .   I   d   ,       f   f
0032700    l   ]   ;  \r   t   e   m   p   0       _       t   r   e   e
0032720    D   a   t   a   .   I   d   L   i   s   t   .   p   r   o   c
0032740    s   .   A   d   d   N   a   m   e   s   T   o   U   n   i   o
0032760    n   L   i   s   t   [   t   r   e   e   D   a   t   a   .   I
0033000    d   L   i   s   t   ,       f   f   l   ,       u   n   i   o
0033020    n   L   i   s   t   1   ]   ;  \r   E   N   D   ;  \r   E   N
0033040    D  \r   E   N   D   ;  \r  \r   T   a   g   i   d   e   n   t
0033060    P   r   o   d   G   e   t   S   e   q   u   e   n   c   e   T
0033100    a   g   I   n   f   o   :  \t   P   U   B   L   I   C       P
0033120    R   O   C   [   r   e   f   :       R   E   F       A   N   Y
0033140    ,       c   s   :       C   o   m   p   i   l   e   r   S   t
0033160    a   t   e   N   o   d   e   ]       R   E   T   U   R   N   S
0033200    [   t   e   m   p   0   :       I   d   N   o   d   e   ,    
0033220    t   e   m   p   1   :       P   o   s   i   t   i   o   n   V
0033240    a   l   N   o   d   e   ,       t   e   m   p   2   :       A
0033260    c   c   e   s   s   V   a   l   N   o   d   e   ]       =  \r
0033300    B   E   G   I   N  \r   t   r   e   e   :  \t   T   a   g   N
0033320    o   d   e   _       N   A   R   R   O   W   [   r   e   f   ]
0033340    ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E       T
0033360    h   r   e   e   C   4   S   u   p   p   o   r   t   .   G   e
0033400    t   S   o   u   r   c   e   I   n   f   o       =   >       R
0033420    E   S   U   M   E   [   t   r   e   e   .   p   o   s   i   t
0033440    i   o   n   ,       t   r   e   e   .   l   e   n   g   t   h
0033460    ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   T   a   g
0033500    i   d   e   n   t   P   r   o   d   D   a   t   a       _    
0033520    N   A   R   R   O   W   [   t   r   e   e   .   d   a   t   a
0033540    ]   ;  \r   t   e   m   p   2       _       t   r   e   e   D
0033560    a   t   a   .   A   c   c   e   s   s   .   p   r   o   c   s
0033600    .   G   e   t   A   c   c   e   s   s   V   a   l   [   t   r
0033620    e   e   D   a   t   a   .   A   c   c   e   s   s   ,       G
0033640    e   t   D   e   f   a   u   l   t   A   c   c   e   s   s   [
0033660    c   s   ]   ]   ;  \r   [   t   e   m   p   0   ,       t   e
0033700    m   p   1   ]       _       t   r   e   e   D   a   t   a   .
0033720    I   d   e   n   t   .   p   r   o   c   s   .   G   e   t   I
0033740    d   e   n   t   I   n   f   o   [   t   r   e   e   D   a   t
0033760    a   .   I   d   e   n   t   ]   ;  \r   E   N   D  \r   E   N
0034000    D   ;  \r  \r   T   a   g   i   d   e   n   t   P   r   o   d
0034020    M   a   k   e   T   a   g   T   y   p   e   :  \t   P   U   B
0034040    L   I   C       P   R   O   C   [   r   e   f   :       R   E
0034060    F       A   N   Y   ,       l   o   c   a   l   C   o   n   t
0034100    e   x   t   :       L   o   c   a   l   C   o   n   t   e   x
0034120    t   N   o   d   e   ,       p   a   i   n   t   R   e   c   o
0034140    r   d   s   :       B   O   O   L   E   A   N   ,       c   s
0034160    :       C   o   m   p   i   l   e   r   S   t   a   t   e   N
0034200    o   d   e   ]       R   E   T   U   R   N   S   [   t   e   m
0034220    p   0   :       L   o   c   a   l   C   o   n   t   e   x   t
0034240    N   o   d   e   ,       t   e   m   p   1   :       T   y   p
0034260    e   G   r   a   p   h   N   o   d   e   N   o   d   e   ,    
0034300    t   e   m   p   2   :       B   O   O   L   E   A   N   ]    
0034320    =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   T   a
0034340    g   N   o   d   e   _       N   A   R   R   O   W   [   r   e
0034360    f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E
0034400        T   h   r   e   e   C   4   S   u   p   p   o   r   t   .
0034420    G   e   t   S   o   u   r   c   e   I   n   f   o       =   >
0034440        R   E   S   U   M   E   [   t   r   e   e   .   p   o   s
0034460    i   t   i   o   n   ,       t   r   e   e   .   l   e   n   g
0034500    t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   T
0034520    a   g   i   d   e   n   t   P   r   o   d   D   a   t   a    
0034540    _       N   A   R   R   O   W   [   t   r   e   e   .   d   a
0034560    t   a   ]   ;  \r   [   t   e   m   p   0   ,       t   e   m
0034600    p   1   ,       t   e   m   p   2   ]       _       t   r   e
0034620    e   D   a   t   a   .   T   a   g   T   y   p   e   .   p   r
0034640    o   c   s   .   M   a   k   e   T   a   g   T   y   p   e   [
0034660    t   r   e   e   D   a   t   a   .   T   a   g   T   y   p   e
0034700    ,       l   o   c   a   l   C   o   n   t   e   x   t   ,    
0034720    p   a   i   n   t   R   e   c   o   r   d   s   ,       c   s
0034740    ]   ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   T   a   g
0034760    i   d   e   n   t   P   r   o   d   M   a   k   e   V   a   r
0035000    i   a   n   t   F   l   a   v   o   r   :  \t   P   U   B   L
0035020    I   C       P   R   O   C   [   r   e   f   :       R   E   F
0035040        A   N   Y   ,       c   s   :       C   o   m   p   i   l
0035060    e   r   S   t   a   t   e   N   o   d   e   ]       R   E   T
0035100    U   R   N   S   [   t   e   m   p   0   :       V   a   r   i
0035120    a   n   t   F   l   a   v   o   r   N   o   d   e   ]       =
0035140   \r   B   E   G   I   N  \r   t   r   e   e   :  \t   T   a   g
0035160    N   o   d   e   _       N   A   R   R   O   W   [   r   e   f
0035200    ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E    
0035220    T   h   r   e   e   C   4   S   u   p   p   o   r   t   .   G
0035240    e   t   S   o   u   r   c   e   I   n   f   o       =   >    
0035260    R   E   S   U   M   E   [   t   r   e   e   .   p   o   s   i
0035300    t   i   o   n   ,       t   r   e   e   .   l   e   n   g   t
0035320    h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   T   a
0035340    g   i   d   e   n   t   P   r   o   d   D   a   t   a       _
0035360        N   A   R   R   O   W   [   t   r   e   e   .   d   a   t
0035400    a   ]   ;  \r   t   e   m   p   1   :       I   d   N   o   d
0035420    e   ;  \r   t   e   m   p   2   :       P   o   s   i   t   i
0035440    o   n   V   a   l   N   o   d   e   ;  \r   [   t   e   m   p
0035460    1   ,       t   e   m   p   2   ]       _       t   r   e   e
0035500    D   a   t   a   .   I   d   e   n   t   .   p   r   o   c   s
0035520    .   G   e   t   I   d   e   n   t   I   n   f   o   [   t   r
0035540    e   e   D   a   t   a   .   I   d   e   n   t   ]   ;  \r   t
0035560    e   m   p   0       _       V   a   n   i   l   l   a   V   a
0035600    r   i   a   n   t   F   l   a   v   o   r   V   a   l   [   t
0035620    e   m   p   1   ,       t   e   m   p   2   ,       t   r   e
0035640    e   D   a   t   a   .   A   c   c   e   s   s   .   p   r   o
0035660    c   s   .   G   e   t   A   c   c   e   s   s   V   a   l   [
0035700    t   r   e   e   D   a   t   a   .   A   c   c   e   s   s   ,
0035720        G   e   t   D   e   f   a   u   l   t   A   c   c   e   s
0035740    s   [   c   s   ]   ]   ]   ;  \r   E   N   D  \r   E   N   D
0035760    ;  \r  \r   T   a   g   c   o   m   p   u   t   e   d   P   r
0036000    o   d   G   e   t   S   e   q   u   e   n   c   e   T   a   g
0036020    I   n   f   o   :  \t   P   U   B   L   I   C       P   R   O
0036040    C   [   r   e   f   :       R   E   F       A   N   Y   ,    
0036060    c   s   :       C   o   m   p   i   l   e   r   S   t   a   t
0036100    e   N   o   d   e   ]       R   E   T   U   R   N   S   [   t
0036120    e   m   p   0   :       I   d   N   o   d   e   ,       t   e
0036140    m   p   1   :       P   o   s   i   t   i   o   n   V   a   l
0036160    N   o   d   e   ,       t   e   m   p   2   :       A   c   c
0036200    e   s   s   V   a   l   N   o   d   e   ]       =  \r   B   E
0036220    G   I   N  \r   t   r   e   e   :  \t   T   a   g   N   o   d
0036240    e   _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r
0036260    B   E   G   I   N  \r   E   N   A   B   L   E       T   h   r
0036300    e   e   C   4   S   u   p   p   o   r   t   .   G   e   t   S
0036320    o   u   r   c   e   I   n   f   o       =   >       R   E   S
0036340    U   M   E   [   t   r   e   e   .   p   o   s   i   t   i   o
0036360    n   ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;
0036400   \r   t   r   e   e   D   a   t   a   :  \t   T   a   g   c   o
0036420    m   p   u   t   e   d   P   r   o   d   D   a   t   a       _
0036440        N   A   R   R   O   W   [   t   r   e   e   .   d   a   t
0036460    a   ]   ;  \r   t   e   m   p   2       _       A   c   c   e
0036500    s   s   V   a   l   C   o   n   s   t   [   "   e   m   p   t
0036520    y   "   ]   ;  \r   t   e   m   p   1       _       N   u   l
0036540    l   P   o   s   i   t   i   o   n   [   ]   ;  \r   t   e   m
0036560    p   0       _       N   u   l   l   I   d   [   ]   ;  \r   E
0036600    N   D  \r   E   N   D   ;  \r  \r   T   a   g   c   o   m   p
0036620    u   t   e   d   P   r   o   d   M   a   k   e   T   a   g   T
0036640    y   p   e   :  \t   P   U   B   L   I   C       P   R   O   C
0036660    [   r   e   f   :       R   E   F       A   N   Y   ,       l
0036700    o   c   a   l   C   o   n   t   e   x   t   :       L   o   c
0036720    a   l   C   o   n   t   e   x   t   N   o   d   e   ,       p
0036740    a   i   n   t   R   e   c   o   r   d   s   :       B   O   O
0036760    L   E   A   N   ,       c   s   :       C   o   m   p   i   l
0037000    e   r   S   t   a   t   e   N   o   d   e   ]       R   E   T
0037020    U   R   N   S   [   t   e   m   p   0   :       L   o   c   a
0037040    l   C   o   n   t   e   x   t   N   o   d   e   ,       t   e
0037060    m   p   1   :       T   y   p   e   G   r   a   p   h   N   o
0037100    d   e   N   o   d   e   ,       t   e   m   p   2   :       B
0037120    O   O   L   E   A   N   ]       =  \r   B   E   G   I   N  \r
0037140    t   r   e   e   :  \t   T   a   g   N   o   d   e   _       N
0037160    A   R   R   O   W   [   r   e   f   ]   ;  \r   B   E   G   I
0037200    N  \r   E   N   A   B   L   E       T   h   r   e   e   C   4
0037220    S   u   p   p   o   r   t   .   G   e   t   S   o   u   r   c
0037240    e   I   n   f   o       =   >       R   E   S   U   M   E   [
0037260    t   r   e   e   .   p   o   s   i   t   i   o   n   ,       t
0037300    r   e   e   .   l   e   n   g   t   h   ]   ;  \r   t   r   e
0037320    e   D   a   t   a   :  \t   T   a   g   c   o   m   p   u   t
0037340    e   d   P   r   o   d   D   a   t   a       _       N   A   R
0037360    R   O   W   [   t   r   e   e   .   d   a   t   a   ]   ;  \r
0037400    [   t   e   m   p   0   ,       t   e   m   p   1   ,       t
0037420    e   m   p   2   ]       _       t   r   e   e   D   a   t   a
0037440    .   T   a   g   T   y   p   e   .   p   r   o   c   s   .   M
0037460    a   k   e   T   a   g   T   y   p   e   [   t   r   e   e   D
0037500    a   t   a   .   T   a   g   T   y   p   e   ,       l   o   c
0037520    a   l   C   o   n   t   e   x   t   ,       p   a   i   n   t
0037540    R   e   c   o   r   d   s   ,       c   s   ]   ;  \r   E   N
0037560    D  \r   E   N   D   ;  \r  \r   T   a   g   c   o   m   p   u
0037600    t   e   d   P   r   o   d   M   a   k   e   V   a   r   i   a
0037620    n   t   F   l   a   v   o   r   :  \t   P   U   B   L   I   C
0037640        P   R   O   C   [   r   e   f   :       R   E   F       A
0037660    N   Y   ,       c   s   :       C   o   m   p   i   l   e   r
0037700    S   t   a   t   e   N   o   d   e   ]       R   E   T   U   R
0037720    N   S   [   t   e   m   p   0   :       V   a   r   i   a   n
0037740    t   F   l   a   v   o   r   N   o   d   e   ]       =  \r   B
0037760    E   G   I   N  \r   t   r   e   e   :  \t   T   a   g   N   o
0040000    d   e   _       N   A   R   R   O   W   [   r   e   f   ]   ;
0040020   \r   B   E   G   I   N  \r   E   N   A   B   L   E       T   h
0040040    r   e   e   C   4   S   u   p   p   o   r   t   .   G   e   t
0040060    S   o   u   r   c   e   I   n   f   o       =   >       R   E
0040100    S   U   M   E   [   t   r   e   e   .   p   o   s   i   t   i
0040120    o   n   ,       t   r   e   e   .   l   e   n   g   t   h   ]
0040140    ;  \r   t   r   e   e   D   a   t   a   :  \t   T   a   g   c
0040160    o   m   p   u   t   e   d   P   r   o   d   D   a   t   a    
0040200    _       N   A   R   R   O   W   [   t   r   e   e   .   d   a
0040220    t   a   ]   ;  \r   t   e   m   p   0       _       C   o   m
0040240    p   u   t   e   d   V   a   r   i   a   n   t   F   l   a   v
0040260    o   r   C   o   n   s   t   [   ]   ;  \r   E   N   D  \r   E
0040300    N   D   ;  \r  \r   T   a   g   o   v   e   r   l   a   i   d
0040320    P   r   o   d   G   e   t   S   e   q   u   e   n   c   e   T
0040340    a   g   I   n   f   o   :  \t   P   U   B   L   I   C       P
0040360    R   O   C   [   r   e   f   :       R   E   F       A   N   Y
0040400    ,       c   s   :       C   o   m   p   i   l   e   r   S   t
0040420    a   t   e   N   o   d   e   ]       R   E   T   U   R   N   S
0040440    [   t   e   m   p   0   :       I   d   N   o   d   e   ,    
0040460    t   e   m   p   1   :       P   o   s   i   t   i   o   n   V
0040500    a   l   N   o   d   e   ,       t   e   m   p   2   :       A
0040520    c   c   e   s   s   V   a   l   N   o   d   e   ]       =  \r
0040540    B   E   G   I   N  \r   t   r   e   e   :  \t   T   a   g   N
0040560    o   d   e   _       N   A   R   R   O   W   [   r   e   f   ]
0040600    ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E       T
0040620    h   r   e   e   C   4   S   u   p   p   o   r   t   .   G   e
0040640    t   S   o   u   r   c   e   I   n   f   o       =   >       R
0040660    E   S   U   M   E   [   t   r   e   e   .   p   o   s   i   t
0040700    i   o   n   ,       t   r   e   e   .   l   e   n   g   t   h
0040720    ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   T   a   g
0040740    o   v   e   r   l   a   i   d   P   r   o   d   D   a   t   a
0040760        _       N   A   R   R   O   W   [   t   r   e   e   .   d
0041000    a   t   a   ]   ;  \r   B   E   G   I   N  \r   x   :  \t   B
0041020    O   O   L   E   A   N   ;  \r   x       _       E   r   r   o
0041040    r   [   "   S   e   q   u   e   n   c   e   s       c   a   n
0041060    '   t       b   e       o   v   e   r   l   a   i   d   "   ]
0041100    ;  \r   t   e   m   p   2       _       A   c   c   e   s   s
0041120    V   a   l   C   o   n   s   t   [   "   e   m   p   t   y   "
0041140    ]   ;  \r   t   e   m   p   1       _       N   u   l   l   P
0041160    o   s   i   t   i   o   n   [   ]   ;  \r   t   e   m   p   0
0041200        _       N   u   l   l   I   d   [   ]   ;  \r   E   N   D
0041220    ;  \r   E   N   D  \r   E   N   D   ;  \r  \r   T   a   g   o
0041240    v   e   r   l   a   i   d   P   r   o   d   M   a   k   e   T
0041260    a   g   T   y   p   e   :  \t   P   U   B   L   I   C       P
0041300    R   O   C   [   r   e   f   :       R   E   F       A   N   Y
0041320    ,       l   o   c   a   l   C   o   n   t   e   x   t   :    
0041340    L   o   c   a   l   C   o   n   t   e   x   t   N   o   d   e
0041360    ,       p   a   i   n   t   R   e   c   o   r   d   s   :    
0041400    B   O   O   L   E   A   N   ,       c   s   :       C   o   m
0041420    p   i   l   e   r   S   t   a   t   e   N   o   d   e   ]    
0041440    R   E   T   U   R   N   S   [   t   e   m   p   0   :       L
0041460    o   c   a   l   C   o   n   t   e   x   t   N   o   d   e   ,
0041500        t   e   m   p   1   :       T   y   p   e   G   r   a   p
0041520    h   N   o   d   e   N   o   d   e   ,       t   e   m   p   2
0041540    :       B   O   O   L   E   A   N   ]       =  \r   B   E   G
0041560    I   N  \r   t   r   e   e   :  \t   T   a   g   N   o   d   e
0041600    _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B
0041620    E   G   I   N  \r   E   N   A   B   L   E       T   h   r   e
0041640    e   C   4   S   u   p   p   o   r   t   .   G   e   t   S   o
0041660    u   r   c   e   I   n   f   o       =   >       R   E   S   U
0041700    M   E   [   t   r   e   e   .   p   o   s   i   t   i   o   n
0041720    ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r
0041740    t   r   e   e   D   a   t   a   :  \t   T   a   g   o   v   e
0041760    r   l   a   i   d   P   r   o   d   D   a   t   a       _    
0042000    N   A   R   R   O   W   [   t   r   e   e   .   d   a   t   a
0042020    ]   ;  \r   [   t   e   m   p   0   ,       t   e   m   p   1
0042040    ,       t   e   m   p   2   ]       _       t   r   e   e   D
0042060    a   t   a   .   T   a   g   T   y   p   e   .   p   r   o   c
0042100    s   .   M   a   k   e   T   a   g   T   y   p   e   [   t   r
0042120    e   e   D   a   t   a   .   T   a   g   T   y   p   e   ,    
0042140    l   o   c   a   l   C   o   n   t   e   x   t   ,       p   a
0042160    i   n   t   R   e   c   o   r   d   s   ,       c   s   ]   ;
0042200   \r   E   N   D  \r   E   N   D   ;  \r  \r   T   a   g   o   v
0042220    e   r   l   a   i   d   P   r   o   d   M   a   k   e   V   a
0042240    r   i   a   n   t   F   l   a   v   o   r   :  \t   P   U   B
0042260    L   I   C       P   R   O   C   [   r   e   f   :       R   E
0042300    F       A   N   Y   ,       c   s   :       C   o   m   p   i
0042320    l   e   r   S   t   a   t   e   N   o   d   e   ]       R   E
0042340    T   U   R   N   S   [   t   e   m   p   0   :       V   a   r
0042360    i   a   n   t   F   l   a   v   o   r   N   o   d   e   ]    
0042400    =  \r   B   E   G   I   N  \r   t   r   e   e   :  \t   T   a
0042420    g   N   o   d   e   _       N   A   R   R   O   W   [   r   e
0042440    f   ]   ;  \r   B   E   G   I   N  \r   E   N   A   B   L   E
0042460        T   h   r   e   e   C   4   S   u   p   p   o   r   t   .
0042500    G   e   t   S   o   u   r   c   e   I   n   f   o       =   >
0042520        R   E   S   U   M   E   [   t   r   e   e   .   p   o   s
0042540    i   t   i   o   n   ,       t   r   e   e   .   l   e   n   g
0042560    t   h   ]   ;  \r   t   r   e   e   D   a   t   a   :  \t   T
0042600    a   g   o   v   e   r   l   a   i   d   P   r   o   d   D   a
0042620    t   a       _       N   A   R   R   O   W   [   t   r   e   e
0042640    .   d   a   t   a   ]   ;  \r   t   e   m   p   0       _    
0042660    O   v   e   r   l   a   i   d   V   a   r   i   a   n   t   F
0042700    l   a   v   o   r   C   o   n   s   t   [   ]   ;  \r   E   N
0042720    D  \r   E   N   D   ;  \r  \r   T   a   g   T   y   p   e   s
0042740    t   a   r   P   r   o   d   M   a   k   e   T   a   g   T   y
0042760    p   e   :  \t   P   U   B   L   I   C       P   R   O   C   [
0043000    r   e   f   :       R   E   F       A   N   Y   ,       l   o
0043020    c   a   l   C   o   n   t   e   x   t   :       L   o   c   a
0043040    l   C   o   n   t   e   x   t   N   o   d   e   ,       p   a
0043060    i   n   t   R   e   c   o   r   d   s   :       B   O   O   L
0043100    E   A   N   ,       c   s   :       C   o   m   p   i   l   e
0043120    r   S   t   a   t   e   N   o   d   e   ]       R   E   T   U
0043140    R   N   S   [   t   e   m   p   0   :       L   o   c   a   l
0043160    C   o   n   t   e   x   t   N   o   d   e   ,       t   e   m
0043200    p   1   :       T   y   p   e   G   r   a   p   h   N   o   d
0043220    e   N   o   d   e   ,       t   e   m   p   2   :       B   O
0043240    O   L   E   A   N   ]       =  \r   B   E   G   I   N  \r   t
0043260    r   e   e   :  \t   T   a   g   T   y   p   e   N   o   d   e
0043300    _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B
0043320    E   G   I   N  \r   E   N   A   B   L   E       T   h   r   e
0043340    e   C   4   S   u   p   p   o   r   t   .   G   e   t   S   o
0043360    u   r   c   e   I   n   f   o       =   >       R   E   S   U
0043400    M   E   [   t   r   e   e   .   p   o   s   i   t   i   o   n
0043420    ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r
0043440    B   E   G   I   N  \r   l   o   c   a   l   C   o   n   t   e
0043460    x   t   1   :  \t   L   o   c   a   l   C   o   n   t   e   x
0043500    t   N   o   d   e   ;  \r   l   o   c   a   l   C   o   n   t
0043520    e   x   t   1       _       F   a   k   e   D   a   m   a   g
0043540    e   C   o   n   t   e   x   t   [   l   o   c   a   l   C   o
0043560    n   t   e   x   t   ]   ;  \r   t   e   m   p   2       _    
0043600    T   r   u   e   [   ]   ;  \r   t   e   m   p   1       _    
0043620    G   e   t   B   o   t   t   o   m   [   c   s   ]   ;  \r   t
0043640    e   m   p   0       _       l   o   c   a   l   C   o   n   t
0043660    e   x   t   1   ;  \r   E   N   D   ;  \r   E   N   D  \r   E
0043700    N   D   ;  \r  \r   T   a   g   T   y   p   e   t   y   p   e
0043720    e   x   p   P   r   o   d   M   a   k   e   T   a   g   T   y
0043740    p   e   :  \t   P   U   B   L   I   C       P   R   O   C   [
0043760    r   e   f   :       R   E   F       A   N   Y   ,       l   o
0044000    c   a   l   C   o   n   t   e   x   t   :       L   o   c   a
0044020    l   C   o   n   t   e   x   t   N   o   d   e   ,       p   a
0044040    i   n   t   R   e   c   o   r   d   s   :       B   O   O   L
0044060    E   A   N   ,       c   s   :       C   o   m   p   i   l   e
0044100    r   S   t   a   t   e   N   o   d   e   ]       R   E   T   U
0044120    R   N   S   [   t   e   m   p   0   :       L   o   c   a   l
0044140    C   o   n   t   e   x   t   N   o   d   e   ,       t   e   m
0044160    p   1   :       T   y   p   e   G   r   a   p   h   N   o   d
0044200    e   N   o   d   e   ,       t   e   m   p   2   :       B   O
0044220    O   L   E   A   N   ]       =  \r   B   E   G   I   N  \r   t
0044240    r   e   e   :  \t   T   a   g   T   y   p   e   N   o   d   e
0044260    _       N   A   R   R   O   W   [   r   e   f   ]   ;  \r   B
0044300    E   G   I   N  \r   E   N   A   B   L   E       T   h   r   e
0044320    e   C   4   S   u   p   p   o   r   t   .   G   e   t   S   o
0044340    u   r   c   e   I   n   f   o       =   >       R   E   S   U
0044360    M   E   [   t   r   e   e   .   p   o   s   i   t   i   o   n
0044400    ,       t   r   e   e   .   l   e   n   g   t   h   ]   ;  \r
0044420    t   r   e   e   D   a   t   a   :  \t   T   a   g   T   y   p
0044440    e   t   y   p   e   e   x   p   P   r   o   d   D   a   t   a
0044460        _       N   A   R   R   O   W   [   t   r   e   e   .   d
0044500    a   t   a   ]   ;  \r   t   e   m   p   2       _       F   a
0044520    l   s   e   [   ]   ;  \r   [   t   e   m   p   0   ,       t
0044540    e   m   p   1   ]       _       t   r   e   e   D   a   t   a
0044560    .   T   y   p   e   E   x   p   .   p   r   o   c   s   .   M
0044600    a   k   e   T   y   p   e   [   t   r   e   e   D   a   t   a
0044620    .   T   y   p   e   E   x   p   ,       l   o   c   a   l   C
0044640    o   n   t   e   x   t   ,       p   a   i   n   t   R   e   c
0044660    o   r   d   s   ,       c   s   ]   ;  \r   E   N   D  \r   E
0044700    N   D   ;  \r  \r   E   N   D   .   .  \r                    
0044713