
    hu                     $   S SK r S SKrS SKrS SK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  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  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)  SSK*J+r+   " S S5      r,g)    N)BytesIOStringIO)copy   )App)Comments)ContentTypes)Core)Custom)EmptyChartSeries)FeaturePropertyBag)Metadata)Relationships)	RichValue)RichValueRel)RichValueStructure)RichValueTypes)SharedStrings)Styles)Table)Theme)Vmlc                     ^  \ rS rSrSrU 4S jrS rS rS rS r	S r
S	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS rS r S r!S  r"S! r#S" r$S# r%S$ r&S% r'S& r(S' r)S( r*S) r+S* r,S+r-U =r.$ ),Packager&   a  
A class for writing the Excel XLSX Packager file.

This module is used in conjunction with XlsxWriter to create an
Excel XLSX container file.

From Wikipedia: The Open Packaging Conventions (OPC) is a
container-file technology initially created by Microsoft to store
a combination of XML and non-XML files that together form a single
entity such as an Open XML Paper Specification (OpenXPS)
document. http://en.wikipedia.org/wiki/Open_Packaging_Conventions.

At its simplest an Excel XLSX file contains the following elements::

     ____ [Content_Types].xml
    |
    |____ docProps
    | |____ app.xml
    | |____ core.xml
    |
    |____ xl
    | |____ workbook.xml
    | |____ worksheets
    | | |____ sheet1.xml
    | |
    | |____ styles.xml
    | |
    | |____ theme
    | | |____ theme1.xml
    | |
    | |_____rels
    |   |____ workbook.xml.rels
    |
    |_____rels
      |____ .rels

The Packager class coordinates the classes that represent the
elements of the package and writes them into the XLSX file.

c                    > [         TU ]  5         SU l        SU l        SU l        SU l        SU l        SU l        SU l        SU l	        SU l
        SU l        / U l        / U l        g)z
