Ë
    õoVj46  ã                   ór  — d dl mZ ddlZddlZddlZddlmZmZ d dlm	Z	 dZ
dZ ej                  d«      Z G d	„ d
e«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Zdedefd„Zdededefd„Zdedefd„Zdedefd„Zdeeef   defd„Zdeeef   dedefd„Zd1dededefd„Zdedefd„Zdedefd „Zdeddfd!„Z ded"edefd#„Z!d1ded"ed$edefd%„Z"deeee#f   ddfd&„Z$dedefd'„Z%deeee#f   defd(„Z&d2d)ed*ed+edefd,„Z'd3deeee#f   d-ed.ed*ed+edefd/„Z(d4deeee#f   d-ed.ed*edef
d0„Z)y)5é   )Úidnadataé    N)ÚUnionÚOptional)Úintranges_containé	   s   xn--u   [.ã€‚ï¼Žï½¡]c                   ó   — e Zd ZdZy)Ú	IDNAErrorz7 Base exception for all IDNA-encoding related problems N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__© ó    ú+/usr/lib/python3/dist-packages/idna/core.pyr
   r
      s   „ ÙAØr   r
   c                   ó   — e Zd ZdZy)ÚIDNABidiErrorz= Exception when bidirectional requirements are not satisfied Nr   r   r   r   r   r      s   „ ÙGØr   r   c                   ó   — e Zd ZdZy)ÚInvalidCodepointz> Exception when a disallowed or unallocated codepoint is used Nr   r   r   r   r   r      s   „ ÙHØr   r   c                   ó   — e Zd ZdZy)ÚInvalidCodepointContextzE Exception when the codepoint is not valid in the context it is used Nr   r   r   r   r   r      s   „ ÙOØr   r   ÚcpÚreturnc                 óž   — t        j                  t        | «      «      }|dk(  r)t        j                  t        | «      «      st	        d«      ‚|S )Nr   z Unknown character in unicodedata)ÚunicodedataÚ	combiningÚchrÚnameÚ
