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