Ë
    
Þ~f¢&  ã                   ód  — d dl Z d dlZd dlZd dlZd dlZd dlZd dlZ	 d dlZej                  Z	d„ Zd„ Zd„ Zedk(  rb eej                   «      dk  r	 ed«       yej                   d   Z ee«        eej                   «      d	k(  r eeej                   d   «       yyy#  ej                  Z	Y Œ�xY w)
é    Nc                 ó   — t         j                  j                  | «      ry d| z  }t        j                  |d¬«      }	 t        j
                  | «      D ]h  \  }}}|D ]]  }t         j                  j                  ||«      }dt         j                  j                  || «      z  }|j                  ||t        ¬«       Œ_ Œj 	 |j                  «        t        j                  | «       t        j                  || «       y # |j                  «        w xY w)Nú%s.zipÚw©Úmodez%s©ÚarcnameÚcompress_type)ÚosÚpathÚisfileÚzipfileÚZipFileÚwalkÚjoinÚrelpathÚwriteÚcompressionÚcloseÚshutilÚrmtreeÚmove)	ÚdirectoryPathÚzipFilePathÚzfÚdirNameÚ
subdirListÚfileListÚfnameÚfullPathÚrelPaths	            ú;lib/python3.12/site-packages/vtkmodules/web/vtkjs_helper.pyÚconvertDirectoryToZipFiler#      sÊ   € Ü	‡w�w‡~�~�mÔ$Øà˜]Ñ*€KÜ	�‰˜¨3Ô	/€BðÜ-/¯W©W°]Ö-CÑ)ˆG�Z Û!�ÜŸ7™7Ÿ<™<¨°Ó7�Ø¤"§'¡'§/¡/°(¸MÓ"JÑK�Ø—‘˜¨7Ä+�ÕNñ "ñ .Dð 	�‰Œ
ä
‡M�M�-Ô Ü
‡K�K�˜]Õ+øð 	�‰�
ús   ¾B C; Ã;Dc           	      óÎ  — t         j                  j                  | «      �r¡t         j                  j                  |«      �r€t         j                  j	                  | «      }t         j                  j                  |dt         j                  j                  | «      d d z  «      }t        | d«      5 }|j                  «       }t        j                  |«      }|j                  «       j                  dd«      }d d d «       t        |dd¬«      5 }t        |d	d¬«      5 }|D ]�  }	d
|	v rx|j                  d«       |j                  dz  «       |j                  dt         j                  j                  | «      z  «       |j                  d«       |j                  d«       |j                  |	«       Œ‘ 	 d d d «       d d d «       y y y # 1 sw Y   ŒÏxY w# 1 sw Y   Œ xY w# 1 sw Y   y xY w)Nz%s.htmliúÿÿÿÚrbÚ
Ú Úrzutf-8)r   Úencodingr   z</body>z	<script>
zvar contentToLoad = "%s";

zOGlance.importBase64Dataset("%s" , contentToLoad, glanceInstance.proxyManager);
zglanceInstance.showApp();
z
</script>
)r   r   r   ÚexistsÚdirnamer   ÚbasenameÚopenÚreadÚbase64Ú	b64encodeÚdecodeÚreplacer   )
ÚdataPathÚsrcHtmlPathÚdstDirÚdstHtmlPathÚdataÚdataContentÚbase64ContentÚsrcHtmlÚdstHtmlÚlines
             r"   ÚaddDataToViewerr=   *   sy  € Ü	‡w�w‡~�~�hÕ¤B§G¡G§N¡N°;Õ$?Ü—‘—‘ Ó*ˆÜ—g‘g—l‘l 6¨9´r·w±w×7GÑ7GÈÓ7QÐRUÐSUÐ7VÑ+VÓWˆô �(˜DÔ! TØŸ)™)›+ˆKÜ"×,Ñ,¨[Ó9ˆMØ)×0Ñ0Ó2×:Ñ:¸4ÀÓDˆM÷ "ô �+ C°'Õ:¸gÜ�k¨°gÕ>À'Û#�DØ  DÑ(ØŸ™ lÔ3ØŸ™Ð&EÈÑ&UÔVØŸ™ØnÜ Ÿg™g×.Ñ.¨xÓ8ñ9ôð  Ÿ™Ð&CÔDØŸ™ mÔ4à—M‘M $Õ'ñ $÷ ?÷ ;Ð:ð %@Ð÷
 "Ð!ú÷ ?Ð>ú÷ ;Ð:ús2   Â/AGÄGÄBGÆ0GÇGÇG	ÇGÇG$c           	      óÂ  ‡‡— t         j                  j                  | «      ry  G ˆfd„dt        «      }d„ }d„ Šˆfd„}d| z  }t         j                  j	                  t         j                  j                  | t         j                  «      «      }t         j                  j                  |d«      }t        |d«      }t        j                  |j                  «       «      }t        j                  |d	¬
