L ii UddlmZddlZddlmZmZmZddlmZedZ de d<ejdZ d e d <dd Z dd Z d dd ZddZy)) annotationsN)FinalLiteral TypeAlias)urlparse)httphttpsmailtodatar UrlSchemazt(?Phttps:\/\/?(gist\.)?github.com\/)(?P([\w\.]+\/){1,2})(?P(blob|raw))?(?P(.+)?)r _GITBLOB_REctj|}|r9|j}|ddk(rdjdi|S|ddk(r|S|dzS|S)zCheck url to see if it describes a GitHub Gist "blob" URL. If so, returns a new URL to get the "raw" script. If not, returns URL unchanged. blob_or_rawblobz{base}{account}raw{suffix}rawz/raw)r match groupdictformat)urlrmdicts X/mnt/ssd/data/python-lab/Trading/venv/lib/python3.12/site-packages/streamlit/url_util.pyprocess_gitblob_urlr!sl   c "E !  6 )6/66?? ?  5 (JV| JcBd|vrd|}t|}|jS)z8Return the hostname of a URL (with or without protocol).z://zhttp://)rhostname)rparseds r get_hostnamer:s* Cuo c]F ??rc tt|}|j|vry|jdvrt|jS|jdvrt|j S y#t $rYywxYw)aCheck if a string looks like an URL. This doesn't check if the URL is actually valid or reachable. Parameters ---------- url : str The URL to check. allowed_schemas : Tuple[str] The allowed URL schemas. Default is ("http", "https"). Frr )r r )rstrschemeboolnetlocpath ValueError)rallowed_schemasresults ris_urlr)Esz #c(# == / ==- - & & ==. . $ $ /  s"A-"A-"A-- A98A9cb|jd}|rd|z}|jd}|d|S)zMake a URL from a base URL and a path. Parameters ---------- base_url : str The base URL. path : str The path to append to the base URL. Returns ------- str The resulting URL. /)striplstrip)base_urlr%s r make_url_pathr/ds=~~c"H> ;;s DZq r)rr!returnr!)rr!r0z str | None)r )rr!r'ztuple[UrlSchema, ...]r0r#)r.r!r%r!r0r!) __future__rretypingrrr urllib.parserr __annotations__compiler rrr)r/rrrr7sw# ,,!@A 9A RZZ U2.? * > r