ó
    ‰*£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)z_Provides the PackURI value type.

Also some useful 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 5       r\S	 5       r\S
 5       rSS jr\S 5       rSrg)ÚPackURIé   zpProvides access to pack URI components such as the baseURI and the filename slice.

Behaves as |str| otherwise.
z([a-zA-Z]+)([1-9][0-9]*)?c                ó\   • US   S:w  a  Sn[        X!-  5      e[        R                  X5      $ )Nr   Ú/z'PackURI must begin with slash, got '%s')Ú
ValueErrorÚstrÚ__new__)ÚclsÚpack_uri_strÚtmpls      ÚM/home/mande/repo/quber/.venv/lib/python3.13/site-packages/docx/opc/packuri.pyr   ÚPackURI.__new__   s0   € Ø˜‰?˜cÓ!Ø<ˆDÜ˜TÑ0Ó1Ð1Ü�{‰{˜3Ó-Ð-ó    c                óp   • [         R                  " X5      n[         R                  " U5      n[        U5      $ )zIThe absolute PackURI 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 '/', 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$ )zwThe extension portion of this pack URI, e.g. ``'xml'`` for ``'/word/document.xml'``.

Note the 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.filename4   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­Return partname index as integer for tuple 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, 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
   )r   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      s;   ðñõ
 #ã Û 	ô]%ˆcô ]%ñ@ �c‹l€ÙÐ2Ó3Ñ r   