«      }		 d}
t        «       }t        j                  dt         j                  j!                  | «      z   dz   «      }i }g |d<   d}|d   d   D ]F  }|d   j#                  i «       t%        |«      |d   |   d<   t'        |d   «      |d   |   d<   |dz   }ŒH  |«       Šd}t)        t        j*                  |«      «      D ]¦  }t         j                  j                  ||«      }t         j                  j-                  |«      sŒC|j/                  |«      sŒU|
s) |t         j                  j                  |d«      |«       d}
 |||	|||‰«       t1        j2                  |«       |dz   }Œ¨ ‰D ]P  }|	j5                  t         j                  j                  ‰|   d«      t        j6                  |d¬«      t8        ¬«       ŒR |d   D ]"  }|d   |d<   d|d<   i |d<   ‰|d      |d   d<   Œ$ |	j5                  dt        j6                  |d¬«      t8        ¬«       t        j:                  |«       |	j=                  «        t1        j>                  || «       y # |	j=                  «        w xY w)Nc                   ó   •— e Zd ZdZˆ fd„Zy)ú'zipAllTimeSteps.<locals>.UrlCounterDictr   c                 óŠ   •— || j                  «       vr,t        ‰j                  «      | |<   | j                  dz   | _        | |   S )Né   )ÚkeysÚstrÚCounter)ÚselfÚnameÚobjNameToUrlss     €r"   Ú
GetUrlNamez2zipAllTimeSteps.<locals>.UrlCounterDict.GetUrlNameP   s?   ø€ Ø˜4Ÿ9™9›;Ñ&Ü  ×!6Ñ!6Ó7��T‘
Ø#Ÿ|™|¨aÑ/�”Ø˜‘:Ðó    N)Ú__name__Ú
__module__Ú__qualname__rE   rI   )rH   s   €r"   ÚUrlCounterDictr@   M   s   ø„ Øˆõ	rJ   rN   c                 ó  — t        | d«      5 }|j                  «       }t        j                  |«      }|D ]
  }||   ||<   Œ |d   D ]'  }|j	                  |d   «       |j	                  d«       Œ) 	 d d d «       y # 1 sw Y   y xY w)Nr(   ÚsceneÚtype)r-   r.   ÚjsonÚloadsÚpop)Ú
sourcePathÚdestObjÚ
sourceFileÚ
sourceDataÚ	sourceObjÚkeyÚobjs          r"   Ú	InitIndexz"zipAllTimeSteps.<locals>.InitIndexV   sw   € Ü�*˜cÔ" jØ#Ÿ™Ó*ˆJÜŸ
™
 :Ó.ˆIÛ �Ø(¨™~�˜’ð !ð ˜wÔ'�Ø—‘˜˜F™Ô$Ø—‘˜•ñ (÷ #×"Ñ"ús   �A$A;Á;Bc                 ó@   — i }| d   D ]  }|d   |||d      d   <   Œ |S )NrP   rG   rQ   Úurl© )ÚindexObjÚurlsr[   s      r"   ÚgetUrlToNameDictionaryz/zipAllTimeSteps.<locals>.getUrlToNameDictionarya   s7   € ØˆØ˜GÔ$ˆCØ,/°©KˆD��S˜‘[Ñ! %Ñ(Ò)ð %àˆrJ   c                 óˆ  •— t        t        j                  j                  | d«      d«      5 }t	        j
                  |j                  «       «      } ‰|«      }|d   d   |   }	|D ]  }
