<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

]!                 @   s  d  d l  Z  d  d l Z d  d l Z d d d d d d d d	 d
 d d d d d d d d d d d d g Z d d d d d d d d d d  d! d" d# d$ d% d& d' d( d) g Z d d d d d d* d d d d! d d  d+ d" d# d$ d, d& d' d% d- d. d/ d( d) g Z d d d0 d" d d d d  d# d$ d1 d2 d! d% d3 g Z d d0 d4 d5 d* d d d+ d1 d2 g
 Z d d d d d d  d! d d# d$ d1 d2 g Z d d d0 d d d5 d d d d  d+ d d" g Z	 d6 Z
 d7 Z i  Z d8 d9   Z d: Z d; Z d< d=   Z e e d> d?  Z e e d@ dA  Z dB dC   Z GdD dE   dE e  Z GdF dG   dG e  Z GdH dI   dI e  Z GdJ dK   dK e e  Z GdL dM   dM e e  Z d  dN l m Z e d dO  Z e d dP  Z e d dQ  Z e Z GdR d   d e e  Z GdS d   d e e  Z  GdT d   d e e  Z! GdU d   d e e  Z" GdV d   d e e  Z# GdW d   d e e  Z$ dX dY   Z% e%   [% d dZ d[ d  Z& d\ d]   Z' d  d^ d_  Z( d` da   Z) d dZ db d  Z* dc d   Z+ dd d   Z, dZ de d  Z- df d   Z. dg Z/ d a0 dh d   Z1 e  j2 di  Z3 dj dk dl d  Z4 dm dm dj dk dn d	  Z5 dm dm dj dk do d
  Z6 dj dk dp d  Z7 e8 dq  Z9 e: e9  Z; i  Z< Gdr ds   ds e j=  Z> dt d d du d  Z? d d d dv d  Z@ dt dw d  ZA dm d d d e@ dx d  ZB dy dz   ZC d{ d|   ZD d aE d} d~   ZF d aG d d   ZH d d   ZI d d   ZJ d aK d d   ZL d d d  ZM d d   ZN d d   ZO d d   ZP d d   ZQ d S)    Nurlparse
