Ë ¼Ùû±xOœãól—ddlZddlmZmZmZddlmZddlmZddgZGd„de «Z Gd„de«Z y) éN)ÚEventÚThreadÚcurrent_thread)Útime)ÚwarnÚTMonitorÚTqdmSynchronisationWarningcó—eZdZdZy)r zhtqdm multi-thread/-process errors which may cause incorrect nesting but otherwise no adverse effectsN)Ú__name__Ú __module__Ú __qualname__Ú__doc__©óú2/usr/lib/python3.12/site-packages/tqdm/_monitor.pyr r s „ñ(àrcó2—eZdZdZiZd„Zd„Zd„Zd„Zd„Z y)ra^ Monitoring thread for tqdm bars. Monitors if tqdm bars are taking too much time to display and readjusts miniters automatically if necessary. Parameters ---------- tqdm_cls : class tqdm class to use (can be core tqdm or a submodule). sleep_interval : float Time to sleep between monitoring checks. cób—tj|«d|_d|_||_||_|j jdt«|_ |j jdt««|_ tj|j«|j«y)NTrrr)rÚ__init__ÚdaemonÚwokenÚtqdm_clsÚsleep_intervalÚ_testÚgetrÚ_timerÚ was_killedÚatexitÚregisterÚexitÚstart)Úselfrrs rrzTMonitor.__init__su€Ü�‰˜Ô؈Œ ؈Œ Ø ˆŒ Ø,ˆÔØ—Z‘Z—^‘^ F¬DÓ1ˆŒ Ø8˜$Ÿ*™*Ÿ.™.¨´%Ó8Ó:ˆŒÜ�‰˜Ÿ ™ Ô"Ø � ‰ � rcóŽ—|jj«|t«ur|j«|j «S©N)rÚsetrÚjoinÚreport©r!s rrz TMonitor.exit)s2€Ø �‰×ÑÔØ ”~Ó'Ñ 'Ø �I‰IŒKØ�{‰{‹}Ðrcóˆ—|jjj«D�cgc]}t|d«r|‘Œc}Scc}w)NÚstart_t)rÚ _instancesÚcopyÚhasattr)r!Úis rÚ get_instanceszTMonitor.get_instances/sD€àŸ=™=×3Ñ3×8Ñ8Ô:ó*Ñ:�aä˜1˜iÔ(òÐ:ñ*ð *ùò*s§?có€—|j«} ||_|jj|j«|jj «ry|j j«5|j«}|j«}|D]k}|jj «r ddd«y|jdkDr5||jz |jk\rd|_ |jd¬«~Œm||j«k7rtdtd¬«~ddd«�Œ"#1swYŒ xYw)NTé)ÚnolockzOSet changed size during iteration (see https://github.com/tqdm/tqdm/issues/481)é)Ú stacklevel)rrrÚwaitrÚis_setrÚget_lockr.ÚminitersÚ last_print_tÚ maxintervalÚrefreshrr )r!Úcur_tÚ instancesÚinstances rÚrunz TMonitor.run5s€Ø— ‘ “ ˆØðˆDŒJà �O‰O× Ñ  ×!4Ñ!4Ô 5à�‰×%Ñ%Ô'Øð—‘×'Ñ'Õ)ØŸ ™ › �à ×.Ñ.Ó0� Û )�Hà—‘×-Ñ-Ô/Ø÷*Ð)ð!×)Ñ)¨AÒ-Ø" X×%:Ñ%:Ñ:¸x×?SÑ?SÒSð-.˜Ô)à ×(Ñ(°Ð(Ô5á ð!!*ð" × 2Ñ 2Ó 4Ò4ÜðJä3ÀõCð÷5*ñ÷*Ð)úsÁ3AD4Â=A-D4Ä4D=có8—|jj« Sr#)rr5r's rr&zTMonitor.report^s€Ø—?‘?×)Ñ)Ó+Ð+Ð+rN) r r r rrrrr.r>r&rrrrrs(„ñ ð €Eò òò *ò 'óR,r) rÚ threadingrrrrÚwarningsrÚ__all__ÚRuntimeWarningr rrrrÚrDs9ðÛ ß3Ñ3ÝÝà Ð3Ð 4€ô  ô ô P,ˆvõP,r