+
    UV-j·(  ã                   ó^  € ^ RI HtHt ^ RIHt ^ RIHt ^ RIt	^RI
Ht ^RIHtHtHt R R l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# )é    )ÚOptionalÚTupleN)Úinterpolate)ÚAdapterConfigÚVisionConfigÚ	VitConfigc                óD   € V ^8„  d   QhR\         R\        P                  /# )é   ÚnameÚreturn)ÚstrÚnnÚModule)Úformats   "Úm/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/mlx_vlm/models/molmo2/vision.pyÚ__annotate__r      s   € ÷ "ñ "œ#ð "¤"§)¡)ñ "ó    c                 ól   € V R 8X  d   \         P                  ! RR7      # \         P                  ! RR7      # )Úgelu_pytorch_tanhÚfast)Úapprox)r   ÚGELU)r   s   &r   Ú_gelu_from_namer      s)   € ØÐ"Ô"Ü�wŠw˜fÔ%Ð%Ü�7Š7˜&Ô!Ð!r   c                   óP   a a€ ] tR t^t oV3R lV 3R lltV3R lR ltRtVtV ;t# )ÚViTMLPc                ó,   <€ V ^8„  d   QhRS[ RS[ RS[/# )r
   Úhidden_sizeÚintermediate_sizeÚ
hidden_act)Úintr   )r   Ú__classdict__s   "€r   r   ÚViTMLP.__annotate__   s"   ø€ ÷ /ñ /¡Cð /¹Cð /ÉSñ /r   c                ó¸   <€ \         SV `  4        \        P                  ! WR R7      V n        \        P                  ! W!R R7      V n        \        V4      V n        R# )T©ÚbiasN)ÚsuperÚ__init__r   ÚLinearÚw1Úw2r   Úact)Úselfr   r   r   Ú	__class__s   &&&&€r   r'   ÚViTMLP.__init__   s?   ø€ Ü‰ÑÔÜ—)’)˜KÀÔFˆŒÜ—)’)Ð-ÀÔFˆŒÜ" :Ó.ˆŽr   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# ©r
   Úxr   ©ÚmxÚarray)r   r!   s   "€r   r   r"      s#   ø€ ÷ -ñ -™"Ÿ(™(ð -¡r§x¡xñ -r   c                ó`   € V P                  V P                  V P                  V4      4      4      # ©N)r*   r+   r)   ©r,   r1   s   &&r   Ú__call__ÚViTMLP.__call__   s"   € Ø�w‰w�t—x‘x §¡¨£