urlunparseurljoin	urldefragurlsplit
urlunsplit	urlencodeparse_qs	parse_qslquote
quote_plusquote_from_bytesunquoteunquote_plusunquote_to_bytesDefragResultParseResultSplitResultDefragResultBytesParseResultBytesSplitResultBytes ZftphttpZgopherZnntpimapZwaisfileZhttpsZshttpZmmsZprosperoZrtspZrtspuZsftpZsvnzsvn+sshZwsZwssZtelnetZsnewsZrsyncZnfsZgitzgit+sshZhdlZsipZsipsZtelZmailtoZnewszAabcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+-.   c               C   s   t  j   t j   d  S)N)_parse_cacheclear_safe_quoters r   r   */opt/alt/python35/lib64/python3.5/parse.pyclear_cacheS   s    
r!   asciistrictc             C   s   |  S)Nr   )objr   r   r    _noopb   s    r%   c             C   s   |  j  | |  S)N)encode)r$   encodingerrorsr   r   r    _encode_resulte   s    r)   c                s    t     f d d   |  D  S)Nc             3   s-   |  ]# } | r! | j      n d  Vq d S)r   N)decode).0x)r'   r(   r   r    	<genexpr>k   s    z_decode_args.<locals>.<genexpr>)tuple)argsr'   r(   r   )r'   r(   r    _decode_argsi   s    r0   c              G   sw   t  |  d t  } x? |  d d   D]- } | r$ t  | t  | k r$ t d   q$ W| rf |  t f St |   t f S)Nr      z$Cannot mix str and non-str arguments)
isinstancestr	TypeErrorr%   r0   r)   )r/   Z	str_inputargr   r   r    _coerce_argsm   s    r6   c               @   s(   e  Z d  Z f  Z d d d d  Z d S)_ResultMixinStrr"   r#   c                s#   |  j     f d d   |  D   S)Nc             3   s!   |  ] } | j      Vq d  S)N)r&   )r+   r,   )r'   r(   r   r    r-      s    z)_ResultMixinStr.encode.<locals>.<genexpr>)_encoded_counterpart)selfr'   r(   r   )r'   r(   r    r&      s    z_ResultMixinStr.encodeN)__name__
__module____qualname__	__slots__r&   r   r   r   r    r7   ~   s   r7   c               @   s(   e  Z d  Z f  Z d d d d  Z d S)_ResultMixinBytesr"   r#   c                s#   |  j     f d d   |  D   S)Nc             3   s!   |  ] } | j      Vq d  S)N)r*   )r+   r,   )r'   r(   r   r    r-      s    z+_ResultMixinBytes.decode.<locals>.<genexpr>)_decoded_counterpart)r9   r'   r(   r   )r'   r(   r    r*      s    z_ResultMixinBytes.decodeN)r:   r;   r<   r=   r*   r   r   r   r    r>      s   r>   c               @   s^   e  Z d  Z f  Z e d d    Z e d d    Z e d d    Z e d d    Z d	 S)
_NetlocResultMixinBasec             C   s   |  j  d S)Nr   )	_userinfo)r9   r   r   r    username   s    z_NetlocResultMixinBase.usernamec             C   s   |  j  d S)Nr1   )rA   )r9   r   r   r    password   s    z_NetlocResultMixinBase.passwordc             C   s8   |  j  d } | s d  } n | d  k	 r4 | j   } | S)Nr   )	_hostinfolower)r9   hostnamer   r   r    rF      s    	z_NetlocResultMixinBase.hostnamec             C   sL   |  j  d } | d  k	 rH t | d  } d | k o? d k n sH d  S| S)Nr1   
   r   i  )rD   int)r9   portr   r   r    rI      s    z_NetlocResultMixinBase.portN)	r:   r;   r<   r=   propertyrB   rC   rF   rI   r   r   r   r    r@      s
   	r@   c               @   s:   e  Z d  Z f  Z e d d    Z e d d    Z d S)_NetlocResultMixinStrc             C   sb   |  j  } | j d  \ } } } | rN | j d  \ } } } | sX d  } n
 d  } } | | f S)N@:)netloc
rpartition	partition)r9   rN   userinfo	have_infohostinforB   have_passwordrC   r   r   r    rA      s    		
z_NetlocResultMixinStr._userinfoc             C   s   |  j  } | j d  \ } } } | j d  \ } } } | rr | j d  \ } } } | j d  \ } } } n | j d  \ } } } | s d  } | | f S)NrL   []rM   )rN   rO   rP   )r9   rN   _rS   have_open_br	bracketedrF   rI   r   r   r    rD      s    	z_NetlocResultMixinStr._hostinfoN)r:   r;   r<   r=   rJ   rA   rD   r   r   r   r    rK      s   rK   c               @   s:   e  Z d  Z f  Z e d d    Z e d d    Z d S)_NetlocResultMixinBytesc             C   sb   |  j  } | j d  \ } } } | rN | j d  \ } } } | sX d  } n
 d  } } | | f S)N   @   :)rN   rO   rP   )r9   rN   rQ   rR   rS   rB   rT   rC   r   r   r    rA      s    		