ValueError)r   Úvs     r   Ú_combining_classr"       s@   € Ü×Ñœc "›gÓ&€AØˆA‚vÜ×Ñ¤ B£Ô(ÜÐ?Ó@Ð@Ø€Hr   Úscriptc                 óN   — t        t        | «      t        j                  |   «      S )N)r   Úordr   Úscripts)r   r#   s     r   Ú
_is_scriptr'   '   s   € ÜœS ›W¤h×&6Ñ&6°vÑ&>Ó?Ð?r   Úsc                 ó$   — | j                  d«      S )NÚpunycode)Úencode©r(   s    r   Ú	_punycoder-   *   s   € Ø�8‰8�JÓÐr   c                 ó$   — dj                  | «      S )NzU+{:04X})Úformatr,   s    r   Ú_unotr0   -   s   € Ø×Ñ˜QÓÐr   Úlabelc                 ó"   — t        | «      dkD  ryy)Né?   FT©Úlen©r1   s    r   Úvalid_label_lengthr7   1   s   € Ü
ˆ5ƒz�B‚ØØr   Útrailing_dotc                 ó*   — t        | «      |rdndkD  ryy)Néþ   éý   FTr4   )r1   r8   s     r   Úvalid_string_lengthr<   7   s   € Ü
ˆ5ƒz™L‘S¨cÒ2ØØr   Ú	check_ltrc                 ó¸  — d}t        | d«      D ]J  \  }}t        j                  |«      }|dk(  r$t        dj	                  t        | «      |«      «      ‚|dv sŒId}ŒL |s|syt        j                  | d   «      }|dv rd}n+|d	k(  rd}n#t        d
j	                  t        | «      «      «      ‚d}d }t        | d«      D ]�  \  }}t        j                  |«      }|rG|dvrt        dj	                  |«      «      ‚|dv rd}n|dk7  rd}|dv sŒN|s|}ŒS||k7  sŒYt        d«      ‚|dvrt        dj	                  |«      «      ‚|dv rd}Œ‰|dk7  sŒ�d}Œ’ |st        d«      ‚y)NFr   Ú z1Unknown directionality in label {} at position {})ÚRÚALÚANTr   )r@   rA   ÚLz=First codepoint in label {} must be directionality L, R or AL)
r@   rA   rB   ÚENÚESÚCSÚETÚONÚBNÚNSMzGInvalid direction for codepoint at position {} in a right-to-left label)r@   rA   rD   rB   rJ   )rB   rD   z2Can not mix numeral types in a right-to-left label)rC   rD   rE   rF   rG   rH   rI   rJ   zGInvalid direction for codepoint at position {} in a left-to-right label)rC   rD   z0Label ends with illegal codepoint directionality)Ú	enumerater   Úbidirectionalr   r/   Úrepr)	r1   r=   Ú
bidi_labelÚidxr   Ú	directionÚrtlÚvalid_endingÚnumber_types	            r   Ú
check_bidirT   =   s§  € à€JÜ˜u aÓ(ò ‰	ˆˆbÜ×-Ñ-¨bÓ1ˆ	Ø˜Š?äÐ S× ZÑ ZÔ[_Ð`eÓ[fÐhkÓ lÓmÐmØÐ)Ò)Ø‰Jðñ ™iØô ×)Ñ)¨%°©(Ó3€IØ�KÑØ‰Ø	�cÒ	Ø‰äÐ[×bÑbÔcgÐhmÓcnÓoÓpÐpà€LØ€KÜ˜u aÓ(ò %‰	ˆˆbÜ×-Ñ-¨bÓ1ˆ	áàÐ \Ñ\Ü#Ð$m×$tÑ$tÐuxÓ$yÓzÐzàÐ3Ñ3Ø#‘Ø˜eÒ#Ø$�à˜LÒ(Ù"Ø"+‘Kà" iÓ/Ü+Ð,`ÓaÐað Ð PÑPÜ#Ð$m×$tÑ$tÐuxÓ$yÓzÐzà˜KÑ'Ø#‘Ø˜eÓ#Ø$‘ð7%ñ: ÜÐNÓOÐOàr   c                 óV   — t        j                  | d   «      d   dk(  rt        d«      ‚y)Nr   ÚMz0Label begins with an illegal combining characterT)r   Úcategoryr
   r6   s    r   Úcheck_initial_combinerrX   x   s-   € Ü×Ñ˜E !™HÓ% aÑ(¨CÒ/ÜÐJÓKÐKØr   c                 ó`   — | dd dk(  rt        d«      ‚| d   dk(  s| d   dk(  rt        d«      ‚y	)
Né   é   z--z4Label has disallowed hyphens in 3rd and 4th positionr   ú-éÿÿÿÿz)Label must not start or end with a hyphenT)r
   r6   s    r   Úcheck_hyphen_okr^   ~   sA   € ØˆQˆq€z�TÒÜÐNÓOÐOØˆQ�x�3‚˜% ™) sÒ*ÜÐCÓDÐDØr   c                 óL   — t        j                  d| «      | k7  rt        d«      ‚y )NÚNFCz%Label must be in Normalization Form C)r   Ú	normalizer
   r6   s    r   Ú	check_nfcrb   †   s(   € Ü×Ñ˜U EÓ*¨eÒ3ÜÐ?Ó@Ð@ð 4r   Úposc                 óª  — t        | |   «      }|dk(  �r|dkD  r"t        t        | |dz
     «      «      t        k(  ryd}t        |dz
  dd«      D ]Y  }t        j
                  j                  t        | |   «      «      }|t        d«      k(  rŒ=|t        d«      t        d	«      fv rd} n n |syd}t        |dz   t        | «      «      D ][  }t        j
                  j                  t        | |   «      «      }|t        d«      k(  rŒ=|t        d
«      t        d	«      fv rd} |S  |S  |S |dk(  r(|dkD  r"t        t        | |dz
     «      «      t        k(  ryyy)Ni   r   r   TFr]   ÚTrC   ÚDr@   i   )r%   r"   Ú_virama_combining_classÚranger   Újoining_typesÚgetr5   )r1   rc   Úcp_valueÚokÚiÚjoining_types         r   Úvalid_contextjro   ‹   sl  € Ü�5˜‘:‹€Hà�6Óà�Š7Ü¤ E¨#°©'¡NÓ 3Ó4Ô8OÒOØàˆÜ�s˜1‘u˜b "Ó%ò 	ˆAÜ#×1Ñ1×5Ñ5´c¸%À¹(³mÓDˆLØœs 3›xÒ'ØØ¤# c£(¬C°«HÐ!5Ñ5Ø�Ùáð	ñ ØàˆÜ�s˜1‘uœc %›jÓ)ò 	ˆAÜ#×1Ñ1×5Ñ5´c¸%À¹(³mÓDˆLØœs 3›xÒ'ØØ¤# c£(¬C°«HÐ!5Ñ5Ø�Øð ˆ	ð Øˆ	ð	ð ˆ	à�6Òà�Š7Ü¤ E¨#°©'¡NÓ 3Ó4Ô8OÒOØØð r   Ú	exceptionc                 óŽ  — t        | |   «      }|dk(  rDd|cxk  rt        | «      dz
  k  r,n yt        | |dz
     «      dk(  rt        | |dz      «      dk(  ryy|dk(  r2|t        | «      dz
  k  r t        | «      dkD  rt        | |dz      d«      S y|d	k(  s|d
k(  r|dkD  rt        | |dz
     d«      S y|dk(  r4| D ].  }|dk(  rŒ	t        |d«      st        |d«      st        |d«      sŒ. y yd|cxk  rdk  r#n n | D ]  }dt        |«      cxk  rdk  sŒ y Œ yd|cxk  rdk  r#n y| D ]  }dt        |«      cxk  rdk  sŒ y Œ yy)Né·   r   r   él   TFiu  ÚGreekió  iô  ÚHebrewiû0  u   ãƒ»ÚHiraganaÚKatakanaÚHani`  ii  ið  iù  )r%   r5   r'   )r1   rc   rp   rk   r   s        r   Úvalid_contextory   º   s�  € Ü�5˜‘:‹€Hà�6ÒØˆsÔ!”S˜“Z ‘\Ô!ð ô �5˜˜q™‘>Ó" fÒ,´°U¸3À¹7±^Ó1DÈÒ1NØØà	�VÒ	Ø”�U“˜A‘Ò¤# e£*¨q¢.Ü˜e C¨!¡G™n¨gÓ6Ð6Øà	�VÒ	˜x¨6Ò1Ø�Š7Ü˜e C¨!¡G™n¨hÓ7Ð7Øà	�VÒ	Øò 	ˆBØ�XŠ~ØÜ˜"˜jÔ)¬Z¸¸JÔ-GÌ:ÐVXÐZ_ÕK`Ùð		ð
 à	�(Ô	#˜eÕ	#Øò 	ˆBØœ˜B›Ô) 6Ó)Ùñ *ð	ð à	�(Ô	#˜eÔ	#ð ð ò 	ˆBØœ˜B›Ô) 6Ó)Ùñ *ð	ð àr   c           
      óR  — t        | t        t        f«      r| j                  d«      } t	        | «      dk(  rt        d«      ‚t        | d¬«      st        d«      ‚t        | «       t        | «       t        | «       t        | «      D �]  \  }}t        |«      }t        |t        j                  d   «      rŒ0t        |t        j                  d   «      r>t        | |«      rŒZt!        d	j#                  t%        |«      |d
