ó
    ˆ*£h*  ã                  óŠ  • S r SSKJr  SSKJrJrJr  SSKJr  SSK	J
r  SSK	Jr  SSKJr  SSKJr  SS	KJrJrJr  SS
KJr  SSKJr  SSKJr  SSKJrJrJrJ r J!r!  SSK"J#r#  \(       a  SSK$J%r%  SSK&J'r'  SSK(J)r)  SSK*J+r+J,r,   " S S\5      r- " S S\-5      r. " S S\-5      r/ " S S\-5      r0 " S S\-5      r1 " S S\-5      r2g) zSlide and related objects.é    )Úannotations)ÚIOÚTYPE_CHECKINGÚcast)ÚPROG_ID)ÚCONTENT_TYPE)ÚRELATIONSHIP_TYPE)ÚXmlPart)ÚPackURI)ÚCT_NotesMasterÚCT_NotesSlideÚCT_Slide)ÚCT_OfficeStyleSheet)Ú	ChartPart)ÚEmbeddedPackagePart)ÚNotesMasterÚ
NotesSlideÚSlideÚSlideLayoutÚSlideMaster)Úlazyproperty)Ú	ChartData)ÚXL_CHART_TYPE)ÚVideo)ÚImageÚ	ImagePartc                  óL   • \ rS rSr% SrS\S'   S
S jrSS jr\SS j5       r	Sr
g	)ÚBaseSlideParté   z–Base class for slide parts.

This includes slide, slide-layout, and slide-master parts, but also notes-slide,
notes-master, and handout-master parts.
r   Ú_elementc                óL   • [        SU R                  U5      5      R                  $ )z»Return an |Image| object containing the image related to this slide by *rId*.

Raises |KeyError| if no image is related by that id, which would generally indicate a
corrupted .pptx file.
r   )r   Úrelated_partÚimage©ÚselfÚrIds     ÚM/home/mande/repo/quber/.venv/lib/python3.13/site-packages/pptx/parts/slide.pyÚ	get_imageÚBaseSlidePart.get_image#   s"   € ô �K ×!2Ñ!2°3Ó!7Ó8×>Ñ>Ð>ó    c                ó~   • U R                   R                  U5      nU R                  U[        R                  5      nX#4$ )a   Return `(image_part, rId)` pair corresponding to `image_file`.

The returned |ImagePart| object contains the image in `image_file` and is
related to this slide with the key `rId`. If either the image part or
relationship already exists, they are reused, otherwise they are newly created.
)Ú_packageÚget_or_add_image_partÚ	relate_toÚRTÚIMAGE)r%   Ú
image_fileÚ
image_partr&   s       r'   r-   Ú#BaseSlidePart.get_or_add_image_part+   s4   € ð —]‘]×8Ñ8¸ÓDˆ
Ø�n‰n˜Z¬¯©Ó2ˆØˆÐr*   c                óB   • U R                   R                  R                  $ )zInternal name of this slide.)r    ÚcSldÚname©r%   s    r'   r6   ÚBaseSlidePart.name6   s   € ð �}‰}×!Ñ!×&Ñ&Ð&r*   © N)r&   ÚstrÚreturnr   )r1   ústr | IO[bytes])r;   r:   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotations__r(   r-   Úpropertyr6   Ú__static_attributes__r9   r*   r'   r   r      s-   ‡ ñð Óô?ô	ð ó'ó ó'r*   r   c                  óX   • \ rS rSrSr\S 5       r\S 5       r\S 5       r	\S 5       r
Srg)	ÚNotesMasterParté<   zUNotes master part.