z!_NetlocResultMixinBytes._userinfoc             C   s   |  j  } | j d  \ } } } | j d  \ } } } | rr | j d  \ } } } | j d  \ } } } n | j d  \ } } } | s d  } | | f S)Nr[      [   ]r\   )rN   rO   rP   )r9   rN   rW   rS   rX   rY   rF   rI   r   r   r    rD      s    	z!_NetlocResultMixinBytes._hostinfoN)r:   r;   r<   r=   rJ   rA   rD   r   r   r   r    rZ      s   rZ   )
namedtuplezurl fragmentz!scheme netloc path query fragmentz(scheme netloc path params query fragmentc               @   s"   e  Z d  Z f  Z d d   Z d S)r   c             C   s&   |  j  r |  j d |  j  S|  j Sd  S)N#)fragmenturl)r9   r   r   r    geturl   s    	zDefragResult.geturlN)r:   r;   r<   r=   rc   r   r   r   r    r      s   c               @   s"   e  Z d  Z f  Z d d   Z d S)r   c             C   s
   t  |   S)N)r   )r9   r   r   r    rc      s    zSplitResult.geturlN)r:   r;   r<   r=   rc   r   r   r   r    r      s   c               @   s"   e  Z d  Z f  Z d d   Z d S)r   c             C   s
   t  |   S)N)r   )r9   r   r   r    rc     s    zParseResult.geturlN)r:   r;   r<   r=   rc   r   r   r   r    r     s   c               @   s"   e  Z d  Z f  Z d d   Z d S)r   c             C   s&   |  j  r |  j d |  j  S|  j Sd  S)N   #)ra   rb   )r9   r   r   r    rc     s    	zDefragResultBytes.geturlN)r:   r;   r<   r=   rc   r   r   r   r    r   	  s   c               @   s"   e  Z d  Z f  Z d d   Z d S)r   c             C   s
   t  |   S)N)r   )r9   r   r   r    rc     s    zSplitResultBytes.geturlN)r:   r;   r<   r=   rc   r   r   r   r    r     s   c               @   s"   e  Z d  Z f  Z d d   Z d S)r   c             C   s
   t  |   S)N)r   )r9   r   r   r    rc     s    zParseResultBytes.geturlN)r:   r;   r<   r=   rc   r   r   r   r    r     s   c              C   sN   t  t f t t f t t f f }  x& |  D] \ } } | | _ | | _ q( Wd  S)N)r   r   r   r   r   r   r8   r?   )Z_result_pairsZ_decodedZ_encodedr   r   r    _fix_result_transcoding  s    			re   Tc       
      C   s   t  |  |  \ }  } } t |  | |  } | \ } } }  } } | t k rl d |  k rl t |   \ }  } n d } t | | |  | | |  }	 | |	  S)N;r   )r6   r   uses_params_splitparamsr   )
rb   schemeallow_fragments_coerce_resultZsplitresultrN   queryra   paramsresultr   r   r    r   )  s    c             C   sq   d |  k r@ |  j  d |  j d   } | d k  rO |  d f Sn |  j  d  } |  d  |  |  | d d   f S)N/rf   r   r   r1   )findrfind)rb   ir   r   r    rh   9  s    rh   c             C   sh   t  |   } x; d D]3 } |  j | |  } | d k r t | |  } q W|  | |  |  | d   f S)Nz/?#r   )lenrp   min)rb   startdelimcZwdelimr   r   r    _splitnetlocB  s    rx   c             C   s   |  s! t  d d   |  D  r% d  Sd d  l } |  j d d  } | j d d  } | j d d  } | j d d  } | j d	 |  } | | k r d  Sx2 d
 D]* } | | k r t d |  d d   q Wd  S)Nc             s   s!   |  ] } t  |  d  k Vq d S)   N)ord)r+   rw   r   r   r    r-   K  s    z_checknetloc.<locals>.<genexpr>r   rL   r   rM   r`   ?ZNFKCz/?#@:znetloc 'z' contains invalid z#characters under NFKC normalization)anyunicodedatareplace	normalize
ValueError)rN   r}   nZnetloc2rw   r   r   r    _checknetlocJ  s    !r   c             C   s8  t  |  |  \ }  } } t |  } |  | | t |   t |  f } t j | d   } | rg | |  St t  t k r t   d } } } |  j d  }	 |	 d k rM|  d  |	  d k r|  d  |	  j	   } |  |	 d d   }  |  d  d  d k rPt
 |  d  \ } }  d | k r,d	 | k sDd	 | k rPd | k rPt d
   | rzd |  k rz|  j d d  \ }  } d |  k r|  j d d  \ }  } t |  t | | |  | |  }
 |
 t | <| |
  Sxv |  d  |	  D] } | t k rPqW|  |	 d d   } | s0t d d   | D  rM|  d  |	  j	   | } }  |  d  d  d k rt
 |  d  \ } }  d | k rd	 | k sd	 | k rd | k rt d
   | rd |  k r|  j d d  \ }  } d |  k r|  j d d  \ }  } t |  t | | |  | |  }
 |
 t | <| |
  S)Nr   rM   r   r   r1      z//rU   rV   zInvalid IPv6 URLr`   r{   c             s   s   |  ] } | d  k Vq d S)