|
dk(  s|
dk(  rŒ||
   |	|
<   Œ |d   D ]8  }|d   }i |	|<   |d   |	|   d<   |d	   |	|   d	<   |d
   |	|   d
<   |d   |	|   d<   Œ: 	 d d d «       t        t        j                  | «      «      D �]3  }t        j                  j                  | |«      }t        j                  j                  |«      du rŒFt        j                  t        j                  j                  |d«      «      D ]‘  }t        j                  j                  |d|«      }t        j                  j                  |«      sŒD||vsŒI|j                  |«       t        j                  j                  d|«      }|j                  ||t        ¬«       Œ“ t        j                  j                  | |d«      }t        |d«      5 }t	        j
                  |j                  «       «      }d d d «       j                  «       D ]P  }	 d||   j                  «       v rd||   d   d<   d||   j                  «       v r||   d   D ]  }d|d   d   d<   Œ ŒR |   }t        j                  j                  |j!                  |«      t#        |«      d«      }|j%                  |t	        j&                  |d¬«      t        ¬«       �Œ6 y # 1 sw Y   �Œ`xY w# 1 sw Y   ŒèxY w# t        $ r Y Œæw xY w)Nú
index.jsonr(   Ú	animationÚ	timeStepsrP   ÚversionrG   ÚactorÚactorRotationÚmapperÚpropertyFr7   r   Úrefz
../../dataÚbasepathÚarraysé   ©Úindent©r
   )r-   r   r   r   rR   rS   r.   ÚsortedÚlistdirÚisdirr   Úaddr   r   rC   ÚAttributeErrorrI   rD   ÚwritestrÚdumps)r+   ÚzipobjÚ
