+
     °³j	  ã                   óÚ   € ^ RI t ^ RIHtHt ^ RIt^ RIt^RIHt ^RI	H
t
 ^RIHtHt ^RIHtHtHtHtHtHtHtHt ]! 4       '       d
   ^ RIHu Ht RR R lltRR	 R
 lltRR R lltR# )é    N)ÚOptionalÚUnion)ÚAcceleratorState)ÚCUDA_DISTRIBUTED_TYPES)ÚDistributedTypeÚRNGType)Úis_hpu_availableÚis_mlu_availableÚis_musa_availableÚis_neuron_availableÚis_npu_availableÚis_sdaa_availableÚis_torch_xla_availableÚis_xpu_availablec                ó<   € V ^8„  d   QhR\         R\        R\        /# )é   ÚseedÚdevice_specificÚdeterministic)ÚintÚbool)Úformats   "ÚX/home/luca/screen-checking/.venv/lib/python3.14/site-packages/accelerate/utils/random.pyÚ__annotate__r   (   s!   € ÷ &1ñ &1”3ð &1¬ð &1Ädñ &1ó    c                óP  € V'       d   V \        4       P                  ,          p \        P                  ! V 4       \        P                  P                  V 4       \
        P                  ! V 4       \        4       '       d"   \
        P                  P                  V 4       EM@\        4       '       d"   \
        P                  P                  V 4       EM\        4       '       d!   \
        P                  P                  V 4       Mß\        4       '       d!   \
        P                  P                  V 4       M¯\!        4       '       d!   \
        P"                  P                  V 4       M\%        4       '       d!   \
        P&                  P                  V 4       MO\)        4       '       d!   \
        P*                  P                  V 4       M\
        P,                  P                  V 4       \/        4       '       d   \0        P2                  ! V 4       V'       d   \
        P4                  ! R4       R# R# )a·  
Helper function for reproducible behavior to set the seed in `random`, `numpy`, `torch`.

Args:
    seed (`int`):
        The seed to set.
    device_specific (`bool`, *optional*, defaults to `False`):
        Whether to differ the seed on each device slightly with `self.process_index`.
    deterministic (`bool`, *optional*, defaults to `False`):
        Whether to use deterministic algorithms where available. Can slow down training.
