+
    œ°³j‘(  ã                   óÜ  € ^ RI Ht ^ RIt^ RIHt ^RIHtHt ^RIH	t	 ^RI
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IHt ^RIHt ^RIHtHtHtH t H!t!H"t"H#t#H$t$H%t% ^RI&H't' ]PP                  ! ])4      t*Rt+Rt, ! R R]#4      t- ! R R]4      t. ! R R]4      t/ ! R R]4      t0 ! R R]"4      t1 ! R R]!4      t2 ! R R]4      t3 ! R R ]4      t4 ! R! R"] 4      t5. R#Ot6R# )$é    )ÚCallableN)ÚCacheÚDynamicCache)Úcreate_causal_mask)ÚGradientCheckpointingLayer)ÚBaseModelOutputWithPast)ÚALL_ATTENTION_FUNCTIONS)ÚUnpack)ÚTransformersKwargsÚauto_docstringÚlogging)Úmerge_with_config_defaults)Úcapture_outputs)ÚCLIPMLP)	ÚLlamaAttentionÚLlamaForCausalLMÚLlamaForSequenceClassificationÚLlamaForTokenClassificationÚ
LlamaModelÚLlamaPreTrainedModelÚLlamaRotaryEmbeddingÚapply_rotary_pos_embÚeager_attention_forward©Ú	PhiConfigzmicrosoft/phi-1r   c                   ó6   a € ] tR t^&t o RV 3R lR lltRtV tR# )ÚPhiRotaryEmbeddingNc                óP   <€ V ^8„  d   QhRS[ RS[S[P                  S[3,          /# )é   ÚconfigÚreturn)r   ÚtupleÚtorchÚTensorÚfloat)ÚformatÚ__classdict__s   "€Úd/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/phi/modular_phi.pyÚ__annotate__ÚPhiRotaryEmbedding.__annotate__'   s.   ø€ ÷ 5ñ 5±	ð 5ÑUZÑ[`×[gÑ[gÑinÐ[nÕUoñ 5ó    c           	     óŠ  € V P                   R,          pV P                   P                  RR4      p\        V RR4      ;'       g    V P                  V P                  ,          p\        WT,          4      pRpRV\        P                  ! ^ V^\        P                  R7      V,          ,          ,          pVP                  V4      V3# )a~  
Computes the inverse frequencies according to the original RoPE implementation
Args:
    config ([`~transformers.PreTrainedConfig`]):
        The model configuration.
Returns:
    Tuple of (`torch.Tensor`, `float`), containing the inverse frequencies for the RoPE embeddings and the
    post-processing scaling factor applied to the computed cos/sin (unused in this type of RoPE).
Ú
rope_thetaÚpartial_rotary_factorg      ð?Úhead_dimN)Údtype)
Úrope_parametersÚgetÚgetattrÚhidden_sizeÚnum_attention_headsÚintr#   Úaranger%   Úto)	r    ÚdeviceÚkwargsÚbaser.   r/   ÚdimÚattention_factorÚinv_freqs	   &&,      r(   Úcompute_default_rope_parametersÚ2PhiRotaryEmbedding.compute_default_rope_parameters'   s¦   € ð ×%Ñ% lÕ3ˆØ &× 6Ñ 6× :Ñ :Ð;RÐTWÓ XÐÜ˜6 :¨tÓ4×hÐh¸×8JÑ8JÈf×NhÑNhÕ8hˆÜ�(Õ2Ó3ˆàÐà˜$¤5§<¢<°°3¸ÄÇÁÔ#MÐPSÕ#SÕTÕUˆØ�{‰{˜6Ó"Ð$4Ð4Ð4r+   © ©N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r?   Ú__static_attributes__Ú__classdictcell__)r'   s   @r(   r   r   &   s   ø‡ € ÷5÷ 5ð 5r+   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# )ÚPhiAttentionc                ó&   <€ V ^8„  d   QhRS[ RS[/# ©r   r    Ú	layer_idx©r   r6   )r&   r'   s   "€r(   r)   ÚPhiAttention.__annotate__=   s   ø€ ÷ ñ ™yð ±Sñ r+   c                óü  <€ \         SV `  W4       \        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        V =\        V P                  VP                  R,          ,          4      V n        VP                   V n        V P                   '       d‰   \        P"                  ! VP                  VP
                  ,          VP$                  R R7      V n        \        P"                  ! VP                  VP
                  ,          VP$                  R R7      V n        R# R# )T©Úbiasr.   )ÚepsÚelementwise_affineN)ÚsuperÚ__init__ÚnnÚLinearr4   r5   r/   Úq_projÚnum_key_value_headsÚk_projÚv_projÚdenseÚo_projr6   r1   Úrotary_ndimsÚqk_layernormÚ	LayerNormÚlayer_norm_epsÚq_layernormÚk_layernorm©Úselfr    rM   Ú	__class__s   &&&€r(   rV   ÚPhiAttention.__init__=   si  ø€ Ü‰Ñ˜Ô+Ü—i’i × 2Ñ 2°F×4NÑ4NÐQU×Q^ÑQ^Õ4^ÐeiÔjˆŒÜ—i’i × 2Ñ 2°F×4NÑ4NÐQU×Q^ÑQ^Õ4^ÐeiÔjˆŒÜ—i’i × 2Ñ 2°F×4NÑ4NÐQU×Q^ÑQ^Õ4^ÐeiÔjˆŒÜ—Y’Y˜v×9Ñ9¸D¿M¹MÕIÈ6×K]ÑK]ÐdhÔiˆŒ