z   t'        | «      «      «      ‚t        |t        j                  d   «      r>t)        | |«      rŒµt!        dj#                  t%        |«      |d
z   t'        | «      «      «      ‚t+        dj#                  t%        |«      |d
z   t'        | «      «      «      ‚ t-        | «       y )Nzutf-8r   zEmpty LabelT©r8   úLabel too longÚPVALIDÚCONTEXTJz*Joiner {} not allowed at position {} in {}r   ÚCONTEXTOú-Codepoint {} not allowed at position {} in {}z-Codepoint {} at position {} of {} not allowed)Ú
isinstanceÚbytesÚ	bytearrayÚdecoder5   r
   r<   rb   r^   rX   rK   r%   r   r   Úcodepoint_classesro   r   r/   r0   rM   ry   r   rT   )r1   rc   r   rk   s       r   Úcheck_labelr†   ä   s‹  € Ü�%œ%¤Ð+Ô,Ø—‘˜WÓ%ˆÜ
ˆ5ƒz�Q‚Ü˜Ó&Ð&ô ˜u°4Õ8ÜÐ(Ó)Ð)äˆeÔÜ�EÔÜ˜5Ô!ä˜uÓ%ó @‰	ˆˆbÜ�r“7ˆÜ˜X¤x×'AÑ'AÀ(Ñ'KÔLØÜ˜x¬×)CÑ)CÀJÑ)OÔPÜ! %¨Õ-Ü-Ð.Z×.aÑ.aÜ˜(“O S¨¡U¬D°«Kó/9ó :ð :ä˜x¬×)CÑ)CÀJÑ)OÔPÜ! %¨Õ-Ü-Ð.]×.dÑ.dÔejÐksÓetÐvyÐz{Ñv{ô  ~Bð  CHó  ~Ió  /Jó  Kð  Kä"Ð#R×#YÑ#YÔZ_Ð`hÓZiÐknÐopÑkpÔrvÐw|Ór}Ó#~ÓÐð@ô ˆuÕr   c                 ó(  — 	 | j                  d«      }t        |«       t        |«      st        d«      ‚|S # t        $ r Y nw xY w| st        d«      ‚t        | «      } t        | «       t        | «      }t        |z   }t        |«      st        d«      ‚|S )NÚasciir|   zNo Input)	r+   Úulabelr7   r
   ÚUnicodeEncodeErrorÚstrr†   r-   Ú_alabel_prefix©r1   Úlabel_bytess     r   Úalabelr�   
  s˜   € ðØ—l‘l 7Ó+ˆÜˆ{ÔÜ! +Ô.ÜÐ,Ó-Ð-ØÐøÜò Ùðúñ Ü˜
Ó#Ð#ä�‹J€EÜ�ÔÜ˜EÓ"€KÜ  ;Ñ.€Kä˜kÔ*ÜÐ(Ó)Ð)àÐs   ‚36 ¶	AÁAc                 ó  — t        | t        t        f«      s	 | j                  d«      }n| }|j                  «       }|j                  t        «      rA|t        t        «      d  }|st        d«      ‚|j                  d«      d   dk(  r't        d«      ‚t        |«       |j                  d«      S 	 |j                  d«      } t        | «       | S # t        $ r t        | «       | cY S w xY w# t        $ r t        d«      ‚w xY w)Nrˆ   z5Malformed A-label, no Punycode eligible content foundr]   r\   z"A-label must not end with a hyphenr*   zInvalid A-label)r�   r‚   rƒ   r+   rŠ   r†   ÚlowerÚ
startswithrŒ   r5   r
   r„   ÚUnicodeErrorr�   s     r   r‰   r‰   "  s  € Ü�eœe¤YÐ/Ô0ð	ØŸ,™, wÓ/‰Kð
 ˆà×#Ñ#Ó%€KØ×ÑœnÔ-Ø!¤#¤nÓ"5Ð"6Ð7ˆÙÜÐSÓTÐTØ×Ñ˜gÓ& rÑ*¨cÒ1ÜÐ@ÓAÐAä�KÔ Ø×!Ñ! 'Ó*Ð*ð+Ø×"Ñ" :Ó.ˆô �ÔØ€Løô- "ò 	Ü˜ÔØŠLð	ûô& ò +ÜÐ)Ó*Ð*ð+ús   ˜C Â/C) ÃC&Ã%C&Ã)C>ÚdomainÚ
std3_rulesÚtransitionalc                 ó   — ddl m } d}t        | «      D ]•  \  }}t        |«      }	 ||dk  r|nt        j                  ||df«      dz
     }|d   }	d}
