+
    UV-j°  ã                   ó  € ^ RI Ht ^ RIHtHtHtHt ^RIHt ] ! R R]4      4       t	] ! R R]4      4       t
] ! R R	]4      4       t] ! R
 R]4      4       t] ! R R]4      4       t] ! R R]4      4       t] ! R R]4      4       tR# )é    )Ú	dataclass)ÚDictÚListÚOptionalÚUnion)ÚBaseModelConfigc                   ó„   a € ] tR t^t o ^PtRt^t^t^ tRt	Rt
^t^t^tRt^tRtRtRtRtRt^€tRtRtRtRtV 3R ltR	tV tR
# )ÚAudioConfigi   g      I@é   ç      à?gü©ñÒMbP?ç�íµ ÷Æ°>g    _ Bc                ó¼  <€ 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[S[ S[ 3,          ;R&   S[;R&   S[S[S[ S[ 3,          S[S[ S[ 3,          3,          ;R&   S[S[S[ S[ 3,          S[S[ S[ 3,          3,          ;R&   S[ ;R&   S[;R&   S[;R&   S[;R&   S[ ;R&   # )é   Úinput_feat_sizeÚhidden_sizeÚconf_attention_chunk_sizeÚconf_attention_context_leftÚconf_attention_context_rightÚ#conf_attention_invalid_logits_valueÚconf_attention_logit_capÚconf_num_attention_headsÚconf_num_hidden_layersÚconf_conv_kernel_sizeÚconf_positional_bias_sizeÚconf_reduction_factorÚconf_residual_weightÚsscp_conv_channel_sizeÚsscp_conv_group_norm_epsÚsscp_conv_kernel_sizeÚsscp_conv_stride_sizeÚ
vocab_sizeÚsscp_conv_epsÚrms_norm_epsÚgradient_clippingÚvocab_offset)ÚintÚfloatÚtuple)ÚformatÚ__classdict__s   "€Ún/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_vlm/models/gemma3n/config.pyÚ__annotate__ÚAudioConfig.__annotate__   s]  ø‡ ‚ áÑñ ñ Ññ ñ  #Ñ'ñ	 ñ
 "%Ñ)ñ ñ #&Ñ)ñ ñ */Ñ5ñ ñ $Ñ*ñ ñ "Ñ%ñ ñ  Ñ$ñ ñ Ñ"ñ ñ  #Ñ(ñ ñ Ñ"ñ ñ  Ñ%ñ ñ "¡#¡s (�OÑ7ñ ñ  $Ñ*ñ! ñ" !¡¡s©C x¥±%¹¹S¸µ/Ð!AÕBÑUñ# ñ$ !¡¡s©C x¥±%¹¹S¸µ/Ð!AÕBÑUñ% ñ& Ññ' ñ( Ññ) ñ* Ññ+ ñ, Ñ,ñ- ñ. Ñ%ò/ ó    © Ng    eÍÍÁ)é€   é    )©é   r3   r2   )©r   r   r4   i€  )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r*   s   @r+   r
   r
      sŠ   ø‡ € à€OØ€KØ%'ÐØ')ÐØ()Ð Ø15Ð'Ø&*ÐØ$%ÐØ"$ÐØ!"ÐØ%(ÐØ!"ÐØ"%ÐØ.7ÐØ&*ÐØEUÐØEUÐØ€JØ€MØ€LØ,ÐØ%€L÷/ ƒ r.   r
   c                   óX   a € ] tR t^!t o Rt^tRtRt^t^t	^àt
^tRt^€tRtV 3R ltRtV tR# )	ÚVisionConfigÚgemma3n_visioné   i    r   é   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&   # )r   Ú
model_typeÚnum_hidden_layersr   Úintermediate_sizeÚnum_attention_headsÚ
patch_sizeÚ
image_sizeÚnum_channelsr#   r!   r%   )Ústrr&   r'   )r)   r*   s   "€r+   r,   ÚVisionConfig.__annotate__!   s’   ø‡ ‚ áÑ&ñ ñ Ññ ñ Ññ	 ñ
 Ñ!ñ ñ Ñ!ñ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ññ ñ Ñò r.   r/   N)r5   r6   r7   r8   rC   rD   r   rE   rF   rG   rH   rI   r#   r!   r%   r9   r:   r;   r<   s   @r+   r>   r>   !   sF   ø‡ € à&€JØÐØ€KØ!ÐØ!ÐØ€JØ€JØ€LØ€LØ€JØ€L÷ ƒ r.   r>   c                   ó    a € ] tR t^0t o ^tRtRtRtRt^t	^@t
