§
    Æ¼Êik  ã                   ó–   — d dl Z d dlZd dlmZmZmZmZ  G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z	 G d	„ d
¦  «        Z
dS )é    N)Ú
NoMoreDataÚChunkMissingTerminatorÚInvalidChunkSizeÚInvalidChunkExtensionc                   ó4   — e Zd Zd„ Zd„ Zd„ Zd„ Zdd„Zd„ ZdS )	ÚChunkedReaderc                 óx   — || _         |                      |¦  «        | _        t          j        ¦   «         | _        d S ©N)ÚreqÚparse_chunkedÚparserÚioÚBytesIOÚbuf)Úselfr   Úunreaders      úW/home/mmwave/public_html/mmwave/venv/lib/python3.11/site-packages/gunicorn/http/body.pyÚ__init__zChunkedReader.__init__   s/   € ØˆŒØ×(Ò(¨Ñ2Ô2ˆŒÝ”:‘<”<ˆŒˆˆó    c                 óR  — t          |t          ¦  «        st          d¦  «        ‚|dk     rt          d¦  «        ‚|dk    rdS | j        r| j                             ¦   «         |k     rb	 | j                             t          | j        ¦  «        ¦  «         n# t          $ r
 d | _        Y n!w xY w| j                             ¦   «         |k     °b| j         
                    ¦   «         }|d |…         ||d …         }}t          j        ¦   «         | _        | j                             |¦  «         |S )Nzsize must be an integer typer   úSize must be positive.r   )Ú
isinstanceÚintÚ	TypeErrorÚ
ValueErrorr   r   ÚtellÚwriteÚnextÚStopIterationÚgetvaluer   r   ©r   ÚsizeÚdataÚretÚrests        r   ÚreadzChunkedReader.read   s   € Ý˜$¥Ñ$Ô$ð 	<ÝÐ:Ñ;Ô;Ð;Ø�!Š8ˆ8ÝÐ5Ñ6Ô6Ð6Ø�1Š9ˆ9Ø�3àŒ;ð 	Ø”(—-’-‘/”/ DÒ(Ð(ðØ”H—N’N¥4¨¬Ñ#4Ô#4Ñ5Ô5Ð5Ð5øÝ$ð ð ð Ø"&�D”KØ�Eðøøøð ”(—-’-‘/”/ DÒ(Ð(ð Œx× Ò Ñ"Ô"ˆØ˜˜$˜”K  d e e¤ˆTˆÝ”:‘<”<ˆŒØŒ�Š�tÑÔÐØˆ
s   Á',B ÂB(Â'B(c                 ó  — t          j        ¦   «         }|                     |¦  «         |                     ¦   «                              d¦  «        }|                     ¦   «         d d…         dk    }|dk     rg|se|                      ||¦  «         |                     ¦   «                              d¦  «        }|                     ¦   «         d d…         dk    }|dk     r|¯e|r1|                     |                     ¦   «         dd …         ¦  «         dS | j                             |                     ¦   «         d |…         d¬¦  «        | j        _	        |                     |                     ¦   «         |dz   d …         ¦  «         d S )	Ns   

