+
    "Ý³j<-  ã                  óî   € ^ RI Ht ^ RIHt ^ RIt^ RIHt ^ RIHtHt R R lt	RR/R	 R
 llt
R R ltR R ltR R ltR!R R lltR"R R lltR R ltR R ltR R ltR R ltR R ltR R  ltR# )#é    )Úannotations)Ú
MethodTypeN)Únn)Ú_ExpertContainerÚ_install_compact_expert_reprc               ó   € V ^8„  d   QhRR/# )é   Úmoduleú	nn.Module© )Úformats   "Úb/home/luca/screen-checking/.venv/lib/python3.14/site-packages/defuser/modeling/runtime_defusion.pyÚ__annotate__r      s   € ÷ ñ ˜9ñ ó    c                óŽ   € \        V R R4      pVf   \        V RR4      pVf#   \        V P                  P                   R24      hV# )Úactivation_fnNÚact_fnz% is missing `activation_fn`/`act_fn`.)ÚgetattrÚAttributeErrorÚ	__class__Ú__name__)r
   r   s   & r   Ú_activation_fnr      sM   € Ü�V˜_¨dÓ3€FØ‚~Ü˜ ¨4Ó0ˆØ‚~Ü × 0Ñ 0× 9Ñ 9Ð:Ð:_Ð`ÓaÐaØ€Mr   Úbiasc          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# )
r	   Úin_featuresÚintÚout_featuresÚweightútorch.Tensorr   ztorch.Tensor | NoneÚreturnú	nn.Linearr   )r   s   "r   r   r      s<   € ÷ ñ àðð ðð ð	ð
 ðð ñr   c                óP  € \         P                  ! V VVR JVP                  VP                  R7      p\        P
                  ! 4       ;_uu_ 4        VP                  P                  V4       Ve   VP                  P                  V4       R R R 4       V#   + '       g   i     T# ; i)N)r   ÚdeviceÚdtype)	r   ÚLinearr#   r$   ÚtorchÚno_gradr   Úcopy_r   )r   r   r   r   Úlinears   $$$$ r   Ú_make_linearr*      s€   € ô �YŠYØØØ˜ÐØ�}‰}Ø�l‰lô€Fô 
�Š��Ø�‰×Ñ˜FÔ#ØÒØ�K‰K×Ñ˜dÔ#÷ 
ð €M÷	 
Žð €Mús   Á;BÂB%	c               ó    € V ^8„  d   QhRRRR/# )r	   Úgate_up_projr!   r    ztuple[nn.Linear, nn.Linear]r   )r   s   "r   r   r   .   s   € ÷ ñ ¨	ð Ð6Qñ r   c                óx  € V P                   ^,          pV P                  pVe   VRV P                  4       MRpVe   W!R P                  4       MRp\        V P                  VV P
                  RV P                  4       VR7      p\        V P                  VV P
                  VR P                  4       VR7      pWV3# )r	   N)r   r   r   r   )r   r   Ú
contiguousr*   r   r   )r,   Ú
split_sizer   Ú	gate_biasÚup_biasÚ	gate_projÚup_projs   &      r   Ú_split_gate_up_linearr4   .   sÄ   € Ø×*Ñ*¨aÕ/€JØ×Ñ€DØ26Ò2B��[�jÐ!×,Ñ,Ô.È€IØ04Ò0@ˆd�;Ð×*Ñ*Ô,Àd€GÜØ ×,Ñ,ØØ×"Ñ" ; JÐ/×:Ñ:Ó<Øô	€Iô Ø ×,Ñ,ØØ×"Ñ" : ;Ð/×:Ñ:Ó<Øô	€Gð ÐÐr   c               ó$   € V ^8„  d   QhRRRRRR/# ©r	   Úselfr   Úhidden_statesr   r    r   )r   s   "r   r   r   B   s"   € ÷ ;ñ ;¨)ð ;ÀLð ;ÐUañ ;r   c                ó”   € V P                  V4      pV P                  V4      pV P                  V\        V 4      ! V4      ,          4      # ©N)r2   r3   Ú	down_projr   ©r7   r8   ÚgateÚups   &&  r   Ú_standard_split_gate_up_forwardr?   B   s<   € Ø�>‰>˜-Ó(€DØ	�‰�mÓ	$€BØ�>‰>˜"œ~¨dÔ3°DÓ9Õ9Ó:Ð:r   c               ó$   € V ^8„  d   QhRRRRRR/# r6   r   )r   s   "r   r   r   H   s"   € ÷ 'ñ '¨Ið 'Àlð 'ÐWcñ 'r   c                óü   € V P                  V4      pV P                  V4      pV P                  V4      pW0P                  V4      ,          pV P	                  V4      pV P                  V4      pV P	                  V4      # r:   )Ú
layer_normr2   r3   r   Údropoutr;   r<   s   &&  r   Ú!_phi4_audio_split_gate_up_forwardrD   H   sh   € Ø—O‘O MÓ2€MØ�>‰>˜-Ó(€DØ	�‰�mÓ	$€BØ	�k‰k˜$ÓÕ	€BØ	�‰�bÓ	€BØ—N‘N 2Ó&€MØ�<‰<˜Ó&Ð&r   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r	   r7   r   Úhidden_stater   Ú	layer_idxz
int | Noner    r   )r   s   "r   r   r   R   s0   € ÷ 
>ñ 
>Ø
ð
>àð
>ð ð
>ð ñ	
>r   c                ó>  € V P                   V,          pV P                  V,          ! V4      p\        P                  ! V^RR7      w  rEV P	                  V4      V,           pV P                  V4      V,           pV P                  V P                  V4      V,          4      # )r	   ©Údiméÿÿÿÿ)Ú	layer_dicÚgate_up_proj_adapter_listr&   Úchunkr2   r3   r;   r   )r7   rF   rG   Úadapter_outÚgate_adapterÚ
up_adapterÚ
gate_stateÚup_states   &&&     r   Ú_zamba2_split_gate_up_forwardrT   R   s   € ð
 —‘˜yÕ)€IØ×0Ñ0°Ö;¸LÓI€KÜ$Ÿ{š{¨;¸¸rÔBÑ€LØ—‘ Ó-°Õ<€JØ�|‰|˜LÓ)¨JÕ6€HØ�>‰>˜$Ÿ+™+ jÓ1°HÕ<Ó=Ð=r   c               ó$   € V ^8„  d   QhRRRRRR/# )r	   r
   r   ÚvariantÚstrr    Úboolr   )r   s   "r   r   r   _   s!   € ÷ ñ  Ið ¸ð ÈTñ r   c                óò  € \        V R R4      '       d   R# \        V RR4      p\        V\        P                  4      '       g   R# \	        V4      w  r4VR8X  d   YCrCV P                  RV4       V P                  RV4       \        V R4       VR8X  d   \        \        V 4      V n	        MHVR8X  d   \        \        V 4      V n	        M+VR8X  d   \        \        V 4      V n	        M\        R	V 24      hR
V n        R
# )Ú_defuser_split_gate_up_runtimeFr,   NÚ
phi4_audior2   r3   ÚstandardÚzamba2z'Unsupported split gate_up MLP variant: T)r   Ú
isinstancer   r%   r4   Ú
add_moduleÚdelattrr   r?   ÚforwardrD   rT   Ú
ValueErrorrZ   )r
   rV   r,   r2   r3   s   &&   r   Úpatch_split_gate_up_mlprc   _   sÞ   € ÜˆvÐ7¸×?Ò?Ùä˜6 >°4Ó8€LÜ�l¤B§I¡I×.Ò.Ùä.¨|Ó<Ñ€IØ�,ÔØ$�7Ø
×Ñ�k 9Ô-Ø
×Ñ�i Ô)ÜˆF�NÔ#à�*ÔÜ#Ô$CÀVÓLˆ�Ø	�LÔ	 Ü#Ô$EÀvÓNˆ�Ø	�HÔ	Ü#Ô$AÀ6ÓJˆ�äÐBÀ7À)ÐLÓMÐMà,0€FÔ)Ùr   c               ó$   € V ^8„  d   QhRRRRRR/# )r	   r7   r   Úinputsr   r    r   )r   s   "r   r   r   {   s"   € ÷ )ñ ) Ið )°|ð )ÐUañ )r   c           	     ó  € VP                  V^ R7      p. p\        V P                  4       F<  pVP                  \	        V \        V4      4      P                  W5,          4      4       K>  	  \        P                  ! V^ R7      # )r   rI   )	ÚsplitÚrangeÚnum_expertsÚappendr   rW   r)   r&   Úcat)r7   re   Úexpert_sizeÚ
input_listÚoutput_listÚ
expert_idxs   &&&   r   Ú_parallel_experts_forwardrp   {   sf   € Ø—‘˜k¨q�Ó1€JØ€KÜ˜D×,Ñ,Ö-ˆ
Ø×Ñœ7 4¬¨Z«Ó9×@Ñ@ÀÕAWÓXÖYñ .ä�9Š9�[ aÔ(Ð(r   c               ó    € V ^8„  d   QhRRRR/# ©r	   r
   r   r    rX   r   )r   s   "r   r   r   ƒ   s   € ÷ ñ  9ð °ñ r   c                ó>  € \        V R R4      '       d   R# \        V RR4      p\        V\        P                  4      '       d   VP	                  4       ^8w  d   R# \        V P                  4       Fp  p\        4       p\        V P                  V P                  W,          P                  4       R7      pVP                  RV4       V P                  \        V4      V4       Kr  	  \        V R4       \        \         V 4      V n        RV n        RV n        \)        V 4       R# )Ú!_defuser_parallel_experts_runtimeFr   N©r   r   r   r)   T)r   r^   r   Ú	ParameterrJ   rh   ri   r   r*   Ú
input_sizeÚoutput_sizer.   r_   rW   r`   r   rp   ra   Ú_unfused_expertsrt   r   )r
   r   ro   Ú	containerr)   s   &    r   Úpatch_parallel_expertsr{   ƒ   sè   € ÜˆvÐ:¸E×BÒBÙä�V˜X tÓ,€FÜ�fœbŸl™l×+Ò+¨v¯z©z«|¸qÔ/@Ùä˜F×.Ñ.Ö/ˆ
Ü$Ó&ˆ	ÜØ×)Ñ)Ø×+Ñ+ØÕ%×0Ñ0Ó2ô
ˆð
 	×Ñ˜X vÔ.Ø×Ñœ#˜j›/¨9Ö5ñ 0ô ˆF�HÔÜÔ 9¸6ÓB€F„NØ"€FÔØ/3€FÔ,Ü  Ô(Ùr   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR/# ©r	   r7   r   r8   r   Útop_k_indexÚtop_k_weightsr    r   )r   s   "r   r   r   �   s:   € ÷ ñ Ø