t        |«      dk(  r|d   }
|	d	k(  s|	d
k(  r|r	|	dk(  r
|s|
€||z  }n*|
�|	dk(  s|	dk(  r|r|	d
k(  r|r||
z  }n|	dk7  r
t        «       ‚Œ— t        j                  d|«      S # t        $ r2 t        dj                  t        |«      |dz   t        | «      «      «      ‚w xY w)zBRe-map the characters in the string according to UTS46 processing.r   )Ú	uts46datar?   é   ÚZNé   rZ   ÚVrf   Ú3rV   ÚIr€   r`   )r˜   rK   r%   ÚbisectÚbisect_leftr5   Ú
IndexErrorr   r/   r0   rM   r   ra   )r”   r•   r–   r˜   Úoutputrc   ÚcharÚ
code_pointÚuts46rowÚstatusÚreplacements              r   Úuts46_remapr¨   ?  s5  € å$Ø€Fä˜vÓ&ò ;‰	ˆˆTÜ˜“Yˆ
ð	;Ø ¨z¸CÒ/?¡Ü×"Ñ" 9¨z¸3Ð.?Ó@À1ÑDñFˆHà˜a‘[ˆFØˆKÜ�8‹} Ò!Ø& q™k�Ø˜#’Ø˜s’]©<Ø˜s’]©:¸+Ð:MØ˜$‘‘ØÐ(¨f¸ªmØ˜s’]©:Ø˜s’]¡|Ø˜+Ñ%‘Ø˜3’Ü “lÐ"øð%;ô0 × Ñ  ¨Ó/Ð/øô ò 	;Ü"Ø?×FÑFÜ�jÓ! 3¨¡7¬D°«Ló:ó;ð ;ð	;ús   ¦BCÃ;C=ÚstrictÚuts46c                 ó.  — t        | t        «      s	 t        | d«      } |rt	        | ||«      } t        | d¬«      st        d«      ‚d}g }|r| j                  d«      }nt        j                  | «      }|r|dgk(  rt        d	«      ‚|d
   dk(  r|d
= d}|D ]+  }t        |«      } | r|j                  | «       Œ"t        d«      ‚ |r|j                  d«       dj                  |«      } t        | |«      st        d«      ‚| S # t        $ r t        d«      ‚w xY w)Nrˆ   zGshould pass a unicode string to the function rather than a byte string.Tr{   úDomain too longFú.r?   úEmpty domainr]   úEmpty labelr   ó   .)r�   r‹   ÚUnicodeDecodeErrorr
   r¨   r<   ÚsplitÚ_unicode_dots_rer�   ÚappendÚjoin)	r(   r©   rª   r•   r–   r8   ÚresultÚlabelsr1   s	            r   r+   r+   _  s,  € Ü�aœÔð	gÜ�A�w“ˆAñ Ü˜˜: |Ó4ˆô ˜q¨tÕ4ÜÐ)Ó*Ð*à€LØ€FÙØ—‘˜“‰ä!×'Ñ'¨Ó*ˆÙ�V ˜t’^Ü˜Ó'Ð'Øˆb�z�RÒØ�2ˆJØˆØò +ˆÜ�5‹MˆÙØ�M‰M˜!Õä˜MÓ*Ð*ð+ñ Ø�‰�cÔØ�	‰	�&Ó€AÜ˜q ,Ô/ÜÐ)Ó*Ð*Ø€HøôA "ò 	gÜÐeÓfÐfð	gús   ’C? Ã?Dc                 óö  — 	 t        | t        «      st        | d«      } |rt	        | |d«      } t        | d¬«      st        d«      ‚d}g }|st        j                  | «      }n| j                  d«      }|r|dgk(  rt        d	«      ‚|d
   s|d
