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