storedDataÚrootIdxÚtimeSteprH   ÚcurrentIdxFileÚ
currentIdxÚ	urlToNameÚrootTimeStepSectionrZ   r[   ÚobjNameÚfolderÚcurrentItemÚfilenameÚfullpathr!   ÚobjIndexFilePathÚobjIndexFileÚobjIndexObjDataÚelmÚarrayÚcurrentObjNameÚobjIndexRelPathrb   s                            €r"   ÚaddDirectoryToZipz*zipAllTimeSteps.<locals>.addDirectoryToZipg   s  ø€ ô ”"—'‘'—,‘,˜w¨Ó5°sÔ;¸~ÜŸ™ N×$7Ñ$7Ó$9Ó:ˆJÙ.¨zÓ:ˆIØ")¨+Ñ"6°{Ñ"CÀHÑ"MÐÛ!�Ø˜'’> S¨IÒ%5ØØ+5°c©?Ð# CÒ(ð "ð " 'Ô*�Ø˜f™+�Ø/1Ð# GÑ,Ø8;¸G¹Ð# GÑ,¨WÑ5Ø@CÀOÑ@TÐ# GÑ,¨_Ñ=Ø9<¸X¹Ð# GÑ,¨XÑ6Ø;>¸z¹?Ð# GÑ,¨ZÒ8ñ +÷ <ô" œRŸZ™Z¨Ó0×1ˆFÜŸ'™'Ÿ,™, w°Ó7ˆKÜ�w‰w�}‰}˜[Ó)¨UÑ2ØäŸJ™J¤r§w¡w§|¡|°KÀÓ'HÖI�ÜŸ7™7Ÿ<™<¨°V¸XÓF�Ü—7‘7—>‘> (Õ+°À
Ò0JØ—N‘N 8Ô,Ü Ÿg™gŸl™l¨6°8Ó<�GØ—L‘L °7Ì+�LÕVð Jô  "Ÿw™wŸ|™|¨G°V¸\ÓJÐÜÐ&¨Ô,°Ü"&§*¡*¨\×->Ñ->Ó-@Ó"A�÷ -à&×+Ñ+Ö-�ðØ °Ñ 4× 9Ñ 9Ó ;Ñ;ØBN˜¨Ñ,¨UÑ3°JÑ?Ø ?°3Ñ#7×#<Ñ#<Ó#>Ñ>Ø%4°SÑ%9¸(Ô%C˜EØ?K˜E &™M¨%Ñ0°Ò<ð &Døð .ð ' vÑ.ˆNÜ Ÿg™gŸl™lØ×(Ñ(¨Ó8¼#¸h»-ÈóˆOð �O‰OØÜ—
‘
˜?°1Ô5Ü)ð ö ñ; 2÷# <Ñ;ú÷> -Ð,ûô &ò Ùðús+   ¬BLÈ$L)ÉAL5ÌL&Ì)L2	Ì5	MÍ Mr   rd   r(   r   r   FÚ^z	\.[0-9]+$Úseriesr   re   rf   r^   Útimer}   rB   Tro   rp   rr   rP   rG   ÚidÚvtkHttpDataSetSeriesReaderrQ   ) r   r   r   ÚdictÚabspathr   Úpardirr-   rR   rS   r.   r   r   ÚsetÚreÚcompiler,   ÚappendrD   Úfloatrs   rt   ru   Úmatchr   r   rx   ry   r   Úremover   r   )r   rN   r\   rŽ   r   ÚcurrentDirectoryÚrootIndexPathÚrootIndexFileÚrootIndexObjr   ÚisSceneInitializedÚcurrentlyAddedDataÚregÚgenericIndexObjr}   Úitemrƒ   r    rG   r[   rb   rH   s                       @@r"   ÚzipAllTimeStepsr§   I   s÷  ù€ Ü	‡w�w‡~�~�mÔ$Øöœô ò	 òô6ðt ˜]Ñ*€KÜ—w‘w—‘¤r§w¡w§|¡|°MÄ2Ç9Á9Ó'MÓNÐÜ—G‘G—L‘LÐ!1°<Ó@€MÜ˜¨Ó,€MÜ—:‘:˜m×0Ñ0Ó2Ó3€Lä	�‰˜¨3Ô	/€Bð<ð #Ðô !›UÐä�j‰j˜¤§¡× 0Ñ 0°Ó ?Ñ?À,ÑNÓOˆàˆØ$&ˆ˜Ñ!ØˆØ  Ñ-¨kÔ:ˆDØ˜HÑ%×,Ñ,¨RÔ0Ü9<¸X»ˆO˜HÑ% hÑ/°Ñ6Ü>CÀDÈÁLÓ>QˆO˜HÑ% hÑ/°
Ñ;Ø !‘|‰Hð	 ;ñ 'Ó(ˆàˆäœRŸZ™ZÐ(8Ó9Ö:ˆFÜ—w‘w—|‘|Ð$4°fÓ=ˆHÜ�w‰w�}‰}˜XÕ&¨3¯9©9°VÕ+<Ù)ÙœbŸg™gŸl™l¨8°\ÓBÀLÔQØ)-Ð&Ù!ØØØ&Ø ØØ!ôô —‘˜hÔ'Ø# a™<‘ð ;ó$ "ˆDØ�K‰KÜ—‘—‘˜]¨4Ñ0°,Ó?Ü—
‘
˜?°1Ô5Ü)ð õ ð "ð   Ô(ˆCØ˜F™ˆC�‰IØ6ˆC�‰KØ02ˆCÐ,Ñ-Ø7DÀSÈÁ[Ñ7QˆCÐ,Ñ-¨eÒ4ð	 )ð
 	�‰Øœ$Ÿ*™* \¸!Ô<ÌKð 	ô 	
ô 	�	‰	�-Ô ð 	�‰Œ
ä
‡K�K�˜]Õ+øð 	�‰�
ús   Ã6DM Ç>M ÈDM ÍMÚ__main__ro   zNUsage: directoryToFile /path/to/directory.vtkjs [/path/to/ParaViewGlance.html]rB   é   )r/   rR   r˜   r   r   Úsysr   ÚzlibÚZIP_DEFLATEDr   Ú
ZIP_STOREDr#   r=   r§   rK   ÚlenÚargvÚprintÚfileNamer_   rJ   r"   Ú<module>r²      s¹   ðÛ Û Û 	Û 	Û Û 
Û ð%Ûà×&Ñ&€Kò,ò.(ò>],ðH ˆzÒÙ
ˆ3�8‰8ƒ}�qÒÙØ\õ	
ð —8‘8˜A‘;ˆÙ! (Ô+áˆs�x‰x‹=˜AÒÙ˜H c§h¡h¨q¡kÕ2ð ð øðA%Ø×$Ñ$‚Kús   žB ÂB/