+
    –°³j3  ã                   óÖ  a € R tY0 t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIt]	]P                  ,          t]P                  ! ]4      tR R ltRs] ^ k R R ltR t]! 4       '       d)   ]P&                  P)                  4       '       g	   ]! R4      h]P&                  P,                  t]P&                  P0                  t]P&                  P4                  t]P&                  P8                  t]P&                  P<                  t]! 4       '       d¡   ^ R	I H!t!H"t"H#t#H$t$H%t%H&t&H't'H(t(H)t*H+t+H,t,H-t-H.t.H/t/H0t0H1t1H2t2H3t3H4t4H5t5H6t6H7t7H8t9 R
 t:/ t;] ^k RR R llt<]Pz                  R8w  d   ^ RI H>t> ^RI?H@t@HAtA ^RIB5 ^RIBHCtCHDtDHEtEHFtFHGtGHHtHHItIHJtJHKtKHLtLHMtMHNtNHOtOHPtP ^RIQHRtR ^RISHTtTHUtUHStS ]5! 4        R#  ! R R4      tV]V]P®                  R,          nX        ]V]P®                  R,          n2        R# )é    N)Ú	timedeltac                ó$   € V ^8„  d   QhR\         /# ©é   Úreturn©Úbool)Úformats   "Ú[/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/distributed/__init__.pyÚ__annotate__r      s   € ÷ +ñ +”dñ +ó    c                 ó6   € \        \        P                  R4      # )a  
Return ``True`` if the distributed package is available.

Otherwise,
``torch.distributed`` does not expose any other APIs. Currently,
``torch.distributed`` is available on Linux, MacOS and Windows. Set
``USE_DISTRIBUTED=1`` to enable it when building PyTorch from source.
Currently, the default value is ``USE_DISTRIBUTED=1`` for Linux and Windows,
``USE_DISTRIBUTED=0`` for MacOS.
Ú
_c10d_init)ÚhasattrÚtorchÚ_C© r   r   Úis_availabler      s   € ô ”5—8‘8˜\Ó*Ð*r   c                ó$   € V ^8„  d   QhR\         /# r   r   )r
   s   "r   r   r   #   s   € ÷ !ñ !¤$ñ !r   c                 ó`   € ^ RI p \        f   V P                  P                  R4      RJs\        # )z-Check if the spmd_types package is installed.NÚ
spmd_types)Úimportlib.utilÚ_spmd_types_availableÚutilÚ	find_spec)Ú	importlibs    r   Ú_is_spmd_types_availabler   #   s-   € ãô Ò$Ø )§¡× 8Ñ 8¸Ó FÈdÐ RÐÜ Ð r   c                 ó„   € \        4       '       d   ^ RIp V P                  4       # \        P                  R 4       pV! 4       # )zH
Return a spmd_types no_typecheck context, or a no-op if not installed.
Nc               3   ó   "  € R x € R # 5i)Nr   r   r   r   Úno_typecheckÚ(_spmd_no_typecheck.<locals>.no_typecheck6   s   é € åùs   ‚	)r   r   r    Ú
contextlibÚcontextmanager)r   r    s     r   Ú_spmd_no_typecheckr$   -   sA   € ô  ×!Ò!Ûà×&Ñ&Ó(Ð(ä×Ññó ðñ ‹>Ðr   z&Failed to initialize torch.distributed)Ú_broadcast_coalescedÚ"_compute_bucket_assignment_by_sizeÚ_DEFAULT_FIRST_BUCKET_BYTESÚ_make_nccl_premul_sumÚ_register_builtin_comm_hookÚ_register_comm_hookÚ_test_python_storeÚ_verify_params_across_processesÚBackendÚBuiltinCommHookTypeÚ
DebugLevelÚ	FileStoreÚget_debug_levelÚ
GradBucketÚLoggerÚPrefixStoreÚProcessGroupÚReducerÚset_debug_levelÚset_debug_level_from_envÚStoreÚTCPStoreÚWorkc                 óJ   a€ ^ RI o ! V3R lRSP                  4      p V ! 4       # )zm
Supports using PDB from inside a multiprocessing child process.

Usage:
_make_distributed_pdb().set_trace()
Nc                   ó.   <a € ] tR t^mt o V3R ltRtV tR# )Ú._make_distributed_pdb.<locals>._DistributedPdbc                ó  <€ \         P                  p \        R 4      ;_uu_ 4       \         n        SP                  P                  ! V .VO5/ VB  RRR4       V\         n        R#   + '       g   i     L; i  T\         n        i ; i)z
/dev/stdinN)ÚsysÚstdinÚopenÚPdbÚinteraction)ÚselfÚargsÚkwargsÚ_stdinÚpdbs   &*, €r   rD   Ú:_make_distributed_pdb.<locals>._DistributedPdb.interactionn   s]   ø€ ÜŸ™�ð'Ü˜l×+Ô+¬s¬yØŸ™×+Ò+¨DÐB°4ÒB¸6ÒB÷ ,ð !'”C–I÷ ,×+ûð !'”C•Iús"   “A8 ¦*A%ÁA8 Á%A5	Á0A8 Á8Br   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__rD   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__rI   s   @€r   Ú_DistributedPdbr>   m   s   ù‡ € ÷'ó 'r   rR   )rI   rC   )rR   rI   s    @r   Ú_make_distributed_pdbrS   b   s#   ø€ ó 	÷	'˜cŸg™gô 	'ñ Ó Ð r   c                ó0   € V ^8„  d   QhR\         R\         /# )r   ÚrankÚskip)Úint)r
   s   "r   r   r   z   s   € ÷ (ñ (œð (¬ñ (r   c                ó‚  € V^ 8”  dl   \        \        \        P                  ! 4       4      4      p\        P                  V^ 4      ^,           pV\        V&   WA8:  d   \        P                  RV4       R# Ve`   \        P                  P                  P                   F7  p\        P                  P                  P                  \        VR7      V4       K9  	  \        4       V 8X  d0   \        4       pVP!                  RV  R24       VP#                  4        \        P$                  P'                  4       p\        P$                  P)                  4       p\        P$                  P+                  R4        \-        4        \        P$                  P+                  V4       ?R#   \        P$                  P+                  T4       ?i ; i)a  