Rt^ t^ t^tRtRtRtR	tR
tRtRtRtRtRt^tRtRtRt^ tRtRtRt V 3R lt!Rt"V t#R# )Ú
TextConfigr   r   i  rA   r   NTi   g     ˆÃ@Fg    €„.Ag      °?g      >@g      ð?i €  ç        c                ó2  <€ 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[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[S[S[ S[S[S[S[,          3,          3,          ,          ;R&   S[;R&   S[;R&   S[S[S[,          ,          ;R&   S[;R&   S[;R&   S[;R&   S[;R&   S[;R &   S[S[ ,          ;R!&   # )"r   rC   r   rD   rE   rF   Úhead_dimr#   r!   Úvocab_size_per_layer_inputÚnum_key_value_headsÚlaurel_rankÚfrac_shared_layersÚaltup_active_idxÚpad_token_idÚaltup_num_inputsÚaltup_coef_clipÚaltup_correct_scaleÚhidden_size_per_layer_inputÚrope_local_base_freqÚrope_traditionalÚ
rope_thetaÚquery_pre_attn_scalarÚsliding_windowÚrope_scalingÚmm_tokens_per_imageÚsliding_window_patternÚactivation_sparsity_patternÚfinal_logit_softcappingÚquery_rescale_scalarÚnum_kv_shared_layersÚmax_position_embeddingsÚattn_logit_softcappingÚlayer_types)rJ   r&   r'   r   Úboolr   r   r   )r)   r*   s   "€r+   r,   ÚTextConfig.__annotate__0   sã  ø‡ ‚ á�Oñ ñ Ññ ñ Ññ	 ñ
 Ññ ñ Ñ ñ ñ Ññ ñ Ñ ñ ñ Ññ ñ !$Ñ,ñ ñ Ñ ñ ñ Ññ ñ Ñ#ñ ñ Ññ ñ Ññ ñ  Ññ! ñ" ™e•_Ñ+ñ# ñ$ Ñ$ñ% ñ& "%Ñ+ñ' ñ(  Ñ)ñ) ñ* Ñ"ñ+ ñ, Ñ!ñ- ñ. !Ñ)ñ/ ñ0 Ññ1 ñ2 ™4¡¡U©5±$±uµ+Ð+=Õ%>Ð >Õ?Õ@ÑGñ3 ñ4 Ñ"ñ5 ñ6  Ñ#ñ7 ñ8 "*©$©u­+Õ!6Ñ=ñ9 ñ: #Ñ)ñ; ñ<  Ñ%ñ= ñ> Ñ!ñ? ñ@ !Ñ(ñA ñB "Ñ'ñC ñD ‘c•Ñ!òE r.   r/   )$r5   r6   r7   r8   rF   rP   r#   r!   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   r9   r:   r;   r<   s   @r+   rM   rM   0   s³   ø‡ € ð  !ÐØ€HØ €LØ€JØ&,ÐØ ÐØ€KØ #ÐØÐØ€LØÐØ'+€OØ $ÐØ'+ÐØ")ÐØ"ÐØ!€JØ#)ÐØ€NØCG€LØ"ÐØ"#ÐØ9=ÐØ%)ÐØ"%ÐØ !ÐØ#(ÐØ$'ÐØ!€K÷E ƒ r.   rM   c                   óT   a € ] tR t^Ut o RtR	tRtRtRtRt	^ t
Rt^¼tRtV 3R ltRtV tR# )
ÚModelConfigi€ì i  i�  r@   r   Nc                óâ   <€ 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[S[S[,          ,          ;R&   # )r   Útext_configÚvision_configÚaudio_configrC   r!   Úignore_indexÚimage_token_indexÚaudio_token_idÚimage_token_idr   rV   Úvision_soft_tokens_per_imageÚaudio_soft_tokens_per_imageÚeos_token_id)rM   r>   r
   rJ   r&   r   r   )r)   r*   s   "€r+   r,   ÚModelConfig.__annotate__U   sÁ   ø‡ ‚ áÑñ ñ  Ññ ñ Ññ	 ñ
 �Oñ ñ Ññ ñ Ññ ñ Ñ#ñ ñ Ñ ñ ñ Ñ ñ ñ Ññ ñ Ññ ñ #&Ñ+ñ ñ "%Ñ*ñ ñ ™4¡�9Õ%Ñ,ò r.   r/   iœÿÿÿ)r5   r6   r7   r8   r!   rr   rs   rt   ru   r   rV   rv   rw   rx   r9   r:   r;   r<   s   @r+   rm   rm   U   sC   ø‡ € ð €JØ€LØ#ÐØ €NØ €NØ€KØ€LØ(+Ð Ø'*ÐØ(,€L÷ ƒ r.   rm   c                   óH   a € ] tR t^gt o ^t^t^tRtRt^t	Rt
V 3R ltRtV tR# )ÚMultiQueryAttentionBlockConfigFrN   c                ón   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[;R&   S[;R&   S[ ;R&   S[;R&   # )r   Ú	num_headsÚkv_dimÚ
kv_stridesÚmmqa_avg_pool_kvÚmmqa_dropoutÚmmqa_dw_kernel_sizeÚis_multiscale)r&   rj   r'   )r)   r*   s   "€r+   r,   Ú+MultiQueryAttentionBlockConfig.__annotate__g   s^   ø‡ ‚ áÑñ ñ Ññ ñ Ññ	 ñ
 Ñ"ñ ñ Ññ ñ Ñ ñ ñ Ñò r.   r/   N)r5   r6   r7   r8   r}   r~   r   r€   r�   r‚   rƒ   r9   r:   r;   r<   s   @r+   r{   r{   g   s1   ø‡ € à€IØ€FØ€JØ"ÐØ€LØ ÐØ€M÷ ƒ r.   r{   c                   óD   a € ] tR t^rt o ^ t^ t^ t^tRtRt	V 3R lt
RtV tR# )ÚUniversalInvertedResidualConfigç      @Fc                ób   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[ ;R&   S[;R&   S[;R&   # )r   Ústart_dw_kernel_sizeÚmid_dw_kernel_sizeÚfiltersÚstridesÚexpand_ratiorƒ   ©r&   r'   rj   )r)   r*   s   "€r+   r,   Ú,UniversalInvertedResidualConfig.__annotate__r   sQ   ø‡ ‚ áÑ!ñ ñ Ññ ñ Ññ	 ñ
 Ññ ñ Ññ ñ Ñò r.   r/   N)r5   r6   r7   r8   r‰   rŠ   r‹   rŒ   r�   rƒ   r9   r:   r;   r<   s   @r+   r†   r†   r   s,   ø‡ € à !ÐØÐØ€GØ€GØ€LØ€M÷ ƒ r.   r†   c                   ó@   a € ] tR t^|t o ^t^ t^tRtRtV 3R lt	Rt
V tR# )ÚEdgeResidualConfigr‡   Fc                óV   <€ V ^8„  d   Qh/ S[ ;R&   S[ ;R&   S[ ;R&   S[;R&   S[;R&   # )r   Úkernel_sizer‹   rŒ   r�   rƒ   rŽ   )r)   r*   s   "€r+   r,   ÚEdgeResidualConfig.__annotate__|   sD   ø‡ ‚ áÑñ ñ Ññ ñ Ññ	 ñ
 Ññ ñ Ñò r.   r/   N)r5   r6   r7   r8   r“   r‹   rŒ   r�   rƒ   r9   r:   r;   r<   s   @r+   r‘   r‘   |   s%   ø‡ € à€KØ€GØ€GØ€LØ€M÷ ƒ r.   r‘   N)Údataclassesr   Útypingr   r   r   r   Úbaser   r
   r>   rM   rm   r{   r†   r‘   r/   r.   r+   Ú<module>r˜      sÏ   ðÝ !ß .Ó .å "ð ô&�/ó &ó ð&ð2 ô �?ó  ó ð ð ô!"�ó !"ó ð!"ðH ô-�/ó -ó ð-ð" ô  _ó  ó ð ð ô  oó  ó ð ð ô ˜ó  ó ò r.   