Corresponds to package file `ppt/notesMasters/notesMaster1.xml`.
c                óŠ   • U R                  U5      nU R                  U5      nUR                  U[        R                  5        U$ )z^
Create and return a default notes master part, including creating the
new theme it requires.
)Ú_newÚ_new_theme_partr.   r/   ÚTHEME)ÚclsÚpackageÚnotes_master_partÚ
theme_parts       r'   Úcreate_defaultÚNotesMasterPart.create_defaultB   s=   € ð  ŸH™H WÓ-ÐØ×(Ñ(¨Ó1ˆ
Ø×#Ñ# J´·±Ô9Ø Ð r*   c                ó.   • [        U R                  U 5      $ )zF
Return the |NotesMaster| object that proxies this notes master part.
)r   r    r7   s    r'   Únotes_masterÚNotesMasterPart.notes_masterM   ó   € ô
 ˜4Ÿ=™=¨$Ó/Ð/r*   c                ór   • [        [        S5      [        R                  U[        R
                  " 5       5      $ )z†
Create and return a standalone, default notes master part based on
the built-in template (without any related parts, such as theme).
z"/ppt/notesMasters/notesMaster1.xml)rF   r   ÚCTÚPML_NOTES_MASTERr   Únew_default©rL   rM   s     r'   rI   ÚNotesMasterPart._newT   s2   € ô ÜÐ8Ó9Ü×ÑØÜ×&Ò&Ó(ó	
ð 	
r*   c                ó~   • [        UR                  S5      [        R                  U[        R
                  " 5       5      $ )zCReturn new default theme-part suitable for use with a notes master.z/ppt/theme/theme%d.xml)r
   Únext_partnamerW   Ú	OFC_THEMEr   rY   rZ   s     r'   rJ   ÚNotesMasterPart._new_theme_parta   s6   € ô Ø×!Ñ!Ð":Ó;Ü�L‰LØÜ×+Ò+Ó-ó	
ð 	
r*   r9   N)r=   r>   r?   r@   rA   ÚclassmethodrP   r   rS   rI   rJ   rD   r9   r*   r'   rF   rF   <   sW   † ñð
 ñ!ó ð!ð ñ0ó ð0ð ñ

ó ð

ð ñ
ó ó
r*   rF   c                  óX   • \ rS rSrSr\S 5       r\S 5       r\S 5       r	\S 5       r
Srg)	ÚNotesSlidePartél   z¨Notes slide part.

Contains the slide notes content and the layout for the slide handout page.
Corresponds to package file `ppt/notesSlides/notesSlide[1-9][0-9]*.xml`.
c                ó¤   • UR                   R                  nU R                  XU5      nUR                  nUR	                  UR
                  5        U$ )a  Return new |NotesSlidePart| for the slide in `slide_part`.

The new notes-slide part is based on the (singleton) notes master and related to
both the notes-master part and `slide_part`. If no notes-master is present,
one is created based on the default template.
)Úpresentation_partrN   Ú_add_notes_slide_partÚnotes_slideÚclone_master_placeholdersrS   )rL   rM   Ú
slide_partrN   Únotes_slide_partrg   s         r'   ÚnewÚNotesSlidePart.news   sP   € ð $×5Ñ5×GÑGÐØ×4Ñ4°WÐJ[Ó\ÐØ&×2Ñ2ˆØ×-Ñ-Ð.?×.LÑ.LÔMØÐr*   c                óX   • U R                  [        R                  5      nUR                  $ )z?Return the |NotesMaster| object this notes slide inherits from.)Úpart_related_byr/   ÚNOTES_MASTERrS   )r%   rN   s     r'   rS   ÚNotesSlidePart.notes_master�   ó%   € ð !×0Ñ0´·±ÓAÐØ ×-Ñ-Ð-r*   c                ó.   • [        U R                  U 5      $ )zBReturn the |NotesSlide| object that proxies this notes slide part.)r   r    r7   s    r'   rg   ÚNotesSlidePart.notes_slide‡   s   € ô ˜$Ÿ-™-¨Ó.Ð.r*   c                ó  • [        UR                  S5      [        R                  U[        R
                  " 5       5      nUR                  U[        R                  5        UR                  U[        R                  5        U$ )z†Create and return a new notes-slide part.

The return part is fully related, but has no shape content (i.e. placeholders
not cloned).
z!/ppt/notesSlides/notesSlide%d.xml)
rb   r]   rW   ÚPML_NOTES_SLIDEr   rk   r.   r/   ro   ÚSLIDE)rL   rM   ri   rN   rj   s        r'   rf   Ú$NotesSlidePart._add_notes_slide_partŒ   sg   € ô *Ø×!Ñ!Ð"EÓFÜ×ÑØÜ×ÒÓó	
Ðð 	×"Ñ"Ð#4´b·o±oÔFØ×"Ñ" :¬r¯x©xÔ8ØÐr*   r9   N)r=   r>   r?   r@   rA   r`   rk   r   rS   rg   rf   rD   r9   r*   r'   rb   rb   l   sW   † ñð ñ ó ð ð ñ.ó ð.ð
 ñ/ó ð/ð ñ ó ó r*   rb   c                  ó°   • \ rS rSrSr\S 5       rSS jr    SS jrSS jr	\
S 5       r\SS j5       r\S	 5       r\
SS
 j5       r\
SS j5       rS rSrg)Ú	SlidePartéž   zISlide part. Corresponds to package files ppt/slides/slide[1-9][0-9]*.xml.c                óž   • U " U[         R                  U[        R                  " 5       5      nUR	                  U[
        R                  5        U$ )zuReturn newly-created blank slide part.