0123456789Nr   )r+   rw   r   r   r    r-     s    zurlsplit.<locals>.<genexpr>)r6   booltyper   getrs   MAX_CACHE_SIZEr!   rp   rE   rx   r   splitr   r   scheme_charsr|   )rb   ri   rj   rk   keycachedrN   rl   ra   rr   vrw   restr   r   r    r   \  s\    !



 

c             C   sV   t  |    \ } } } } } } } | r7 d | | f } | t | | | | | f   S)Nz%s;%s)r6   r   )
componentsri   rN   rb   rm   rl   ra   rk   r   r   r    r     s    !c             C   s   t  |    \ } } } } } } | sL | r | t k r | d  d  d k r | rr | d  d  d k rr d | } d | p~ d | } | r | d | } | r | d | } | r | d | } | |  S)	Nr   z//r1   ro   r   rM   r{   r`   )r6   uses_netloc)r   ri   rN   rb   rl   ra   rk   r   r   r    r     s    . 
c             C   sR  |  s
 | S| s |  St  |  |  \ }  } } t |  d |  \ } } } } } }	 t | | |  \ }
 } } } } } |
 | k s |
 t k r | |  S|
 t k r | r | t |
 | | | | | f   S| } | r| r| } | } | s | } | t |
 | | | | | f   S| j d  } | d d k r>| d =| d  d  d k rf| j d  } n6 | | j d  } t d  | d d   | d d	  <g  } x_ | D]W } | d k ry | j   Wq t k
 rYq Xq| d k rqq| j	 |  qW| d
 d k r!| j	 d  | t |
 | d j
 |  p?d | | | f   S)Nr   ro   r1   ...r   r   r   r   )r   r   )r6   r   uses_relativer   r   r   filterpop
IndexErrorappendjoin)baserb   rj   rk   ZbschemeZbnetlocZbpathZbparamsZbqueryZ	bfragmentri   rN   pathrm   rl   ra   Z
base_partsZsegmentsZresolved_pathZsegr   r   r    r     sT    $$
#c       	      C   s|   t  |   \ }  } d |  k r] t |   \ } } } } } } t | | | | | d f  } n d } |  } | t | |   S)Nr`   r   )r6   r   r   r   )	rb   rk   sr   paqZfragZdefragr   r   r    r     s    !Z0123456789ABCDEFabcdefc             C   s
  |  s |  j  d St |  t  r/ |  j d  }  |  j  d  } t |  d k rT |  S| d g } | j } t d  k r d d   t D a xq | d d   D]_ } y0 | t | d  d   | | d d    Wq t k
 r | d  | |  Yq Xq Wd j	 |  S)	N    zutf-8   %r1   r   c             S   sF   i  |  ]< } t  D]/ } t t | | d   g  | | j    q q S)   )_hexdigbytesrH   r&   )r+   r   br   r   r    
<dictcomp>  s   	z$unquote_to_bytes.<locals>.<dictcomp>r   )
r   r2   r3   r&   rs   r   
_hextobyter   KeyErrorr   )stringbitsresr   itemr   r   r    r     s*    		

