U o aD.@s>ddlmZddlZddlZddlZddlZddlmZdZdZ e dZ ej ddkr`e ZeZGd d d eZGd d d eZGd ddeZGdddeZddZddZddZddZddZddZd7ddZd d!Zd"d#Zd$d%Zd&d'Z d8d(d)Z!d*d+Z"d,d-Z#d.d/Z$d9d1d2Z%d:d3d4Z&d;d5d6Z'dS)<)idnadataN)intranges_contain sxn--u [.。.。]c@seZdZdZdS) IDNAErrorz7 Base exception for all IDNA-encoding related problems N__name__ __module__ __qualname____doc__r r VC:\Users\vtejo\AppData\Local\Temp\pip-unpacked-wheel-6mt8ur68\pip\_vendor\idna\core.pyrsrc@seZdZdZdS) IDNABidiErrorz= Exception when bidirectional requirements are not satisfied Nrr r r rrsrc@seZdZdZdS)InvalidCodepointz> Exception when a disallowed or unallocated codepoint is used Nrr r r rrsrc@seZdZdZdS)InvalidCodepointContextzE Exception when the codepoint is not valid in the context it is used Nrr r r rrsrcCs0tt|}|dkr,tt|s,td|S)Nrz Unknown character in unicodedata) unicodedata combiningunichrname ValueError)cpvr r r_combining_class$s rcCstt|tj|S)N)rordrscripts)rscriptr r r _is_script+srcCs |dS)Npunycode)encodesr r r _punycode.sr"cCs d|S)Nz U+{0:04X})formatr r r r_unot1sr$cCst|dkrdSdS)N?FTlenlabelr r rvalid_label_length5s r*cCst||rdndkrdSdS)NFTr&)r) trailing_dotr r rvalid_string_length<sr.Fc Cs^d}t|dD]:\}}t|}|dkrd}q|dkrd}q|sZtddS)NFrz3Unknown directionality in label {0} at position {1})RALANTr)r0r1Lz>First codepoint in label {0} must be directionality L, R or AL) r0r1r2ENESCSETONBNNSMzHInvalid direction for codepoint at position {0} in a right-to-left label)r0r1r4r2r:)r2r4z2Can not mix numeral types in a right-to-left label)r3r4r5r6r7r8r9r:zHInvalid direction for codepoint at position {0} in a left-to-right label)r3r4z0Label ends with illegal codepoint directionality) enumerater bidirectionalrr#repr) r) check_ltr bidi_labelidxr directionrtl valid_ending number_typer r r check_bidiCsP       rEcCs"t|dddkrtddS)NrMz0Label begins with an illegal combining characterT)rcategoryrr(r r rcheck_initial_combinersrHcCs<|dddkrtd|ddks0|ddkr8tdd S) Nz--z4Label has disallowed hyphens in 3rd and 4th positionr-z)Label must not start or end with a hyphenT)rr(r r rcheck_hyphen_oks rMcCstd||krtddS)NNFCz%Label must be in Normalization Form C)r normalizerr(r r r check_nfcsrPcCs4t||}|dkr|dkr8tt||dtkr8dSd}t|dddD]B}tjt||}|tdkrrqL|tdtd fkrLd}qqL|sdSd}t|dt|D]B}tjt||}|tdkrq|td td fkrd}qq|S|d kr,|dkr(tt||dtkr(dSdSdSdS) Ni rrTFrLTr3Dr0i )rr_virama_combining_classranger joining_typesgetr')r)poscp_valueoki joining_typer r rvalid_contextjs<     r\cCst||}|dkrdd|kr0t|dkr`nn,t||ddkr`t||ddkr`dSdS|dkr|t|dkrt|dkrt||ddSdS|d ks|d kr|dkrt||dd SdS|d kr|D]6}|d krqt|ds t|ds t|drdSqdSd|kr.dkrhnn6|D],}dt|krVdkr6nndSq6dSd|krdkrnn6|D],}dt|krdkrnndSqdSdS)NrrlTFiuGreekiiHebrewi0u・HiraganaKatakanaHani`iiii)rr'r)r)rW exceptionrXrr r rvalid_contextos>  ( "    rec CsLt|ttfr|d}t|dkr,tdt|t|t|t |D]\}}t |}t |t j drpqLqLt |t j drz,t||stdt||dt|Wn2tk rtdt||dt|YnXqLt |t j d r t||s>td t||dt|qLtd t||dt|qLt|dS) Nzutf-8rz Empty LabelPVALIDCONTEXTJz-Joiner {0} not allowed at position {1} in {2}rz?Unknown codepoint adjacent to joiner {0} at position {1} in {2}CONTEXTO0Codepoint {0} not allowed at position {1} in {2}z0Codepoint {0} at position {1} of {2} not allowed) isinstancebytes bytearraydecoder'rrPrMrHr;rrrcodepoint_classesr\rr#r$r=rrerrE)r)rWrrXr r r check_labels<       rocCs~z(|d}t|t|s$td|WStk r<YnX|sJtdt|}t|t|}t|}t|sztd|S)NasciizLabel too longzNo Input) rulabelr*rUnicodeEncodeErrorunicoderor"_alabel_prefixr(r r ralabel s" rucCst|ttfs>z|d}Wn tk r<t||YSX|}|tr||t td}| dddkrt dnt|| dS| d}t||S)NrprLrKz"A-label must not end with a hyphenr) rjrkrlrrrrolower startswithrtr'rmrr(r r rrq#s      rqTc Cs(ddlm}d}zt|D]\}}t|}||dkr8|nt||dfd}|d} t|dkrj|dnd} | d ks| d kr|r| d kr|s| dkr||7}q| dk r| d ks| d kr|r| d kr|r|| 7}q| d krtqtd|WStk r"t d t ||dt |YnXdS)zBRe-map the characters in the string according to UTS46 processing.r) uts46datar/ZrrINVrR3rFIrNri) rxr;rbisect bisect_leftr' IndexErrorrrOrr#r$r=) domain std3_rules transitionalrxoutputrWchar code_pointuts46rowstatus replacementr r r uts46_remap:sV   rc Cst|ttfr|d}|r(t|||}d}g}|r@|d}n t|}|rX|dgkr`td|ddkrv|d=d}|D]$}t|}|r| |qztdqz|r| d d |}t ||std |S) NrpF.r/ Empty domainrLT Empty label.zDomain too long) rjrkrlrmrsplit_unicode_dots_rerruappendjoinr.) r!strictuts46rrr-resultlabelsr)r r rrVs2          rcCst|ttfr|d}|r(t||d}d}g}|s@t|}n |d}|rX|dgkr`td|dsr|d=d}|D]$}t|}|r| |qvtdqv|r| dd |S) NrpFrr/rrLTr) rjrkrlrmrrrrrqrr)r!rrrr-rrr)r r rrmus,       rm)F)F)TF)FFFF)FFF)(r/rr~rresys intrangesrrSrtcompiler version_infostrrschrr UnicodeErrorrrrrrrr"r$r*r.rErHrMrPr\rerorurqrrrmr r r rsB    < , )