+
    TV-jX:  ã                   ó  € ^ RI Ht ^ RIHtHtHt ^ RIHt ^ RI	H
t
 ^ RIHtHtHt ^RIHt ^RIHtHtHt ^RIHtHt ^RIHt ^R	IHt ] ! R
 R]4      4       t]P:                  R 4       t ! R R]
P>                  4      t  ! R R]
P>                  4      t! ! R R]
P>                  4      t" ! R R]
P>                  4      t# ! R R]
P>                  4      t$ ! R R]
P>                  4      t% ! R R]
P>                  4      t&R# )é    )Ú	dataclass)ÚAnyÚListÚOptionalN)Úshard_inplaceÚshard_linearÚsum_gradients)Úswiglu)ÚBaseModelArgsÚcreate_attention_maskÚscaled_dot_product_attention)ÚKVCacheÚRotatingKVCache)Úinitialize_rope)Ú	SwitchGLUc                   óZ   a € ] tR t^t o ^t^tRtRtRtRt	Rt
RtRtRtR tV 3R	 ltR
tV tR# )Ú	ModelArgsg      @TÚsigmoidÚnoaux_tcg    €„.ANFc                ó|   € V P                   e.   RV P                   9   d   V P                   R,          V n        R # R # R # )NÚ
rope_theta)Úrope_parametersr   ©Úselfs   &Úi/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_lm/models/exaone_moe.pyÚ__post_init__ÚModelArgs.__post_init__/   s6   € Ø×ÑÒ+°À×@TÑ@TÔ0TØ"×2Ñ2°<Õ@ˆDŽOñ 1UÑ+ó    c                óž  <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R	&   S[;R
&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[S[ ,          ;R&   S[S[,          ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[ ;R&   S[ ;R&   S[;R&   S[S[,          ;R&   S[S[,          ;R&   S[;R&   # )é   Ú
model_typeÚ
vocab_sizeÚhidden_sizeÚintermediate_sizeÚmoe_intermediate_sizeÚnum_hidden_layersÚnum_attention_headsÚnum_key_value_headsÚhead_dimÚnum_expertsÚnum_experts_per_tokÚnum_shared_expertsÚrms_norm_epsÚmax_position_embeddingsÚsliding_windowÚlayer_typesÚis_moe_layerÚn_groupÚ
topk_groupÚrouted_scaling_factorÚnorm_topk_probÚscoring_funcÚtopk_methodr   Úrope_scalingr   Útie_word_embeddings)ÚstrÚintÚfloatr   Úboolr   Údict)ÚformatÚ__classdict__s   "€r   Ú__annotate__ÚModelArgs.__annotate__   so  ø‡ ‚ á�Oñ ñ �Oñ ñ Ññ	 ñ
 Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ �Mñ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ !Ñ ñ ñ  Ññ! ñ" ‘c•Ññ# ñ$ ‘t•*Ññ% ñ& Ññ' ñ( Ññ) ñ* !Ñ&ñ+ ñ, Ññ- ñ. Ñ!ñ/ ñ0 Ñ!ñ1 ñ2 Ñ!ñ3 ñ4 ™4•.Ñ'ñ5 ñ6 ™d•^Ñ*ñ7 ñ8 Ñ%ò9 r   )r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r2   r3   r4   r5   r6   r7   r   r8   r   r9   r   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r@   s   @r   r   r      sH   ø‡ € ð& €GØ€JØ#&ÐØ€NØ!€LØ!€KØ!€JØ#'€LØ&*€OØ %ÐòA÷= ƒ r   r   c                 ó2  € \         P                  ! V P                  \         P                  4      4      pTpWq,           pV^8”  dÓ   \         P                  ! VRVR3R7      p\         P
                  ! V^RR7      P                  RRR7      p	W4,
          p
\         P                  ! Wš^,
          RR7      RRV
1R3,          p\         P                  ! V\         P                  ! V4      \         P                  ! R	4      RR7      p\         P                  ! VRR4      pTp
\         P                  ! V) V
^,
          RR7      RRV
13,          p\         P                  ! WŒRR7      pV^8”  d+   V'       d#   VP                  RRR7      pW}R
,           ,          pWu,          pWÇ3# )é   )ÚaxisÚshape©rL   T)rL   Úkeepdims)ÚkthrL   .N:NNNg        g#B’¡œÇ;éÿÿÿÿéþÿÿÿ)Úmxr   ÚastypeÚfloat32Ú	unflattenÚtopkÚsumÚargpartitionÚput_along_axisÚstop_gradientÚarrayÚflattenÚtake_along_axis)ÚgatesÚe_score_correction_biasÚtop_kr2   r3   r4   r5   ÚscoresÚorig_scoresÚgroup_scoresÚkÚ	group_idxÚindsÚdenominators   &&&&&&&       r   Úgroup_expert_selectri   4   sJ  € ô �ZŠZ˜Ÿ™¤R§Z¡ZÓ0Ó1€FØ€KØÕ-€Fà�„{Ü—’˜f¨2°g¸r°]ÔCˆÜ—w’w˜v q¨rÔ2×6Ñ6¸BÈÐ6ÓNˆØÕ ˆÜ—O’O L¸!µeÀ"ÔEÀcÈ2ÈAÈ2ÈqÀjÕQˆ	Ü×"Ò"Ø”B×$Ò$ YÓ/´·²¸#³ÀRô
ˆô —’˜F B¨Ó+ˆà€AÜ�?Š?˜F˜7¨¨A­°BÔ7¸¸R¸a¸R¸Õ@€DÜ×Ò ¸Ô;€Fàˆq„y—^Ø—j‘j b°4�jÓ8ˆØ¨Õ.Õ/ˆàÕ+€FØˆ<Ðr   c                   óD   a a€ ] tR t^Xt oV3R lV 3R lltR tRtVtV ;t# )ÚMoEGatec                ó    <€ V ^8„  d   QhRS[ /# ©r    Úargs©r   )r?   r@   s   "€r   rA   ÚMoEGate.__annotate__Y   s   ø€ ÷ 
Jñ 
J™Yñ 
Jr   c                óÎ  <€ \         SV `  4        VP                  V n        VP                  V n        VP
                  V n        VP                  V n        VP                  V n        VP                  V n	        \        P                  ! V P                  VP                  34      V n        \        P                  ! V P                  34      V n        VP                  R 8X  g   Q R4       hR# )r   zUnsupported topk method.N)ÚsuperÚ__init__r+   ra   r5   r*   Ún_routed_expertsr4   r2   r3   rS   Úzerosr#   Úweightr`   r7   ©r   rn   Ú	__class__s   &&€r   rs   ÚMoEGate.__init__Y   s°   ø€ Ü‰ÑÔØ×-Ñ-ˆŒ
Ø"×1Ñ1ˆÔØ $× 0Ñ 0ˆÔØ%)×%?Ñ%?ˆÔ"Ø—|‘|ˆŒØŸ/™/ˆŒÜ—h’h × 5Ñ 5°t×7GÑ7GÐHÓIˆŒÜ')§x¢x°×1FÑ1FÐ0HÓ'IˆÔ$Ø×Ñ :Ô-ÐIÐ/IÓIÒ-r   c           	     óÐ   € \        WP                  P                  ,          V P                  V P                  V P
                  V P                  V P                  V P                  4      # ©N)	ri   rv   ÚTr`   ra   r2   r3   r4   r5   ©r   Úxs   &&r   Ú__call__ÚMoEGate.__call__e   sM   € Ü"Ø—‘—‘ÕØ×(Ñ(Ø�J‰JØ�L‰LØ�O‰OØ×&Ñ&Ø×Ñó
ð 	
r   )r`   r2   rt   r5   r4   ra   r3   rv   ©	rC   rD   rE   rF   rs   r   rH   rI   Ú__classcell__©rx   r@   s   @@r   rk   rk   X   s   ù‡ € ÷
Jó 
J÷	
ò 	
r   rk   c                   óH   a a€ ] tR t^qt oRV3R lV 3R llltR tRtVtV ;t# )ÚMLPc                ó6   <€ V ^8„  d   QhRS[ RS[S[,          /# )r    rn   r$   )r   r   r;   )r?   r@   s   "€r   rA   ÚMLP.__annotate__r   s#   ø€ ÷ Oñ O™Yð O¹8ÁC½=ñ Or   c                ó  <€ \         SV `  4        VP                  pT;'       g    VP                  p\        P
                  ! W2R R7      V n        \        P
                  ! W2R R7      V n        \        P
                  ! W#R R7      V n        R# ©F©ÚbiasN)	rr   rs   r#   r$   ÚnnÚLinearÚ	gate_projÚup_projÚ	down_proj)r   rn   r$   r#   rx   s   &&& €r   rs   ÚMLP.__init__r   sd   ø€ Ü‰ÑÔØ×&Ñ&ˆØ-×GÐG°×1GÑ1GÐÜŸš ;ÈÔNˆŒÜ—y’y ÀeÔLˆŒÜŸšÐ#4ÈÔNˆŽr   c                ót   € V P                  \        V P                  V4      V P                  V4      4      4      # r{   )r�   r
   rŽ   r�   r}   s   &&r   r   ÚMLP.__call__z   s)   € Ø�~‰~œf T§^¡^°AÓ%6¸¿¹ÀQ»ÓHÓIÐIr   )r�   rŽ   r�   r{   r�   rƒ   s   @@r   r…   r…   q   s   ù‡ € ÷Oõ O÷Jò Jr   r…   c                   óD   a a€ ] tR t^~t oV3R lV 3R lltR tRtVtV ;t# )ÚMoEc                ó    <€ V ^8„  d   QhRS[ /# rm   ro   )r?   r@   s   "€r   rA   ÚMoE.__annotate__   s   ø€ ÷ #ñ #™Yñ #r   c                óN  <€ \         SV `  4        \        VP                  VP                  VP
                  4      V n        \        V4      V n        VP                  e:   VP                  ^ 8”  d)   \        VVP                  VP                  ,          R7      MR V n        R V n        R # )N)r$   )rr   rs   r   r#   r%   r*   Ú
switch_mlprk   Úgater,   r…   Úshared_expertsÚsharding_grouprw   s   &&€r   rs   ÚMoE.__init__   s–   ø€ Ü‰ÑÔÜ#Ø×ÑØ×&Ñ&Ø×Ñó
ˆŒô ˜D“MˆŒ	ð ×&Ñ&Ò2°t×7NÑ7NÐQRÔ7Rô	 ØØ"&×"<Ñ"<¸t×?VÑ?VÕ"Võð
 ð 	Ôð #ˆÖr   c                óÊ  € V P                   e   \        V P                   4      ! V4      pV P                  V4      w  r#V P                  W4      pWCR,          ,          P	                  RR7      P                  VP                  4      pV P                  e   W@P                  V4      ,           pV P                   e+   \        P                  P                  W@P                   R7      pV# )NrN   ©Úgroup).NrR   )rœ   r	   rš   r™   rX   rT   Údtyper›   rS   ÚdistributedÚall_sum)r   r~   rg   rb   Úys   &&   r   r   ÚMoE.__call__”   s·   € Ø×ÑÒ*Ü˜d×1Ñ1Ô2°1Ó5ˆAà—y‘y “|‰ˆØ�O‰O˜AÓ$ˆØ˜	Õ"Õ"×'Ñ'¨RÐ'Ó0×7Ñ7¸¿¹Ó@ˆØ×ÑÒ*Ø×'Ñ'¨Ó*Õ*ˆAà×ÑÒ*Ü—‘×&Ñ& q×0CÑ0CÐ&ÓDˆAàˆr   )rš   rœ   r›   r™   r�   rƒ   s   @@r   r•   r•   ~   s   ù‡ € ÷#ó #÷*ò r   r•   c                   óT   a a€ ] tR t^¤t oV3R lV 3R lltRV3R lR lltRtVtV ;t# )Ú	Attentionc                ó&   <€ V ^8„  d   QhRS[ RS[/# ©r    rn   Ú	layer_idx©r   r;   )r?   r@   s   "€r   rA   ÚAttention.__annotate__¥   s   ø€ ÷ $ñ $™Yð $±3ñ $r   c                ó  <€ \         SV `  4        VP                  V n        VP                  V n        VP
                  V n        VP                  V n        V P                  R,          V n        \        P                  ! V P                  V P                  V P                  ,          RR7      V n        \        P                  ! V P                  V P                  V P                  ,          RR7      V n        \        P                  ! V P                  V P                  V P                  ,          RR7      V n        \        P                  ! V P                  V P                  ,          V P                  RR7      V n        \        P                  ! V P                  VP                   R7      V n        \        P                  ! V P                  VP                   R7      V n        VP&                  V,          R8H  V n        RVP&                  9  V n        V P(                  ;'       g    V P*                  V n        V P,                  '       d@   \/        V P                  VP0                  RVP2                  VP4                  R7      V n        R# R# )g      à?FrŠ   ©ÚepsÚsliding_attention)ÚbaseÚtraditionalÚscaling_configr.   Ng      à¿)rr   rs   r#   r'   Ún_headsr(   Ú
n_kv_headsr)   ÚscalerŒ   r�   Úq_projÚk_projÚv_projÚo_projÚRMSNormr-   Úq_normÚk_normr0   Úis_sliding_windowÚapply_rope_all_layersÚuse_roper   r   r8   r.   Úrope©r   rn   rª   rx   s   &&&€r   rs   ÚAttention.__init__¥   s½  ø€ Ü‰ÑÔà×+Ñ+ˆÔØ×/Ñ/ˆŒØ×2Ñ2ˆŒØŸ™ˆŒØ—]‘] DÕ(ˆŒ
ä—i’iØ×Ñ˜dŸl™l¨T¯]©]Õ:Àô
ˆŒô —i’iØ×Ñ˜dŸo™o°·±Õ=ÀEô
ˆŒô —i’iØ×Ñ˜dŸo™o°·±Õ=ÀEô
ˆŒô —i’iØ�L‰L˜4Ÿ=™=Õ(¨$×*:Ñ*:Àô
ˆŒô —j’j §¡°D×4EÑ4EÔFˆŒÜ—j’j §¡°D×4EÑ4EÔFˆŒà!%×!1Ñ!1°)Õ!<Ð@SÑ!SˆÔØ%8À×@PÑ@PÑ%PˆÔ"Ø×.Ñ.×LÐL°$×2LÑ2LˆŒà�=�=ˆ=Ü'Ø—‘Ø—_‘_Ø!Ø#×0Ñ0Ø(,×(DÑ(DôˆDŽIñ r   c                óŽ   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[,          RS[ P                  /# ©r    r~   ÚmaskÚcacheÚreturn©rS   r\   r   r   )r?   r@   s   "€r   rA   r¬   Ë   sH   ø€ ÷ #ñ #á�8‰8ð#ñ ‘r—x‘xÕ ð#ñ ™�}ð	#ñ
 
