�
L�g/ � �� � d Z ddlmZ ddlZddlmZ ddlmZ ddlmZm Z ddl
mZ ed � � � Zed
� � � Z
defd�Zed
d
ddd
dd
d
d�dededededededee dedefd�� � ZdS )z Hostname.� )� lru_cacheN)�Optional� )�domain)�ipv4�ipv6)� validatorc �* � t j d� � S )zPort validation regex.zZ^\:(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{0,3})$)�re�compile� � �c/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/validators/hostname.py�_port_regexr s � � �:� <�� � r c �@ � t j dt j � � S )z!Simple hostname validation regex.z1^(?!-)[a-z0-9](?:[a-z0-9-]{0,59}[a-z0-9])?(?<!-)$)r r �
IGNORECASEr
r r �_simple_hostname_regexr s � �
�:�J�B�M�Z�Z�Zr �valuec � � | � d� � dk re| � dd� � \ }}t � � � d|� �� � r(|� d� � � d� � S | � d� � dk r?| � dd� � \ }}t � � � d|� �� � r|S dS )z&Returns host segment if port is valid.z]:r �:�[�]N)�count�rsplitr �match�lstrip�rstrip)r �host_seg�port_segs r �_port_validatorr s� � ��{�{�4���A���"�\�\�#�q�1�1���(��=�=���~�8�~�~�.�.� 4��?�?�3�'�'�.�.�s�3�3�3��{�{�3���1���"�\�\�#�q�1�1���(��=�=���~�8�~�~�.�.� ��O��4r FT)�skip_ipv6_addr�skip_ipv4_addr�
may_have_port�maybe_simple�consider_tld�private�rfc_1034�rfc_2782r! r"