TN)r   Úprocess_indexÚrandomr   ÚnpÚtorchÚmanual_seedr   ÚxpuÚmanual_seed_allr   Únpur
   Úmlur   Úsdaar   Úmusar	   Úhpur   ÚneuronÚcudar   ÚxmÚset_rng_stateÚuse_deterministic_algorithms)r   r   r   s   &&&r   Úset_seedr.   (   sA  € ÷ ØÔ Ó"×0Ñ0Õ0ˆÜ
‡K‚K�ÔÜ‡I�I‡N�N�4ÔÜ	×Ò�dÔÜ×ÒÜ�	‰	×!Ñ! $Ö'Ü	×	Ò	Ü�	‰	×!Ñ! $Ö'Ü	×	Ò	Ü�	‰	×!Ñ! $Õ'Ü	×	Ò	Ü�
‰
×"Ñ" 4Õ(Ü	×	Ò	Ü�
‰
×"Ñ" 4Õ(Ü	×	Ò	Ü�	‰	×!Ñ! $Õ'Ü	×	Ò	Ü�‰×$Ñ$ TÕ*ä�
‰
×"Ñ" 4Ô(ä×ÒÜ
×Ò˜ÔçÜ×*Ò*¨4Ö0ñ r   c                óp   € V ^8„  d   QhR\         \        ,          R\         \        P                  ,          /# )r   Úrng_typeÚ	generator)r   r   r    Ú	Generator)r   s   "r   r   r   Q   s/   € ÷ O'ñ O'¤H¬WÕ$5ð O'ÌÔRW×RaÑRaÕIbñ O'r   c                 ó€  € V \         P                  8X  d   \        P                  ! 4       pEMÍV \         P                  8X  d!   \        P
                  P                  4       pEM˜V \         P                  8X  dC   \        4       '       g   Q R 4       h\        P                  ! \        P                  ! 4       4      pEMAV \         P                  8X  d8   \        4       '       g   Q R4       h\        P                  P                  4       pEMõV \         P                  8X  d8   \        4       '       g   Q R4       h\        P                  P                  4       pEM©V \         P                   8X  d8   \#        4       '       g   Q R4       h\        P$                  P                  4       pEM]V \         P&                  8X  d8   \)        4       '       g   Q R4       h\        P*                  P                  4       pEMV \         P,                  8X  d7   \/        4       '       g   Q R4       h\        P0                  P                  4       pMÆV \         P2                  8X  d7   \5        4       '       g   Q R4       h\        P6                  P                  4       pM{V \         P8                  8X  d7   \;        4       '       g   Q R4       h\        P<                  P                  4       pM0V \         P>                  8X  d   Vf   Q R	4       hVPA                  4       p\C        4       pVPD                  \F        P                  8X  dc   XPI                  \        PJ                  ! 4       4      p\        PL                  ! V.4       \        PN                  ! 4        VPQ                  4       pEMyVPD                  \R        9   gÚ   VPD                  \F        PT                  8X  g»   VPD                  \F        PV                  8X  gœ   VPD                  \F        PX                  8X  g}   VPD                  \F        PZ                  8X  g^   VPD                  \F        P\                  8X  g?   VPD                  \F        P^                  8X  g    VPD                  \F        P`                  8X  dM   XPI                  VPb                  4      p\        Pd                  Pg                  V^ 4       VPQ                  4       pM?VPD                  \F        Ph                  8X  d!   \        Pd                  Pg                  X^ 4       V \         P                  8X  d   \        Pj                  ! X4       R# V \         P                  8X  d"   \        P
                  Pk                  X4       R# V \         P                  8X  d"   \        P                  Pk                  X4       R# V \         P                  8X  d"   \        P                  Pk                  X4       R# V \         P                   8X  d"   \        P$                  Pk                  X4       R# V \         P&                  8X  d"   \        P*                  Pk                  X4       R# V \         P,                  8X  d"   \        P0                  Pk                  X4       R# V \         P2                  8X  d"   \        P6                  Pk                  X4       R# V \         P8                  8X  d"   \        P<                  Pk                  X4       R# V \         P                  8X  d'   \        Pj                  ! XPm                  4       4       R# V \         P>                  8X  d   VPo                  X4       R# R# )
z8Can't synchronize XLA seeds as torch_xla is unavailable.z;Can't synchronize NPU seeds on an environment without NPUs.z;Can't synchronize MLU seeds on an environment without MLUs.z=Can't synchronize SDAA seeds on an environment without SDAAs.z=Can't synchronize MUSA seeds on an environment without MUSAs.z;Can't synchronize XPU seeds on an environment without XPUs.z;Can't synchronize HPU seeds on an environment without HPUs.zFCan't synchronize Neuron seeds on an environment without Neuron Cores.Nz)Need a generator to synchronize its seed.)8r   ÚTORCHr    Úget_rng_stateÚCUDAr*   ÚXLAr   Útensorr+   ÚNPUr   r$   ÚMLUr
   r%   ÚSDAAr   r&   ÚMUSAr   r'   ÚXPUr   r"   ÚHPUr	   r(   ÚNEURONr   r)   Ú	GENERATORÚ	get_stater   Údistributed_typer   ÚtoÚ
xla_deviceÚcollective_broadcastÚ	mark_stepÚcpur   Ú	MULTI_MLUÚ
MULTI_SDAAÚ
MULTI_MUSAÚ	MULTI_NPUÚ	MULTI_XPUÚ	MULTI_HPUÚMULTI_NEURONÚdeviceÚdistributedÚ	broadcastÚ	MULTI_CPUr,   ÚitemÚ	set_state)r0   r1   Ú	rng_stateÚstates   &&  r   Úsynchronize_rng_staterW   Q   s¡  € à”7—=‘=Ô Ü×'Ò'Ó)Š	Ø	”W—\‘\Ô	!Ü—J‘J×,Ñ,Ó.Š	Ø	”W—[‘[Ô	 Ü%×'Ò'ÐcÐ)cÓcÐ'Ü—L’L¤×!1Ò!1Ó!3Ó4Š	Ø	”W—[‘[Ô	 Ü×!Ò!Ð`Ð#`Ó`Ð!Ü—I‘I×+Ñ+Ó-Š	Ø	”W—[‘[Ô	 Ü×!Ò!Ð`Ð#`Ó`Ð!Ü—I‘I×+Ñ+Ó-Š	Ø	”W—\‘\Ô	!Ü ×"Ò"ÐcÐ$cÓcÐ"Ü—J‘J×,Ñ,Ó.Š	Ø	”W—\‘\Ô	!Ü ×"Ò"ÐcÐ$cÓcÐ"Ü—J‘J×,Ñ,Ó.Š	Ø	”W—[‘[Ô	 Ü×!Ò!Ð`Ð#`Ó`Ð!Ü—I‘I×+Ñ+Ó-‰	Ø	”W—[‘[Ô	 Ü×!Ò!Ð`Ð#`Ó`Ð!Ü—I‘I×+Ñ+Ó-‰	Ø	”W—^‘^Ô	#Ü"×$Ò$ÐnÐ&nÓnÐ$Ü—L‘L×.Ñ.Ó0‰	Ø	”W×&Ñ&Ô	&ØÒ$ÐQÐ&QÓQÐ$Ø×'Ñ'Ó)ˆ	ô Ó€EØ×Ñ¤×!4Ñ!4Ô4Ø—L‘L¤§¢£Ó1ˆ	Ü
×Ò  Ô,Ü
�ŠŒØ—M‘M“OŠ	à×ÑÔ"8Ô8Ø×!Ñ!¤_×%>Ñ%>Ô>Ø×!Ñ!¤_×%?Ñ%?Ô?Ø×!Ñ!¤_×%?Ñ%?Ô?Ø×!Ñ!¤_×%>Ñ%>Ô>Ø×!Ñ!¤_×%>Ñ%>Ô>Ø×!Ñ!¤_×%>Ñ%>Ô>Ø×!Ñ!¤_×%AÑ%AÔAà—L‘L §¡Ó.ˆ	Ü×Ñ×#Ñ# I¨qÔ1Ø—M‘M“O‰	Ø	×	Ñ	¤?×#<Ñ#<Ô	<Ü×Ñ×#Ñ# I¨qÔ1ð ”7—=‘=Ô Ü×Ò˜IÖ&Ø	”W—\‘\Ô	!Ü�
‰
× Ñ  Ö+Ø	”W—[‘[Ô	 Ü�	‰	×Ñ 	Ö*Ø	”W—[‘[Ô	 Ü�	‰	×Ñ 	Ö*Ø	”W—\‘\Ô	!Ü�
‰
× Ñ  Ö+Ø	”W—\‘\Ô	!Ü�
‰
× Ñ  Ö+Ø	”W—[‘[Ô	 Ü�	‰	×Ñ 	Ö*Ø	”W—[‘[Ô	 Ü�	‰	×Ñ 	Ö*Ø	”W—^‘^Ô	#Ü�‰×"Ñ" 9Ö-Ø	”W—[‘[Ô	 Ü
×Ò˜Ÿ™Ó)Ö*Ø	”W×&Ñ&Ô	&Ø×Ñ˜IÖ&ñ 
'r   c                ó’   € V ^8„  d   QhR\         \        \        \        3,          ,          R\        \
        P                  ,          /# )r   Ú	rng_typesr1   )Úlistr   Ústrr   r   r    r2   )r   s   "r   r   r   £   s8   € ÷ Fñ F¤d¬5´´g°Õ+>Õ&?ð FÌHÔUZ×UdÑUdÕLeñ Fr   c                 óD   € V  F  p\        \        V4      VR 7       K  	  R# ))r1   N)rW   r   )rY   r1   r0   s   && r   Úsynchronize_rng_statesr]   £   s   € ÛˆÜœg hÓ/¸9×Eó r   )FF)NN)N)r   Útypingr   r   Únumpyr   r    rV   r   Ú	constantsr   Údataclassesr   r   Úimportsr	   r
   r   r   r   r   r   r   Útorch_xla.core.xla_modelÚcoreÚ	xla_modelr+   r.   rW   r]   © r   r   Ú<module>rg      sU   ðó ß "ã Û å $Ý -ß 1÷	÷ 	ó 	ñ ×Òß)Ð)÷&1÷RO'÷dFñ Fr   