+
    TV-jô  ã                   ó`  € ^ RI Ht ^ RIHtHtHtHt ^ RIHt	 ^ RI
Ht ^RIHt ^RIHtHtHt ^RIHt ] ! R R]4      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ÚDictÚOptionalÚUnionN)Úswiglu)ÚBaseModelArgsÚcreate_attention_maskÚscaled_dot_product_attention)Úinitialize_ropec                   óV   a € ] tR t^t o R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# )Ú	ModelArgsNFi'  Tc                óH   € V P                   f   V P                  V n         R # R # ©N)Únum_key_value_headsÚnum_attention_heads©Úselfs   &Úd/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_lm/models/olmo2.pyÚ__post_init__ÚModelArgs.__post_init__!   s!   € Ø×#Ñ#Ò+Ø'+×'?Ñ'?ˆDÖ$ñ ,ó    c                óF  <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[S[,          ;R&   S[S[,          ;R	&   S[S[,          ;R
&   S[;R&   S[;R&   S[;R&   S[;R&   S[S[S[ S[S[S[ 3,          3,          ,          ;R&   S[;R&   # )é   Ú
model_typeÚhidden_sizeÚnum_hidden_layersÚintermediate_sizer   Úrms_norm_epsÚ
vocab_sizeÚhead_dimÚmax_position_embeddingsr   Úattention_biasÚmlp_biasÚ
rope_thetaÚrope_traditionalÚrope_scalingÚtie_word_embeddings)ÚstrÚintÚfloatr   Úboolr   r   )ÚformatÚ__classdict__s   "€r   Ú__annotate__ÚModelArgs.__annotate__   sõ   ø‡ ‚ á�Oñ ñ Ññ ñ Ññ	 ñ
 Ññ ñ Ññ ñ Ññ ñ �Oñ ñ ‘s�mÑ"ñ ñ &¡c�]Ñ1ñ ñ "¡#�Ñ-ñ ñ Ñ ñ ñ Ññ ñ Ññ ñ Ñ"ñ ñ  ™4¡¡U©5±#¨:Õ%6Ð 6Õ7Õ8Ñ?ñ! ñ" Ñ$ò# r   )r   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r!   r"   r   r#   r$   r%   r&   r'   r(   r   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r.   s   @r   r   r      sE   ø‡ € ð #€HØ-1ÐØ)-ÐØ €NØ€HØ€JØ"ÐØ;?€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# )Ú	Attentionc                ó    <€ V ^8„  d   QhRS[ /# ©r   Úargs©r   )r-   r.   s   "€r   r/   ÚAttention.__annotate__'   s   ø€ ÷ Kñ K™Yñ Kr   c                óœ  <€ \         SV `  4        VP                  pVP                  ;V n        pVP
                  ;V n        pVP                  ;'       g    VP                  V,          ;V n        pVR,          V n        \        VR4      '       d   VP                  pMRp\        P                  ! W#V,          VR7      V n        \        P                  ! W$V,          VR7      V n        \        P                  ! W$V,          VR7      V n        \        P                  ! W5,          W&R7      V n        \#        V P                  VP$                  VP&                  VP(                  VP*                  4      V n        \        P.                  ! W5,          VP0                  4      V n        \        P.                  ! WE,          VP0                  4      V n        R# )g      à?r#   F©ÚbiasNg      à¿)ÚsuperÚ__init__r   r   Ún_headsr   Ú