Set a breakpoint, but only on a single rank.  All other ranks will wait for you to be
done with the breakpoint before continuing.

Args:
    rank (int): Which rank to break on.  Default: ``0``
    skip (int): Skip the first ``skip`` calls to this breakpoint. Default: ``0``.
zSkip the breakpoint, counter=%dN)ÚsecondszS
!!! ATTENTION !!!

Type 'up' to get to the frame that called dist.breakpoint(rank=z)
F)ÚhashÚstrÚ	tracebackÚ
format_excÚ_breakpoint_cacheÚgetÚlogÚwarningr   ÚdistributedÚdistributed_c10dÚ_pg_mapÚset_timeoutr   Úget_rankrS   ÚmessageÚ	set_tracer   Ú_meta_in_tls_dispatch_includeÚ_DisableTorchDispatchÚ!_set_meta_in_tls_dispatch_includeÚbarrier)	rU   rV   Ú	timeout_sÚkeyÚcounterÚgrouprI   Úmeta_in_tlsÚguards	   &&&      r   Ú
breakpointrs   z   sU  € ð �!Œ8Ü”sœ9×/Ò/Ó1Ó2Ó3ˆCÜ'×+Ñ+¨C°Ó3°aÕ7ˆGØ%,Ô˜cÑ"ØŒÜ—‘Ð=¸wÔGÙð Ò Ü×*Ñ*×;Ñ;×CÔC�Ü×!Ñ!×2Ñ2×>Ñ>Ü iÔ0°%öñ Dô
 ‹:˜ÔÜ'Ó)ˆCØ�K‰KðRØRVÐQWÐWZð\ôð �M‰MŒOô —h‘h×<Ñ<Ó>ˆÜ—‘×.Ñ.Ó0ˆÜ�‰×2Ñ2°5Ô9ð	ÜŒIä�H‰H×6Ñ6°{ÔCÚøô �H‰H×6Ñ6°{ÔCÙús   Å0
F Æ"F>Úwin32)Ú	HashStore)Ú
DeviceMeshÚinit_device_mesh)Ú*)Ú_all_gather_baseÚ_coalescing_managerÚ_CoalescingManagerÚ_create_process_group_wrapperÚ_get_process_group_nameÚ_get_reconfigure_handleÚ_new_windowÚ_rank_not_in_groupÚ_reconfigureÚ_reduce_scatter_baseÚ_supports_reconfigureÚ_supports_windowÚ_time_estimatorÚget_node_local_rank)Ú_remote_device)Ú_create_store_from_optionsÚregister_rendezvous_handlerÚ
rendezvousc                   ó   € ] tR t^ÍtRtR# )Ú_Stubr   N)rK   rL   rM   rN   rO   r   r   r   rŒ   rŒ   Í   s   † Ûr   rŒ   ztorch.distributedc                ó¬   € V ^8„  d   Qh/ ^ \         9   d   \        R,          ;R&   ^\         9   d%   \        \        \        P
                  3,          ;R&   # )r   Nr   r^   )Ú__conditional_annotations__r	   ÚdictrW   ÚtypingÚAny)r
   s   "r   r   r      s?   € × Ñ ÷< *Ò )”t˜d•{Ñ )ñ= ÷l 2Ò1”tœC¤§¡˜OÕ,Ñ1òm r   )r   r   i  )ZrŽ   r"   Úloggingr@   r\   r�   Údatetimer   r   rW   ÚSymIntÚRankTypeÚ	getLoggerrK   r`   r   r   r   r$   r   r   ÚRuntimeErrorÚ
_DistErrorÚ	DistErrorÚ_DistBackendErrorÚDistBackendErrorÚ_DistNetworkErrorÚDistNetworkErrorÚ_DistStoreErrorÚDistStoreErrorÚ_DistQueueEmptyErrorÚQueueEmptyErrorÚtorch._C._distributed_c10dr%   r&   r'   r(   r)   r*   r+   r,   r-   Ú_Backendr.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   Ú_WorkrS   r^   rs   Úplatformru   Údevice_meshrv   rw   rc   ry   rz   r{   r|   r}   r~   r   r€   r�   r‚   rƒ   r„   r…   r†   Úremote_devicer‡   rŠ   rˆ   r‰   rŒ   ÚmodulesÚ	GroupNamer   )rŽ   s   @r   Ú<module>rª      s„  øðç Ð Û Û 
Û Û Ý ã ð �—‘Õ€ð ×Ò˜Ó!€õ+ð &*Ð Ó )õ!òñ  ‡>‚>˜%Ÿ(™(×-Ñ-×/Ò/Ù
Ð?Ó
@Ð@ð �H‰H×Ñ€	Ø—8‘8×-Ñ-Ð Ø—8‘8×-Ñ-Ð Ø—‘×)Ñ)€Ø—(‘(×/Ñ/€á‡>‚>÷÷ ÷ ÷ ÷ ÷ ñ ò4!ð, 02ÐÓ1÷(ðT ‡|�|�wÔÝ8ç9ô
 $÷÷ ÷ ÷ õ  .÷ñ ñ Ö÷ñ ð 27€C‡K�KÐ#Õ$Ô.Ø49€C‡K�KÐ#Õ$Ö1r   