é   ó   
r   r   T)Úfrom_traileré   )
r   r   r   r    ÚfindÚget_dataÚunreadr   Úparse_headersÚtrailers)r   r   r#   r   ÚidxÚdones         r   Úparse_trailerszChunkedReader.parse_trailers(   sH  € ÝŒj‰lŒlˆØ�	Š	�$‰Œˆà�lŠl‰nŒn×!Ò! +Ñ.Ô.ˆØ�|Š|‰~Œ~˜b˜q˜bÔ! WÒ,ˆØ�AŠgˆg˜dˆgØ�MŠM˜( CÑ(Ô(Ð(Ø—,’,‘.”.×%Ò% kÑ2Ô2ˆCØ—<’<‘>”> " 1 "Ô%¨Ò0ˆDð �AŠgˆg˜dˆgð ð 	Ø�OŠO˜CŸLšL™NœN¨1¨2¨2Ô.Ñ/Ô/Ð/Ø�3Ø œH×2Ò2°3·<²<±>´>À$À3À$Ô3GÐVZÐ2Ñ[Ô[ˆŒÔØ�Š˜Ÿš™œ s¨Q¡w x xÔ0Ñ1Ô1Ð1Ð1Ð1r   c              #   óX  K  — |                       |¦  «        \  }}|dk    �r|t          |¦  «        k    rM|t          |¦  «        z  }|V — |                     ¦   «         }|st          ¦   «         ‚|t          |¦  «        k    °M|d |…         V — ||d …         }t          |¦  «        dk     r/|                     ¦   «         }|sn||z  }t          |¦  «        dk     °/|d d…         dk    rt	          |d d…         ¦  «        ‚|                       ||dd …         ¬¦  «        \  }}|dk    �°d S d S )Nr   r(   r)   )r#   )Úparse_chunk_sizeÚlenr&   r   r   )r   r   r"   r%   Únew_datas        r   r   zChunkedReader.parse_chunked8   sI  è è € Ø×,Ò,¨XÑ6Ô6‰ˆˆtØ�QŠh‰hØ�˜T™œÒ"Ð"Ø�˜D™	œ	Ñ!�Ø�
�
�
Ø—}’}‘”�Øð 'Ý$™,œ,Ð&ð �˜T™œÒ"Ð"ð �u˜�u”+ÐÐÐà˜˜˜”;ˆDÝ�d‘)”)˜a’-�-Ø#Ÿ=š=™?œ?�Øð ØØ˜Ñ �õ	 �d‘)”)˜a’-�-ð
 �B�Q�BŒx˜7Ò"Ð"Ý,¨T°"°1°"¬XÑ6Ô6Ð6Ø×0Ò0°ÀÀQÀRÀRÄÐ0ÑIÔI‰LˆT�4ð# �QŠh‰hˆhˆhˆhˆhr   Nc                 ó8  — t          j        ¦   «         }|�|                     |¦  «         |                     ¦   «                              d¦  «        }|dk     rC|                      ||¦  «         |                     ¦   «                              d¦  «        }|dk     °C|                     ¦   «         }|d |…         ||dz   d …         }}|                     dd¦  «        ^}}|r.d|d         v rt          d¦  «        ‚|                     d¦  «        }t          d	„ |D ¦   «         ¦  «        rt          |¦  «        ‚t          |¦  «        dk    rt          |¦  «        ‚t          |d
¦  «        }|dk    r*	 |                      ||¦  «         n# t          $ r Y nw xY wdS ||fS )Nr)   r   r(   ó   ;é   ó   zbare CR not alloweds    	c              3   ó   K  — | ]}|d vV — Œ	dS )s   0123456789abcdefABCDEFN© )Ú.0Úns     r   ú	<genexpr>z1ChunkedReader.parse_chunk_size.<locals>.<genexpr>a   s(   è è € ÐFÐF°aˆqÐ1Ð1ÐFÐFÐFÐFÐFÐFr   é   )r   N)r   r   r   r    r,   r-   Úsplitr   ÚrstripÚanyr   r6   r   r3   r   )	r   r   r#   r   r1   ÚlineÚ
rest_chunkÚ
chunk_sizeÚ	chunk_exts	            r   r5   zChunkedReader.parse_chunk_sizeM   s±  € ÝŒj‰lŒlˆØÐØ�IŠI�d‰OŒOˆOà�lŠl‰nŒn×!Ò! 'Ñ*Ô*ˆØ�AŠgˆgØ�MŠM˜( CÑ(Ô(Ð(Ø—,’,‘.”.×%Ò% gÑ.Ô.ˆCð �AŠgˆgð �|Š|‰~Œ~ˆØ   œ: t¨C°!©G¨H¨H¤~ˆjˆð "&§¢¨D°!Ñ!4Ô!4Ðˆ
�YØð 	3à˜	 !œÐ$Ð$Ý+Ð,AÑBÔBÐBØ#×*Ò*¨6Ñ2Ô2ˆJÝÐFÐF¸:ÐFÑFÔFÑFÔFð 	/Ý" :Ñ.Ô.Ð.Ýˆz‰?Œ?˜aÒÐÝ" :Ñ.Ô.Ð.Ý˜ RÑ(Ô(ˆ
à˜Š?ˆ?ðØ×#Ò# H¨jÑ9Ô9Ð9Ð9øÝð ð ð Ø�ðøøøà�9Ø˜JÐ'Ð's   Å/F Æ
FÆFc                 óx   — |                      ¦   «         }|st          ¦   «         ‚|                     |¦  «         d S r
   )r&   r   r   )r   r   r   r#   s       r   r-   zChunkedReader.get_datao   s4   € Ø�}Š}‰ŒˆØð 	Ý‘,”,ÐØ�	Š	�$‰Œˆˆˆr   r
   )	Ú__name__Ú