Ó+Ó,Ð,r   )r+   r)   r*   ©	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r'   r8   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©r-   r!   s   @@r   r   r      s   ù‡ € ÷/ó /÷-÷ -ð -r   r   c                   ód   a a€ ] tR t^t oRRRRRR/V3R lV 3R llltRV3R lR	 lltR
tVtV ;t# )ÚViTMultiHeadDotProductAttentionÚ	input_dimNÚuse_biasTÚfloat32_attentionc                óT   <€ V ^8„  d   QhRS[ RS[ RS[ RS[ RS[S[ ,          RS[RS[/# )r
   r   Ú	num_headsÚnum_key_value_headsÚhead_dimrE   rF   rG   )r    r   Úbool)r   r!   s   "€r   r   Ú,ViTMultiHeadDotProductAttention.__annotate__   s`   ø€ ÷ Yñ Yñ ðYñ ð	Yñ
 !ðYñ ðYñ ™C•=ðYñ ðYñ  ñYr   c               ó®  <€ \         SV `  4        Wn        W n        W0n        W@n        V P                  V P                  ,          V n        VR,          V n        Wpn        T;'       g    Tp\        P                  ! WPP                  V P
                  ,          VR7      V n        \        P                  ! WPP                  V P
                  ,          VR7      V n        \        P                  ! WPP                  V P
                  ,          VR7      V n        \        P                  ! V P                  V P
                  ,          V P                  RR7      V n        R# )ç      à?r$   TNg      à¿)r&   r'   r   rI   rJ   rK   Únum_key_value_groupsÚscalerG   r   r(   ÚwqÚwkÚwvÚwo)	r,   r   rI   rJ   rK   rE   rF   rG   r-   s	   &$$$$$$$€r   r'   Ú(ViTMultiHeadDotProductAttention.__init__   sî   ø€ ô 	‰ÑÔØ&ÔØ"ŒØ#6Ô Ø ŒØ$(§N¡N°d×6NÑ6NÕ$NˆÔ!Ø˜t•^ˆŒ
Ø!2Ôà×,Ð, ˆ	Ü—)’)˜I§~¡~¸¿¹Õ'EÈHÔUˆŒÜ—)’)Ø×/Ñ/°$·-±-Õ?Àhô
ˆŒô —)’)Ø×/Ñ/°$·-±-Õ?Àhô
ˆŒô —)’)˜DŸN™N¨T¯]©]Õ:¸D×<LÑ<LÐSWÔXˆŽr   c                ó¢   <€ V ^8„  d   QhRS[ P                  RS[S[ P                  ,          RS[S[ P                  ,          RS[ P                  /# )r
   Úinputs_qÚ	inputs_kvÚ	attn_maskr   )r3   r4   r   )r   r!   s   "€r   r   rM   ;   sM   ø€ ÷ 1ñ 1á—(‘(ð1ñ ™BŸH™HÕ%ð1ñ ™BŸH™HÕ%ð	1ñ
 
�‰ñ1r   c           
     óº  € Vf   TpTpMTpTpV P                  V4      pV P                  V4      pV P                  V4      pVP                  w  ršpVP                  w  r¼pVP	                  WšV P
                  V P                  4      pVP	                  WœV P                  V P                  4      pVP	                  WœV P                  V P                  4      pV P
                  V P                  8w  dE   \        P                  ! WpP                  ^R7      p\        P                  ! W€P                  ^R7      pVP                  ^ ^^^4      pVP                  ^ ^^^4      pVP                  ^ ^^^4      pVP                  pV P                  '       d^   VP                  \        P                  4      pVP                  \        P                  4      pVP                  \        P                  4      p\        P                   ! WÞP                  ^ ^^^4      4      V P"                  ,          pVeD   \        P$                  ! VV\        P&                  ! VP                  RVP                  R7      4      p\        P(                  ! VRR7      p\        P                   ! VV4      P                  V4      pVP                  ^ ^^^4      P	                  WšR4      pV P+                  V4      # )N©Úaxis)ÚvalsÚdtypeg    eÍÍÁéÿÿÿÿ)rR   rS   rT   ÚshapeÚreshaperI   rK   rJ   r3   ÚrepeatrP   Ú	transposer_   rG   ÚastypeÚfloat32ÚmatmulrQ   ÚwhereÚfullÚsoftmaxrU   )r,   rX   rY   rZ   Úinputs_kÚinputs_vÚxqÚxkÚxvÚbszÚq_lenÚ_Úkv_lenÚqÚkÚvr_   ÚscoresÚweightsÚouts   &&&&                r   r8   Ú(ViTMultiHeadDotProductAttention.__call__;   s-  € ð ÒØˆHØ‰Hà ˆHØ ˆHà�W‰W�XÓˆØ�W‰W�XÓˆØ�W‰W�XÓˆàŸ™‰ˆ�AØ—x‘x‰ˆ�1à�Z‰Z˜ D§N¡N°D·M±MÓBˆØ�Z‰Z˜ T×%=Ñ%=¸t¿}¹}ÓMˆØ�Z‰Z˜ T×%=Ñ%=¸t¿}¹}ÓMˆà�>‰>˜T×5Ñ5Ô5Ü—’˜2×8Ñ8¸qÔAˆBÜ—’˜2×8Ñ8¸qÔAˆBà�L‰L˜˜A˜q !Ó$ˆØ�L‰L˜˜A˜q !Ó$ˆØ�L‰L˜˜A˜q !Ó$ˆà—‘ˆØ×!×!Ð!Ø—‘œŸ™Ó$ˆAØ—‘œŸ™Ó$ˆAØ—‘œŸ™Ó$ˆAä—’˜1Ÿk™k¨!¨Q°°1Ó5Ó6¸¿¹ÕCˆØÒ Ü—X’XØØÜ—’˜Ÿ™¨4°v·|±|ÔDóˆFô —*’*˜V¨"Ô-ˆÜ�iŠi˜ Ó#×*Ñ*¨5Ó1ˆØ�m‰m˜A˜q ! QÓ'×/Ñ/°¸BÓ?ˆØ�w‰w�s‹|Ðr   )rG   rK   r   rI   rP   rJ   rQ   rS   rU   rR   rT   )NNr:   rB   s   @@r   rD   rD      sA   ù‡ € ðYð $(ðYð ðYð #'÷Yõ Y÷<1÷ 1ò 1r   rD   c                   óP   a a€ ] tR t^ot oV3R lV 3R lltV3R lR ltRtVtV ;t# )ÚMolmo2VisionBlockc                ó    <€ V ^8„  d   QhRS[ /# ©r
   Úconfig©r   )r   r!   s   "€r   r   ÚMolmo2VisionBlock.__annotate__p   s   ø€ ÷ Tñ T™yñ Tr   c           	     óì  <€ \         SV `  4        \        VP                  VP                  VP
                  VP                  VP                  VP                  R 7      V n        \        VP                  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        R# ))r   rI   rJ   rK   rG   rE   )ÚepsN)r&   r'   rD   r   Únum_attention_headsrJ   rK   rG   Ú	attentionr   r   r   Úfeed_forwardr   Ú	LayerNormÚlayer_norm_epsÚattention_normÚffn_norm)r,   r   r-   s   &&€r   r'   ÚMolmo2VisionBlock.__init__p   sº   ø€ Ü‰ÑÔÜ8Ø×*Ñ*Ø×0Ñ0Ø &× :Ñ :Ø—_‘_Ø$×6Ñ6Ø×(Ñ(ô
