+
   OP4                       ^RI HtHtHt ^RIHtHt ^ RIt^ RIt^ RI	t	. ROt
. ROt. ROtR	 t0 RmP                  tR
 tR t ! R R4      t ! R R]4      t ! R R]4      t ! R R]4      t ! R R]4      tR# )   )FileWrapperguess_schemeis_hop_by_hop)Headers_name_disallowed_reNBaseHandlerSimpleHandlerBaseCGIHandler
CGIHandlerIISCGIHandlerc           	          \         P                  ! V 4      w	  rr4rVrxp	R \        V,          V\        V,          WWV3,          # )z#%s, %02d %3s %4d %02d:%02d:%02d GMT)timegmtime_weekdayname
_monthname)
	timestampyearmonthdayhhmmsswdyzs
   &         '/usr/lib/python3.14/wsgiref/handlers.pyformat_date_timer      sB    -1[[-C*D""0R#z%0$B4      c                     \        V 4      ;'       g^    V P                  R 4      ;'       gE    V P                  R4      ;'       g,    V P                  R4      ;'       d    \        V R,          4      # )HTTP_SSL_	REDIRECT_:	   NN)_is_request
startswith_needs_transcode)ks   &r   r&   r&      sg    q> C CQ\\'2 C Call66J C CLL%AA*:1R5*ACr   c                  ,   \         P                  ! 4       p R p RP                  RV4       / p\        P
                  P                  4        EF0  w  r4\        V4      '       Ed   \         P                  R8X  d   \        P
                  P                  RR4      P                  4       pVP                  R4      '       d"   VP                  R4      P                  R4      pMVP                  R4      '       d   MVP                  R	4      '       d)   R
V9   d"   VP                  R4      P                  R4      pMBVP                  V R4      P                  R4      pM VP                  W4      P                  R4      pWBV&   EK3  	  V#   \         d    Rp ELgi ; i)surrogateescape zutf-8replacewin32SERVER_SOFTWAREzmicrosoft-iis/
iso-8859-1zapache/zsimplehttp/zpython/3)sysgetfilesystemencodingencodeLookupErrorosenvironitemsr&   platformgetlowerr%   decode)encescr4   r'   vsoftwares         r   read_environr>   "   sW   

#
#
%C
C
		'3 G
 

  "A ||w&::>>*;R@FFH &&'788)00>A ((33 ''66"h.)00>A i077EA
 HHS&--l;
W #X Ng  s   F FFc                     a  ] tR t^^t o R!tRtRtRtRtRt	Rt
]! 4       t]t]tRtRtR".tRtR;ttRtRt^ tR tR tR	 tR
 tR tR tR#R lt R t!R t"R t#R t$R t%R t&R t'R t(R t)R t*R t+R t,R t-R t.R t/R t0R t1R t2R t3V t4R# )$r   TFz1.0Nz500 Internal Server Errors;   A server error occurred.  Please contact the administrator.c                    V P                  4        V! V P                  V P                  4      V n        V P	                  4        R #   \
        \        \        3 d     R #   T P                  4         R #    T P                  4        h ; i; iN)
setup_environr4   start_responseresultfinish_responseConnectionAbortedErrorBrokenPipeErrorConnectionResetErrorhandle_errorclose)selfapplications   &&r   runBaseHandler.run   sv    	 %dllD4G4GHDK  "&9MN 	 	!!#