�‰ñ#r   c           	     ó¢  € VP                   w  rEpV P                  V4      V P                  V4      V P                  V4      r˜pV P	                  VP                  WEV P                  R4      4      P                  ^ ^^^4      pV P                  VP                  WEV P                  R4      4      P                  ^ ^^^4      pV	P                  WEV P                  R4      P                  ^ ^^^4      p	Ve_   V P                  '       d9   V P                  WsP                  R7      pV P                  WƒP                  R7      pVP                  W‰4      w  r‰M4V P                  '       d#   V P                  V4      pV P                  V4      p\        WxW“V P                  VR7      p
V
P                  ^ ^^^4      P                  WER4      p
V P!                  V
4      # )rK   )Úoffset)rÇ   r¶   rÆ   rQ   )rM   r·   r¸   r¹   r¼   Úreshaper´   Ú	transposer½   rµ   rÀ   rÁ   rË   Úupdate_and_fetchr   r¶   rº   )r   r~   rÆ   rÇ   ÚBÚLÚDÚqueriesÚkeysÚvaluesÚoutputs   &&&&       r   r   ÚAttention.__call__Ë   s  € ð —'‘'‰ˆˆaà $§¡¨A£°·±¸A³ÀÇÁÈAÃ�vˆà—+‘+˜gŸo™o¨a°D·L±LÀ"ÓEÓF×PÑPØˆq�!�Qó
ˆð �{‰{˜4Ÿ<™<¨¨d¯o©o¸rÓBÓC×MÑMØˆq�!�Qó
ˆð —‘  d§o¡o°rÓ:×DÑDÀQÈÈ1ÈaÓPˆàÒØ�}�}ˆ}ØŸ)™) G·L±L˜)ÓA�Ø—y‘y ¯l©l�yÓ;�Ø ×1Ñ1°$Ó?‰LˆD�&Ø�]�]ˆ]Ø—i‘i Ó(ˆGØ—9‘9˜T“?ˆDä-Ø˜6°d·j±jÀtô
ˆð ×!Ñ! ! Q¨¨1Ó-×5Ñ5°a¸BÓ?ˆØ�{‰{˜6Ó"Ð"r   )r¿   r)   r#   r¾   r½   r¸   r´   rµ   rº   r¼   r·   rÁ   r¶   rÀ   r¹   ©NNr�   rƒ   s   @@r   r§   r§   ¤   s   ù‡ € ÷$ó $÷L#÷ #ò #r   r§   c                   óT   a a€ ] tR t^ít oV3R lV 3R lltRV3R lR lltRtVtV ;t# )ÚDecoderLayerc                ó&   <€ V ^8„  d   QhRS[ RS[/# r©   r«   )r?   r@   s   "€r   rA   ÚDecoderLayer.__annotate__î   s   ø€ ÷ 

ñ 

™Yð 

±3ñ 

r   c                ó¦  <€ \         SV `  4        \        W4      V n        VP                  V,          '       d   \        V4      M
\        V4      V n        V P                  P                  V n        \        P                  ! VP                  VP                  R 7      V n        \        P                  ! VP                  VP                  R 7      V n        R# ©r®   N)rr   rs   r§   Ú	self_attnr1   r•   r…   Úmlpr¾   rŒ   r»   r#   r-   Úinput_layernormÚpost_attention_layernormrÂ   s   &&&€r   rs   ÚDecoderLayer.__init__î   sŽ   ø€ Ü‰ÑÔä" 4Ó3ˆŒØ $× 1Ñ 1°)× <Ô <”3�t”9Ä#ÀdÃ)ˆŒØ!%§¡×!AÑ!AˆÔä!Ÿzšz¨$×*:Ñ*:À×@QÑ@QÔRˆÔÜ(*¯
ª
Ø×Ñ $×"3Ñ"3ô)
ˆÖ%r   c                óŽ   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[,          RS[ P                  /# rÅ   rÉ   )r?   r@   s   "€r   rA   rÛ   ú   sH   ø€ ÷ 	ñ 	á�8‰8ð	ñ ‘r—x‘xÕ ð	ñ ™�}ð		ñ
 
�‰ñ	r   c                ó¤   € V P                  V P                  V4      W#4      pW,           pV P                  V P                  V4      4      pWT,           # r{   )rÞ   rà   rß   rá   )r   r~   rÆ   rÇ   ÚrÚhs   &&&&  r   r   ÚDecoderLayer.__call__ú   sF   € ð �N‰N˜4×/Ñ/°Ó2°DÓ@ˆØ�EˆØ�H‰H�T×2Ñ2°1Ó5Ó6ˆØ�uˆr   )rà   r¾   rß   rá   rÞ   r×   r�   rƒ   s   @@r   rÙ   rÙ   í   s   ù‡ € ÷

ó 

÷	÷ 	ò 	r   rÙ   c                   óT   a a€ ] tR tRt oV3R lV 3R lltRV3R lR lltRtVtV ;t# )ÚExaoneMoEModeli  c                ó    <€ V ^8„  d   QhRS[ /# rm   ro   )r?   r@   s   "€r   rA   ÚExaoneMoEModel.__annotate__  s   ø€ ÷ /ñ /™Yñ /r   c                óž  <€ \         SV `  4        Wn        VP                  V n        \        P
                  ! VP                  VP                  4      V n        \        VP                  4       Uu. uF  p\        W4      NK  	  upV n        \        P                  ! VP                  VP                  R 7      V n        RV n        RV n        \#        V P                  4       FU  w  r4VP$                  '       d   V P                  f   W0n        VP$                  '       d   K?  V P                   e   KO  W0n        KW  	  VP&                  V n        R# u upi rÝ   )rr   rs   rn   r"   rŒ   Ú	Embeddingr#   Úembed_tokensÚranger&   rÙ   Úlayersr»   r-   ÚnormÚswa_idxÚga_idxÚ	enumerater¾   r/   Úwindow_size)r   rn   ÚidxÚiÚlayerrx   s   &&   €r   rs   ÚExaoneMoEModel.__init__  sî   ø€ Ü‰ÑÔØŒ	ØŸ/™/ˆŒÜŸLšL¨¯©¸$×:JÑ:JÓKˆÔÜ:?À×@VÑ@VÔ:WÓXÑ:W°3”| DÖ.Ñ:WÑXˆŒÜ—J’J˜t×/Ñ/°T×5FÑ5FÔGˆŒ	àˆŒØˆŒÜ! $§+¡+Ö.‰HˆAØ×&×&Ð&¨4¯<©<Ò+?Ø ”Ø×*×*Ò*¨t¯{©{Ô/BØ–ñ	 /ð  ×.Ñ.ˆÖùò Ys   Á.E
c                ód   <€ V ^8„  d   QhRS[ P                  RS[S[,          RS[ P                  /# )r    ÚinputsrÇ   rÈ   rÉ   )r?   r@   s   "€r   rA   rë     s5   ø€ ÷ ñ á—‘ðñ ™�}ðñ 
�‰ñ	r   c                óæ  € V P                  V4      pVf   R .\        V P                  4      ,          p\        Y0P                  e   W P                  ,          MV^ ,          4      p\        TV P
                  e   W P
                  ,          MV^ ,          V P                  R7      p\        V P                  V4       F$  w  rgVP                  '       d   TMTpV! W8V4      pK&  	  V P                  V4      # )N)rõ   )
rî   Úlenrð   r   ró   rò   rõ   Úzipr¾   rñ   )	r   rû   rÇ   ræ   Úglobal_maskÚswa_maskrø   ÚcrÆ   s	   &&&      r   r   ÚExaoneMoEModel.__call__  sÉ   € ð
 ×Ñ˜fÓ%ˆàŠ=Ø�FœS §¡Ó-Õ-ˆEä+Ø§[¡[Ò%<ˆu—[‘[Ö!À%ÈÅ(ó
ˆô )ØØ#'§<¡<Ò#;ˆE—,‘,ÖÀÀqÅØ×(Ñ(ô
ˆô ˜DŸK™K¨Ö/‰HˆEØ$×6×6Ð6‘8¸KˆDÙ�a˜qÓ!ŠAñ 0ð �y‰y˜‹|Ðr   )rn   rî   ró   rð   rñ   rò   r"   rõ   r{   r�   rƒ   s   @@r   ré   ré     s   ù‡ € ÷/ó /÷$÷ ò r   ré   c                   ó–   a a€ ] tR tRt oV3R lV 3R lltRV3R lR lltR t]R 4       t]R 4       t	R	 t
RV3R
 lR lltRtVtV ;t# )ÚModeli3  c                ó    <€ V ^8„  d   QhRS[ /# rm   ro   )r?   r@   s   "€r   rA   ÚModel.__annotate__4  s   ø€ ÷ Tñ T™Yñ Tr   c                óþ   <€ \         SV `  4        Wn        VP                  V n        \	        V4      V n        VP                  '       g5   \        P                  ! VP                  VP                  R R7      V n        R# R# r‰   )rr   rs   rn   r!   ré   Úmodelr9   rŒ   r�   r#   r"   Úlm_headrw   s   &&€r   rs   ÚModel.__init__4  sY   ø€ Ü‰ÑÔØŒ	ØŸ/™/ˆŒÜ# DÓ)ˆŒ
à×'×'Ð'ÜŸ9š9 T×%5Ñ%5°t·±ÈUÔSˆDŽLñ (r   c                óJ   <€ V ^8„  d   QhRS[ P                  RS[S[,          /# )r    rû   rÇ   rÉ   )r?   r@   s   "€r   rA   r  =  s'   ø€ ÷ 
ñ 
á—‘ð
ñ ™�}ñ
r   c                óÐ   € V P                  W4      pV P                  P                  '       d(   V P                   P                  P	                  V4      pV# V P                  V4      pV# r{   )r  rn   r9   rî   Ú	as_linearr	  )r   rû   rÇ   Úouts   &&& r   r   ÚModel.__call__=  sX   € ð
 �j‰j˜Ó'ˆØ�9‰9×(×(Ð(Ø—*‘*×)Ñ)×3Ñ3°CÓ8ˆCð ˆ
ð —,‘,˜sÓ#ˆCØˆ
r   c                óR  € VP                  4        UUu/ uF   w  r#VP                  R 4      '       d   K  W#bK"  	  pppTp\        V P                  P                  4       EF  pV P                  P
                  V,          '       g   K)  RV 2pV R2pWq9   d   VP                  V4      W R2&   R
 F¶  pR F­  pV RV RV 2p	V RV P                  P                  ^,
           RV RV 2p
W‘9   g   K=  W¡9   g   KE  \        V P                  P                  4       Uu. uF  pVP                  V RV RV RV 24      NK!  	  pp\        P                  ! V4      W RV RV 2&   K¯  	  K¸  	  EK  	  V P                  P                  '       d   VP                  RR	4       V# u uppi u upi )zmtp.zmodel.layers.z.mlp.e_score_correction_biasz!.mlp.gate.e_score_correction_biasz.mlp.experts.0.Ú.z.mlp.experts.z.mlp.switch_mlp.zlm_head.weightN)rŽ   r�   r�   )rv   ÚscalesÚbiases)ÚitemsÚ
startswithrï   rn   r&   r1   Úpopr*   rS   Ústackr9   )r   Úweightsre   ÚvÚnew_weightsÚlÚprefixÚbias_keyÚmÚ	first_keyÚlast_keyÚeÚto_joins   &&           r   ÚsanitizeÚModel.sanitizeI  s±  € Ø(/¯©¬ÔT©¡ ¸q¿|¹|ÈF×?S”t�q’t©ˆÑTØˆä�t—y‘y×2Ñ2×3ˆAØ—9‘9×)Ñ)¨!×,Ô,Ùà$ Q CÐ(ˆFà ˜Ð!=Ð>ˆHØÔ"ØHOÏÉØóI�˜(Ð"CÐDÑEó ;�Û7�AØ#) (¨/¸!¸¸A¸a¸SÐ A�Ià!˜( -°·	±	×0EÑ0EÈÕ0IÐ/JÈ!ÈAÈ3ÈaÐPQÈsÐSð ð !Ö+°Ö0Cô &+¨4¯9©9×+@Ñ+@Ô%Aó#á%A ð $ŸK™K¨6¨(°-À¸sÀ!ÀAÀ3ÀaÈÀsÐ(KÖLÙ%Að  ð #ô GIÇhÂhÈwÓFW˜ (Ð*:¸1¸#¸Q¸q¸cÐ BÓCó 8ô ;ñ 4ð2 �9‰9×(×(Ð(Ø�K‰KÐ(¨$Ô/àˆùó? Uùò,#s   ”F´FÄ%F$
c                ó.   € V P                   P                  # r{   )r  rð   r   s   &r   rð   ÚModel.layersk  s   € à�z‰z× Ñ Ð r   c                ó   € R  pV# )c                 ó   € R V 9  # )r`   © )re   s   &r   Ú	predicateÚ'Model.cast_predicate.<locals>.predicateq  s   € Ø,°AÑ5Ð5r   r)  )r   r*  s   & r   Úcast_predicateÚModel.cast_predicateo  s   € ò	6ð Ðr   c                óê   € . pV P                    F`  pVP                  '       d3   VP                  \        V P                  P
                  ^ R7      4       KG  VP                  \        4       4       Kb  	  V# )r   )Úmax_sizeÚkeep)rð   r¾   Úappendr   rn   r/   r   )r   Úcachesrø   s   &  r   Ú
make_cacheÚModel.make_cachev  sX   € ØˆØ—[”[ˆEØ×&×&Ð&Ø—‘Ü#¨T¯Y©Y×-EÑ-EÈAÔNöð —‘œg›iÖ(ñ !ð ˆr   c                óX   <€ V ^8„  d   QhRS[ S[P                  P                  ,          /# )r    r    )r   rS   r¢   ÚGroup)r?   r@   s   "€r   rA   r  �  s#   ø€ ÷ 6ñ 6™8¡B§N¡N×$8Ñ$8Õ9ñ 6r   c                ó”  € T;'       g    \         P                  P                  4       pVP                  4       pV P                  P
                   EFô  p\        VP                  P                  R VR7      VP                  n        \        VP                  P                  R VR7      VP                  n	        \        VP                  P                  R VR7      VP                  n
        \        VP                  P                  RVR7      VP                  n        VP                  ;P                  V,          un        VP                  ;P                  V,          un        \        VP                  \         4      '       d—   \        VP                  P"                  R VR7      VP                  n        \        VP                  P$                  RVR7      VP                  n        \        VP                  P&                  R VR7      VP                  n        EKÄ  WP                  n        VP                  P*                  e…   \-        VP                  P*                  P"                  R VR7       \-        VP                  P*                  P$                  RVR7       \-        VP                  P*                  P&                  R VR7       \-        VP                  P.                  P"                  R VR7       \-        VP                  P.                  P$                  RVR7       \-        VP                  P.                  P&                  R VR7       EK÷  	  R# )zall-to-shardedrŸ   zsharded-to-allN)rS   r¢   ÚinitÚsizer  rð   r   rÞ   r·   r¸   r¹   rº   r´   rµ   Ú
isinstancerß   r…   rŽ   r�   r�   rœ   r›   r   r™   )r   r    ÚNrø   s   &&  r   ÚshardÚModel.shard�  sf  € Ø×.Ð.œŸ™×,Ñ,Ó.ˆØ�J‰J‹Lˆà—Z‘Z×&Õ&ˆEÜ%1Ø—‘×&Ñ&Ð(8Àô&ˆE�O‰OÔ"ô &2Ø—‘×&Ñ&Ð(8Àô&ˆE�O‰OÔ"ô &2Ø—‘×&Ñ&Ð(8Àô&ˆE�O‰OÔ"ô &2Ø—‘×&Ñ&Ð(8Àô&ˆE�O‰OÔ"ð �O‰O×#Ò#¨Õ)Õ#Ø�O‰O×&Ò&¨1Õ,Õ&ä˜%Ÿ)™)¤S×)Ò)Ü&2Ø—I‘I×'Ñ'Ð)9Àô'�—	‘	Ô#ô '3Ø—I‘I×'Ñ'Ð)9Àô'�—	‘	Ô#ô %1Ø—I‘I×%Ñ%Ð'7¸uô%�—	‘	×!ð ,1—	‘	Ô(Ø—9‘9×+Ñ+Ò7Ü!ØŸ	™	×0Ñ0×:Ñ:Ø(Ø#õô
 "ØŸ	™	×0Ñ0×:Ñ:Ø(Ø#õô
 "ØŸ	™	×0Ñ0×8Ñ8Ð:JÐRWõô Ø—I‘I×(Ñ(×2Ñ2Ð4DÈEõô Ø—I‘I×(Ñ(×2Ñ2Ð4DÈEõô Ø—I‘I×(Ñ(×0Ñ0Ð2BÈ%÷ð óa 'r   )rn   r	  r  r!   r{   )rC   rD   rE   rF   rs   r   r#  Úpropertyrð   r,  r3  r<  rH   rI   r‚   rƒ   s   @@r   r  r  3  s]   ù‡ € ÷Tó T÷
ò 
ò ðD ñ!ó ð!ð ñó ðò	÷6÷ 6ò 6r   r  )'Údataclassesr   Útypingr   r   r   Úmlx.coreÚcorerS   Úmlx.nnrŒ   Úmlx.nn.layers.distributedr   r   r	   Úactivationsr
   r±   r   r   r   rÇ   r   r   Ú
rope_utilsr   Úswitch_layersr   r   Úcompileri   ÚModulerk   r…   r•   r§   rÙ   ré   r  r)  r   r   Ú<module>rJ     sß   ðõ "ß &Ñ &å Ý ß PÑ På ß TÑ Tß +Ý 'Ý $ð ôA�ó Aó ðAðD ‡�ñ ó ð ôF
ˆb�i‰iô 
ô2
Jˆ"�)‰)ô 
Jô#ˆ"�)‰)ô #ôLF#�—	‘	ô F#ôR�2—9‘9ô ô2*�R—Y‘Yô *ôZDˆB�I‰Iö Dr   