ØˆKÜ §¡°×0FÑ0FÐG^Õ0_Õ _Ó`ˆÔØ"×/Ñ/ˆÔØ××ÐÜ!Ÿ|š|Ø×"Ñ" f×&@Ñ&@Õ@Àf×F[ÑF[Ðptô ˆDÔô  "Ÿ|š|Ø×"Ñ" f×&@Ñ&@Õ@Àf×F[ÑF[Ðptô ˆDÖñ	 r+   c                ó  <€ V ^8„  d   QhRS[ P                  RS[S[ P                  S[ P                  3,          RS[ P                  R,          RS[R,          RS[S[ P                  S[ P                  R,          3,          /# )r   Úhidden_statesÚposition_embeddingsÚattention_maskNÚpast_key_valuesr!   )r#   r$   r"   r   )r&   r'   s   "€r(   r)   rO   N   sw   ø€ ÷ 8)ñ 8)á—|‘|ð8)ñ #¡5§<¡<±·±Ð#=Õ>ð8)ñ Ÿ™ tÕ+ð	8)ñ
  �ð8)ñ 
‰u�|‰|™UŸ\™\¨DÕ0Ð0Õ	1ñ8)r+   c                ó˜  € VP                   R R p. VORNV P                  N5pV P                  V4      P                  V4      P	                  ^^4      pV P                  V4      P                  V4      P	                  ^^4      p	V P                  V4      P                  V4      P	                  ^^4      p
V P                  '       d#   V P                  V4      pV P                  V	4      p	Vw  r¼VRR V P                  13,          VRV P                  R 13,          ríV	RR V P                  13,          V	RV P                  R 13,          pp\        WßW¼4      w  rß\        P                  ! WÞ3RR7      p\        P                  ! VV3RR7      p	Ve   VP                  WšV P                  4      w  rš\         P"                  ! V P$                  P&                  \(        4      pT! V VV	V
V3RV P*                  '       g   RMV P,                  RV P.                  /VB w  ppVP0                  ! . VORN5!  P3                  4       pV P5                  V4      pVV3# )N.)r<   Údropoutg        Úscalingéÿÿÿÿ)Úshaper/   rY   ÚviewÚ	transposer[   r\   r`   rc   rd   r_   r   r#   ÚcatÚupdaterM   r	   Úget_interfacer    Ú_attn_implementationr   ÚtrainingÚattention_dropoutrp   ÚreshapeÚ
contiguousr]   )rf   rj   rk   rl   rm   r:   Úinput_shapeÚhidden_shapeÚquery_statesÚ
key_statesÚvalue_statesÚcosÚsinÚ	query_rotÚ
query_passÚkey_rotÚkey_passÚattention_interfaceÚattn_outputÚattn_weightss   &&&&&,              r(   ÚforwardÚPhiAttention.forwardN   sP  € ð $×)Ñ)¨#¨2Ð.ˆØ8˜Ð8 bÐ8¨$¯-©-Ñ8ˆà—{‘{ =Ó1×6Ñ6°|ÓD×NÑNÈqÐRSÓTˆØ—[‘[ Ó/×4Ñ4°\ÓB×LÑLÈQÐPQÓRˆ
Ø—{‘{ =Ó1×6Ñ6°|ÓD×NÑNÈqÐRSÓTˆà××ÐØ×+Ñ+¨LÓ9ˆLØ×)Ñ)¨*Ó5ˆJà&‰ˆð ˜Ð1 × 1Ñ 1Ð1Ð1Õ2Ø˜˜d×/Ñ/Ñ1Ð1Õ2ð ð
 �sÐ/˜d×/Ñ/Ð/Ð/Õ0Ø�s˜D×-Ñ-Ñ/Ð/Õ0ð ˆô
 2°)ÀcÓOÑˆ	ô —y’y )Ð!8¸bÔAˆÜ—Y’Y ¨Ð2¸Ô;ˆ
