
     i]                        d Z ddlmZ ddlmZmZ  ed          Z e            Z eddd	          Z edd
          Z	 edddd          Z
 eddd          Z eddd          Z edd          Z ed          Z e            Z ed          Z edd          Z ed          Z ed          Zdedz  dededz  fdZdS )z.Quoting and unquoting utilities for URL parts.    )quote   )_Quoter	_UnquoterF)requotez@:z/+)safe	protectedr   )r   r	   z?/:@z=+&;T)r   r	   qsr   )r   r	   r
   )r   r
   r   )r   r   )r   +)unsafez/%)ignorer   )r
   )plussNr   returnc                     | s| S d|z   D ]-}|| v r'|                      |dt          |          d          } .|                                 r| S d                    d | D                       S )N%02X c              3   `   K   | ])}|                                 r|nt          |          V  *d S )N)isprintabler   ).0cs     U/root/.openclaw/workspace/.venvs/songid/lib/python3.11/site-packages/yarl/_quoters.py	<genexpr>zhuman_quote.<locals>.<genexpr>    s9      AA!511U1XXAAAAAA    )replaceordr   join)r   r   r   s      r   human_quoter      s     6\ / /66		!-Q---..A}} 77AAqAAAAAAr   )__doc__urllib.parser   _quotingr   r   QUOTERREQUOTERPATH_QUOTERPATH_REQUOTERQUERY_QUOTERQUERY_REQUOTERQUERY_PART_QUOTERFRAGMENT_QUOTERFRAGMENT_REQUOTERUNQUOTERPATH_UNQUOTERPATH_SAFE_UNQUOTERQS_UNQUOTERUNQUOTER_PLUSstrr    r   r   <module>r3      s   4 4       ( ( ( ( ( ( ( (				799g44???TT222wFfuMMMf4@@@GD%@@@ 'vu555G((( 9;;	%%%Yd3777 i4   	t$$$B3: Bs BsTz B B B B B Br   