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