__module__Ú__qualname__r   r&   r3   r   r5   r-   r=   r   r   r   r      sw   € € € € € ð ð  ð  ð
ð ð ð,2ð 2ð 2ð Jð Jð Jð* (ð  (ð  (ð  (ðDð ð ð ð r   r   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚLengthReaderc                 ó"   — || _         || _        d S r
   )r   Úlength)r   r   rP   s      r   r   zLengthReader.__init__w   s   € Ø ˆŒØˆŒˆˆr   c                 óD  — t          |t          ¦  «        st          d¦  «        ‚t          | j        |¦  «        }|dk     rt          d¦  «        ‚|dk    rdS t          j        ¦   «         }| j         	                    ¦   «         }|rI| 
                    |¦  «         |                     ¦   «         |k    rn| j         	                    ¦   «         }|°I|                     ¦   «         }|d |…         ||d …         }}| j                             |¦  «         | xj        |z  c_        |S )Núsize must be an integral typer   r   r   )r   r   r   ÚminrP   r   r   r   r   r&   r   r   r    r.   )r   r"   r   r#   r$   r%   s         r   r&   zLengthReader.read{   s  € Ý˜$¥Ñ$Ô$ð 	=ÝÐ;Ñ<Ô<Ð<å�4”; Ñ%Ô%ˆØ�!Š8ˆ8ÝÐ5Ñ6Ô6Ð6Ø�1Š9ˆ9Ø�3åŒj‰lŒlˆØŒ}×!Ò!Ñ#Ô#ˆØð 	(Ø�IŠI�d‰OŒOˆOØ�xŠx‰zŒz˜TÒ!Ð!ØØ”=×%Ò%Ñ'Ô'ˆDð	 ð 	(ð �lŠl‰nŒnˆØ˜˜˜”J  D E E¤
ˆTˆØŒ×Ò˜TÑ"Ô"Ð"ØˆŒ�tÑˆŒØˆ
r   N©rJ   rK   rL   r   r&   r=   r   r   rN   rN   v   s2   € € € € € ðð ð ðð ð ð ð r   rN   c                   ó   — e Zd Zd„ Zd„ ZdS )Ú	EOFReaderc                 óR   — || _         t          j        ¦   «         | _        d| _        d S )NF)r   r   r   r   Úfinished)r   r   s     r   r   zEOFReader.__init__•   s!   € Ø ˆŒÝ”:‘<”<ˆŒØˆŒˆˆr   c                 ó  — t          |t          ¦  «        st          d¦  «        ‚|dk     rt          d¦  «        ‚|dk    rdS | j        ra| j                             ¦   «         }|d |…         ||d …         }}t          j        ¦   «         | _        | j         	                    |¦  «         |S | j
                             ¦   «         }|rS| j         	                    |¦  «         | j                             ¦   «         |k    rn| j
                             ¦   «         }|°S|sd| _        | j                             ¦   «         }|d |…         ||d …         }}t          j        ¦   «         | _        | j         	                    |¦  «         |S )NrR   r   r   r   T)r   r   r   r   rX   r   r    r   r   r   r   r&   r   r!   s        r   r&   zEOFReader.readš   sl  € Ý˜$¥Ñ$Ô$ð 	=ÝÐ;Ñ<Ô<Ð<Ø�!Š8ˆ8ÝÐ5Ñ6Ô6Ð6Ø�1Š9ˆ9Ø�3àŒ=ð 	Ø”8×$Ò$Ñ&Ô&ˆDØ˜U˜d˜Uœ T¨$¨%¨%¤[�ˆCÝ”z‘|”|ˆDŒHØŒH�NŠN˜4Ñ Ô Ð ØˆJàŒ}×!Ò!Ñ#Ô#ˆØð 	(ØŒH�NŠN˜4Ñ Ô Ð ØŒx�}Š}‰Œ Ò%Ð%ØØ”=×%Ò%Ñ'Ô'ˆDð	 ð 	(ð ð 	!Ø ˆDŒMàŒx× Ò Ñ"Ô"ˆØ˜˜$˜”K  d e e¤ˆTˆÝ”:‘<”<ˆŒØŒ�Š�tÑÔÐØˆ
r   NrT   r=   r   r   rV   rV   ”   s2   € € € € € ðð ð ð
ð ð ð ð r   rV   c                   óB   — e Zd Zd„ Zd„ Zd„ ZeZd„ Zd	d„Zd	d„Z	d	d„Z
dS )
ÚBodyc                 óD   — || _         t          j        ¦   «         | _        d S r
   )Úreaderr   r   r   )r   r]   s     r   r   zBody.__init__»   s   € ØˆŒÝ”:‘<”<ˆŒˆˆr   c                 ó   — | S r
   r=   )r   s    r   Ú__iter__zBody.__iter__¿   s   € Øˆr   c                 óN   — |                       ¦   «         }|st          ¦   «         ‚|S r
   )Úreadliner   )r   r$   s     r   Ú__next__zBody.__next__Â   s&   € Ø�mŠm‰oŒoˆØð 	"Ý‘/”/Ð!Øˆ
