+
    PjX                         ^ RI Ht ^ RIt ! R R]4      t ! R R]4      t ! R R]4      t ! R	 R
]4      tR R lt ! R R]4      t	R# )    )ProtocolNc                       ] tR t^tRtRtR# )DecodeRatioErrorzBOutput-to-input amplification ratio exceeded the configured limit. N__name__
__module____qualname____firstlineno____doc____static_attributes__r       1/usr/lib/python3/dist-packages/httplib2/decode.pyr   r      s    Lr   r   c                       ] tR t^	tRtRtR# )DecodeLimitErrorz,Total output length exceeded the hard limit.r   Nr   r   r   r   r   r   	   s    6r   r   c                   v   a  ] tR t^t o ]V 3R lR l4       tV 3R lR ltV 3R lR ltRV 3R lR lltR	t	V t
R
# )DecoderProtocolc                    < V ^8  d   QhRS[ /#    returnbool)format__classdict__s   "r   __annotate__DecoderProtocol.__annotate__   s      T r   c                    R # Nr   selfs   &r   needs_inputDecoderProtocol.needs_input   s    r   c                &   < V ^8  d   QhRS[ RS[ /# r   br   bytes)r   r   s   "r   r   r      s       % r   c                    R # r   r   r!   r&   s   &&r   decodeDecoderProtocol.decode       r   c                    < V ^8  d   QhRS[ /# r   r'   )r   r   s   "r   r   r      s      u r   c                    R # r   r   r    s   &r   flushDecoderProtocol.flush   r-   r   c                ,   < V ^8  d   QhRS[ RS[RS[ /# )r   data
chunk_sizer   )r(   int)r   r   s   "r   r   r      s"      % S  r   c                   \        4       pV^ 8X  d   \        V4      p\        ^ \        V4      V4       F-  pWWB,            pVP                  V P	                  V4      4       K/  	  VP                  V P                  4       4       \        V4      # )r   )	bytearraylenrangeextendr+   r0   r(   )r!   r3   r4   outichunks   &&&   r   consume_bytesDecoderProtocol.consume_bytes   so    k?TJq#d)Z0AQ^,EJJt{{5)* 1 	

4::< Szr   r   N)   )r   r	   r
   r   propertyr"   r+   r0   r>   r   __classdictcell__r   s   @r   r   r      s:          r   r   c                      a  ] tR t^#t o RtR
tRt^t^t^/t	]	3V 3R lR llt
]V 3R lR l4       tV 3R lR ltV 3R lR	 ltR
tV tR# )ZlibDecodera  
Thin wrapper around zlib.Decompressor conforming to the Decoder interface.

Note: zlib pushes all available decompressed data immediately upon receiving
input. It never holds back output requiring `decode(b"")` to extract it.
Thus, `needs_input` naturally remains True.
c                    < V ^8  d   QhRS[ /# )r   wbits)r5   )r   r   s   "r   r   ZlibDecoder.__annotate__3   s     K Kc Kr   c                <    \         P                  ! V4      V n        R # r   )zlibdecompressobj_decoder)r!   rG   s   &&r   __init__ZlibDecoder.__init__3   s    151C1CE1Jr   c                    < V ^8  d   QhRS[ /# r   r   )r   r   s   "r   r   rH   7   s     % %T %r   c                j    V P                   f   \        R4      hV P                   P                  '       * # Nzused after flush())rL   RuntimeErroreofr    s   &r   r"   ZlibDecoder.needs_input6   s+    == 344==$$$$r   c                &   < V ^8  d   QhRS[ RS[ /# r%   r'   )r   r   s   "r   r   rH   <   s     + + +% +r   c                j    V P                   f   \        R4      hV P                   P                  V4      # rQ   )rL   rR   
decompressr*   s   &&r   r+   ZlibDecoder.decode<   s-    == 344}}''**r   c                    < V ^8  d   QhRS[ /# r   r'   )r   r   s   "r   r   rH   A   s      u r   c                z    V P                   f   \        R4      hV P                   P                  4       pR V n         V# rQ   )rL   rR   r0   )r!   results   & r   r0   ZlibDecoder.flushA   s6    == 344$$&r   )rL   Ni)r   r	   r
   r   r   	__slots__WBITS_DEFLATE
WBITS_ZLIB
WBITS_GZIPWBITS_AUTO_GZIP_ZLIBrM   rA   r"   r+   r0   r   rB   rC   s   @r   rE   rE   #   s]      IMJJ"$8 K K % %
+ +
 r   rE   c                $    V ^8  d   QhR\         /# r   )rE   )r   s   "r   r   r   I   s     2 2 2r   c                  4    \        \         P                  4      # r   )rE   r^   r   r   r   DeflateDecoderrd   I   s    {0011r   c                      a  ] tR t^Mt o RtRV 3R lR lltV 3R lR lt]V 3R lR l4       tV 3R lR lt	V 3R	 lR
 lt
V 3R lR ltRtV tR# )LimitDecoderc                <   < V ^8  d   QhRS[ RS[RS[RS[RS[RR/# )r   decoderratior4   
safe_limit
hard_limitr   N)r   floatr5   )r   r   s   "r   r   LimitDecoder.__annotate__Z   sG     $ $ $ $ 	$
 $ $ 