ˆŒô #Ø×Ñ × 8Ñ 8¸&×:KÑ:Kó
ˆÔô !ŸlšlØ×Ñ F×$9Ñ$9ô
ˆÔô Ÿš V×%7Ñ%7¸V×=RÑ=RÔSˆŽr   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# r0   r2   )r   r!   s   "€r   r   r�   ‚   s#   ø€ ÷ ñ ™"Ÿ(™(ð ¡r§x¡xñ r   c                óž   € WP                  V P                  V4      4      ,           pWP                  V P                  V4      4      ,           pV# r6   ©r…   r‰   r†   rŠ   r7   s   &&r   r8   ÚMolmo2VisionBlock.__call__‚   s?   € Ø—‘˜t×2Ñ2°1Ó5Ó6Õ6ˆØ×!Ñ! $§-¡-°Ó"2Ó3Õ3ˆØˆr   rŽ   r:   rB   s   @@r   r|   r|   o   s    ù‡ € ÷Tó T÷$÷ ð r   r|   c                   óf   a a€ ] tR t^ˆt oV3R lV 3R lltV3R lR ltRV3R lR lltRtVtV ;t	# )	ÚMolmo2VisionTransformerc                ó    <€ V ^8„  d   QhRS[ /# r~   r€   )r   r!   s   "€r   r   Ú$Molmo2VisionTransformer.__annotate__‰   s   ø€ ÷ 

ñ 

™yñ 

