ó
    ˆ*£hã  ã                  óZ   • S r SSKJr  SSKrSSKr " S S\5      r\" S5      r\" S5      rg)zOProvides the PackURI value type and known pack-URI strings such as PACKAGE_URI.é    )ÚannotationsNc                  óÜ   • \ rS rSrSr\R                  " S5      rSS jr\	SS j5       r
\SS j5       r\SS j5       r\SS j5       r\SS	 j5       r\SS
 j5       rSS jr\SS j5       rSrg)ÚPackURIé	   z~Proxy for a pack URI (partname).

Provides utility properties the baseURI and the filename slice. Behaves as |str| otherwise.
z([a-zA-Z]+)([0-9][0-9]*)?c                ól   • US   S:X  d  [        S[        U5       35      e[        R                  X5      $ )Nr   Ú/z#PackURI must begin with slash, got )Ú
ValueErrorÚreprÚstrÚ__new__)ÚclsÚpack_uri_strs     ÚM/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pptx/opc/packuri.pyr   ÚPackURI.__new__   s6   € Ø˜A‰ #Ó%ÜÐBÄ4ÈÓCUÐBVÐWÓXÐXÜ�{‰{˜3Ó-Ð-ó    c                óp   • [         R                  " X5      n[         R                  " U5      n[        U5      $ )zSConstruct an absolute pack URI formed by translating `relative_ref` onto `baseURI`.)Ú	posixpathÚjoinÚabspathr   )ÚbaseURIÚrelative_refÚ
joined_uriÚabs_uris       r   Úfrom_rel_refÚPackURI.from_rel_ref   s-   € ô —^’^ GÓ:ˆ
Ü×#Ò# JÓ/ˆÜ�wÓÐr   c                ó4   • [         R                  " U 5      S   $ )z¸The base URI of this pack URI; the directory portion, roughly speaking.

E.g. `"/ppt/slides"` for `"/ppt/slides/slide1.xml"`.

For the package pseudo-partname "/", the baseURI is "/".
r   ©r   Úsplit©Úselfs    r   r   ÚPackURI.baseURI   ó   € ô �Š˜tÓ$ QÑ'Ð'r   c                ón   • [         R                  " U 5      S   nUR                  S5      (       a  USS $ U$ )zThe extension portion of this pack URI.

E.g. `"xml"` for `"/ppt/slides/slide1.xml"`. Note the leading period is not included.
é   Ú.N)r   ÚsplitextÚ
startswith)r    Úraw_exts     r   ÚextÚPackURI.ext'   s:   € ô ×$Ò$ TÓ*¨1Ñ-ˆØ%×0Ñ0°×5Ñ5ˆw�q�rˆ{ÐB¸7ÐBr   c                ó4   • [         R                  " U 5      S   $ )z–The "filename" portion of this pack URI.

E.g. `"slide1.xml"` for `"/ppt/slides/slide1.xml"`.

For the package pseudo-partname "/", `filename` is ''.
r$   r   r   s    r   ÚfilenameÚPackURI.filename1   r"   r   c                óü   • U R                   nU(       d  g[        R                  " U5      S   nU R                  R	                  U5      nUc  gUR                  S5      (       a  [        UR                  S5      5      $ g)z¾Optional int partname index.

Value is an integer for an "array" partname or None for singleton partname, e.g. `21` for
`"/ppt/slides/slide21.xml"` and |None| for `"/ppt/presentation.xml"`.
Nr   é   )r,   r   r&   Ú_filename_reÚmatchÚgroupÚint)r    r,   Ú	name_partr1   s       r   ÚidxÚPackURI.idx;   si   € ð —=‘=ˆÞØÜ×&Ò& xÓ0°Ñ3ˆ	Ø×!Ñ!×'Ñ'¨	Ó2ˆØ‰=ØØ�;‰;�q�>‰>Ü�u—{‘{ 1“~Ó&Ð&Ør   c                ó   • U SS $ )zªThe pack URI with the leading slash stripped off.

This is the form used as the Zip file membername for the package item. Returns "" for the
package pseudo-partname "/".
r$   N© r   s    r   Ú
membernameÚPackURI.membernameM   s   € ð �A�Bˆxˆr   c                óD   • US:X  a  U SS $ [         R                  " X5      $ )zËReturn string containing relative reference to package item from `baseURI`.

E.g. PackURI("/ppt/slideLayouts/slideLayout1.xml") would return
"../slideLayouts/slideLayout1.xml" for baseURI "/ppt/slides".
r   r$   N)r   Úrelpath)r    r   s     r   r   ÚPackURI.relative_refV   s&   € ð # c›>ˆt�A�BˆxÐO¬y×/@Ò/@ÀÓ/OÐOr   c                óz   • SU R                   -  n[        R                  " U R                  SU5      n[	        U5      $ )z§The pack URI of the .rels part corresponding to the current pack URI.

Only produces sensible output if the pack URI is a partname or the package pseudo-partname
"/".
z%s.relsÚ_rels)r,   r   r   r   r   )r    Úrels_filenameÚrels_uri_strs      r   Úrels_uriÚPackURI.rels_uri`   s3   € ð " D§M¡MÑ1ˆÜ —~’~ d§l¡l°G¸]ÓKˆÜ�|Ó$Ð$r   r8   N)r   r   )r   r   r   r   Úreturnr   )rD   r   )rD   z
int | None)r   r   rD   r   )rD   r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚreÚcompiler0   r   Ústaticmethodr   Úpropertyr   r)   r,   r5   r9   r   rB   Ú__static_attributes__r8   r   r   r   r   	   s±   † ñð
 —:’:Ð9Ó:€Lô.ð
 ó ó ð ð ó(ó ð(ð óCó ðCð ó(ó ð(ð óó ðð" óó ðôPð ó%ó ó%r   r   r   z/[Content_Types].xml)	rI   Ú
__future__r   r   rJ   r   r   ÚPACKAGE_URIÚCONTENT_TYPES_URIr8   r   r   Ú<module>rR      s7   ðÙ Uå "ã Û 	ô`%ˆcô `%ñF �c‹l€ÙÐ2Ó3Ñ r   