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