+
     h  c                   s~    ^ RI HtHt ^RIHtHtHt ^RI Ht ^RIH	t	H
t
 ^RIHt  ! R R]
4      t ! R R	]	4      tR
# )i    )AnyUnion)ConnectionErrorInvalidResponseResponseError)
EncodableT)_AsyncRESPBase	_RESPBase)SERVER_CLOSED_CONNECTION_ERRORc                   s8   a  ] tR t^	t o RtRR ltRR ltRtV tR# )_RESP2ParserzRESP2 protocol implementationc                s6   V P                   '       d   V P                   P                  4       MR p V P                  VR7      pV P                   P                  4        V#   \         d0    T P                   '       d   T P                   P                  T4       h i ; i)Ndisable_decoding)_bufferZget_pos_read_responseZpurgeZBaseExceptionZrewind)selfr   ZposZresults   &&  9/usr/lib/python3.14/site-packages/redis/_parsers/resp2.pyread_responseZ_RESP2Parser.read_response   s}    (,dll""$$	((:J(KF LL M  	|||##C(	s   A B;Bc                s   V P                   P                  4       pV'       g   \        \        4      hVR ,          VR,          rCVR8X  d?   VP	                  RRR7      pV P                  V4      p\        V\        4      '       d   VhV# VR8X  d   MVR8X  d   \        V4      # VR8X  d
   VR	8X  d   R
# VR8X  d&   V P                   P                  \        V4      4      pMZVR8X  d
   VR	8X  d   R
# VR8X  d5   \        \        V4      4       Uu. uF  pV P                  VR7      NK  	  ppM\        RV: 24      hVRJ d   V P                  P	                  V4      pV# u upi )N   Nr   NN   -utf-8replaceZerrors   +   :   $   -1N   *r
   Protocol Error: F)r   Zreadliner   r   decodeparse_error
isinstanceintZreadranger   r   encoder)r   r   rawbyteresponseerrorZi   &&     r   r   Z_RESP2Parser._read_response   sR   ll##%!"@AAR#b'h 4<wyAH$$X.E %11
 LT\T\x= T\h%/T\||((X7HT\h%/T\ s8}--A ##5E#F-  H
 "$4SG"<==u$||**84Hs   E NF	Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__r   r   Z__static_attributes__Z__classdictcell____classdict__   @r   r	   r	   	   s     '
, ,    r	   c                   sP   a  ] tR t^Gt o RtRV 3R lR lltRV 3R lR lltRtV tR# )	_AsyncRESP2Parserz"Async class for the RESP2 protocolc                s    < V ^8  d   QhRS[ /# )   r   )boolZformatr-      "r   __annotate___AsyncRESP2Parser.__annotate__J   s      D r/   c                sr  "   V P                   '       g   \        \        4      hV P                  '       dM   V ;P                  R P                  V P                  4      ,          un        V P                  P                  4        ^ V n        V P                  VR7      G Rj  xL
 pV P                  4        V#  L5i)r/   r
   N)
Z
_connectedr   r   Z_chunksr   ZjoinZclear_posr   _clear)r   r   r&   s   && r   r   Z_AsyncRESP2Parser.read_responseJ   s     !"@AA<<<LLCHHT\\22LLL 	,,>N,OO Ps   3B7A(B7B5B7c                s>   < V ^8  d   QhRS[ RS[S[S[R3,          /# )r1   r   ZreturnN)r2   r   r   r   r3   r4   r   r5   r6   W   s)     - - $-	z=$.	/-r/   c                s  "   V P                  4       G R j  xL
 pVR,          VR,          rCVR8X  dO   VP                  RRR7      pV P                  V4      p\        V\        4      '       d   V P                  4        VhV# VR8X  d   MVR8X  d   \        V4      # VR	8X  d
   VR
8X  d   R # VR	8X  d$   V P                  \        V4      4      G R j  xL
 pMaVR8X  d
   VR
8X  d   R # VR8X  d<   \        \        V4      4       Uu. uF  pV P                  V4      G R j  xL
 NK  	  ppM\        RV: 24      hVRJ d   V P                  P                  V4      pV#  ELC L LBu upi 5i)Nr   r   r   r   r   r   r   r   r   r   r   r   F)Z	_readliner   r   r    r   r8   r!   Z_readr"   r   r   r#   )r   r   r$   r%   r&   r'   Z_r(   r   r   Z _AsyncRESP2Parser._read_responseW   s^     NN$$R#b'h 4<wyAH$$X.E %11
 LT\T\x= T\h%/T\!ZZH66HT\h%/T\ s8}--A **+;<<<-  H
 "$4SG"<==u$||**84HU %8 7 =sF   E%EB8E%E2E%E E
E $6E%E%E  E%)r7   Nr*   r+   r,   r.   r   r0   r0   G   s!     , - - -r/   r0   N)Ztypingr    r   Z
exceptionsr   r   r   r   Zbaser   r   Zsocketr   r	   r0   r)   r/   r   <module>r9      s0     H H  + 2;9 ;|= =r/   