r   c                 óŽ   — |€t           j        S t          |t          ¦  «        st	          d¦  «        ‚|dk     rt           j        S |S )NrR   r   )ÚsysÚmaxsizer   r   r   )r   r"   s     r   ÚgetsizezBody.getsizeÊ   sF   € Øˆ<Ý”;ÐÝ˜D¥#Ñ&Ô&ð 	ÝÐ;Ñ<Ô<Ð<Ø�AŠXˆXÝ”;ÐØˆr   Nc                 óÜ  — |                       |¦  «        }|dk    rdS || j                             ¦   «         k     ra| j                             ¦   «         }|d |…         ||d …         }}t	          j        ¦   «         | _        | j                             |¦  «         |S || j                             ¦   «         k    rT| j                             d¦  «        }|sn7| j                             |¦  «         || j                             ¦   «         k    °T| j                             ¦   «         }|d |…         ||d …         }}t	          j        ¦   «         | _        | j                             |¦  «         |S )Nr   r   é   )	rf   r   r   r    r   r   r   r]   r&   r!   s        r   r&   z	Body.readÓ   s<  € Ø�|Š|˜DÑ!Ô!ˆØ�1Š9ˆ9Ø�3à�$”(—-’-‘/”/Ò!Ð!Ø”8×$Ò$Ñ&Ô&ˆDØ˜U˜d˜Uœ T¨$¨%¨%¤[�ˆCÝ”z‘|”|ˆDŒHØŒH�NŠN˜4Ñ Ô Ð ØˆJà�T”X—]’]‘_”_Ò$Ð$Ø”;×#Ò# DÑ)Ô)ˆDØð ØØŒH�NŠN˜4Ñ Ô Ð ð	 �T”X—]’]‘_”_Ò$Ð$ð Œx× Ò Ñ"Ô"ˆØ˜˜$˜”K  d e e¤ˆTˆÝ”:‘<”<ˆŒØŒ�Š�tÑÔÐØˆ
r   c                 ój  — |                       |¦  «        }|dk    rdS | j                             ¦   «         }t          j        ¦   «         | _        g }	 |                     dd|¦  «        }|dk    r|dz   nt          |¦  «        |k    r|nd}|r@|                     |d |…         ¦  «         | j                             ||d …         ¦  «         nS|                     |¦  «         |t          |¦  «        z  }| j	         
                    t          d|¦  «        ¦  «        }|snŒÎd                     |¦  «        S )Nr   r   r:   ó   
rh   )rf   r   r    r   r   r,   r6   Úappendr   r]   r&   rS   Újoin)r   r"   r#   r$   r1   s        r   ra   zBody.readlineë   s+  € Ø�|Š|˜DÑ!Ô!ˆØ�1Š9ˆ9Ø�3àŒx× Ò Ñ"Ô"ˆÝ”:‘<”<ˆŒàˆð	Ø—)’)˜E 1 dÑ+Ô+ˆCØ  AšX˜X�#˜‘'�'µ3°t±9´9ÀÒ3DÐ3D¨4¨4È!ˆCØð Ø—
’
˜4   œ:Ñ&Ô&Ð&Ø”—’˜t C D DœzÑ*Ô*Ð*Øà�JŠJ�tÑÔÐØ•C˜‘I”IÑˆDØ”;×#Ò#¥C¨¨d¡O¤OÑ4Ô4ˆDØð Øð	ð �xŠx˜‰}Œ}Ðr   c                 óþ   — g }|                       ¦   «         }|rd|                     d¦  «        }|dk     r|                     |¦  «         d}n/|d |dz   …         ||dz   d …         }}|                     |¦  «         |°d|S )Nrj   r   r   r:   )r&   r,   rk   )r   r"   r$   r#   ÚposrE   s         r   Ú	readlineszBody.readlines  s“   € ØˆØ�yŠy‰{Œ{ˆØð 	!Ø—)’)˜EÑ"Ô"ˆCØ�QŠwˆwØ—
’
˜4Ñ Ô Ð Ø��à! ( 3¨¡7 (œ^¨T°#¸±'°(°(¬^�d�Ø—
’
˜4Ñ Ô Ð ð ð 	!ð ˆ
r   r
   )rJ   rK   rL   r   r_   rb   r   rf   r&   ra   ro   r=   r   r   r[   r[   º   s“   € € € € € ð ð  ð  ðð ð ðð ð ð €Dðð ð ðð ð ð ð0ð ð ð ð2ð ð ð ð ð r   r[   )r   rd   Úgunicorn.http.errorsr   r   r   r   r   rN   rV   r[   r=   r   r   ú<module>rq      s  ðð
 
€	€	€	Ø 
€
€
€
ðKð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kð Kðgð gð gð gð gñ gô gð gðTð ð ð ð ñ ô ð ð<#ð #ð #ð #ð #ñ #ô #ð #ðLUð Uð Uð Uð Uñ Uô Uð Uð Uð Ur   