The new slide-part has `partname` and a relationship to `slide_layout_part`.
)rW   Ú	PML_SLIDEr   rk   r.   r/   ÚSLIDE_LAYOUT)rL   ÚpartnamerM   Úslide_layout_partri   s        r'   rk   ÚSlidePart.new¡   s9   € ñ ˜¤2§<¡<°¼(¿,º,».ÓIˆ
Ø×ÑÐ.´·±Ô@ØÐr*   c                ó€   • U R                  [        R                  " XU R                  5      [        R
                  5      $ )z¨Return str rId of new |ChartPart| object containing chart of `chart_type`.

The chart depicts `chart_data` and is related to the slide contained in this
part by `rId`.
)r.   r   rk   r,   r/   ÚCHART)r%   Ú
chart_typeÚ
chart_datas      r'   Úadd_chart_partÚSlidePart.add_chart_part«   s+   € ð �~‰~œiŸmšm¨JÀDÇMÁMÓRÔTV×T\ÑT\Ó]Ð]r*   c                óì   • [        U[        5      (       a  [        R                  O[        R                  nU R                  [        R                  " XR                  U5      U R                  5      U5      $ )zHReturn rId of newly-added OLE-object part formed from `ole_object_file`.)
Ú
isinstancer   r/   ÚPACKAGEÚ
OLE_OBJECTr.   r   ÚfactoryÚ_blob_from_filer,   )r%   Úprog_idÚole_object_fileÚrelationship_types       r'   Úadd_embedded_ole_object_partÚ&SlidePart.add_embedded_ole_object_part³   sX   € ô +5°W¼g×*FÑ*FœBŸJšJÌBÏMÉMÐØ�~‰~Ü×'Ò'Ø×-Ñ-¨oÓ>ÀÇÁóð ó	
ð 	
r*   c                ó¾   • U R                   R                  U5      nU R                  U[        R                  5      nU R                  U[        R
                  5      nX44$ )a®  Return rIds for media and video relationships to media part.

A new |MediaPart| object is created if it does not already exist
(such as would occur if the same video appeared more than once in
 a presentation). Two relationships to the media part are created,
one each with MEDIA and VIDEO relationship types. The need for two
appears to be for legacy support for an earlier (pre-Office 2010)
PowerPoint media embedding strategy.
)r,   Úget_or_add_media_partr.   r/   ÚMEDIAÚVIDEO)r%   ÚvideoÚ
media_partÚ	media_rIdÚ	video_rIds        r'   Úget_or_add_video_media_partÚ%SlidePart.get_or_add_video_media_part¿   sI   € ð —]‘]×8Ñ8¸Ó?ˆ
Ø—N‘N :¬r¯x©xÓ8ˆ	Ø—N‘N :¬r¯x©xÓ8ˆ	ØÐ#Ð#r*   c                ód   •  U R                  [        R                  5        g! [         a     gf = f)zò
Return True if this slide has a notes slide, False otherwise. A notes
slide is created by the :attr:`notes_slide` property when one doesn't
exist; use this property to test for a notes slide without the
possible side-effect of creating one.
FT)rn   r/   ÚNOTES_SLIDEÚKeyErrorr7   s    r'   Úhas_notes_slideÚSlidePart.has_notes_slideÎ   s2   € ð	Ø× Ñ ¤§¡Ô0ð øô ó 	Ùð	ús   ‚" ¢
/®/c                ó°   •  U R                  [        R                  5      nUR
                  $ ! [         a    U R	                  5       n UR
                  $ f = f)zªThe |NotesSlide| instance associated with this slide.

If the slide does not have a notes slide, a new one is created. The same single instance
is returned on each call.
)rn   r/   r�   rž   rf   rg   ©r%   rj   s     r'   rg   ÚSlidePart.notes_slideÜ   sV   € ð	<Ø#×3Ñ3´B·N±NÓCÐð  ×+Ñ+Ð+øô ó 	<Ø#×9Ñ9Ó;ÑØ×+Ñ+Ð+ð	<ús   ‚- ­AÁAc                ó.   • [        U R                  U 5      $ )z2
The |Slide| object representing this slide part.
)r   r    r7   s    r'   ÚslideÚSlidePart.slideé   s   € ô
 �T—]‘] DÓ)Ð)r*   c                óP   • U R                   R                  nUR                  U 5      $ )zPReturn the slide identifier stored in the presentation part for this slide part.)rM   re   Úslide_id)r%   re   s     r'   r¨   ÚSlidePart.slide_idð   s%   € ð !ŸL™L×:Ñ:ÐØ ×)Ñ)¨$Ó/Ð/r*   c                óX   • U R                  [        R                  5      nUR                  $ )zE|SlideLayout| object the slide in this part inherits appearance from.)rn   r/   r}   Úslide_layout)r%   r   s     r'   r«   ÚSlidePart.slide_layoutö   rq   r*   c                ó†   • [         R                  U R                  U 5      nU R                  U[        R
                  5        U$ )z£
Return a newly created |NotesSlidePart| object related to this slide
part. Caller is responsible for ensuring this slide doesn't already
have a notes slide part.
)rb   rk   rM   r.   r/   r�   r¢   s     r'   rf   ÚSlidePart._add_notes_slide_partü   s4   € ô *×-Ñ-¨d¯l©l¸DÓAÐØ�‰Ð'¬¯©Ô8ØÐr*   r9   N)rƒ   r   r„   r   )r�   zPROG_ID | strrŽ   r<   )r–   r   r;   ztuple[str, str])r;   r   )r;   Úint)r;   r   )r=   r>   r?   r@   rA   r`   rk   r…   r�   rš   rC   rŸ   r   rg   r¥   r¨   r«   rf   rD   r9   r*   r'   ry   ry   ž   s    † ÙSàñó ðô^ð

Ø$ð

Ø7Fô

ô$ð ñó ðð ó
,ó ð
,ð ñ*ó ð*ð ó0ó ð0ð
 ó.ó ð.õ
 r*   ry   c                  ó<   • \ rS rSrSr\S 5       r\SS j5       rSr	g)ÚSlideLayoutParti  zbSlide layout part.

Corresponds to package files ``ppt/slideLayouts/slideLayout[1-9][0-9]*.xml``.
c                ó.   • [        U R                  U 5      $ )z2
The |SlideLayout| object representing this part.
)r   r    r7   s    r'   r«   ÚSlideLayoutPart.slide_layout  rU   r*   c                óT   • U R                  [        R                  5      R                  $ )z>Slide master from which this slide layout inherits properties.)rn   r/   ÚSLIDE_MASTERÚslide_masterr7   s    r'   r¶   ÚSlideLayoutPart.slide_master  s   € ð ×#Ñ#¤B§O¡OÓ4×AÑAÐAr*   r9   N)r;   r   )
r=   r>   r?   r@   rA   r   r«   rC   r¶   rD   r9   r*   r'   r±   r±     s1   † ñð
 ñ0ó ð0ð óBó óBr*   r±   c                  ó2   • \ rS rSrSrSS jr\S 5       rSrg)ÚSlideMasterParti  z^Slide master part.

Corresponds to package files ppt/slideMasters/slideMaster[1-9][0-9]*.xml.
c                ó8   • U R                  U5      R                  $ )z?Return |SlideLayout| related to this slide-master by key `rId`.)r"   r«   r$   s     r'   Úrelated_slide_layoutÚ$SlideMasterPart.related_slide_layout   s   € à× Ñ  Ó%×2Ñ2Ð2r*   c                ó.   • [        U R                  U 5      $ )z2
The |SlideMaster| object representing this part.
)r   r    r7   s    r'   r¶   ÚSlideMasterPart.slide_master$  rU   r*   r9   N)r&   r:   r;   r   )	r=   r>   r?   r@   rA   r»   r   r¶   rD   r9   r*   r'   r¹   r¹     s    † ñô
3ð ñ0ó ó0r*   r¹   N)3rA   Ú
__future__r   Útypingr   r   r   Úpptx.enum.shapesr   Úpptx.opc.constantsr   rW   r	   r/   Úpptx.opc.packager
   Úpptx.opc.packurir   Úpptx.oxml.slider   r   r   Úpptx.oxml.themer   Úpptx.parts.chartr   Úpptx.parts.embeddedpackager   Ú
pptx.slider   r   r   r   r   Ú	pptx.utilr   Úpptx.chart.datar   Úpptx.enum.chartr   Ú
pptx.mediar   Úpptx.parts.imager   r   r   rF   rb   ry   r±   r¹   r9   r*   r'   Ú<module>rÏ      s—   ðÙ  å "ç *Ñ *å $Ý 1Ý 6Ý $Ý $ß CÑ CÝ /Ý &Ý :ß OÕ OÝ "æÝ)Ý-Ý ß1ô'�Gô 'ôD-
�mô -
ô`/ �]ô / ôdf �ô f ôRB�mô Bô&0�mõ 0r*   