n_kv_headsr!   ÚscaleÚhasattrr#   ÚnnÚLinearÚq_projÚk_projÚv_projÚo_projr   r%   r&   r'   r"   ÚropeÚRMSNormr   Úq_normÚk_norm)r   r<   ÚdimrD   rE   r!   r#   Ú	__class__s   &&     €r   rC   ÚAttention.__init__'   sP  ø€ Ü‰ÑÔà×ÑˆØ!%×!9Ñ!9Ð9ˆŒ�wØ'+×'?Ñ'?Ð?ˆŒ˜*à#'§=¡=×#OÐ#O°D×4DÑ4DÈÕ4OÐOˆŒ˜à˜t•^ˆŒ
Ü�4Ð)×*Ò*Ø!×0Ñ0‰Nà"ˆNä—i’i ¨xÕ%7¸nÔMˆŒÜ—i’i °(Õ%:ÀÔPˆŒÜ—i’i °(Õ%:ÀÔPˆŒÜ—i’i Õ 2°CÔMˆŒä#Ø�M‰MØ�O‰OØ×!Ñ!Ø×ÑØ×(Ñ(ó
ˆŒ	ô —j’j Õ!3°T×5FÑ5FÓGˆŒÜ—j’j Õ!6¸×8IÑ8IÓJˆŽr   c                óŽ   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[,          RS[ P                  /# ©r   ÚxÚmaskÚcacheÚreturn©ÚmxÚarrayr   r   )r-   r.   s   "€r   r/   r>   F   sH   ø€ ÷ #ñ #á�8‰8ð#ñ ‘r—x‘xÕ ð#ñ ™�}ð	#ñ
 
�‰ñ#r   c           	     ób  € VP                   w  rEpV P                  V4      V P                  V4      V P                  V4      r˜pV P	                  V4      pV P                  V4      pVP                  WEV P                  R4      P                  ^ ^^^4      pVP                  WEV P                  R4      P                  ^ ^^^4      pV	P                  WEV P                  R4      P                  ^ ^^^4      p	VeM   V P                  WsP                  R7      pV P                  WƒP                  R7      pVP                  W‰4      w  r‰M"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      # )é   )Úoffset)rY   rF   rX   éÿÿÿÿ)ÚshaperJ   rK   rL   rP   rQ   ÚreshaperD   Ú	transposerE   rN   r`   Úupdate_and_fetchr   rF   rM   )r   rW   rX   rY   ÚBÚLÚDÚqueriesÚkeysÚvaluesÚoutputs   &&&&       r   Ú__call__ÚAttention.__call__F   so  € ð —'‘'‰ˆˆaà $§¡¨A£°·±¸A³ÀÇÁÈAÃ�vˆØ—+‘+˜gÓ&ˆØ�{‰{˜4Ó ˆð —/‘/ !¨¯©°bÓ9×CÑCÀAÀqÈ!ÈQÓOˆØ�|‰|˜A $§/¡/°2Ó6×@Ñ@ÀÀAÀqÈ!ÓLˆØ—‘  d§o¡o°rÓ:×DÑDÀQÈÈ1ÈaÓPˆàÒØ—i‘i ·±�iÓ=ˆGØ—9‘9˜T¯,©,�9Ó7ˆDØ ×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!   rQ   rK   rD   rE   rM   rP   rJ   rN   rF   rL   ©NN©	r1   r2   r3   r4   rC   rm   r6   r7   Ú__classcell__©rS   r.   s   @@r   r9   r9   &   s    ù‡ € ÷Kó K÷>#÷ #ò #r   r9   c                   óP   a a€ ] tR t^gt oV3R lV 3R lltV3R lR ltRtVtV ;t# )ÚMLPc                ó    <€ V ^8„  d   QhRS[ /# r;   r=   )r-   r.   s   "€r   r/   ÚMLP.__annotate__h   s   ø€ ÷ Añ A™Yñ Ar   c                óD  <€ \         SV `  4        VP                  pVP                  p\	        VR 4      '       d   VP
                  pMRp\        P                  ! W#VR7      V n        \        P                  ! W2VR7      V n	        \        P                  ! W#VR7      V n
        R# )r$   Fr@   N)rB   rC   r   r   rG   r$   rH   rI   Ú	gate_projÚ	down_projÚup_proj)r   r<   rR   Ú
hidden_dimr$   rS   s   &&   €r   rC   ÚMLP.__init__h   su   ø€ Ü‰ÑÔà×ÑˆØ×+Ñ+ˆ
Ü�4˜×$Ò$Ø—}‘}‰HàˆHäŸš 3¸ÔBˆŒÜŸš :¸ÔBˆŒÜ—y’y °xÔ@ˆŽr   c                ó4   <€ V ^8„  d   QhRS[ P                  /# )r   rZ   ©r\   r]   )r-   r.   s   "€r   r/   rv   v   s   ø€ ÷ Jñ J™RŸX™Xñ Jr   c                ót   € V P                  \        V P                  V4      V P                  V4      4      4      # r   )ry   r   rx   rz   )r   rW   s   &&r   rm   ÚMLP.__call__v   s)   € Ø�~‰~œf T§^¡^°AÓ%6¸¿¹ÀQ»ÓHÓIÐIr   )ry   rx   rz   rp   rr   s   @@r   rt   rt   g   s#   ù‡ € ÷Aó A÷J÷ Jð Jr   rt   c                   óT   a a€ ] tR t^zt 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# )ÚTransformerBlockc                ó    <€ V ^8„  d   QhRS[ /# r;   r=   )r-   r.   s   "€r   r/   ÚTransformerBlock.__annotate__{   s   ø€ ÷ ñ ™Yñ r   c                óx  <€ \         SV `  4        VP                  V n        VP                  V n        \	        V4      V n        \        V4      V n        \        P                  ! VP                  VP                  R 7      V n        \        P                  ! VP                  VP                  R 7      V n        Wn        R# )©ÚepsN)rB   rC   r   r   r9   Ú	self_attnrt   ÚmlprH   rO   r   Úpost_attention_layernormÚpost_feedforward_layernormr<   ©r   r<   rS   s   &&€r   rC   ÚTransformerBlock.__init__{   s�   ø€ Ü‰ÑÔØ#'×#;Ñ#;ˆÔ Ø×+Ñ+ˆÔÜ" 4›ˆŒÜ�t“9ˆŒÜ(*¯
ª
Ø×Ñ $×"3Ñ"3ô)
ˆÔ%ô +-¯*ª*Ø×Ñ $×"3Ñ"3ô+
ˆÔ'ð Ž	r   c                óŽ   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[,          RS[ P                  /# rV   r[   )r-   r.   s   "€r   r/   r„   ‰   sH   ø€ ÷ 
ñ 
á�8‰8ð
ñ ‘r—x‘xÕ ð
ñ ™�}ð	
ñ
 
