a
    'À(bI  ã                   @   sR   d dl Z d dlmZ d dlmZ d dlmZ edƒddd„ƒZd	d
„ Zdd„ Z	dS )é    N)ÚGzipFile)ÚBytesIO)Ú
deprecatedzGzipFile.read1éÿÿÿÿc                 C   s
   |   |¡S )N)Úread1)ZgzfÚsize© r   ú.lib/python3.9/site-packages/scrapy/utils/gz.pyr      s    r   c              
   C   sž   t t| ƒd}g }d}|r”z| d¡}| |¡ W q tttjfy   |sXt|ddƒrŠz | |j	|j
 d… ¡ W Y q”qŒ   Y Y q”0 n‚ Y q0 qd |¡S )znGunzip the given data and return as much data as possible.

    This is resilient to CRC checksum errors.
    )Zfileobjó   .i   ÚextrabufNó    )r   r   r   ÚappendÚIOErrorÚEOFErrorÚstructÚerrorÚgetattrr   Z	extrasizeÚjoin)ÚdataÚfZoutput_listÚchunkr   r   r	   Úgunzip   s    

r   c                 C   s   | j d d… dkS )Né   s   ‹)Úbody)Zresponser   r   r	   Úgzip_magic_number,   s    r   )r   )
r   Zgzipr   Úior   Zscrapy.utils.decoratorsr   r   r   r   r   r   r   r	   Ú<module>   s   