àÒ&Ø'6×'=Ñ'=¸jÐX\×XfÑXfÓ'gÑ$ˆJä(?×(MÒ(MØ�K‰K×,Ñ,Ô.Eó)
Ðñ %8ØØØØØñ	%
ð  $Ÿ}Ÿ}˜}‘C°$×2HÑ2Hð	%
ð —L‘Lð	%
ð ñ	%
Ñ!ˆ�\ð "×)Ò)Ð;¨;Ð;¸Ó;×FÑFÓHˆØ—j‘j Ó-ˆØ˜LÐ(Ð(r+   )r]   rd   r[   rc   rY   r`   r_   r\   rB   ©	rC   rD   rE   rF   rV   r‹   rG   rH   Ú__classcell__©rg   r'   s   @@r(   rJ   rJ   <   s   ù‡ € ÷ó ÷"8)÷ 8)ò 8)r+   rJ   c                   ó   € ] tR t^‰tRtR# )ÚPhiMLPrA   N©rC   rD   rE   rF   rG   rA   r+   r(   r‘   r‘   ‰   ó   † Û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# )ÚPhiDecoderLayerc                ó&   <€ V ^8„  d   QhRS[ RS[/# rL   rN   )r&   r'   s   "€r(   r)   ÚPhiDecoderLayer.__annotate__Ž   s   ø€ ÷ <ñ <™yð <±Sñ <r+   c                ó  <€ \         SV `  4        \        WR 7      V n        \	        V4      V n        \        P                  ! VP                  VP                  R7      V n
        \        P                  ! VP                  4      V n        R# ))rM   ©rS   N)rU   rV   rJ   Ú	self_attnr‘   ÚmlprW   ra   r4   rb   Úinput_layernormÚDropoutÚresid_pdropÚresid_dropoutre   s   &&&€r(   rV   ÚPhiDecoderLayer.__init__Ž   s[   ø€ Ü‰ÑÔÜ% fÔBˆŒÜ˜&“>ˆŒÜ!Ÿ|š|¨F×,>Ñ,>ÀF×DYÑDYÔZˆÔÜŸZšZ¨×(:Ñ(:Ó;ˆÖr+   c                ó.  <€ V ^8„  d   QhRS[ P                  RS[ P                  R,          RS[ P                  R,          RS[R,          RS[R,          RS[S[ P                  S[ P                  3,          R,          RS[S[,          R	S[ P                  /# )
r   rj   rl   NÚposition_idsrm   Ú	use_cacherk   r:   r!   )r#   r$   Ú
LongTensorr   Úboolr"   r
   r   )r&   r'   s   "€r(   r)   r—   •   sœ   ø€ ÷ ñ á—|‘|ðñ Ÿ™ tÕ+ðñ ×&Ñ&¨Õ-ð	ñ
  �ðñ ˜$•;ðñ #¡5§<¡<±·±Ð#=Õ>ÀÕEðñ Ñ+Õ,ðñ 
