
    3 d                     2    d dl Z d dlmZ d dlmZ d Zd ZdS )    N)GzipFile)BytesIOc                    t          t          |                     }g }d}|r	 |                    d          }|                    |           ng# t          t
          t          j        f$ rH |st          |dd          r3	 |                    |j	        |j
         d                    Y n#  Y Y n
xY w w xY w|d                    |          S )znGunzip the given data and return as much data as possible.

    This is resilient to CRC checksum errors.
    )fileobj   .i   extrabufN    )r   r   read1appendIOErrorEOFErrorstructerrorgetattrr   	extrasizejoin)datafoutput_listchunks       /lib/python3.11/site-packages/scrapy/utils/gz.pygunzipr      s    
 	'''AKE
 	GGDMMEu%%%%6<0 	 	 	
  gaT:: &&qz1;,..'ABBBEEEEEEEE		    88K   s#   *A /B4 (B**B/,B4/B4c                 (    | j         d d         dk    S )N   s   )body)responses    r   gzip_magic_numberr   !   s    =!//r	   )r   gzipr   ior   r   r    r	   r   <module>r!      sZ                ! ! !60 0 0 0 0r	   