r   c                ó¦  <€ \         SV `  4        Wn        ^ V n        \        P
                  ! VP                  VP                  34      V n        VP                  VP                  ,          ^,          p\        P                  ! W!P                  RR7      V n        \        VP                  4       Uu. uF  p\        V4      NK  	  upV n        R# u upi )r   Tr$   N)r&   r'   r   Únum_prefix_tokensr3   ÚzerosÚimage_num_posr   Úpositional_embeddingÚimage_patch_sizer   r(   Úpatch_embeddingÚrangeÚnum_hidden_layersr|   Útransformer)r,   r   Ú	patch_dimrr   r-   s   &&  €r   r'   Ú Molmo2VisionTransformer.__init__‰   s¤   ø€ Ü‰ÑÔØŒØ!"ˆÔä$&§H¢H¨f×.BÑ.BÀF×DVÑDVÐ-WÓ$XˆÔ!Ø×+Ñ+¨f×.EÑ.EÕEÈÕIˆ	Ü!Ÿyšy¨×4FÑ4FÈTÔRˆÔä/4°V×5MÑ5MÔ/Nó
Ù/N¨!Ô˜fÖ%Ñ/Nñ
ˆÖùò 
s   Â0Cc                ój   <€ V ^8„  d   QhRS[ P                  RS[S[S[3,          RS[ P                  /# )r
   r1   Ú	patch_numr   )r3   r4   r   r    )r   r!   s   "€r   r   r“   •   s2   ø€ ÷ 7ñ 7™RŸX™Xð 7±%¹¹S¸µ/ð 7ÁbÇhÁhñ 7r   c                óV  € V P                   p\        VP                  ^ ,          R,          4      p\        P                  ! W4WCP                  ^,          34      pVw  rVVP                  ^ ,          V8w  g   VP                  ^,          V8w  dM   \        P
                  ! VR,          R4      p\        W5V3RRR7      p\        P
                  ! VR4      ^ ,          p\        P                  ! VRVP                  R,          34      pWR	,          P                  VP                  4      ,           # )
r   rO   ÚcubicF)ÚmodeÚalign_corners)N.)r   é   é   r
   )r   r
   r¦   r§   r`   )NºNNNr¨   )	r˜   r    ra   r3   rb   rd   r   re   r_   )r,   r1   r¡   Úpos_embÚpos_emb_sizeÚpatch_hÚpatch_ws   &&&    r   Úadd_pos_embÚ#Molmo2VisionTransformer.add_pos_emb•   sè   € Ø×+Ñ+ˆÜ˜7Ÿ=™=¨Õ+¨sÕ2Ó3ˆÜ—*’*˜W°\Ç=Á=ÐQRÕCSÐ&TÓUˆà$ÑˆØ�=‰=˜Õ˜wÔ&¨'¯-©-¸Õ*:¸gÔ*EÜ—l’l 7¨9Õ#5°|ÓDˆGÜ!Ø 7Ð+°'ÈôˆGô —l’l 7¨LÓ9¸!Õ<ˆGä—*’*˜W r¨7¯=©=¸Õ+<Ð&=Ó>ˆØ˜:Õ&×-Ñ-¨a¯g©gÓ6Õ6Ð6r   c                ó`   <€ V ^8„  d   QhRS[ P                  RS[S[S[S[3,          ,          /# )r
   r1   r¡   )r3   r4   r   r   r    )r   r!   s   "€r   r   r“   ¥   s0   ø€ ÷ ñ á�8‰8ðñ ™E¡#¡s (�OÕ,ñr   c                óÚ   € Vf   V P                   P                  pV P                  V4      pV P                  W4      p. pV P                   F  pV! V4      pVP                  V4       K  	  V# r6   )r   Úimage_num_patchrš   r­   r�   Úappend)r,   r1   r¡   Úhidden_statesÚblocks   &&&  r   r8   Ú Molmo2VisionTransformer.__call__¥   sm   € ð
 ÒØŸ™×3Ñ3ˆIà× Ñ  Ó#ˆØ×Ñ˜QÓ*ˆàˆØ×%Ô%ˆEÙ�a“ˆAØ× Ñ  Ö#ñ &ð Ðr   )r   r•   rš   r˜   r�   r6   )
r;   r<   r=   r>   r'   r­   r8   r?   r@   rA   rB   s   @@r   r‘   r‘   ˆ   s(   ù‡ € ÷

ó 

÷7ð 7÷ ÷ ò r   r‘   c                   óP   a a€ ] tR t^·t oV3R lV 3R lltV3R lR ltRtVtV ;t# )ÚImageProjectorMLPc                ó,   <€ V ^8„  d   QhRS[ RS[ RS[ /# )r
   rE   Ú
