+
    UV-jW  ã                   ó(  € ^ 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IH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# )é    )ÚOptionalN)ÚLanguageModelOutputÚcreate_attention_maskÚscaled_dot_product_attention)ÚKVCache©Ú
TextConfigc                   ó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[ /# ©é   Úconfigr   )ÚformatÚ__classdict__s   "€Úp/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_vlm/models/pixtral/language.pyÚ__annotate__ÚAttention.__annotate__   s   ø€ ÷ Mñ M™zñ Mó    c                ó¨  <€ \         SV `  4        VP                  pVP                  ;V n        pVP
                  ;V n        pVP                  pVR	,          V n        \        P                  ! W#V,          RR7      V n        \        P                  ! W$V,          RR7      V n        \        P                  ! W$V,          RR7      V n        \        P                  ! W5,          VRR7      V n        VP                  e3   VP                  R,          R8X  d   ^VP                  R,          ,          M^p\        P                   ! VVP"                  VP$                  VR7      V n        VP(                  V n        V P(                  '       dO   \        P*                  ! WQP,                  R7      V n        \        P*                  ! WQP,                  R7      V n        R# R# )
g      à?F©ÚbiasNÚtypeÚlinearÚfactor)ÚtraditionalÚbaseÚscale)ÚdimsÚepsg      à¿)ÚsuperÚ__init__Úhidden_sizeÚnum_attention_headsÚn_headsÚnum_key_value_headsÚ
n_kv_headsÚhead_dimr   ÚnnÚLinearÚq_projÚk_projÚv_projÚo_projÚrope_scalingÚRoPEÚrope_traditionalÚ
rope_thetaÚropeÚuse_qk_normÚRMSNormÚrms_norm_epsÚq_normÚk_norm)Úselfr   Údimr%   r'   r(   Ú
rope_scaleÚ	__class__s   &&     €r   r"   ÚAttention.__init__   sd  ø€ Ü‰ÑÔà× Ñ ˆØ!'×!;Ñ!;Ð;ˆŒ�wØ'-×'AÑ'AÐAˆŒ˜*à—?‘?ˆØ˜t•^ˆŒ
ä—i’i ¨xÕ%7¸eÔDˆŒÜ—i’i °(Õ%:ÀÔGˆŒÜ—i’i °(Õ%:ÀÔGˆŒÜ—i’i Õ 2°C¸eÔDˆŒð ×"Ñ"Ò.Ø×#Ñ# FÕ+¨xÔ7ð �×#Ñ# HÕ-Ö-ð ð	 	ô —G’GØØ×/Ñ/Ø×"Ñ"Øô	
ˆŒ	ð "×-Ñ-ˆÔà××ÐÜŸ*š*¨(×8KÑ8KÔLˆDŒKÜŸ*š*¨(×8KÑ8KÔLˆDŽKñ 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   1   sI   ø€ ÷ #ñ #á�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	                  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 P                  '       d#   V P                  V4      pV P                  V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)r   rA   éÿÿÿÿ)Úshaper+   r,   r-   Úreshaper%   Ú	transposer'   r4   r7   r8   r3   rI   Úupdate_and_fetchr   r   r.   )r9   r@   rA   rB   ÚBÚLÚDÚqueriesÚkeysÚvaluesÚoutputs   &&&&       r   Ú__call__ÚAttention.__call__1   s{  € ð —'‘'‰ˆˆaà $§¡¨A£°·±¸A³ÀÇÁÈAÃ�vˆð —/‘/ !¨¯©°bÓ9×CÑCÀAÀqÈ!ÈQÓOˆØ�|‰|˜A $§/¡/°2Ó6×@Ñ@ÀÀAÀqÈ!ÓLˆØ—‘  d§o¡o°rÓ:×DÑDÀQÈÈ1ÈaÓPˆà××ÐØ—k‘k 'Ó*ˆGØ—;‘;˜tÓ$ˆDàÒØ—i‘i ·±�iÓ=ˆGØ—9‘9˜T¯,©,�9Ó7ˆDØ ×1Ñ1°$Ó?‰LˆD�&à—i‘i Ó(ˆGØ—9‘9˜T“?ˆDä-Ø˜6°·
±
Àô
ˆð ×!Ñ! ! Q¨¨1Ó-×5Ñ5°a¸BÓ?ˆØ�{‰{˜6Ó"Ð"r   )r8   r,   r%   r'   r.   r7   r+   r3   r   r4   r-   ©NN©	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r"   rV   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r<   r   s   @@r   r   r      s!   ù‡ € ÷Mó M÷B#÷ #ò #r   r   c                   óD   a a€ ] tR t^St oV 3R ltV3R lR ltRtVtV ;t# )ÚMLPc                óÒ   <€ \         SV `  4        \        P                  ! WR R7      V n        \        P                  ! W!R R7      V n        \        P                  ! WR R7      V n        R# ©Fr   N)r!   r"   r)   r*   Ú	gate_projÚ	down_projÚup_proj)r9   r:   Ú
hidden_dimr<   s   &&&€r   r"   ÚMLP.__init__T   sD   ø€ Ü‰ÑÔÜŸš 3¸Ô?ˆŒÜŸš :¸Ô?ˆŒÜ—y’y °uÔ=ˆŽr   c                ó4   <€ V ^8„  d   QhRS[ P                  /# )r   rC   )rE   rF   )r   r   s   "€r   r   ÚMLP.__annotate__Z   s   ø€ ÷ Lñ L™RŸX™Xñ Lr   c                ó–   € V P                  \        P                  ! V P                  V4      4      V P	                  V4      ,          4      # ©N)rg   r)   Úsilurf   rh   )r9   r@   s   &&r   rV   ÚMLP.__call__Z   s0   € Ø�~‰~œbŸgšg d§n¡n°QÓ&7Ó8¸4¿<¹<È»?ÕJÓKÐKr   )rg   rf   rh   rY   ra   s   @@r   rc   rc   S   s   ù‡ € õ>÷L÷ Lð Lr   rc   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# )ÚTransformerBlockc                ó    <€ V ^8„  d   QhRS[ /# r   r   )r   r   s   "€r   r   ÚTransformerBlock.__annotate___   s   ø€ ÷ 
ñ 
™zñ 
r   c                ó¢  <€ \         SV `  4        VP                  V n        VP                  V n        \	        V4      V n        \        VP                  VP                  4      V n        \        P                  ! VP                  VP                  R 7      V n        \        P                  ! VP                  VP                  R 7      V n        Wn        R# )©r    N)r!   r"   r$   r#   r   Ú	self_attnrc   Úintermediate_sizeÚmlpr)   r5   r6   Úinput_layernormÚpost_attention_layernormr   ©r9   r   r<   s   &&€r   r"   ÚTransformerBlock.__init___   s˜   ø€ Ü‰ÑÔØ#)×#=Ñ#=ˆÔ Ø!×-Ñ-ˆÔÜ" 6Ó*ˆŒÜ�v×)Ñ)¨6×+CÑ+CÓDˆŒÜ!Ÿzšz¨&×*<Ñ*<À&×BUÑBUÔVˆÔÜ(*¯
ª
Ø×Ñ F×$7Ñ$7ô)
ˆÔ%ð Žr   c                óŽ   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[,          RS[ P                  /# r?   rD   )r   r   s   "€r   r   rt   k   sI   ø€ ÷ 
ñ 
á�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,           pV# rn   )rw   rz   ry   r{   )r9   r@   rA   rB   ÚrÚhÚouts   &&&&   r   rV   ÚTransformerBlock.__call__k   sK   € ð �N‰N˜4×/Ñ/°Ó2°DÓ@ˆØ�EˆØ�H‰H�T×2Ñ2°1Ó5Ó6ˆØ�eˆØˆ
r   )r   r#   rz   ry   r$   r{   rw   rX   rY   ra   s   @@r   rr   rr   ^   s   ù‡ € ÷
ó 
÷
÷ 
ò 
r   rr   c                   óT   a a€ ] tR t^xt 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# )ÚMistralc                ó    <€ V ^8„  d   QhRS[ /# r   r   )r   r   s   "€r   r   ÚMistral.__annotate__y   s   ø€ ÷ 
Lñ 
L™zñ 
L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   rv   N)r!   r"   r   Ú
vocab_sizeÚnum_hidden_layersr)   Ú	Embeddingr#   Úembed_tokensÚrangerr   Úlayersr5   r6   Únorm)r9   r   Ú_r<   s   && €r   r"   ÚMistral.__init__y   s±   ø€ Ü‰ÑÔØŒØ ×+Ñ+ˆŒØ!'×!9Ñ!9ˆÔØ�‰ Ô"Ð"Ð"ÜŸLšL¨×):Ñ):¸F×<NÑ<NÓOˆÔä5:¸6×;SÑ;SÔ5Tó
Ù5T°Ô F×+Ñ5Tñ
ˆŒô —J’J˜v×1Ñ1°v×7JÑ7JÔKˆŽ	ùò
s   ÂC"c                óˆ   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[ P                  ,          /# ©r   ÚinputsÚinputs_embedsrA   ©rE   rF   r   )r   r   s   "€r   r   r‡   …   s?   ø€ ÷ ñ á—‘ðñ  ¡§¡Õ)ðñ ‘r—x‘xÕ ñ	r   c                ó  € Vf   V P                  V4      pMTpVf   R .\        V P                  4      ,          pVf   \        WT^ ,          4      p\	        V P                  V4       F  w  rgV! WSV4      pK  	  V P                  V4      # rn   )rŒ   ÚlenrŽ   r   Úzipr�   )r9   r”   r•   rA   rB   r�   ÚlayerÚcs   &&&&&   r   rV   ÚMistral.__call__…   s   € ð Ò Ø×!Ñ! &Ó)‰AàˆAàŠ=Ø�FœS §¡Ó-Õ-ˆEàŠ<Ü(¨°!­HÓ5ˆDä˜DŸK™K¨Ö/‰HˆEÙ�a˜qÓ!ŠAñ 0ð �y‰y˜‹|Ðr   )r   rŒ   rŽ   r�   rŠ   r‰   ©NNNrY   ra   s   @@r   r…   r…   x   s    ù‡ € ÷
Ló 
L÷÷ ò r   r…   c                   ó”   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 4       t]R 4       t	]R 4       t
]R 4       tR	tVtV ;t# )ÚLanguageModelc                ó    <€ V ^8„  d   QhRS[ /# r   r   )r   r   s   "€r   r   ÚLanguageModel.__annotate__Ÿ   s   ø€ ÷ Tñ T™zñ Tr   c                óÖ   <€ \         SV `  4        Wn        VP                  V n        \	        V4      V n        \        P                  ! VP                  VP                  R R7      V n
        R# re   )r!   r"   r   Ú
model_typer…   Úmodelr)   r*   r#   r‰   Úlm_headr|   s   &&€r   r"   ÚLanguageModel.__init__Ÿ   sK   ø€ Ü‰ÑÔØŒØ ×+Ñ+ˆŒÜ˜V“_ˆŒ
Ü—y’y ×!3Ñ!3°V×5FÑ5FÈUÔSˆŽr   c                óˆ   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[ P                  ,          /# r“   r–   )r   r   s   "€r   r   r¡   ¦   s?   ø€ ÷ 
2ñ 
2á—‘ð
2ñ  ¡§¡Õ)ð
2ñ ‘r—x‘xÕ ñ	
2r   c                ób   € V P                  WWBR 7      pV P                  V4      p\        VR7      # ))rA   rB   r•   )Úlogits)r¤   r¥   r   )r9   r”   r•   rA   rB   Úkwargsr‚   r©   s   &&&&&,  r   rV   ÚLanguageModel.__call__¦   s/   € ð �j‰j˜°%ˆjÓUˆØ—‘˜cÓ"ˆÜ"¨&Ô1Ð1r   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)ÚweightsÚkÚvs   &  r   ÚsanitizeÚLanguageModel.sanitize²   s:   € ð %Ÿ]™]œ_ô
Ù,‘T�QÐ0OÐWXÑ0XŒDˆAŠD™_ò
ð 	
ùó 
s   ”.¤.c                ó.   € V P                   P                  # rn   )r¤   rŽ   ©r9   s   &r   rŽ   ÚLanguageModel.layers¹   s   € à�z‰z× Ñ Ð r   c                ó.   € V P                   P                  # rn   )r   r(   r´   s   &r   r(   ÚLanguageModel.head_dim½   s   € à�{‰{×#Ñ#Ð#r   c                ó.   € V P                   P                  # rn   )r   r&   r´   s   &r   r'   ÚLanguageModel.n_kv_headsÁ   s   € à�{‰{×.Ñ.Ð.r   )r   r¥   r¤   r£   r�   )rZ   r[   r\   r]   r"   rV   Ústaticmethodr±   ÚpropertyrŽ   r(   r'   r^   r_   r`   ra   s   @@r   rŸ   rŸ   ž   sp   ù‡ € ÷Tó T÷
2ò 
2ð ñ
ó ð
ð ñ!ó ð!ð ñ$ó ð$ð ñ/ó ÷/ð /r   rŸ   )Útypingr   Úmlx.coreÚcorerE   Úmlx.nnr)   r   r   r   r   rB   r   r   r	   ÚModuler   rc   rr   r…   rŸ   © r   r   Ú<module>rÂ      sv   ðÝ å Ý ÷ñ õ
 Ý ôA#�—	‘	ô A#ôHLˆ"�)‰)ô Lô�r—y‘yô ô4#ˆb�i‰iô #ôL%/�B—I‘Iö %/r   