= d}|D ]+  }t        |«      } | r|j                  | «       Œ"t        d«      ‚ |r|j                  d«       dj                  |«      S # t        $ r t        d«      ‚w xY w)Nrˆ   zInvalid ASCII in A-labelFTr{   r¬   r­   r?   r®   r]   r¯   )r�   r‹   r±   r
   r¨   r<   r³   r²   r‰   r´   rµ   )r(   r©   rª   r•   r8   r¶   r·   r1   s           r   r„   r„   †  s	  € ð4Ü˜!œSÔ!Ü�A�w“ˆAñ Ü˜˜: uÓ-ˆô ˜q¨tÕ4ÜÐ)Ó*Ð*Ø€LØ€FÙÜ!×'Ñ'¨Ó*‰à—‘˜“ˆÙ�V ˜t’^Ü˜Ó'Ð'Ø�"Š:Ø�2ˆJØˆØò +ˆÜ�5‹MˆÙØ�M‰M˜!Õä˜MÓ*Ð*ð+ñ Ø�‰�bÔØ�8‰8�FÓÐøô7 ò 4ÜÐ2Ó3Ð3ð4ús   ‚C# Ã#C8)F)TF)FFFF)FFF)*r?   r   rŸ   r   ÚreÚtypingr   r   Ú	intrangesr   rg   rŒ   Úcompiler³   r“   r
   r   r   r   Úintr"   r‹   Úboolr'   r‚   r-   r0   r7   r<   rT   rX   r^   rb   ro   ry   rƒ   r†   r�   r‰   r¨   r+   r„   r   r   r   ú<module>r¿      s€  ðÝ Û Û Û 	ß "Ý (àÐ Ø€Ø�2—:‘:Ð:Ó;Ð ô	�ô 	ô
	�Iô 	ô
	�yô 	ô
	˜iô 	ð
˜ð  ó ð@�3ð @ ð @¨ó @ð �ð  ˜ó  ð ˆSð  �Só  ð˜e E¨3 JÑ/ð °Dó ð˜u U¨C ZÑ0ð Àð Èó ñ8�cð 8 dð 8°tó 8ðv #ð ¨$ó ð˜3ð  4ó ðA�Sð A˜Tó Að
,˜#ð , Cð ,¨Dó ,ñ^'˜#ð ' Cð '°Dð 'ÀTó 'ðT#�u˜S %¨Ð2Ñ3ð #¸ó #ðL�#ð ˜%ó ð0�%˜˜U IÐ-Ñ.ð °3ó ñ:0˜ð 0¨ð 0ÀDð 0ÐUXó 0ñ@$ˆe�C˜ 	Ð)Ñ*ð $°Dð $Èð $Ðcgð $ð  @Dð $ð  QVó $ñNˆe�C˜ 	Ð)Ñ*ð °Dð Èð Ðcgð Ðtwô r   