hidden_dimÚ
output_dim)r    )r   r!   s   "€r   r   ÚImageProjectorMLP.__annotate__¸   s"   ø€ ÷ ?ñ ?¡#ð ?±3ð ?ÁCñ ?r   c                óÒ   <€ \         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(   r)   r*   Úw3)r,   rE   r¹   rº   r-   s   &&&&€r   r'   ÚImageProjectorMLP.__init__¸   sD   ø€ Ü‰ÑÔÜ—)’)˜I¸Ô>ˆŒÜ—)’)˜J¸Ô?ˆŒÜ—)’)˜I¸Ô>ˆŽr   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# r0   r2   )r   r!   s   "€r   r   r»   ¾   s#   ø€ ÷ 9ñ 9™"Ÿ(™(ð 9¡r§x¡xñ 9r   c                ó–   € V P                  \        P                  ! V P                  V4      4      V P	                  V4      ,          4      # r6   )r*   r   Úsilur)   r½   r7   s   &&r   r8   ÚImageProjectorMLP.__call__¾   s/   € Ø�w‰w”r—w’w˜tŸw™w q›zÓ*¨T¯W©W°Q«ZÕ7Ó8Ð8r   )r)   r*   r½   r:   rB   s   @@r   r·   r·   ·   s   ù‡ € ÷?ó ?÷9÷ 9ð 9r   r·   c                   ób   a a€ ] tR t^Ât oV3R lV 3R lltV3R lR ltV3R lR ltRtVtV ;t	# )ÚVisionModelc                ó    <€ V ^8„  d   QhRS[ /# r~   )r   )r   r!   s   "€r   r   ÚVisionModel.__annotate__Ã   s   ø€ ÷ 
ñ 
™|ñ 
r   c           	     ój  <€ \         SV `  4        Wn        R V n        VP                  V n        VP
                  V n        \        V P                  4      V n        . V n        V P
                  P                   FA  pV P                  P                  V^ 8¼  d   TMW P                  P                  ,           4       KC  	  V P                  P                  \        V P                  4      ,          p\        V P
                  P                  V P
                  P                  V P
                  P                  V P
                  P                   VV P
                  P"                  R7      V n        \'        V P
                  P                  V P
                  P(                  V P
                  P*                  4      V n        R# )Úmolmo2)r   rI   rJ   rK   rE   rG   N)r&   r'   r   Ú
model_typeÚ
vit_configÚadapter_configr‘   Ú	image_vitÚ
vit_layersr²   rœ   r   ÚlenrD   r„   rJ   rK   rG   Úimage_pooling_2dr·   r   Útext_hidden_sizeÚimage_projector)r,   r   ÚlayerÚpool_dimr-   s   &&  €r   r'   ÚVisionModel.__init__Ã   sB  ø€ Ü‰ÑÔØŒØ"ˆŒØ%+×%6Ñ%6ˆŒØ-3×-BÑ-BˆÔä0°·±ÓAˆŒàˆŒØ×(Ñ(×3Ô3ˆEØ�O‰O×"Ñ"Ø !œ‘¨·±×1RÑ1RÕ)Röñ 4ð
 —?‘?×.Ñ.´°T·_±_Ó1EÕEˆä ?Ø×+Ñ+×7Ñ7Ø×)Ñ)×=Ñ=Ø $× 3Ñ 3× GÑ GØ×(Ñ(×1Ñ1ØØ"×1Ñ1×CÑCô!
ˆÔô  1Ø×Ñ×+Ñ+Ø×Ñ×1Ñ1Ø×Ñ×0Ñ0ó 
ˆÖr   c                óN   <€ V ^8„  d   QhRS[ P                  RS[ P                  /# )r
   Úimagesr   r2   )r   r!   s   "€r   r   rÆ   ã   s#   ø€ ÷ ñ ¡2§8¡8ð ±·±ñ r   c                ó  € VP                   w  r#rEVP                  W#,          WE4      pV P                  V4      pV P                   Uu. uF  qvV,          NK  	  pp\        P
                  ! VRR7      p	V	P                  W#VR4      p	V	# u upi )r§   r\   r`   )ra   rb   rÌ   rÍ   r3   Úconcatenate)
r,   rÖ   Ú
batch_sizeÚ	num_cropsÚ	num_patchrž   r³   rÒ   ÚfeaturesÚimage_featuress
   &&        r   Úencode_imageÚVisionModel.encode_imageã   s€   € Ø6<·l±lÑ3ˆ
