
    5ji                        S SK JrJr  S SKJr  SSKJrJrJrJ	r	J
r
Jr  \(       a  SSKJr  SSKJr  SSKJr  SS	KJr   " S
 S\\5      r " S S\S   \5      r " S S\\5      r " S S\\5      r " S S\	\5      r " S S\
5      rg)    )abstractmethodABC)TYPE_CHECKING   )UnopenedBaseStreamStOpeningBaseStreamStOpenBaseStreamStCloseBaseStreamStBaseStreamStatesBaseStreamState   )_UniverseStreams)OptDict)OptContribT)ContribResponsec                       \ rS rSr\ SS\S\SSSSS	S
4
S jj5       r\SS j5       r\SS j5       r	\SS j5       r
\SS j5       rSrg)UniverseStreamsStMixin   Nnamefieldscontrib_typer   post_user_infor   returnr   c                     g N selfr   r   r   r   s        X/root/lseg-credit/backend/venv/lib/python3.13/site-packages/lseg/data/content/_states.py
contribute!UniverseStreamsStMixin.contribute   s     	    c                     g r   r   r   r   s     r   
add_fields!UniverseStreamsStMixin.add_fields       r"   c                     g r   r   r$   s     r   remove_fields$UniverseStreamsStMixin.remove_fields   r'   r"   c                     g r   r   r   instrumentss     r   add_instruments&UniverseStreamsStMixin.add_instruments#   r'   r"   c                     g r   r   r,   s     r   remove_instruments)UniverseStreamsStMixin.remove_instruments'   r'   r"   r   NNr   N)__name__
__module____qualname____firstlineno__r   strdictr    r%   r)   r.   r1   __static_attributes__r   r"   r   r   r      s    gk!%5B[d	 
        r"   r   c                   `    \ rS rSr SS\S\SSSSS	S
4
S jjrSS jrSS jrSS jr	SS jr
Srg)UnopenedUniverseStreamsSt,   Nr   r   r   r   r   r   r   r   c                     [        S5      e)Nz'Cannot contribute to an unopened stream
ValueErrorr   s        r   r    $UnopenedUniverseStreamsSt.contribute-   s     BCCr"   c                 :    U R                   R                  U5        g r   streamdo_add_fieldsr$   s     r   r%   $UnopenedUniverseStreamsSt.add_fields2       !!&)r"   c                 :    U R                   R                  U5        g r   rE   do_remove_fieldsr$   s     r   r)   'UnopenedUniverseStreamsSt.remove_fields5       $$V,r"   c                 :    U R                   R                  U5        g r   rE   do_add_instrumentsr,   s     r   r.   )UnopenedUniverseStreamsSt.add_instruments8       &&{3r"   c                 :    U R                   R                  U5        g r   rE   do_remove_instrumentsr,   s     r   r1   ,UnopenedUniverseStreamsSt.remove_instruments;       ))+6r"   r   r3   r4   r5   r6   r7   r8   r9   r:   r    r%   r)   r.   r1   r;   r   r"   r   r=   r=   ,   sL    gkDD!%D5BD[dD	D
*-47r"   r=   r   c                   `    \ rS rSr SS\S\SSSSS	S
4
S jjrSS jrSS jrSS jr	SS jr
Srg)OpeningUniverseStreamsSt?   Nr   r   r   r   r   r   r   r   c                     [        S5      e)Nz&Cannot contribute to an opening streamr@   r   s        r   r    #OpeningUniverseStreamsSt.contribute@   s     ABBr"   c                     g r   r   r$   s     r   r%   #OpeningUniverseStreamsSt.add_fieldsE       r"   c                     g r   r   r$   s     r   r)   &OpeningUniverseStreamsSt.remove_fieldsH   r`   r"   c                     g r   r   r,   s     r   r.   (OpeningUniverseStreamsSt.add_instrumentsK   r`   r"   c                     g r   r   r,   s     r   r1   +OpeningUniverseStreamsSt.remove_instrumentsN   r`   r"   r   r3   r4   rX   r   r"   r   rZ   rZ   ?   sL    gkCC!%C5BC[dC	C
r"   rZ   c                   `    \ rS rSr SS\S\SSSSS	S
4
S jjrSS jrSS jrSS jr	SS jr
Srg)OpenUniverseStreamsStR   Nr   r   r   r   r   r   r   r   c                 :    U R                   R                  XX45      $ r   )rE   do_contributer   s        r   r     OpenUniverseStreamsSt.contributeS   s     {{((|TTr"   c                 :    U R                   R                  U5        g r   rD   r$   s     r   r%    OpenUniverseStreamsSt.add_fieldsX   rH   r"   c                 :    U R                   R                  U5        g r   rJ   r$   s     r   r)   #OpenUniverseStreamsSt.remove_fields[   rM   r"   c                 :    U R                   R                  U5        g r   rO   r,   s     r   r.   %OpenUniverseStreamsSt.add_instruments^   rR   r"   c                 :    U R                   R                  U5        g r   rT   r,   s     r   r1   (OpenUniverseStreamsSt.remove_instrumentsa   rW   r"   r   r3   r4   rX   r   r"   r   rh   rh   R   sL    gkUU!%U5BU[dU	U
*-47r"   rh   c                   `    \ rS rSr SS\S\SSSSS	S
4
S jjrSS jrSS jrSS jr	SS jr
Srg)CloseUniverseStreamsSte   Nr   r   r   r   r   r   r   r   c                     [        S5      e)Nz"Cannot contribute to closed streamr@   r   s        r   r    !CloseUniverseStreamsSt.contributef   s     =>>r"   c                 :    U R                   R                  U5        g r   rD   r$   s     r   r%   !CloseUniverseStreamsSt.add_fieldsk   rH   r"   c                 :    U R                   R                  U5        g r   rJ   r$   s     r   r)   $CloseUniverseStreamsSt.remove_fieldsn   rM   r"   c                 :    U R                   R                  U5        g r   rO   r,   s     r   r.   &CloseUniverseStreamsSt.add_instrumentsq   rR   r"   c                 :    U R                   R                  U5        g r   rT   r,   s     r   r1   )CloseUniverseStreamsSt.remove_instrumentst   rW   r"   r   r3   r4   rX   r   r"   r   rv   rv   e   sF    gk??!%?5B?[d?	?
*-47r"   rv   c                   $    \ rS rSr\r\r\r	\
rSrg)UniverseStreamsStatesx   r   N)r5   r6   r7   r8   r=   unopened_st_classrZ   opening_st_classrh   open_st_classrv   close_st_classr;   r   r"   r   r   r   x   s    1/)M+Nr"   r   N)abcr   r   typingr   delivery._stream.statesr   r   r	   r
   r   r   _universe_streamsr   _typesr   delivery._streamr   delivery.omm_streamr   r   r=   rZ   rh   rv   r   r   r"   r   <module>r      s    #    3 .5_c 07 45G HJ` 7&24J &7,.D 7&7.0F 7&,, ,r"   