Constructor.

 FNr   )super__init__tmpdir	in_memoryworkbookworksheet_countchartsheet_countchart_countdrawing_counttable_countnum_vml_filesnum_comment_filesnamed_ranges	filenames)self	__class__s    fC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\xlsxwriter/packager.pyr   Packager.__init__V   sl     	  !!"    c                     Xl         g N)r    )r,   r    s     r.   _set_tmpdirPackager._set_tmpdirq   s    r0   c                     Xl         g r2   )r!   )r,   r!   s     r.   _set_in_memoryPackager._set_in_memoryu   s    "r0   c                    Xl         [        UR                  5      U l        [        UR                  5      U l        UR                  U l        UR                  U l        UR                  U l        U R                   R                  5        H@  nUR                  (       a  U =R                  S-  sl        M+  U =R                  S-  sl        MB     g Nr   )r"   lenchartsr%   drawingsr&   r(   r)   r*   
worksheetsis_chartsheetr$   r#   )r,   r"   	worksheets      r.   _add_workbookPackager._add_workbooky   s     x/ !2!23%33!)!;!;$11113I&&%%*%$$)$	 4r0   c                    U R                  5         U R                  5         U R                  5         U R                  5         U R	                  5         U R                  5         U R                  5         U R                  5         U R                  5         U R                  5         U R                  5         U R                  5         U R                  5         U R                  5         U R                  5         U R                  5         U R!                  5         U R#                  5         U R%                  5         U R'                  5         U R)                  5         U R+                  5         U R-                  5         U R/                  5         U R1                  5         U R3                  5         U R5                  5         U R7                  5         U R8                  $ r2   )_write_content_types_file_write_root_rels_file_write_workbook_rels_file_write_worksheet_files_write_chartsheet_files_write_workbook_file_write_chart_files_write_drawing_files_write_vml_files_write_comment_files_write_table_files_write_shared_strings_file_write_styles_file_write_custom_file_write_theme_file_write_worksheet_rels_files_write_chartsheet_rels_files_write_drawing_rels_files_write_rich_value_rels_files_add_image_files_add_vba_project_add_vba_project_signature_write_vba_project_rels_file_write_core_file_write_app_file_write_metadata_file_write_feature_bag_property_write_rich_value_filesr+   r,   s    r.   _create_packagePackager._create_package   s\   &&(""$&&(##%$$&!!#!!!#!!#!'')!! ((*))+&&())+'')))+!!#((*$$&~~r0   c                     U R                   (       a  [        5       nO6[        R                  " U R                  S9u  p2[
        R                  " U5        U R                  R                  X!S45        U$ )N)dirF)	r!   r   tempfilemkstempr    oscloser+   append)r,   xml_filenameos_filenamefds       r.   	_filenamePackager._filename   sQ     >>"*K ( 0 0T[[ ARHHRL{%@Ar0   c                 |    U R                   nUR                  U R                  S5      5        UR                  5         g )Nxl/workbook.xml)r"   _set_xml_writerrl   _assemble_xml_file)r,   r"   s     r.   rH   Packager._write_workbook_file   s/    ==  0A!BC##%r0   c           	      Z   SnU R                   R                  5        H  nUR                  (       a  M  UR                  (       a   UR	                  5         UR                  5         UR                  U R                  S[        U5      -   S-   5      5        UR                  5         US-  nM     g )Nr   zxl/worksheets/sheet.xml)
r"   r=   r>   constant_memory_opt_reopen_write_single_rowrp   rl   strrq   r,   indexr?   s      r.   rF   Packager._write_worksheet_files   s    113I&&((%%'++-%%4s5zAFJK ((*QJE 4r0   c           	          SnU R                   R                  5        HZ  nUR                  (       d  M  UR                  U R	                  S[        U5      -   S-   5      5        UR                  5         US-  nM\     g )Nr   zxl/chartsheets/sheetrt   )r"   r=   r>   rp   rl   rx   rq   ry   s      r.   rG    Packager._write_chartsheet_files   sj    113I**%%5E
BVKL ((*QJE 4r0   c           	      B   U R                   R                  (       d  g SnU R                   R                   Hg  nUR                  (       d  [        SU S35      eUR	                  U R                  S[        U5      -   S-   5      5        UR                  5         US-  nMi     g )Nr   Chartz? must contain at least one data series. See chart.add_series().zxl/charts/chartrt   )r"   r;   seriesr   rp   rl   rx   rq   )r,   rz   charts      r.   rI   Packager._write_chart_files   s    }}##]]))E<<&E7 #; < 
 !!03u:=FG $$&QJE *r0   c           	          U R                   (       d  g SnU R                  R                   HG  nUR                  U R	                  S[        U5      -   S-   5      5        UR                  5         US-  nMI     g )Nr   zxl/drawings/drawingrt   )r&   r"   r<   rp   rl   rx   rq   )r,   rz   drawings      r.   rJ   Packager._write_drawing_files   sg    !!}}--G##4s5zAFJK &&(QJE .r0   c           	         SnU R                   R                  5        GHK  nUR                  (       d  UR                  (       d  M(  UR                  (       az  [	        5       nUR                  U R                  S[        U5      -   S-   5      5        UR                  UR                  UR                  UR                  UR                  5        US-  nUR                  (       d  M  [	        5       nUR                  U R                  S[        U5      -   S-   5      5        UR                  UR                  UR                  S-  S S UR                  5        U R                  X!5        US-  nGMN     g )Nr   zxl/drawings/vmlDrawingz.vmli   )r"   r=   has_vmlhas_header_vmlr   rp   rl   rx   rq   vml_data_idvml_shape_idcomments_listbuttons_listvml_header_idheader_images_list_write_vml_drawing_rels_file)r,   rz   r?   vmls       r.   rK   Packager._write_vml_files   s5   113I$$Y-E-E  e##NN#;c%j#H6#QR &&))**++**	 
'''e##NN#;c%j#H6#QR &&++++d200 11)C
? 4r0   c           	      "   SnU R                   R                  5        Ho  nUR                  (       d  M  [        5       nUR	                  U R                  S[        U5      -   S-   5      5        UR                  UR                  5        US-  nMq     g )Nr   zxl/commentsrt   )	r"   r=   has_commentsr   rp   rl   rx   rq   r   )r,   rz   r?   comments       r.   rL   Packager._write_comment_files   st    113I))jG##DNN=3u:3MPV3V$WX&&y'>'>?QJE 4r0   c                     [        5       nU R                  R                  Ul        U R                  R                  R                  (       d  g UR                  U R                  S5      5        UR                  5         g )Nzxl/sharedStrings.xml)r   r"   	str_tablestring_tablecountrp   rl   rq   )r,   ssts     r.   rN   #Packager._write_shared_strings_file,  sU    o==22}}&&,,DNN+ABC r0   c                    U R                   R                  n[        5       nSnU R                   R                  5        HH  nUR                  (       a  M  UR
                  S:w  d  M(  UR                  UR                  5        US-  nMJ     UR                  SU/5        U R                   R                  5        H1  nUR                  (       d  M  UR                  UR                  5        M3     UR                  SU R                  /5        U R                  (       a&  UR                  S[        U R                  5      /5        U R                   H  nUR                  U5        M     UR                  U5        U R                   R                  Ul        UR                  U R!                  S5      5        UR#                  5         g )Nr      r   
WorksheetsChartszNamed RangesdocProps/app.xml)r"   doc_propertiesr   r=   r>   hidden_add_part_namename_add_heading_pairr$   r*   r:   _set_properties	read_onlydoc_securityrp   rl   rq   )r,   
propertiesappr#   r?   named_ranges         r.   r[   Packager._write_app_file7  sd   ]]11
e 113I&& 1$""9>>21$ 4 	|_=> 113I**y~~. 4 	x)>)>?@ !!>3t7H7H3I"JK  ,,K{+ - 	J'==22DNN+=>? r0   c                     U R                   R                  n[        5       nUR                  U5        UR	                  U R                  S5      5        UR                  5         g )NdocProps/core.xml)r"   r   r
   r   rp   rl   rq   )r,   r   cores      r.   rZ   Packager._write_core_filea  sJ    ]]11
vZ(T^^,?@A!r0   c                 B   U R                   R                  (       d  g [        5       nU R                   R                  Ul        [	        U R                   R
                  R                  5      Ul        UR                  U R                  S5      5        UR                  5         g )Nzxl/metadata.xml)r"   has_metadatar   has_dynamic_functionsr:   embedded_imagesimagesnum_embedded_imagesrp   rl   rq   )r,   metadatas     r.   r\   Packager._write_metadata_filej  sl    }})):)-)L)L&'*4==+H+H+O+O'P$  0A!BC##%r0   c                     U R                   R                  5       nU(       d  g [        5       nXl        UR	                  U R                  S5      5        UR                  5         g )Nz,xl/featurePropertyBag/featurePropertyBag.xml)r"   _has_feature_property_bagsr   feature_property_bagsrp   rl   rq   )r,   r   property_bags      r.   r]   $Packager._write_feature_bag_propertyv  sR     $ H H J$)+-B*$$NNIJ	
 	'')r0   c                     U R                   R                  R                  5       (       d  g U R                  5         U R	                  5         U R                  5         U R                  5         g r2   )r"   r   
has_images_write_rich_value_write_rich_value_types_write_rich_value_structure_write_rich_value_relr_   s    r.   r^    Packager._write_rich_value_files  sN    }},,7799 $$&((*""$r0   c                     U R                  S5      n[        5       nU R                  R                  R                  Ul        UR                  U5        UR                  5         g )Nzxl/richData/rdrichvalue.xml)rl   r   r"   r   r   rp   rq   r,   filenamexml_files      r.   r   Packager._write_rich_value  sJ    >>"?@;#'==#@#@#G#G   *##%r0   c                 |    U R                  S5      n[        5       nUR                  U5        UR                  5         g )Nz xl/richData/rdRichValueTypes.xml)rl   r   rp   rq   r   s      r.   r    Packager._write_rich_value_types  s3    >>"DE!#  *##%r0   c                     U R                  S5      n[        5       nU R                  R                  Ul        UR	                  U5        UR                  5         g )Nz$xl/richData/rdrichvaluestructure.xml)rl   r   r"   has_embedded_descriptionsrp   rq   r   s      r.   r   $Packager._write_rich_value_structure  sE    >>"HI%'-1]]-T-T*  *##%r0   c                     U R                  S5      n[        5       n[        U R                  R                  R
                  5      Ul        UR                  U5        UR                  5         g )Nzxl/richData/richValueRel.xml)	rl   r   r:   r"   r   r   r   rp   rq   r   s      r.   r   Packager._write_rich_value_rel  sO    >>"@A>'*4==+H+H+O+O'P$  *##%r0   c                     U R                   R                  n[        5       nU(       d  g UR                  U5        UR	                  U R                  S5      5        UR                  5         g )NdocProps/custom.xml)r"   custom_propertiesr   r   rp   rl   rq   )r,   r   customs      r.   rP   Packager._write_custom_file  sP    ]]44
z*t~~.CDE!!#r0   c                    [        5       nUR                  U R                  R                  5        U R	                  5         SnSnU R                  R                  5        HZ  nUR                  (       a$  UR                  S[        U5      -   5        US-  nM8  UR                  S[        U5      -   5        US-  nM\     [        SU R                  S-   5       H   nUR                  S[        U5      -   5        M"     [        SU R                  S-   5       H   nUR                  S[        U5      -   5        M"     U R                  (       a  UR!                  5         [        SU R"                  S-   5       H   nUR%                  S[        U5      -   5        M"     [        SU R&                  S-   5       H   nUR)                  S[        U5      -   5        M"     U R                  R*                  R,                  (       a  UR/                  5         U R                  R0                  (       a;  UR3                  5         U R                  R4                  (       a  UR7                  5         U R                  R8                  (       a  UR;                  5         U R                  R<                  (       a  UR?                  5         U R                  RA                  5       (       a  URC                  5         U R                  RD                  RG                  5       (       a  URI                  5         URK                  U RM                  S5      5        URO                  5         g )Nr   sheetr   r   tablecommentsz[Content_Types].xml)(r	   _add_image_typesr"   image_types_get_table_countr=   r>   _add_chartsheet_namerx   _add_worksheet_nameranger%   _add_chart_namer&   _add_drawing_namer(   _add_vml_namer'   _add_table_namer)   _add_comment_namer   r   _add_shared_stringsvba_projectrW   vba_project_signaturerX   r   _add_custom_propertiesr   _add_metadatar   _add_feature_bag_propertyr   r   _add_rich_valuerp   rl   rq   )r,   contentworksheet_indexchartsheet_indexr?   is         r.   rC   "Packager._write_content_types_file  s~   .  !:!:;113I&&,,Ws;K7L-LM A% ++Gc/6J,JK1$ 4 q$**Q./A##Gc!f$45 0 q$,,q01A%%i#a&&89 2 !!#q$**Q./A##Gc!f$45 0 q$00145A%%j3q6&9: 6 ==""(('') ==$$$$&}}22224 ==****, ==%%!!# ==3355--/ ==((3355##%/D EF""$r0   c                 8   U R                   R                  nU R                   R                  nU R                   R                  nU R                   R                  nU R                   R
                  nU R                   R                  nU R                   R                  nU R                   R                  nU R                   R                  n	[        5       n
U
R                  UUUUUUUUU	/	5        U
R                  U R                  S5      5        U
R                  5         g )Nzxl/styles.xml)r"   
xf_formatspalette
font_countnum_formatsborder_count
fill_countcustom_colorsdxf_formatsr   r   _set_style_propertiesrp   rl   rq   )r,   r   r   r   r   r   r   r   r   r   styless              r.   rO   Packager._write_styles_file  s    ]]--
--'']]--
mm//}}11]]--
33mm//}}11$$
	
 	t~~o>?!!#r0   c                 x    [        5       nUR                  U R                  S5      5        UR                  5         g )Nzxl/theme/theme1.xml)r   rp   rl   rq   )r,   themes     r.   rQ   Packager._write_theme_file  s-    dnn-BCD  "r0   c           
      D   SnU R                   R                  5        H  nUR                  nU(       d  M  U Hb  n[        5       nUR	                  U R                  S[        U5      -   S-   5      5        UR                  U5        UR                  5         US-  nMd     M     g )Nr   zxl/tables/tablert   )	r"   r=   tablesr   rp   rl   rx   r   rq   )r,   rz   r?   table_propsr   s        r.   rM   Packager._write_table_files  s    113I#**K*%%NN#4s5z#AF#JK %%k2((*
  + 4r0   c                     U R                   R                  5        H+  nUR                   H  nU =R                  S-  sl        M     M-     g r9   )r"   r=   r  r'   )r,   r?   _s      r.   r   Packager._get_table_count-  s:    113I%%  A%  & 4r0   c                 >   [        5       nUR                  SS5        UR                  SS5        UR                  SS5        U R                  R                  (       a  UR                  SS5        UR                  U R                  S	5      5        UR                  5         g )
Nz/officeDocumentro   z/metadata/core-propertiesr   z/extended-propertiesr   z/custom-propertiesr   z_rels/.rels)r   _add_document_relationship_add_package_relationshipr"   r   rp   rl   rq   )r,   relss     r.   rD   Packager._write_root_rels_file3  s    ''(9;LM&&'BDWX''(>@RS==**++,@BWXT^^M:;!r0   c                    [        5       nSnSnU R                  R                  5        Hb  nUR                  (       a(  UR	                  SS[        U5      -   S-   5        US-  nM<  UR	                  SS[        U5      -   S-   5        US-  nMd     UR	                  SS5        UR	                  S	S
5        U R                  R                  R                  (       a  UR	                  SS5        U R                  R                  (       a  UR                  SS5        U R                  R                  (       a  UR	                  SS5        U R                  R                  R                  5       (       a  UR                  5         U R                  R                  5       (       a  UR                  5         UR!                  U R#                  S5      5        UR%                  5         g )Nr   z/chartsheetzchartsheets/sheetrt   z
/worksheetzworksheets/sheetz/themeztheme/theme1.xmlz/stylesz
styles.xmlz/sharedStringszsharedStrings.xmlz/vbaProjectzvbaProject.binz/sheetMetadatazmetadata.xmlzxl/_rels/workbook.xml.rels)r   r"   r=   r>   r  rx   r   r   r   _add_ms_package_relationshipr   r   r   _add_rich_value_relationshipr   _add_feature_bag_relationshiprp   rl   rq   )r,   r
  r   r   r?   s        r.   rE   "Packager._write_workbook_rels_fileD  s   113I&&//!#6=M9N#NQW#W !A% // "4s?7K"Kf"T  1$ 4 	''2DE''	<@ ==""((++,<>QR ==$$--m=MN ==%%++,<nM ==((3355--/ ==3355..0T^^,HIJ!r0   c           	         SnU R                   R                  5        H  nUR                  (       a  M  US-  nUR                  UR                  -   UR
                  -   UR                  -   UR                  -   UR                  -   nU(       d  Mq  [        5       nU H  nUR                  " U6   M     UR                  U R                  S[        U5      -   S-   5      5        UR                  5         M     g )Nr   r   zxl/worksheets/_rels/sheet	.xml.rels)r"   r=   r>   external_hyper_linksexternal_drawing_linksexternal_vml_linksexternal_background_linksexternal_table_linksexternal_comment_linksr   r  rp   rl   rx   rq   r,   rz   r?   external_linksr
  	link_datas         r.   rR   $Packager._write_worksheet_rels_filesq  s    113I&&QJE ..223../ 556 00	1
 223  " !?D+	//; ,   :SZG+UV ##%9 4r0   c           	         SnU R                   R                  5        H  nUR                  (       d  M  US-  nUR                  UR                  -   nU(       d  M=  [        5       nU H  nUR                  " U6   M     UR                  U R                  S[        U5      -   S-   5      5        UR                  5         M     g )Nr   r   zxl/chartsheets/_rels/sheetr  )r"   r=   r>   r  r  r   r  rp   rl   rx   rq   r  s         r.   rS   %Packager._write_chartsheet_rels_files  s    113I**QJE 0093O3OO  " !?D+	//; ,   ;c%jH;VW ##%/ 4r0   c           	      r   SnU R                   R                  5        H  nUR                  (       a  US-  nUR                  (       d  M,  [	        5       nUR                   H  nUR
                  " U6   M     UR                  U R                  S[        U5      -   S-   5      5        UR                  5         M     g )Nr   r   zxl/drawings/_rels/drawingr  )
r"   r=   r   drawing_linksr   r  rp   rl   rx   rq   )r,   rz   r?   r
  drawing_datas        r.   rT   "Packager._write_drawing_rels_files  s    113I  
** !?D ) 7 7//> !8   :SZG+UV ##%# 4r0   c                     [        5       nUR                   H  nUR                  " U6   M     UR                  U R	                  S[        U5      -   S-   5      5        UR                  5         g )Nzxl/drawings/_rels/vmlDrawingz	.vml.rels)r   vml_drawing_linksr  rp   rl   rx   rq   )r,   r?   rz   r
  r!  s        r.   r   %Packager._write_vml_drawing_rels_file  sb    
 %77L++\: 8 	NN9CJFTU	
 	!r0   c                     U R                   R                  nU(       d  g [        5       nUR                  SS5        UR	                  U R                  S5      5        UR                  5         g )Nz/vbaProjectSignaturezvbaProjectSignature.binzxl/_rels/vbaProject.bin.rels)r"   r   r   r  rp   rl   rq   )r,   r   r
  s      r.   rY   %Packager._write_vba_project_rels_file  s[     $ C C$ ))"$=	
 	T^^,JKL!r0   c                    U R                   R                  R                  5       (       d  g [        5       nSnU R                   R                  R                   H<  nUR
                  R                  5       nSU SU 3nUR                  SU5        US-  nM>     UR                  U R                  S5      5        UR                  5         g )Nr   z../media/image.z/imagez(/xl/richData/_rels/richValueRel.xml.rels)r"   r   r   r   r   
image_typelowerr  rp   rl   rq   )r,   r
  rz   imageimage_extension
image_files         r.   rU   %Packager._write_rich_value_rels_files  s    }},,7799 ]]2299E#..446O)%/1BCJ++HjAQJE	 : 	T^^,VWX!r0   c                    U R                   nSnUR                  R                  UR                  -   nU GHv  nS[        U5      -   S-   UR                  -   nU R
                  (       d  U R                  U5      nUR                  (       aD  [        USS9nUR                  UR                  R                  5       5        UR                  5         O[        UR                  U5         [        R                  " U[        R                   " U5      R"                  [         R$                  -  5        OzUR                  (       a  UR                  nO?[        UR                  SS9nUR)                  5       n	[+        U	5      nUR                  5         U R,                  R/                  XeS45        US-  nGMy     g ! [&         a     Nf = f)Nr   zxl/media/imager)  wbmoderbT)r"   r   r   rx   _image_extensionr!   rl   
image_dataopenwritegetvaluerg   r   r   rf   chmodstatst_modeS_IWRITEOSErrorreadr   r+   rh   )
r,   r"   rz   r   r,  xml_image_namerj   os_filer.  r6  s
             r.   rV   Packager._add_image_files  s`    ==))008??BE 3u:-3e6L6LL  >>"nn^<##";T:GMM%"2"2";";"=>MMO5')=)E)E)U ##"'"2"2K!%enn4!@J!+!2J")*"5K$$&%%{D&IJQJEK , # s   $AF00
F=<F=c                    U R                   R                  nU R                   R                  nU(       d  g SnU R                  (       d^  U R	                  U5      nU(       a:  [        USS9nUR                  UR                  5       5        UR                  5         g [        X5        g U(       a  UnO5[        USS9nUR                  5       n[        U5      nUR                  5         U R                  R                  XCS45        g )Nzxl/vbaProjectSignature.binr1  r2  r4  T)r"   r   vba_project_signature_is_streamr!   rl   r7  r8  r9  rg   r   r?  r   r+   rh   )r,   r   rD  xml_vba_signature_namerj   rA  vba_filevba_datas           r.   rX   #Packager._add_vba_project_signature(  s     !% C C*.--*W*W'$!=~~..)?@K.{63<<>?*8 /3 5DA#==?%h/ NN!!;"MNr0   c                    U R                   R                  nU R                   R                  nU(       d  g SnU R                  (       d^  U R	                  U5      nU(       a:  [        USS9nUR                  UR                  5       5        UR                  5         g [        X5        g U(       a  UnO5[        USS9nUR                  5       n[        U5      nUR                  5         U R                  R                  XCS45        g )Nzxl/vbaProject.binr1  r2  r4  T)r"   r   vba_project_is_streamr!   rl   r7  r8  r9  rg   r   r?  r   r+   rh   )r,   r   rJ  xml_vba_namerj   rA  rF  rG  s           r.   rW   Packager._add_vba_projectL  s     mm// $ C C*~~..6K${6k2245[. %)$7#==?%h/ NN!!;d"CDr0   )r%   r$   r&   r+   r!   r*   r)   r(   r'   r    r"   r#   )/__name__
__module____qualname____firstlineno____doc__r   r3   r6   r@   r`   rl   rH   rF   rG   rI   rJ   rK   rL   rN   r[   rZ   r\   r]   r^   r   r   r   r   rP   rC   rO   rQ   rM   r   rD   rE   rR   rS   rT   r   rY   rU   rV   rX   rW   __static_attributes____classcell__)r-   s   @r.   r   r   &   s    '^6#*B&"("H
	!(!T"
&*%&&&&
$;%z$<#$&""+"Z&B&8&," """(-^"OH"E "Er0   r   )-rf   r;  rd   ior   r   shutilr   r   r   r   r   contenttypesr	   r   r
   r   r   
exceptionsr   feature_property_bagr   r   r   relationshipsr   
rich_valuer   rich_value_relr   rich_value_structurer   rich_value_typesr   sharedstringsr   r   r   r   r   r   r   r   r   r    r0   r.   <module>r`     s\    
        &   ( 4  ( ! ( 4 , (    HE HEr0   