ðàðð ðð  ð	ð
 ñr   c                ó¸  € \         P                  ! V4      pVP                  4       ^ 8X  d   V# \         P                  P                  P                  W P                  R7      P                  ^^^ 4      p\         P                  ! VP                  RR7      ^ 4      P                  RR7      pV EF)  p\        VP                  4       4      p\         P                  ! WX,          P                  ^ 4      4      w  ršV
P                  4       ^ 8X  d   Ka  \        V \!        V4      4      pW,          p\#        VR4      '       d   VP%                  V4      pMKVP'                  V4      pVP)                  V4      pV P+                  V4      V,          pVP-                  V4      pWÓW©R3,          ,          pVP/                  ^ W­P1                  VP2                  4      4       EK,  	  V# )r   ©Únum_classesrI   F)Úas_tupleÚidentityN©rK   éþÿÿÿ)r&   Ú
zeros_likeÚnumelr   Ú
functionalÚone_hotÚtotal_expertsÚpermuteÚgreaterÚsumÚnonzeror   ÚitemÚwhereÚsqueezer   rW   Úhasattrr„   r2   r3   r   r;   Ú
index_add_Útor$   )r7   r8   r~   r   Úfinal_hidden_statesÚexpert_maskÚ
expert_hitÚexpert_idx_tensorro   Úselection_idxÚ	token_idxÚexpertÚcurrent_stateÚcurrent_hidden_statesr=   r>   s   &&&&            r   Ú_longcat_flash_forwardrŸ   �   s�  € ô  ×*Ò*¨=Ó9ÐØ×ÑÓ˜aÔØ"Ð"ä—(‘(×%Ñ%×-Ñ-¨k×GYÑGYÐ-ÓZ×bÑbÐcdÐfgÐijÓk€KÜ—’˜{Ÿ™°8˜Ó<¸aÓ@×HÑHÐRWÐHÓX€JÜ'ÐÜÐ*×/Ñ/Ó1Ó2ˆ
Ü#(§;¢;¨{Õ/F×/NÑ/NÈqÓ/QÓ#RÑ ˆØ�?‰?Ó Ô!Ùä˜œs :›Ó/ˆØ%Õ0ˆÜ�6˜:×&Ò&Ø$*§O¡O°MÓ$BÑ!à×#Ñ# MÓ2ˆDØ—‘ Ó.ˆBØ$(§K¡K°Ó$5¸Õ$:Ð!Ø$*×$4Ñ$4Ð5JÓ$KÐ!à 5ÀiÐ`dÐFdÕ8eÕ eÐØ×&Ñ& q¨)×5MÑ5MÈm×NaÑNaÓ5b×cñ# (ð& Ðr   c               ó    € V ^8„  d   QhRRRR/# rr   r   )r   s   "r   r   r   ¿   s   € ÷ .ñ .¨	ð .°dñ .r   c                óR  € \        V R R4      '       d   R# \        V RR4      p\        V RR4      pVf   Vf   \        V R4      '       d   R# \        V P                  4       EFF  p\	        4       pW0P
                  8  dé   Veå   Veá   W,          pVP                  ^ ,          ^,          p\        V P                  VVRV P                  4       R7      p\        V P                  VWVR P                  4       R7      p\        V P                  V P                  W#,          P                  4       R7      p	VP                  RV4       VP                  RV4       VP                  RV	4       M%VP                  R	\        P                  ! 4       4       V P                  \        V4      V4       EKI  	  \        V R4      '       d   \        V R4       \        V R4      '       d   \        V R4       V P                  V n        \#        \$        V 4      V n        R
V n        R
V n        \-        V 4       R
# )Ú_defuser_longcat_runtimeFr,   Nr;   Ú0ru   r2   r3   r„   T)r   r“   rh   r‹   r   Únum_routed_expertsÚshaper*   Úhidden_sizer.   Úintermediate_sizer_   r   ÚIdentityrW   r`   ri   r   rŸ   ra   ry   r¢   r   )
r
   r,   r;   ro   rz   Úfused_gate_upr/   r2   r3   Údown_linears
   &         r   Úpatch_longcat_flash_expertsr«   ¿   sß  € ÜˆvÐ1°5×9Ò9Ùä˜6 >°4Ó8€LÜ˜ ¨TÓ2€IØÒ 	Ò 1´g¸fÀc×6JÒ6JÙä˜F×0Ñ0×1ˆ
Ü$Ó&ˆ	Ø×1Ñ1Ô1°lÒ6NÐS\ÒShØ(Õ4ˆMØ&×,Ñ,¨QÕ/°1Õ4ˆJÜ$Ø"×.Ñ.Ø'Ø$ [ jÐ1×<Ñ<Ó>ôˆIô
 #Ø"×.Ñ.Ø'Ø$ [Ð1×<Ñ<Ó>ôˆGô
 'Ø"×4Ñ4Ø#×/Ñ/Ø Õ,×7Ñ7Ó9ôˆKð
 × Ñ  ¨iÔ8Ø× Ñ  ¨GÔ4Ø× Ñ  ¨kÕ:à× Ñ  ¬R¯[ª[«]Ô;Ø×Ñœ#˜j›/¨9×5ñ3 2ô6 ˆv�~×&Ò&Ü�˜Ô'Üˆv�{×#Ò#Ü�˜Ô$à×-Ñ-€FÔÜÔ 6¸Ó?€F„NØ"€FÔØ&*€FÔ#Ü  Ô(Ùr   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR/# r}   r   )r   s   "r   r   r   ð   sA   € ÷ Bñ BØ
ðBàðBð ðBð  ð	Bð
 ñBr   c                ó&  € VP                   ^ ,          pVP                  RV P                  4      p\        P                  ! WP
                  VP                  R7      p\        P                  ! 4       ;_uu_ 4        \        P                  P                  P                  W P                  R7      P                  ^^^ 4      p\        P                  ! VP                  RR7      ^ 4      P                  4       P!                  4       pRRR4       XP#                  4        FÄ  p\        P$                  ! XV,          4      w  rš\'        V \)        V4      4      pW,          pV P+                  VP-                  V4      4      VP/                  V4      ,          pVP1                  V4      pVP3                  RV P                  4      W:V	R3,          ,          pVP5                  ^ W­4       KÆ  	  VP3                  VRV P                  4      #   + '       g   i     EL; i)r   )r$   r#   r�   rI   NrK   r…   )r¥   ÚreshapeÚffn_hidden_sizer&   r‡   r$   r#   r'   r   r‰   rŠ   ri   rŒ   r�   rŽ   r�   ÚflattenÚtolistr‘   r   rW   r   r2   r3   r;   Úviewr”   )r7   r8   r~   r   Ú
batch_sizeÚnext_statesr—   r˜   ro   Úidxr›   rœ   r�   rž   s   &&&&          r   Ú_dbrx_experts_forwardr¶   ð   sœ  € ð ×$Ñ$ QÕ'€JØ!×)Ñ)¨"¨d×.BÑ.BÓC€MÜ×"Ò" =×8KÑ8KÐTa×ThÑThÔi€Kä	�Š��Ü—h‘h×)Ñ)×1Ñ1°+×K[ÑK[Ð1Ó\×dÑdÐefÐhiÐklÓmˆÜ—]’] ;§?¡?°x ?Ó#@À!ÓD×LÑLÓN×VÑVÓXˆ
÷ 
ð !×'Ñ'Ö)ˆ
ÜŸš [°Õ%<Ó=‰ˆÜ˜œs :›Ó/ˆØ%Õ0ˆØ $§¡¨F×,<Ñ,<¸]Ó,KÓ LÈvÏ~É~Ð^kÓOlÕ lÐØ &× 0Ñ 0Ð1FÓ GÐØ 5× :Ñ :¸2¸t×?SÑ?SÓ TÐWdÐpsÐuyÐeyÕWzÕ zÐØ×Ñ˜q )ÖCñ *ð ×Ñ˜J¨¨D×,@Ñ,@ÓAÐA÷ 
�ˆús   Á9B	G?Ç?H	c               ó    € V ^8„  d   QhRRRR/# rr   r   )r   s   "r   r   r   
  s   € ÷ /ñ /˜yð /¨Tñ /r   c           
     ó¢  € \        V R R4      '       d   R# \        V RR4      pVe7   \        VR4      '       d%   \        VR4      '       d   \        VR4      '       g   R# V P                  V P                  V P                  3pVP
                  P                  V4      pVP                  P                  V4      pVP                  P                  V4      p\        V P                  4       EF  p\        4       pVP                  R\        V P                  V P                  W6,          P                  4       P                  4       R7      4       VP                  R	\        V P                  V P                  WF,          P                  4       P                  4       R7      4       VP                  R
\        V P                  V P                  WV,          P                  4       R7      4       V P                  \        V4      V4       EK  	  VP                   V n        \%        V R4       \'        \(        V 4      V n        RV n        RV n        \1        V 4       R# )Ú_defuser_dbrx_runtimeFÚmlpNÚw1Úv1Úw2r2   ru   r3   r;   T)r   r“   ri   r¯   r¦   r»   r²   r¼   r½   rh   r   r_   r*   Útr.   rW   r   r   r`   r   r¶   ra   ry   r¹   r   )r
   rº   Úsplit_shaper»   r¼   r½   ro   rz   s   &       r   Úpatch_dbrx_expertsrÀ   
  sÜ  € ÜˆvÐ.°×6Ò6Ùä
�&˜% Ó
&€CØ
‚{œ' # t×,Ò,´G¸CÀ×4FÒ4FÌgÐVYÐ[_×N`ÒN`Ùà×%Ñ% v×'=Ñ'=¸v×?QÑ?QÐR€KØ	�‰�‰�[Ó	!€BØ	�‰�‰�[Ó	!€BØ	�‰�‰�[Ó	!€Bä˜F×.Ñ.×/ˆ
Ü$Ó&ˆ	Ø×ÑØÜØ"×2Ñ2Ø#×/Ñ/Ø•~×'Ñ'Ó)×4Ñ4Ó6ôô	
ð 	×ÑØÜØ"×2Ñ2Ø#×/Ñ/Ø•~×'Ñ'Ó)×4Ñ4Ó6ôô	
ð 	×ÑØÜØ"×.Ñ.Ø#×3Ñ3Ø•~×0Ñ0Ó2ôô	
ð 	×Ñœ#˜j›/¨9×5ñ5 0ð8 ×%Ñ%€F„MÜˆF�EÔÜÔ 5°vÓ>€F„NØ"€FÔØ#'€FÔ Ü  Ô(Ùr   r:   )r\   )Ú
__future__r   Útypesr   r&   r   Ú&defuser.modeling.moe_experts_interfacer   r   r   r*   r4   r?   rD   rT   rc   rp   r{   rŸ   r«   r¶   rÀ   r   r   r   Ú<module>rÄ      sd   ðõ #å ã Ý ç aõðð
 !%÷õ*õ(;õ'÷
>÷õ8)õõ4õD.õbB÷4/r   