s$   AA B
B
!A44BB
c                   V P                   P                  4       ;qn        V P                  4        V P	                  4       VR &   V P                  4       VR&   V P                  VR&   V P                  VR&   V P                  4       VR&   V P                  VR&   V P                  VR&   V P                  e   V P                  VR&   V P                  '       d3   V P                  '       d   VP                  R	V P                  4       R# R# R# )
z
wsgi.inputzwsgi.errorszwsgi.versionzwsgi.run_oncezwsgi.url_schemezwsgi.multithreadzwsgi.multiprocessNzwsgi.file_wrapperr-   )
os_environcopyr4   add_cgi_vars	get_stdin
get_stderrwsgi_versionwsgi_run_once
get_schemewsgi_multithreadwsgi_multiprocesswsgi_file_wrapperorigin_serverserver_software
setdefault)rK   envs   & r   rB   BaseHandler.setup_environ   s     "__1133l#'>>#3L#'??#4M#'#4#4N#'#5#5O#'??#4#'#8#8#'#9#9 !!-'+'='=C#$$"6"6"6NN,T-A-AB #7r   c                `    V P                  4       '       d   V P                  4       '       g5   V P                   F  pV P                  V4       K  	  V P	                  4        V P                  4        R#    \        T P                  R 4      '       d   T P                  P                  4        h ; i)rJ   N)result_is_filesendfilerD   writefinish_contentrJ   hasattrrK   datas   & r   rE   BaseHandler.finish_response   s~    	&&(( KKDJJt$ (##% JJL	 t{{G,,!!#s   A4 A4 4A4 49B-c                ,    \        V P                  4      # rA   )r   r4   rK   s   &r   rW   BaseHandler.get_scheme   s    DLL))r   c                     \        V P                  4      pV^8X  d%   \        V P                  4      V P                  R&   R# R#   \
        \        \        3 d     R# i ; i)r   Content-LengthN)lenrD   str
bytes_sentheaders	TypeErrorAttributeErrorNotImplementedError)rK   blockss   & r   set_content_lengthBaseHandler.set_content_length   sZ    	%F qy14T__1E-.  .)<= 		s   A AAc                L    R V P                   9  d   V P                  4        R# R# )rm   N)rq   rv   rj   s   &r   cleanup_headersBaseHandler.cleanup_headers   s!    
 4<</##% 0r   c                   V'       d    V P                   '       d   h  R pMV P                  e   \        R4      hWn        V P	                  V4      V n        V P                  VR4      pV P                  V4        T P                  #   R pi ; i)NzHeaders already set!Status)headers_sentrq   AssertionErrorstatusheaders_class_convert_string_type_validate_statusrc   )rK   r   rq   exc_infonamevals   &&&&  r   rC   BaseHandler.start_response   s      $$$ %  \\% !788))'2**68<f% zz!  s   B B B
c                   \         P                  ! V4      '       d   \        R 4      h\        V4      ^8  d   \	        R4      hVR,          P                  4       '       g   \	        R4      hV^,          R8w  d   \	        R4      hR# )z,Control characters are not allowed in statusz$Status must be at least 4 characters:N   Nz(Status message must begin w/3-digit code z+Status message must have a space after codeN)r   search
ValueErrorrn   r~   isdigit)rK   r   s   &&r   r   BaseHandler._validate_status   sr    %%f--KLLv;? !GHHbz!!## !KLL!9 !NOO r   c                t    \        V4      \        J d   V# \        R P                  V\	        V4      4      4      h)z!{0} must be of type str (got {1}))typero   r~   formatrepr)rK   valuetitles   &&&r   r    BaseHandler._convert_string_type  s4    ;#L/66ud5kJ
 	
