+
     h  c                  s    R t ^ RIHt ^ RIt^ RIHtHt ^ RIHt ]P                  ! R]P                  4      t]! ]4      tR R ltR R	 ltR
 R ltR R ltR# )z=tldextract helpers for testing and fetching remote resources.)annotationsN)AddressValueErrorIPv6Address)scheme_charszo^(?:(?:[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}(?:[0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$c                    V ^8  d   QhRRRR/#    urlstrreturn Zformat   "6/usr/lib/python3.14/site-packages/tldextract/remote.py__annotate__r      s            c                s   \        V 4      P                  R4      ^ ,          P                  R4      ^ ,          P                  R4      ^ ,          P                  R4      R	,          pV'       d:   V^ ,          R8X  d,   VP                  R4      pV^,          R8X  d   V^ ,           R2# VP                  R4      ^ ,          P                  4       pVP	                  R4      pV# )
zExtract the netloc of a URL-like string.

Similar to the netloc attribute returned by
urllib.parse.{urlparse,urlsplit}, but extract more leniently, without
raising errors.
Z/Z?Z#Z@Z[Z]:u
   .。．｡i)_schemeless_urlZ	partitionZ
rpartitionZstripZrstrip)r   Zafter_userinfoZ
maybe_ipv6ZhostnameZwithout_root_labels   &    r   lenient_netlocr      s     		3		3	 
3	 
C		  .+s2#--c2
a=C m_A&&'',Q/557H!)>?r   c               r   r   r
   r   r   r   r   r   +   s     
+ 
+ 
+ 
+r   c                s    V P                  R 4      pV^ 8X  d
   V R,          # V^8  g;   W^,
          ,          R8w  g'   \        V RV^,
           4      \        ,
          '       d   V # W^,           R # )z//:r   NNr   N)Zfindsetscheme_chars_set)r   Zdouble_slashes_starts   & r   r   r   +   sn    88D>q 2wq a'(C/s-)A-./2BBB
a')**r   c                    V ^8  d   QhRRRR/# r   maybe_ipr   r	   Zboolr
   r   r   r   r   r   8   s     1 1C 1D 1r   c                sn    V ^ ,          P                  4       '       g   R# \        P                  V 4      RJ# )z7Check whether the given str looks like an IPv4 address.FN)ZisdigitIP_REZ	fullmatchr      &r   looks_like_ipr   8   s,    A;  ??8$D00r   c               r   r   r
   r   r   r   r   r   @   s      c d r   c                sB     \        V 4       R#   \         d     R# i ; i)z7Check whether the given str looks like an IPv6 address.FT)r   r   r   r   r   looks_like_ipv6r   @   s(    H   s    )Z__doc__Z
__future__r    ZreZ	ipaddressr   r   Zurllib.parser   ZcompileZASCIIr   r   r   r   r   r   r   r
   r   r   <module>r      sO    C " 	 4 %


>HH	 |$ 2
+1r   