z([ -]+)zutf-8r~   c             C   s   d |  k r |  j  |  S| d  k r) d } | d  k r; d } t j  |   } | d g } | j } xR t d t |  d  D]8 } | t | |  j | |   | | | d  qy Wd j |  S)N%zutf-8r~   r   r1   r   r   )r   _asciirer   rangers   r   r*   r   )r   r'   r(   r   r   r   rr   r   r   r    r   ,  s    
	 Fc       	      C   sl   i  } t  |  | | d | d | } xA | D]9 \ } } | | k rW | | j |  q+ | g | | <q+ W| S)Nr'   r(   )r
   r   )	qskeep_blank_valuesstrict_parsingr'   r(   Zparsed_resultpairsnamevaluer   r   r    r	   F  s    c             C   sM  t  |   \ }  } d d   |  j d  D } g  } x| D]
} | rR | rR q; | j d d  }	 t |	  d k r | r t d | f   | r; |	 j d  n q; t |	 d  s | r; |	 d	 j d
 d  }
 t |
 d | d | }
 | |
  }
 |	 d j d
 d  } t | d | d | } | |  } | j |
 | f  q; W| S)Nc             S   s,   g  |  ]" } | j  d   D] } |  q q S)rf   )r   )r+   s1s2r   r   r    
<listcomp>  s   	 zparse_qsl.<locals>.<listcomp>&=r1   r   zbad query field: %rr   r   + r'   r(   )r6   r   rs   r   r   r~   r   )r   r   r   r'   r(   rk   r   rZ
name_valueZnvr   r   r   r   r    r
   i  s,    c             C   s"   |  j  d d  }  t |  | |  S)Nr   r   )r~   r   )r   r'   r(   r   r   r    r     s    sA   ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_.-c               @   s4   e  Z d  Z d d   Z d d   Z d d   Z d S)Quoterc             C   s   t  j |  |  _ d  S)N)_ALWAYS_SAFEunionsafe)r9   r   r   r   r    __init__  s    zQuoter.__init__c             C   s   d |  j  j t |   f S)Nz<%s %r>)	__class__r:   dict)r9   r   r   r    __repr__  s    zQuoter.__repr__c             C   s8   | |  j  k r t |  n d j |  } | |  | <| S)Nz%{:02X})r   chrformat)r9   r   r   r   r   r    __missing__  s    *
zQuoter.__missing__N)r:   r;   r<   r   r   r   r   r   r   r    r     s   r   ro   c             C   s   t  |  t  rR |  s |  S| d  k r+ d } | d  k r= d } |  j | |  }  n0 | d  k	 rj t d   | d  k	 r t d   t |  |  S)Nzutf-8r#   z,quote() doesn't support 'encoding' for bytesz*quote() doesn't support 'errors' for bytes)r2   r3   r&   r4   r   )r   r   r'   r(   r   r   r    r     s    c             C   s   t  |  t  r d |  k s6 t  |  t  rI d |  k rI t |  | | |  St  | t  ra d } n d } t |  | | | |  }  |  j d d  S)Nr       r   )r2   r3   r   r   r~   )r   r   r'   r(   Zspacer   r   r    r     s    	c                s   t  |  t t f  s! t d   |  s+ d St  | t  rO | j d d  } n t d d   | D  } |  j t |  s |  j   Sy t	 |   Wn) t
 k
 r t |  j t	 | <  Yn Xd j   f d d   |  D  S)Nz!quote_from_bytes() expected bytesr   r"   ignorec             S   s"   g  |  ] } | d  k  r |  q S)   r   )r+   rw   r   r   r    r   	  s   	 z$quote_from_bytes.<locals>.<listcomp>c                s   g  |  ] }   |   q Sr   r   )r+   char)quoterr   r    r     s   	 )r2   r   	bytearrayr4   r3   r&   rstrip_ALWAYS_SAFE_BYTESr*   r   r   r   __getitem__r   )bsr   r   )r   r    r     s    