�‰ñ
r   c                ó¨   € V P                  V P                  WV4      4      pW,           pV P                  V P                  V4      4      pWT,           pV# r   )rŠ   rˆ   r‹   r‰   )r   rW   rX   rY   ÚrÚhÚouts   &&&&   r   rm   ÚTransformerBlock.__call__‰   sJ   € ð ×)Ñ)¨$¯.©.¸À%Ó*HÓIˆØ�EˆØ×+Ñ+¨D¯H©H°Q«KÓ8ˆØ�eˆØˆ
r   )r<   r   r‰   r   rŠ   r‹   rˆ   ro   rp   rr   s   @@r   r‚   r‚   z   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# )Ú
LlamaModelc                ó    <€ V ^8„  d   QhRS[ /# r;   r=   )r-   r.   s   "€r   r/   ÚLlamaModel.__annotate__—   s   ø€ ÷ 
Hñ 
H™Yñ 
Hr   c                óÎ  <€ \         SV `  4        Wn        VP                  V n        VP                  V n        V P                  ^ 8”  g   Q h\
        P                  ! VP                  VP                  4      V n        \        VP                  4       Uu. uF  p\        VR7      NK  	  upV n        \
        P                  ! VP                  VP                  R7      V n        R# u upi )r   )r<   r†   N)rB   rC   r<   r    r   rH   Ú	Embeddingr   Úembed_tokensÚranger‚   ÚlayersrO   r   Únorm)r   r<   Ú_rS   s   && €r   rC   ÚLlamaModel.__init__—   s­   ø€ Ü‰ÑÔØŒ	ØŸ/™/ˆŒØ!%×!7Ñ!7ˆÔØ�‰ Ô"Ð"Ð"ÜŸLšL¨¯©¸$×:JÑ:JÓKˆÔä16°t×7MÑ7MÔ1Nó
Ù1N¨AÔ $×'Ñ1Nñ
ˆŒô —J’J˜t×/Ñ/°T×5FÑ5FÔGˆŽ	ùò
s   ÂC"c                ó4   <€ V ^8„  d   QhRS[ P                  /# ©r   Úinputsr~   )r-   r.   s   "€r   r/   r—   £   s   ø€ ÷ ñ á—‘ñr   c                óþ   € V P                  V4      pVf   R .\        V P                  4      ,          p\        W2^ ,          4      p\	        V P                  V4       F  w  rVV! W4VR7      pK  	  V P                  V4      # )N)rY   )rš   Úlenrœ   r
   Úzipr�   )r   r¢   rY   r‘   rX   ÚlayerÚcs   &&&    r   rm   ÚLlamaModel.__call__£   so   € ð
 ×Ñ˜fÓ%ˆàŠ=Ø�FœS §¡Ó-Õ-ˆEÜ$ Q¨a­Ó1ˆä˜DŸK™K¨Ö/‰HˆEÙ�a QÔ'ŠAñ 0ð �y‰y˜‹|Ðr   )r<   rš   rœ   r�   r   r    r   rp   rr   s   @@r   r•   r•   –   s    ù‡ € ÷
Hó 
H÷÷ ò r   r•   c                   ój   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]R 4       tRt	Vt
V ;t# )	ÚModelc                ó    <€ V ^8„  d   QhRS[ /# r;   r=   )r-   r.   s   "€r   r/   ÚModel.__annotate__µ   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# )Fr@   N)rB   rC   r<   r   r•   Úmodelr(   rH   rI   r   r    Úlm_headrŒ   s   &&€r   rC   ÚModel.__init__µ   sY   ø€ Ü‰ÑÔØŒ	ØŸ/™/ˆŒÜ Ó%ˆŒ
Ø×'×'Ð'ÜŸ9š9 T×%5Ñ%5°t·±ÈUÔSˆDŽLñ (r   c                ó4   <€ V ^8„  d   QhRS[ P                  /# r¡   r~   )r-   r.   s   "€r   r/   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®   r<   r(   rš   Ú	as_linearr¯   )r   r¢   rY   r’   s   &&& r   rm   ÚModel.__call__½   sX   € ð
 �j‰j˜Ó'ˆØ�9‰9×(×(Ð(Ø—*‘*×)Ñ)×3Ñ3°CÓ8ˆCð ˆ
ð —,‘,˜sÓ#ˆCØˆ
r   c                óh   € VP                  4        UUu/ uF  w  r#R V9  g   K  W#bK  	  upp# u uppi )zself_attn.rotary_emb.inv_freq)Úitems)r   ÚweightsÚkÚvs   &&  r   ÚsanitizeÚModel.sanitizeÉ   s:   € ð %Ÿ]™]œ_ô
Ù,‘T�QÐ0OÐWXÑ0XŒDˆAŠD™_ò
ð 	
ùó 
s   ”.¤.c                ó.   € V P                   P                  # r   )r®   rœ   r   s   &r   rœ   ÚModel.layersÏ   s   € à�z‰z× Ñ Ð r   )r<   r¯   r®   r   r   )r1   r2   r3   r4   rC   rm   rº   Úpropertyrœ   r6   r7   rq   rr   s   @@r   rª   rª   ´   s9   ù‡ € ÷Tó T÷
ò 
ò
ð ñ!ó ÷!ð !r   rª   )Údataclassesr   Útypingr   r   r   r   Úmlx.coreÚcorer\   Úmlx.nnrH   Úactivationsr   Úbaser	   r
   r   Ú
rope_utilsr   r   ÚModuler9   rt   r‚   r•   rª   © r   r   Ú<module>rÉ      s“   ðõ "ß -Ó -å Ý å ß TÑ TÝ 'ð ô@�ó @ó ð@ô.>#�—	‘	ô >#ôBJˆ"�)‰)ô Jô&�r—y‘yô ô8�—‘ô ô<!ˆB�I‰Iö !r   