
    Mf&                     4    d dl Z ddlmZ  G d d          ZdS )    N   )xrangec                   D    e Zd ZdZdZdZdZdZdZd Z	d Z
d	 Zd
 Zd ZdS )XlsDoci      c                     g | _         d| _        g | _        d| _        g | _        d| _        d| _        g | _        d| _        d S )N )	book_stream_sect
dir_streamdir_stream_sect
packed_SATSAT_sectpacked_MSAT_1stpacked_MSAT_2ndMSAT_sect_2ndheader)selfs    O/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/xlwt/CompoundDoc.py__init__zXlsDoc.__init__   sJ     "!!!    c                    d| _         d                    d          }t          |          }dd|z
  z  }d}d}d}d}d}d	}	d
}
| xj         t          j        d||z   ||||||d
d
d
d
d
d
d
d
d
|	|
d
          z  c_         d                    d          }t          |          }dd|z
  z  }d}d}d}d}d}d
}	| j        }
| xj         t          j        d||z   ||||||d
d
d
d
d
d
d
d
d
|	|
d
          z  c_         d}t          |          }dd|z
  z  }d
}d}d}d}d}d	}	d
}
| xj         t          j        d||z   ||||||d
d
d
d
d
d
d
d
d
|	|
d
          dz  z  c_         d S )Nr   zRoot Entry z	utf-16-le    @      r   r   r	   r   z<64s H 2B 3l 9L l L Lz	Workbook    )r   encodelenstructpackbook_stream_len)r   dentry_namedentry_name_szdentry_name_paddentry_typedentry_colourdentry_did_leftdentry_did_rightdentry_did_rootdentry_start_siddentry_stream_szs              r   _build_directoryzXlsDoc._build_directory,   s   ,33K@@{++"B$786;'>(aAq!Q1
 
 	
 +11+>>{++"B$78/6;'>(aAq!Q1
 
 	
 {++"B$786;'>(aAq!Q1
 
  	r   c                    | j         dz	  }t          | j                  dz	  }||z   }d}d}d}|d|z  k    s||k    r.|dz  }|dz  }||k    r|dz  }|dz  }|dz  }|d|z  k    (||k    .| j        gdz  |z  }d}||dz
  k     r0| j                            |           |dz   ||<   |dz  }||dz
  k     0| j                            |           | j        ||<   |dz  }|||z   k     r2| j                            |           | j        ||<   |dz  }|||z   k     2|||z   |z   k     r5| j	                            |           | j
        ||<   |dz  }|||z   |z   k     5|||z   |z   |z   dz
  k     r9| j                            |           |dz   ||<   |dz  }|||z   |z   |z   dz
  k     9| j                            |           | j        ||<   |dz  }t          j        d|dz  z  g|R  | _        | j        gdz  }	t          t!          dd          | j	                  D ]
\  }
}||	|
<   t          j        dg|	R  | _        | j        gdz  |z  }|dk    r
| j        |d	<   d}
d}d}|
|k     rZ|dz   dz  dk    r.|dz  }|t          | j                  k     r| j        |         ||<   n| j	        |
         ||<   |
dz  }
|dz  }|
|k     Zt          j        d|dz  z  g|R  | _        d S )
N	   r   m      r      z<%dlz<109lr   )r$   r!   r   SID_FREE_SECTORr   appendSID_END_OF_CHAINr   SID_USED_BY_MSATr   SID_USED_BY_SATr   r"   r#   r   zipranger   r   )r   book_sect_countdir_sect_counttotal_sect_countSAT_sect_countMSAT_sect_countSAT_sect_count_limitSATsectMSAT_1stiSAT_sect_numMSAT_2nd	msat_sectsid_nums                  r   
_build_satzXlsDoc._build_sat{   s   .!3do..!3.?  "^!333~H\7\7\!N! 444) ) $+$ ^!333~H\7\7\ #$S(7_q(((!((...qCIAID _q((( 	$$T***)D		_666%%d+++-CIAID _666
 _6GGGM  &&&,CIAID _6GGG
 _6G.X[\\\\ ''---qCIAID _6G.X[\\\\ 	##D))))D		 +fs0B&CJcJJJ()#-"5C==$-@@ 	' 	'OA|&HQKK%{7>X>>>()#-o=Q 1HSM	.  !s"a''Q	s4#56666(,(:9(EHW% %)M!$4!QqLG .    &{6_S5H+IUHUUUr   c                    d}d}d}d}d}t          j        dd          }t          j        dd          }d	}t          j        d
t          | j                            }	t          j        d| j        d                   }
d}t          j        d
d          }t          j        dd          }t          j        d
d          }t          | j                  dk    rt          j        dd          }n t          j        d| j        d                   }t          j        d
t          | j                            }d                    |||||||||	|
||||||g          | _        d S )Ns   ࡱs                   s   > s    s   z<Hr1      s
             z<Lz<lr   s       r   r	   r   )r"   r#   r!   r   r   r   joinr   )r   	doc_magicfile_uidrev_numver_num
byte_orderlog_sect_sizelog_short_sect_size	not_used0total_sat_sectorsdir_start_sid	not_used1min_stream_sizessat_start_sidtotal_ssat_sectorsmsat_start_sidtotal_msat_sectorss                    r   _build_headerzXlsDoc._build_header   s]    C	 * + + +
 &D! 4 4 &D! 4 4 *	 &D#dm2D2D E E &D$2Fq2I J J )	 &D& 9 9 &D" 5 5 &D! 4 4t!""a''$*Kb$9$9NN$*Kd6H6K$L$LN &D#d6H2I2I J JHH	(0(/(/(2(5(;(1(9(5(1(7(6(:(6(:&& ' 'r   c           	         ddt          |          dz  z
  z  }t          |          t          |          z   | _        |                                  |                                  |                                  |}t          |d           }|rt          |d          }|                    | j                   |                    | j	                   	 |                    |           nj# t          $ r]}|j        dk    r d}t          dt          |          |          D ]&}|                    t          |||                     'Y d }~nd }~ww xY w|                    |           |                    | j                   |                    | j                   |                    | j                   |r|                                 d S d S )Nr   r   writezw+b   i  @ r   )r!   r$   r/   rJ   r^   hasattropenr`   r   r   IOErrorerrnor   bufferr   r   r   close)	r   file_name_or_filelike_objstreampaddingf	we_own_ite
chunk_sizeoffsets	            r   savezXlsDoc.save   s   Vs6{{V';<="6{{S\\9%7+++	 	7.66A		$%%%	<GGFOOOO 	< 	< 	<w"}}(J CKK<< < <vvz::;;;;< < < < <		< 	
	$%%%	   	    	GGIIIII	 	s   C) )
E3AEEN)__name__
__module____qualname__SECTOR_SIZE	MIN_LIMITr5   r7   r9   r8   r   r/   rJ   r^   rp    r   r   r   r      s        KIOO   M M M^JV JV JVj'' '' ''T! ! ! ! !r   r   )r"   compatr   r   rv   r   r   <module>rx      s^          H H H H H H H H H Hr   