"JdzddlZddlZddlZddlZddlmZddlmZde dee fdZ de de fd Z de de fd Z dS) N)Optional)WINDOWSurlreturncjd|vrdS|dddS)N:rr)splitlower)rs K/opt/alt/python311/lib/python3.11/site-packages/pip/_internal/utils/urls.pyget_url_schemer s5 #~~t 99S!  Q  % % ' ''pathctjtj|}tjdtj|}|S)zh Convert a path to a file: URL. The path will be made absolute and have quoted path parts. file:) osrnormpathabspathurllibparseurljoinrequest pathname2url)rrs r path_to_urlrsS 7  BGOOD11 2 2D ,  w(C(CD(I(I J JC Jrc|dsJd|dtj|\}}}}}|r|dkrd}ntrd|z}nt d|tj||z}trK|sIt|dkr6|d d kr*|d tj vr|d d dvr |d d}|S)z( Convert a file: URL to a path. rz1You can only turn file: urls into filenames (not ) localhostz\\z8non-local file URIs are not supported on this platform: r/r)r z:/N) startswithrrurlsplitr ValueErrorr url2pathnamelenstring ascii_letters)r_netlocrs r url_to_pathr,s1 >>  DDC3CCCDDD#L11#66AvtQ   V{**  & Ns N N    > & &v} 5 5D  IINN GsNN Gv+ + + 1I $ $ABBx Kr) rr( urllib.parserurllib.requesttypingrcompatrstrr rr,rr r3s (( (((( cc$S$S$$$$$$r