�‰ñr+   c                óì   € TpV P                  V4      pV P                  ! RR VRVRVRVRVRV/VB w  ršV P                  V	4      p	V P                  V P                  V4      4      pW›,           V,           pV# )rj   rl   r¢   rm   r£   rk   rA   )rœ   rš   rŸ   r›   )rf   rj   rl   r¢   rm   r£   rk   r:   ÚresidualÚattn_outputsÚ_Úfeed_forward_hidden_statess   &&&&&&&,    r(   r‹   ÚPhiDecoderLayer.forward•   sª   € ð !ˆà×,Ñ,¨]Ó;ˆàŸ.š.ñ 
Ø'ð
à)ð
ð &ð
ð ,ð	
ð
  ð
ð !4ð
ð ñ
‰ˆð ×)Ñ)¨,Ó7ˆà%)×%7Ñ%7¸¿¹ÀÓ8OÓ%PÐ"Ø$ÕAÀHÕLˆàÐr+   )rœ   r›   rŸ   rš   )NNNFNr�   r�   s   @@r(   r•   r•   �   s   ù‡ € ÷<ó <÷÷ ò r+   r•   c                   ó"   € ] tR t^´tR]R]/tRtR# )ÚPhiPreTrainedModelrj   Ú
attentionsrA   N)rC   rD   rE   rF   r•   rJ   Ú_can_record_outputsrG   rA   r+   r(   r­   r­   ´   s   † à˜Ø�lðÔr+   r­   c                   ór   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4       4       4       tRt	Vt
V ;t# )ÚPhiModelc                ó    <€ V ^8„  d   QhRS[ /# )r   r    r   )r&   r'   s   "€r(   r)   ÚPhiModel.__annotate__¼   s   ø€ ÷ ñ ™yñ r+   c           	     ón  <€ \         SV `  V4       \        P                  ! \	        VP
                  4       Uu. uF  p\        W4      NK  	  up4      V n        \        P                  ! VP                  4      V n
        \        P                  ! VP                  VP                  R 7      V n        V =R# u upi )r™   N)rU   rV   rW   Ú
ModuleListÚrangeÚnum_hidden_layersr•   Úlayersr�   Ú
embd_pdropÚembed_dropoutra   r4   rb   Úfinal_layernormÚnormre   s   && €r(   rV   ÚPhiModel.__init__¼   s‡   ø€ Ü‰Ñ˜Ô Ü—m’mÜAFÀv×G_ÑG_ÔA`ÓaÑA`°IŒ_˜VÖ/ÑA`Ñaó
ˆŒô  ŸZšZ¨×(9Ñ(9Ó:ˆÔÜ!Ÿ|š|¨F×,>Ñ,>ÀF×DYÑDYÔZˆÔØŠIùò	 bs   ¸B2c                óþ   <€ V ^8„  d   QhRS[ P                  R,          RS[ P                  R,          RS[ P                  R,          RS[R,          RS[ P                  R,          RS[R,          RS[S[,          R	S[/# )
r   Ú	input_idsNrl   r¢   rm   Úinputs_embedsr£   r:   r!   )	r#   r¤   r$   r   ÚFloatTensorr¥   r
   r   r   )r&   r'   s   "€r(   r)   r³   È   s“   ø€ ÷ 4
ñ 4
á×#Ñ# dÕ*ð4
ñ Ÿ™ tÕ+ð4
ñ ×&Ñ&¨Õ-ð	4
ñ
  �ð4
ñ ×(Ñ(¨4Õ/ð4
ñ ˜$•;ð4
ñ Ñ+Õ,ð4
ñ 
!ñ4
r+   c                óª  € VR J VR J,          '       d   \        R4      hVf   V P                  V4      pV'       d   Vf   \        V P                  R7      pVfb   Ve   VP	                  4       M^ p\
        P                  ! VP                  ^,          VP                  R7      V,           pVP                  ^ 4      p\        V P                  VVVVR7      p	V P                  V4      pTp
V P                  W£R7      pV P                  R V P                  P                    F  pV! V
3RV	RVRVR	VR
V/VB p
K  	  V P                  V
4      p
\!        V
VR7      # )Nz:You must specify exactly one of input_ids or inputs_embeds)r    )r9   )r    rÀ   rl   rm   r¢   )r¢   rl   r¢   rm   r£   rk   )Úlast_hidden_staterm   )Ú
ValueErrorÚembed_tokensr   r    Úget_seq_lengthr#   r7   rr   r9   Ú	unsqueezer   rº   Ú
rotary_embr¸   r·   r»   r   )rf   r¿   rl   r¢   rm   rÀ   r£   r:   Úpast_seen_tokensÚcausal_maskrj   rk   Údecoder_layers   &&&&&&&,     r(   r‹   ÚPhiModel.forwardÅ   sw  € ð ˜Ð -°tÐ";×<Ô<ÜÐYÓZÐZàÒ Ø ×-Ñ-¨iÓ8ˆMç˜Ò0Ü*°$·+±+Ô>ˆOàÒØCRÒC^˜×=Ñ=Ô?ÐdeÐÜ Ÿ<š<¨×(;Ñ(;¸AÕ(>À}×G[ÑG[Ô\Ð_oÕoˆLØ'×1Ñ1°!Ó4ˆLä(Ø—;‘;Ø'Ø)Ø+Ø%ô
ˆð ×*Ñ*¨=Ó9ˆØ%ˆØ"Ÿo™o¨m˜oÓWÐà!Ÿ[™[Ð)H¨4¯;©;×+HÑ+HÓIˆMÙ)Øñà*ðð *ðð !0ð	ð
 $ðð %8ðð ñŠMñ Jð ×,Ñ,¨]Ó;ˆä&Ø+Ø+ô
ð 	
r+   )rº   r»   r¸   )NNNNNN)rC   rD   rE   rF   rV   r   r   r   r‹   rG   rH   rŽ   r�   s   @@r(   r±   r±   »   s=   ù‡ € ÷ó ð  ØØ÷4
ñ 4
ó ó ó  ÷4
ð 4
r+   r±   c                   ó2   a a€ ] tR t^ÿt oV 3R ltRtVtV ;t# )ÚPhiForCausalLMc                óŠ   <€ \         SV `  V4       \        P                  ! VP                  VP
                  R R7      V n        R# )TrQ   N)rU   rV   rW   rX   r4   Ú
vocab_sizeÚlm_head)rf   r    rg   s   &&€r(   rV   ÚPhiForCausalLM.__init__   s0   ø€ Ü‰Ñ˜Ô Ü—y’y ×!3Ñ!3°V×5FÑ5FÈTÔRˆŽr+   )rÑ   )rC   rD   rE   rF   rV   rG   rH   rŽ   r�   s   @@r(   rÎ   rÎ   ÿ   s   ù‡ € ÷Sõ Sr+   rÎ   c                   ó   € ] tR tRtRtR# )ÚPhiForSequenceClassificationi  rA   Nr’   rA   r+   r(   rÔ   rÔ     r“   r+   rÔ   c                   ó   € ] tR tRtRtR# )ÚPhiForTokenClassificationi	  rA   Nr’   rA   r+   r(   rÖ   rÖ   	  r“   r+   rÖ   )r­   r±   rÎ   rÔ   rÖ   )7Úcollections.abcr   r#   Útorch.nnrW   Úcache_utilsr   r   Úmasking_utilsr   Úmodeling_layersr   Úmodeling_outputsr   Úmodeling_utilsr	   Úprocessing_utilsr
   Úutilsr   r   r   Úutils.genericr   Úutils.output_capturingr   Úclip.modeling_clipr   Úllama.modeling_llamar   r   r   r   r   r   r   r   r   Úconfiguration_phir   Ú
get_loggerrC   ÚloggerÚ_CHECKPOINT_FOR_DOCÚ_CONFIG_FOR_DOCr   rJ   r‘   r•   r­   r±   rÎ   rÔ   rÖ   Ú__all__rA   r+   r(   Ú<module>rê      sæ   ðÝ $ã Ý ç .Ý /Ý 9õõ 6Ý &ß @Ñ @Ý 7Ý 5Ý (÷
÷ 
õ 
õ )ð 
×	Ò	˜HÓ	%€à'Ð Ø€ô5Ð-ô 5ô,J)�>ô J)ôZ	ˆWô 	ô$Ð0ô $ôNÐ-ô ôA
ˆzô A
ôHSÐ%ô Sô	Ð#Aô 	ô	Ð ;ô 	ò‚r+   