$r   c                :   V^ 8  d   \        RV R24      hV^ 8  d   \        RV R24      hV^ 8  d   \        RV R24      hV^ 8  d   \        RV R24      hWn        W n        W0n        W@n        WPn        ^ V n        ^ V n        \        4       V n	        RV n
        R# )r   zLimitDecoder() ratio=z expected >= 0zLimitDecoder() chunk_size=zLimitDecoder() safe_limit=FN)
ValueErrorrL   _ratio_chunk_size_safe_limit_hard_limit_consumed_length_output_lengthr7   _input_buffer_flushed)r!   rh   ri   r4   rj   rk   s   &&&&&&r   rM   LimitDecoder.__init__Z   s     194UG>JKK>9*^TUU>9*^TUU>9*^TUU)0" * * *%&#$(1#r   c                   < V ^8  d   QhRR/# )r   r   Nr   )r   r   s   "r   r   rm   u   s     
 
t 
r   c           
     `   V P                   ^ 8  dA   V P                  V P                   8  d&   \        RV P                   RV P                    24      hV P                  ^ 8  d   V P                  V P                  8  d   R# V P                  ^ 8  d   V P                  V P
                  V P                  ,          8  dp   V P
                  ^ 8  d   V P                  V P
                  ,          M
\        R4      p\        RVR RV P                   RV P
                   R	V P                   24      hR# R# )
r   zOutput length z exceeds hard limit NinfzAmplification ratio z.1fz (/z) exceeds limit )rs   ru   r   rr   rp   rt   rl   r   )r!   actual_ratios   & r   _check_limitsLimitDecoder._check_limitsu   s   q t':':T=M=M'M"^D4G4G3HH\]a]m]m\n#oppq t':':T=M=M'MKK!O$"5"58M8MPTP[P[8["[JNJ_J_bcJc4..1F1FFinotiuL"&|C&84;N;N:OqQUQfQfPg h""&++0  #\Or   c                    < V ^8  d   QhRS[ /# r   r   )r   r   s   "r   r   rm      s     ) )T )r   c                .    V P                   P                  # r   )rL   r"   r    s   &r   r"   LimitDecoder.needs_input   s    }}(((r   c                &   < V ^8  d   QhRS[ RS[ /# r%   r'   )r   r   s   "r   r   rm      s       % r   c                t    V P                   '       d   \        R 4      hV P                  V4      p\        V4      # )zdecode() called after flush())rw   rR   _pumpr(   )r!   r&   outputs   && r   r+   LimitDecoder.decode   s.    ===>??AV}r   c                    < V ^8  d   QhRS[ /# r   r'   )r   r   s   "r   r   rm      s      u r   c                <   V P                   '       d   \        R 4      hRV n         V P                  R4      pV P                  P	                  4       pVP                  V4       V ;P                  \        V4      ,          un        V P                  4        \        V4      # )zflush() called more than onceTr   )
rw   rR   r   rL   r0   r:   ru   r8   r~   r(   )r!   r   r3   s   &  r   r0   LimitDecoder.flush   st    ===>??C}}""$ds4y(V}r   c                &   < V ^8  d   QhRS[ RS[/# r%   )r(   r7   )r   r   s   "r   r   rm      s      u  r   c                   V P                   P                  V4       \        4       p V P                  P                  '       gi   V P                  P                  R4      pV'       dF   VP                  V4       V ;P                  \        V4      ,          un        V P                  4        K  V P                   '       d   \        V P                   RV P                   4      pV P                   RV P                  1 V P                  P                  V4      pV ;P                  \        V4      ,          un        V'       dD   VP                  V4       V ;P                  \        V4      ,          un        V P                  4        EK]   V# )Tr   N)rv   r:   r7   rL   r"   r+   ru   r8   r~   r(   rq   rt   )r!   r&   r   r3   r=   s   &&   r   r   LimitDecoder._pump   s!   !!!$==,,,}}++C0MM$'''3t94'&&(!!!d001C43C3CDE&&'9)9)9'9:}}++E2%%U3%MM$'''3t94'&&( r   )	rq   rt   rL   rw   rs   rv   ru   rp   rr   N)	rL   rp   rq   rr   rs   rt   ru   rv   rw   )d   r@   i   l       
 )r   r	   r
   r   r]   rM   r~   rA   r"   r+   r0   r   r   rB   rC   s   @r   rf   rf   M   sR     
I$ $6
 
 ) )   r   rf   )
typingr   rJ   	Exceptionr   r   r   rE   rd   rf   r   r   r   <module>r      sQ     My M7y 7h ,#/ #L2j? jr   