c             C   s  t  |  d  r |  j   }  ni y* t |   rG t |  d t  rG t  Wn< t k
 r t j   \ } } } t d  j |   Yn Xg  }	 | s:x |  D] \ }
 } t |
 t	  r | |
 |  }
 n | t
 |
  | | |  }
 t | t	  r| | |  } n | t
 |  | | |  } |	 j |
 d |  q Wn|xy|  D]q\ }
 } t |
 t	  rn| |
 |  }
 n | t
 |
  | | |  }
 t | t	  r| | |  } |	 j |
 d |  qAt | t
  r| | | | |  } |	 j |
 d |  qAy t |  } WnB t k
 rO| t
 |  | | |  } |	 j |
 d |  YqAXx_ | D]W } t | t	  r~| | |  } n | t
 |  | | |  } |	 j |
 d |  qWWqAWd j |	  S)Nitemsr   z1not a valid non-string sequence or mapping objectr   r   )hasattrr   rs   r2   r.   r4   sysexc_infowith_tracebackr   r3   r   r   )rl   Zdoseqr   r'   r(   Z	quote_viaZtyZvatblkr   r,   Zeltr   r   r    r     sP     
c             C   s[   t  |  t  rW y |  j d  j   }  Wn, t k
 rV t d t |   d   Yn X|  S)NASCIIzURL z contains non-ASCII characters)r2   r3   r&   r*   UnicodeErrorrepr)rb   r   r   r    to_bytesb  s    r   c             C   s   t  |   j   }  |  d  d  d k rT |  d d   d k rT |  d d  j   }  |  d  d  d k r |  d d   j   }  |  S)Nr1   <>   zURL:r   r   )r3   strip)rb   r   r   r    unwrapo  s    , r   c             C   sb   t  d  k r! t j d t j  a  t  j |   } | rX | j   \ } } | j   | f Sd  |  f S)Nz([^/:]+):(.*))	_typeprogrecompileDOTALLmatchgroupsrE   )rb   r   ri   datar   r   r    	splittypex  s    r   c             C   s|   t  d  k r! t j d t j  a  t  j |   } | rr | j   \ } } | rh | d d k rh d | } | | f Sd  |  f S)Nz//([^/#?]*)(.*)r   ro   )	_hostprogr   r   r   r   r   )rb   r   Z	host_portr   r   r   r    	splithost  s    

r   c             C   s.   |  j  d  \ } } }  | r$ | n d  |  f S)NrL   )rO   )hostuserrv   r   r   r    	splituser  s    r   c             C   s.   |  j  d  \ }  } } |  | r' | n d  f S)NrM   )rP   )r   rv   Zpasswdr   r   r    splitpasswd  s    r   c             C   sb   t  d  k r! t j d t j  a  t  j |   } | rX | j   \ }  } | rX |  | f S|  d  f S)Nz(.*):([0-9]*)$)	_portprogr   r   r   r   r   )r   r   rI   r   r   r    	splitport  s    
r   r1   c             C   sl   |  j  d  \ }  } } | s' | }  n; | rb y t |  } Wn t k
 rW d  } Yn X|  | f S|  | f S)NrM   )rO   rH   r   )r   Zdefportrv   rI   Znportr   r   r    
splitnport  s    	
r   c             C   s2   |  j  d  \ } } } | r( | | f S|  d  f S)Nr{   )rO   )rb   r   rv   rl   r   r   r    
splitquery  s    
r   c             C   s2   |  j  d  \ } } } | r( | | f S|  d  f S)Nr`   )rO   )rb   r   rv   tagr   r   r    splittag  s    
r   c             C   s'   |  j  d  } | d | d d   f S)Nrf   r   r1   )r   )rb   Zwordsr   r   r    	splitattr  s    r   c             C   s.   |  j  d  \ }  } } |  | r' | n d  f S)Nr   )rP   )attrrv   r   r   r   r    
splitvalue  s    r   r   )Rr   r   collections__all__r   r   rg   Znon_hierarchicalZ
uses_queryZuses_fragmentr   r   r   r!   Z_implicit_encodingZ_implicit_errorsr%   r)   r0   r6   objectr7   r>   r@   rK   rZ   r_   Z_DefragResultBaseZ_SplitResultBaseZ_ParseResultBaseZ
ResultBaser   r   r   r   r   r   re   r   rh   rx   r   r   r   r   r   r   r   r   r   r   r   r   r	   r
   r   	frozensetr   r   r   r   defaultdictr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    <module>   s   		 
	:E"/	,O