R`i7 d dl mZ d dlZd dlmZ ddlmZ ddlmZ g dZ dZ ej d Z ej d Z ej dej ej z ZdZd Zdj' ee ZeedZg dZdZddj1 eD cg c] } | ez c} z dz Zdez dz Zdez dz ez dz ZdZ ej d Z ej dez dz Z ej dez dz Z ej dez dz Z ej dedd z dz Z! ej dez d z Z"d!ededed"Z# ej e#ej ej z Z$ e%d# Z& e%d$ Z'e&e'z d%hz Z(e(d&d'hz Z)e)d(hz xZ*Z+ G d) d* ed*e Z,d+ Z-d3d,Z.d- Z/d. Z0d/ Z1d0 Z2d1 Z3d2 Z4yc c} w )4 )absolute_importN) namedtuple )LocationParseError)sixschemeauthhostportpathqueryfragment)httphttpsNz%[a-fA-F0-9]{2}z^(?:[a-zA-Z][a-zA-Z0-9+-]*:|/)zS^(?:([a-zA-Z][a-zA-Z0-9+.-]*):)?(?://([^\\/?#]*))?([^?#]*)(?:\?([^#]*))?(?:#(.*))?$z(?:[0-9]{1,3}\.){3}[0-9]{1,3}z[0-9A-Fa-f]{1,4}z(?:{hex}:{hex}|{ipv4}))hexipv4)r ls32) z(?:%(hex)s:){6}%(ls32)sz::(?:%(hex)s:){5}%(ls32)sz%(?:%(hex)s)?::(?:%(hex)s:){4}%(ls32)sz2(?:(?:%(hex)s:)?%(hex)s)?::(?:%(hex)s:){3}%(ls32)sz6(?:(?:%(hex)s:){0,2}%(hex)s)?::(?:%(hex)s:){2}%(ls32)sz/(?:(?:%(hex)s:){0,3}%(hex)s)?::%(hex)s:%(ls32)sz'(?:(?:%(hex)s:){0,4}%(hex)s)?::%(ls32)sz&(?:(?:%(hex)s:){0,5}%(hex)s)?::%(hex)sz(?:(?:%(hex)s:){0,6}%(hex)s)?::zCABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._\-~z(?:|)z (?:%25|%)(?:[z]|%[a-fA-F0-9]{2})+z\[z)?\]z!(?:[^\[\]%:/?#]|%[a-fA-F0-9]{2})*z!^(/[^?#]*)(?:\?([^#]*))?(?:#.*)?$^$(z)\]$z^(z)(?::0*?(|0|[1-9][0-9]{0,4}))?$zBABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789._-~z!$&'()*+,;=:@/?c | e Zd ZdZdZ d fd Zed Zed Zed Z ed Z d Z xZS ) Urlz Data structure for representing an HTTP URL. Used as a return value for :func:`parse_url`. Both the scheme and host are normalized as they are both case-insensitive according to RFC 3986. c |r|j d sd|z }||j }t t | | ||||||| S )Nr ) startswithlowersuperr __new__) clsr r r r r r r __class__s /builddir/build/BUILDROOT/alt-python312-pip-23.3.1-3.el8.x86_64/opt/alt/python312/lib/python3.12/site-packages/pip/_vendor/urllib3/util/url.pyr&