r   c                   V P                   '       Ed   V P                  4       '       d   V P                  R V P                  : RV P                  : R2P                  R4      4       RV P                  9  dD   V P                  R\        \        P                  ! 4       4      ,          P                  R4      4       V P                  '       dG   RV P                  9  d4   V P                  RV P                  ,          P                  R4      4       R	# R	# R	# R	# V P                  RV P                  ,          P                  R4      4       R	# )
zHTTP/r   z
r.   Datez
Date: %s
ServerzServer: %s
zStatus: %s
N)
r[   client_is_modern_writehttp_versionr   r1   rq   r   r   r\   rj   s   &r   send_preambleBaseHandler.send_preamble  s    $$&&1B1B4;;OWWXdef-KK'*:499;*GGOOP\] '''HDLL,HKK!1D4H4H!H P PQ] ^_ -I' ' KK)DKK7??MNr   c                ,   V P                   '       g   \        R 4      hV P                  '       g"   \        V4      V n        V P                  4        M"V ;P                  \        V4      ,          un        V P                  V4       V P                  4        R# )zwrite() before start_response()N)r   r~   r}   rn   rp   send_headersr   _flushrf   s   &&r   rc   BaseHandler.write  se     {{{ !BCC"""!$iDOOOs4y(O 	Dr   c                    R # )F rj   s   &r   rb   BaseHandler.sendfile0  s    $ r   c                    V P                   '       g/   V P                  P                  R R4       V P                  4        R# R# )rm   0N)r}   rq   r]   r   rj   s   &r   rd   BaseHandler.finish_contentE  s4        LL##$4c:r   c                &    \        V P                  R 4      '       d   V P                  P                  4        R;V n        ;V n        ;V n        V n        ^ V n        RV n        R#   R;T n        ;T n        ;T n        T n        ^ T n        RT n        i ; i)rJ   NF)re   rD   rJ   rq   r   r4   rp   r}   rj   s   &r   rJ   BaseHandler.closeO  s    
	;t{{7++!!#FJJDKJ$,Jt|DOU!2 GKJDKJ$,Jt|DOU!2s   6A$ $,Bc                    V P                  4        R V n        V P                  '       d   V P                  4       '       d7   V P	                  4        V P                  \        V P                  4      4       R# R# )TN)ry   r}   r[   r   r   r   bytesrq   rj   s   &r   r   BaseHandler.send_headers\  sV     !!!T%:%:%<%< KKdll+, &=r   c                ^    V P                   pVR J;'       d    \        V P                  V4      # rA   )rZ   
isinstancerD   )rK   wrappers   & r   ra   BaseHandler.result_is_filee  s+    ((d"FFz$++g'FFr   c                J    V P                   R ,          P                  4       R8g  # )SERVER_PROTOCOLzHTTP/0.9)r4   upperrj   s   &r   r   BaseHandler.client_is_modernk  s     ||-.446*DDr   c                     ^ RI Hp V P                  4       pV! V^ ,          V^,          V^,          V P                  V4       VP	                  4        RpR#   Rpi ; i)    )print_exceptionN)	tracebackr   rT   traceback_limitflush)rK   r   r   stderrs   &&  r   log_exceptionBaseHandler.log_exceptionp  sR    
		1__&FXa[(1+$$f LLNHtHs   AA Ac                    V P                  \        P                  ! 4       4       V P                  '       g>   V P	                  V P
                  V P                  4      V n        V P                  4        R # R # rA   )	r   r/   r   r}   error_outputr4   rC   rD   rE   rj   s   &r   rI   BaseHandler.handle_error  sQ    3<<>*   ++DLL$:M:MNDK  " !r   c                    V! V P                   V P                  R ,          \        P                  ! 4       4       V P                  .# ):NNN)error_statuserror_headersr/   r   
error_body)rK   r4   rC   s   &&&r   r   BaseHandler.error_output  s4     	t((););A)>s||~N  r   c                    \         hrA   rt   rf   s   &&r   r   BaseHandler._write  s
     "!r   c                    \         hrA   r   rj   s   &r   r   BaseHandler._flush  s
     "!r   c                    \         hrA   r   rj   s   &r   rS   BaseHandler.get_stdin      !!r   c                    \         hrA   r   rj   s   &r   rT   BaseHandler.get_stderr  r   r   c                    \         hrA   r   rj   s   &r   rR   BaseHandler.add_cgi_vars  r   r   )rp   r4   rq   r}   rD   r   )r   r   )zContent-Typez
text/plainrA   )5__name__
__module____qualname____firstlineno__rU   rX   rY   rV   r[   r   r\   r>   rP   r   rZ   r   r   r   r   r   r   r   rD   r}   rq   rp   rM   rB   rE   rW   rv   ry   rC   r   r   r   rc   rb   rd   rJ   r   ra   r   r   rI   r   r   r   rS   rT   rR   __static_attributes____classdictcell____classdict__s   @r   r   r   ^   s      LMMLO
 J $M O.L23MOJ FVLGJ0C*4*
	&4P
O**
;-GE
 #!&""""" "r   c                   H   a  ] tR tRt o R
R ltR tR tR tR tR t	Rt
V tR	# )r	   i  c                N    Wn         W n        W0n        W@n        WPn        W`n        R # rA   )stdinstdoutr   base_envrX   rY   )rK   r   r   r   r4   multithreadmultiprocesss   &&&&&&&r   __init__SimpleHandler.__init__  s$     
 +!-r   c                    V P                   # rA   )r   rj   s   &r   rS   SimpleHandler.get_stdin  s    zzr   c                    V P                   # rA   )r   rj   s   &r   rT   SimpleHandler.get_stderr  s    {{r   c                P    V P                   P                  V P                  4       R # rA   )r4   updater   rj   s   &r   rR   SimpleHandler.add_cgi_vars  s    DMM*r   c                    V P                   P                  V4      pVe   V\        V4      8X  d   R # ^ RIHp V! R\
        4       WR  ;p'       d   V P                   P                  V4      pK)  R # )N)warnz9SimpleHandler.stdout.write() should not do partial writes)r   rc   rn   warningsr   DeprecationWarning)rK   rg   rD   r   s   &&  r   r   SimpleHandler._write  sb    ""4(>Vs4y0!H	 7m#d#[[&&t,F $r   c                p    V P                   P                  4        V P                   P                  V n        R # rA   )r   r   r   rj   s   &r   r   SimpleHandler._flush  s#    kk''r   )r   r   r   r   r   rY   rX   N)TF)r   r   r   r   r   rS   rT   rR   r   r   r   r   r   s   @r   r	   r	     s(     .+-( (r   c                       ] tR tRtRtRtR# )r
   i  Fr   N)r   r   r   r   r[   r   r   r   r   r
   r
     s	    * Mr   c                   .   a  ] tR tRt o Rt/ tR tRtV tR# )r   i   Tc           
         \         P                  V \        P                  P                  \        P
                  P                  \        P                  \        4       R RR7       R# )FTr   r   N)r
   r   r/   r   bufferr   r   r>   rj   s   &r   r   CGIHandler.__init__  s?    #))""CJJ$5$5szzND 	  	
r   r   N	r   r   r   r   rV   rP   r   r   r   r   s   @r   r   r      s     " M J
 
r   c                   .   a  ] tR tRt o Rt/ tR tRtV tR# )r   i  Tc           
        \        4       pVP                  R R4      pVP                  RR4      pVR,           P                  VR,           4      '       d   V\        V4      R VR &   \        P                  V \        P                  P                  \        P                  P                  \        P                  VRRR7       R# )	PATH_INFOr*   SCRIPT_NAME/NFTr   )r>   r7   r%   rn   r
   r   r/   r   r   r   r   )rK   r4   pathscripts   &   r   r   IISCGIHandler.__init__6  s    {{;+]B/H  ,,#'F#5GK #))""CJJ$5$5szzT 	  	
r   r   Nr   r   s   @r   r   r     s      MJ 	
 	
r   )r   r	   r
   r   r   r>   )MonTueWedThuFriSatSun)NJanFebMarAprMayJunJulAugSepOctNovDec>
   HTTPS	AUTH_TYPEr   REMOTE_USERr   CONTENT_TYPEQUERY_STRINGREMOTE_IDENTCONTENT_LENGTHREQUEST_METHOD)utilr   r   r   rq   r   r   r/   r3   r   __all__r   r   r   __contains__r$   r&   r>   r   r	   r
   r   r   r   r   r   <module>r     s    ; : 1   A8
 , 
C9xX" X"v
,(K ,(^] 0
 
<!
N !
r   