˜yØ—‘ 
Õ 6¸	ÓMˆØŸ™ vÓ.ˆà6:·o²oÓF±o¨U %×(Ð(±oˆÐFÜŸš¨°rÔ:ˆØ'×/Ñ/°
ÀyÐRTÓUˆØÐùò Gs   ÁBc                óh   <€ V ^8„  d   QhRS[ P                  RS[ P                  RS[ P                  /# )r
   rÖ   Úpooled_patches_idxr   r2   )r   r!   s   "€r   r   rÆ   í   s5   ø€ ÷ 1/ñ 1/á—‘ð1/ñ ŸH™Hð1/ñ 
�‰ñ	1/r   c                óÌ  € VP                   R ,          w  r4V P                  V4      pVP                   R,          pV^ 8¬  p\        P                  ! VRR7      pVP	                  VRV4      p	\        P
                  ! V^ R4      p
\        P                  ! V4      R,          p\        P                  ! WºP                   4      pV	\        P                  ! VR4      \        P                  ! V
R4      3,          pVP	                  VP                   ^ ,          VP                   ^,          VP                   ^,          V4      pW×R	,          P                  VP                  4      ,          pVP	                  RVP                   R,          V4      pV P                  P                  '       dà   VP	                  R^^VP                   R,          4      pVP	                  RVP                   R
,          4      P                  \        P                  4      P                  RR7      p\        P                  ! V^ 8H  \        P                  ! V4      V4      pVP                  R
RR7      VR,          P                  VP                  4      ,          pMRp\        P                   ! VR
RR7      pV P#                  VWÞR7      pVP	                  VRVP                   R,          4      pV P%                  V4      pVP	                  RVP                   R,          4      p\&        P(                  ! V4      P+                  4       p\&        P                  ! V4      ^ ,          pV\        P(                  ! V4      ,          # ):Nr
   Nr\   NT)r]   Úkeepdims)rZ   r`   )r¨   NN)r`   ).Néþÿÿÿ)ra   rÞ   r3   Úanyrb   ÚclipÚarangeÚbroadcast_tore   r_   rË   Úpooling_attention_maskrf   Úsumrh   Ú	ones_likeÚmeanrÏ   rÑ   Únpr4   Úflatten)r,   rÖ   rá   rÙ   rÚ   rÝ   ÚdimÚvalidÚvalid_tokenÚflat_featuresÚidxÚ	batch_idxÚgatheredÚto_poolrZ   ÚdenomÚqueryÚpooledÚ
valid_flatÚvalid_indicess   &&&                 r   r8   ÚVisionModel.__call__í   sŸ  € ð
 !'§¡¨RÕ 0Ñˆ
à×*Ñ*¨6Ó2ˆØ×"Ñ" 2Õ&ˆà" aÑ'ˆÜ—f’f˜U¨Ô,ˆà&×.Ñ.¨z¸2¸sÓCˆÜ�gŠgÐ(¨!¨TÓ2ˆÜ—I’I˜jÓ)¨-Õ8ˆ	Ü—O’O I¯y©yÓ9ˆ	à ¤§¢¨I°uÓ!=¼r¿zºzÈ#ÈuÓ?UÐ!UÕVˆØ×"Ñ"Ø×$Ñ$ QÕ'Ø×$Ñ$ QÕ'Ø×$Ñ$ QÕ'Øó	
ˆð  )Õ,×3Ñ3°G·M±MÓBÕBˆØ—/‘/ "Ð&8×&>Ñ&>¸rÕ&BÀCÓHˆà×Ñ×5×5Ð5ØŸ™ b¨!¨Q°·±¸BµÓ@ˆIØ—M‘M " g§m¡m°BÕ&7Ó8×?Ñ?ÄÇ
Á
ÓK×OÑOÐUWÐOÓXˆEÜ—H’H˜U a™Z¬¯ª°eÓ)<¸eÓDˆEØ—K‘K R°$�KÓ7¸%ÀÕ:N×:UÑ:UØ—‘ó;õ ‰Eð ˆIÜ—G’G˜G¨"°tÔ<ˆEà×&Ñ& u¨gÐ&ÓKˆØ—‘ 
¨B°·±¸RÕ0@ÓAˆØ×%Ñ% fÓ-ˆà—‘  F§L¡L°Õ$4Ó5ˆô —X’X˜kÓ*×2Ñ2Ó4ˆ
ÜŸš Ó,¨QÕ/ˆØ”b—h’h˜}Ó-Õ.Ð.r   )rË   r   rÏ   rÑ   rÌ   rÉ   rÊ   rÍ   )
r;   r<   r=   r>   r'   rÞ   r8   r?   r@   rA   rB   s   @@r   rÄ   rÄ   Â   s)   ù‡ € ÷
ó 
÷@ð ÷1/÷ 1/ð 1/r   rÄ   )Útypingr   r   Úmlx.coreÚcorer3   Úmlx.nnr   Únumpyrí   Úbaser   r   r   r   r   r   r   r   rD   r|   r‘   r·   rÄ   © r   r   Ú<module>r     s…   ðß "å Ý Û å ß :Ñ :õ"ô-ˆR�Y‰Yô -ôP b§i¡iô Pôf˜Ÿ	™	ô ô2,˜bŸi™iô ,ô^9˜Ÿ	™	ô 9ô\/�"—)‘)ö \/r   