3 ]y# @sbdZddlZdZZeeZdZZeeZdZ ej eZ dZ dZ e e dZZeeZe j eZd Zd ZZd ee d eZd ZdZdZdZdZeeeeedZdjfeZdjde eZZdZ dZ!dje!e dZ"e!e"dZ#de#de#de#de#de#d e#d!e#d"e#d#e#g Z$d$je$Z%d%ee d&Z&d'ed(ed)Z'e%d*e'd+Z(e%d,e'd+Z)d-je(e&Z*d.jee e*Z+Z,d/ee d0eZ-d1Z.ed2ed3ej/d&d4d3d5Z0d6Z1d7e0Z2d8e0Z3d9e2Z4d:e0Z5d;e5e4e3e2e1fZ6ded?e5e4e3e1fZ9d>ed?e5e4e2e1fZ:ej;d@krVdAZd e>e d eZ?e?d2e?d3e?j/d&d4d3dFZ@dGe@ZAdHe@ZBdIeAZCdJe@ZDdKeDeCeBeAe1fZEdLjde e>ZFZGd.jeGe e*ZHZIdMe>e d0eZJdNe>e d=eZKdNe>e e<d=eZLd>ed?eDeCeBe1fZMd>ed?eDeCeAe1fZNdS)Oz5Module for the regular expressions crafted from ABNF.Nz:/?#[]@z !$&'()*+,;=z !$&'()\*+,;=Z4ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 0123456789z._!-zA-Za-z0-9._~\-z%[A-Fa-f0-9]{2}z([z:@]|%s)z[a-zA-Z][a-zA-Z0-9+.-]*z[^/?#]*z[^?#]*z[^#]*z.*)scheme authoritypathqueryfragmentz(?:(?P{scheme}):)?(?://(?P{authority}))?(?P{path})(?:\?(?P{query}))?(?:#(?P{fragment}))?z((?:{0}|[{1}])*)z%[0-9A-Fa-f]{2}z([0-9]{1,3}\.){3}[0-9]{1,3}z[0-9A-Fa-f]{1,4}z({hex}:{hex}|{ipv4}))hexZipv4)rZls32z(%(hex)s:){6}%(ls32)sz::(%(hex)s:){5}%(ls32)sz!(%(hex)s)?::(%(hex)s:){4}%(ls32)sz,((%(hex)s:)?%(hex)s)?::(%(hex)s:){3}%(ls32)sz0((%(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)?::z7(({0})|({1})|({2})|({3})|({4})|({5})|({6})|({7})|({8}))zv[0-9A-Fa-f]+\.[%s]+:z(?:[z]|z)+z (?:(?:%25|%)z)?z(?:%25z \[({0}|{1})\]z ({0}|{1}|{2})z^([z:]|%s)+z [0-9]{1,5}*+)Zsegmentz segment-nzz segment-nz-ncz^$z%(segment-nz)s(/%(segment)s)*z %(segment-nz-nc)s(/%(segment)s)*z/(%s)?z(/%(segment)s)*z^(%s|%s|%s|%s|%s)$z^([/?:@z]|%s)*$z(//%s%s|%s|%s|%s)riu-󰀀-󿿽􀀀-􏿽u -퟿豈-﷏ﷰ-￯𐀀-🿽𠀀-𯿽𰀀-𿿽񀀀-񏿽񐀀-񟿽񠀀-񯿽񰀀-񿿽򀀀-򏿽򐀀-򟿽򠀀-򯿽򰀀-򿿽󀀀-󏿽󐀀-󟿽󡀀-󯿽u-u -퟿豈-﷏ﷰ-￯zA-Za-z0-9\._~\-)Zisegmentz isegment-nzzisegment-nz-ncz%(isegment-nz)s(/%(isegment)s)*z"%(isegment-nz-nc)s(/%(isegment)s)*z/(?:%s)?z(?:/%(isegment)s)*z^(?:%s|%s|%s|%s|%s)$z(?:{0}|[{1}])*z^(?:[z ^(?:[/?:@)O__doc__sysZ GEN_DELIMSZGENERIC_DELIMITERSsetZGENERIC_DELIMITERS_SETZ SUB_DELIMSZSUB_DELIMITERSZSUB_DELIMITERS_SETZSUB_DELIMITERS_REunionZRESERVED_CHARS_SETZALPHADIGITZ UNRESERVEDZUNRESERVED_CHARSZUNRESERVED_CHARS_SETZNON_PCT_ENCODED_SETZ UNRESERVED_REZPERCENT_ENCODEDZ PCT_ENCODEDZPCHAR SCHEME_REZ _AUTHORITY_REZ_PATH_REZ _QUERY_REZ _FRAGMENT_REZCOMPONENT_PATTERN_DICTformatZURL_PARSING_REZREGULAR_NAME_REZREG_NAMEZIPv4_REZ HEXDIG_REZLS32_REZ_subsZ variationsZIPv6_REZ IPv_FUTURE_REZZONE_IDZIPv6_ADDRZ_RFC4007_REZ IPv6_ADDRZ_REZ IP_LITERAL_REZHOST_REZ HOST_PATTERNZ USERINFO_REZPORT_REreplacesegmentsZ PATH_EMPTYZ PATH_ROOTLESSZ PATH_NOSCHEMEZ PATH_ABSOLUTEZ PATH_ABEMPTYZPATH_REZ FRAGMENT_REZQUERY_REZRELATIVE_PART_REZ HIER_PART_RE maxunicodeZIPRIVATEZ UCSCHAR_REZIUNRESERVED_REZIPCHARZ isegmentsZIPATH_ROOTLESSZIPATH_NOSCHEMEZIPATH_ABSOLUTEZ IPATH_ABEMPTYZIPATH_REZIREGULAR_NAME_REZ IREG_NAMEZIHOST_REZ IHOST_PATTERNZ IUSERINFO_REZ IFRAGMENT_REZ IQUERY_REZIRELATIVE_PART_REZ IHIER_PART_RErrG/tmp/pip-build-el9acr48/urllib3/urllib3/packages/rfc3986/abnf_regexp.pys