+
    }¯³j“2  ã                  óÆ   € ^ RI Ht ^ RIt^ RIt^ RIHt ^ RIt^ RIt^ RIt^ RI	t	^RI
Ht ^RIHt ^RIHt ^RIHt ]P"                  P$                   ! R R	]4      4       tR# )
é    )ÚannotationsN)ÚPath)ÚTestBase)Úconfig)Úeq_)Úutilc                  ó4  € ] tR t^tRt]P                  ! RR7      R 4       t]P                  ! RR7      ]P                  R 4       4       t	]P                  R 4       t
]P                  ! 4       R 4       t]P                  R 4       t]R	 4       tR
 tR R ltRtR# )ÚMypyTestÚfunction)Úscopec              #  	óB   "  € V P                  4        R j  x€L
  R #  L5i©N©Ú	_cachedir)Úselfs   &Úa/home/luca/screen-checking/.venv/lib/python3.14/site-packages/sqlalchemy/testing/fixtures/mypy.pyÚper_func_cachedirÚMypyTest.per_func_cachedir   s   é € à—>‘>Ó#×#Ô#ùó   ‚–—Úclassc              #  	óB   "  € V P                  4        R j  x€L
  R #  L5ir   r   )Úclss   &r   ÚcachedirÚMypyTest.cachedir!   s   é € ð —=‘=“?×"Ô"ùr   c           	   #  	óâ  "  € R p\         P                  ! 4       ;_uu_ 4       p\        \        V4      R,          R4      ;_uu_ 4       pVP	                  RV R24       RRR4       \        \        V4      R,          R4      ;_uu_ 4       pVP	                  RV R24       RRR4       Vx € RRR4       R#   + '       g   i     L`; i  + '       g   i     L1; i  + '       g   i     R# ; i5i)	Ú úsqla_mypy_config.cfgÚwz˜
                    [mypy]

                    plugins = sqlalchemy.ext.mypy.plugin

                    show_error_codes = True

                    z¡
                    disable_error_code = no-untyped-call

                    [mypy-sqlalchemy.*]
                    ignore_errors = True

                    Núplain_mypy_config.cfgz^
                    [mypy]

                    show_error_codes = True

                    z®
                    disable_error_code = var-annotated,no-untyped-call
                    [mypy-sqlalchemy.*]
                    ignore_errors = True

                    )ÚtempfileÚTemporaryDirectoryÚopenr   Úwrite)r   Ú	mypy_pathr   Úconfig_files   &   r   r   ÚMypyTest._cachedir&   sß   é € ð ˆ	ä×(Ò(×*Ô*¨hÜÜ�X“Ð!7Õ7¸÷ô àØ×!Ñ!ð 'ð �Kð  ð	
#ô 
÷ô Ü�X“Ð!8Õ8¸#÷ô àØ×!Ñ!ð 'ð �Kð  ð#ô ÷ð ŠN÷7 +Ñ*÷÷ ú÷÷ ú÷ +×*Ð*üsL   ‚ C/¢%CÁB5	Á,CÂ	C	ÂCÂ+
C/Â5CÃ CÃCÃCÃC,	Ã&	C/c                	ó(   aa€ ^ RI Ho RVV3R llpV# )r   )Úapic           	     ó¶  <€ Vf   S
pRRRTR\         P                  P                  TV'       d   RMR4      .p\         P                  P                  V 4      p\         P                  P                  W$4      pW8w  d   \        P
                  ! W4       VP                  V4       \         P                  P                  RR 4       S	P                  V4      w  rgpWgV3# )Nz--strictz--raise-exceptionsz--cache-dirz--config-filer   r   ÚMYPY_FORCE_COLOR)
ÚosÚpathÚjoinÚbasenameÚshutilÚcopyfileÚappendÚenvironÚpopÚrun)r,   Ú
use_pluginÚuse_cachedirÚargsÚfilenameÚtest_programÚstdoutÚstderrÚexitcoder(   r   s   &&&      €€r   r4   Ú!MypyTest.mypy_runner.<locals>.runL   s¼   ø€ ØÒ#Ø'�àØ$ØØØÜ—‘—‘Ø ÷ &ñ /à4óðˆDô* —w‘w×'Ñ'¨Ó-ˆHÜŸ7™7Ÿ<™<¨Ó?ˆLØÔ#Ü—’ Ô3Ø�K‰K˜Ô%ô �J‰J�N‰NÐ-¨tÔ4à'*§w¡w¨t£}Ñ$ˆF˜HØ 8Ð+Ð+ó    )FN)Úmypyr(   )r   r   r4   r(   s   &f @r   Úmypy_runnerÚMypyTest.mypy_runnerH   s   ù€ å÷#	,ð #	,ðJ ˆ
r>   c                	ó   a a€ RVV 3R llpV# )Fc                óh   <€ SP                  V 4      pS! WR 7      w  r4pSP                  WW4V4       R# ))r5   N)Ú_collect_messagesÚ_check_output)r,   r5   Úexpected_messagesr:   r;   r<   r@   r   s   &&    €€r   r4   Ú)MypyTest.mypy_typecheck_file.<locals>.runu   s8   ø€ Ø $× 6Ñ 6°tÓ <ÐÙ'2°4Ô'OÑ$ˆF˜HØ×ÑØ¨¸ör>   )F© )r   r@   r4   s   ff r   Úmypy_typecheck_fileÚMypyTest.mypy_typecheck_files   s   ù€ ÷	ð 	ð ˆ
r>   c                	óf  € \         P                  P                  V 4      '       d   T pMc\        P                  ! 4       ^,          P
                  p\         P                  P                  \         P                  P                  V4      V 4      p\        \        V4      P                  R4      4      p\        P                  P                   Fd  pV'       g   K  \         P                  P                  V4      '       g   K4  VP                  \        V4      V ,          P                  R4      4       Kf  	  V# )é   z**/*.py)r+   r,   ÚisabsÚinspectÚstackr8   r-   ÚdirnameÚlistr   Úglobr   ÚoptionsÚmypy_extra_test_pathsÚisdirÚextend)rP   r,   Úcaller_pathÚfilesÚ	extra_dirs   &    r   Úfile_combinationsÚMypyTest.file_combinations~   sº   € ä�7‰7�=‰=˜×!Ò!Ø‰Dä!Ÿ-š-›/¨!Õ,×5Ñ5ˆKÜ—7‘7—<‘<¤§¡§¡°Ó <¸gÓFˆDÜ”T˜$“Z—_‘_ YÓ/Ó0ˆäŸ™×=Ô=ˆIß‰yœRŸW™WŸ]™]¨9×5Ô5Ø—‘œd 9›o°Õ7×=Ñ=¸iÓHÖIñ >ð ˆr>   c           
     	ó>  a€ ^ RI Hp . p\        P                  ! R4      p\        P                  ! R4      p\	        V4      ;_uu_ 4       p. p\        V^4       EF¤  w  opVP                  V4      p	V	'       d{   V	P                  ^4      P                  R4      w  r«p\        P                  \        V
4      \        V4      38  d-   \        P                  ! RV	P                  ^4      ,          4       Kš  VP                  V4      p	V	'       EdÆ   \        V	P                  ^4      4      p\        V	P                  ^4      4      p\        V	P                  ^4      4      p\        V	P                  ^4      4      p\        P                  ! RRV	P                  ^4      4      pV'       d3   \        P                  ! RR	 V4      p\        P                  ! R
R V4      pV'       dD   V'       g3   \        P                  ! RR V4      p\        P                  ! RR V4      pR;rÞRV R2pV'       dO   \         P"                  '       d9   V^ ,          \        P                  ! V'       d   RMRR VR,          4      ,           pV'       d0   \         P$                  '       d   \        P                  ! RR V4      pVP'                  WÞVP)                  4       34       EKy  V'       g   EK„  VP+                  V3R lV 4       4       . VR&   EK§  	  RRR4       V#   + '       g   i     T# ; i)r   )Úmypy_14z0\s*# EXPECTED(_MYPY)?(_RE)?(_ROW)?(_TYPE)?: (.+)z%^#\s*PYTHON_VERSION\s?>=\s?(\d+\.\d+)Ú.zRequires python >= %sz# noqa[:]? ?.*r   zRow\[([^\]]+)\]c                óP   € R V P                  ^4       RV P                  ^ 4       R2# )ztuple[z!, fallback=sqlalchemy.engine.row.Ú]©Úgroup©Úms   &r   Ú<lambda>Ú,MypyTest._collect_messages.<locals>.<lambda>«   s*   € ¨¨q¯w©w°q«z¨lð ;4Ø45·G±G¸A³J°<¸qñ'Br>   zOptional\[(.*)\]c                ó,   € R V P                  ^4       R2# )zUnion[z, None]ra   rc   s   &r   re   rf   ²   s   € ¨¨q¯w©w°q«z¨l¸'Ñ&Br>   z([\[\]])c                ó*   € R V P                  ^ 4       2# )Ú\ra   rc   s   &r   re   rf   ¾   s   € ¨Q¨q¯w©w°q«z¨lÑ*;r>   z([\w_]+)c                ó,   € R V P                  ^4       R2# )z	(?:.*\.)?z\*?ra   rc   s   &r   re   rf   Ç   s   € ¨Y°q·w±w¸q³z°lÀ#Ñ*Fr>   TzRevealed type is "Ú"z\b(List|Tuple|Dict|Set)\bz\b(List|Tuple|Dict|Set|Type)\bc                ó@   € V P                  ^4      P                  4       # )rL   )rb   Úlowerrc   s   &r   re   rf   ì   s   €  a§g¡g¨a£j×&6Ñ&6Ô&8r>   :rL   NNzOptional\[(.*?)\]c                ó*   € V P                  ^4       R2# )rL   z | Nonera   rc   s   &r   re   rf   õ   s   € ¨¯©°«¨°GÑ&<r>   c              3  ó6   <"  € T F  w  pppSWV3x € K  	  R # 5ir   rH   )Ú.0Úis_mypyÚis_reÚexpected_msgÚnums   &   €r   Ú	<genexpr>Ú-MypyTest._collect_messages.<locals>.<genexpr>ü   s/   øé € ð -ñ 5ñ	Ø#Ø!Ø(ð	 ˜g¨lÕ;ó
 5ùs   ƒ:NNNN)Úsqlalchemy.ext.mypy.utilr]   ÚreÚcompiler"   Ú	enumerateÚmatchrb   Ú	partitionÚsysÚversion_infoÚintr   Ú	skip_testÚboolÚsubr   Úpy39Úpy310r1   ÚstriprV   )r   r,   r]   rF   Úexpected_reÚ	py_ver_reÚfile_Úcurrent_assert_messagesÚlinerd   ÚmajorÚ_Úminorrq   rr   Úis_rowÚis_typers   rt   s   &&                @r   rD   ÚMypyTest._collect_messagesŒ   s—  ø€ Ý4àÐÜ—j’jØ?ó
ˆô —J’JÐGÓHˆ	Ü�$�ZŒZ˜5Ø&(Ð#Ü& u¨a×0‘	��TØ—O‘O DÓ)�ßØ&'§g¡g¨a£j×&:Ñ&:¸3Ó&?‘O�E˜eÜ×'Ñ'¬3¨u«:´s¸5³zÐ*BÔBÜ×(Ò(Ø3°q·w±w¸q³zÕBôñ à×%Ñ% dÓ+�ß�1Ü" 1§7¡7¨1£:Ó.�GÜ  §¡¨£Ó,�EÜ! !§'¡'¨!£*Ó-�FÜ" 1§7¡7¨1£:Ó.�Gä#%§6¢6Ð*;¸RÀÇÁÈÃÓ#L�LßÜ')§v¢vØ.ñBà(ó	(˜ô (*§v¢vØ/ÙBØ(ó(˜÷ ß$ô
 ,.¯6ª6Ø +Ù ;Ø ,ó,˜Lô ,.¯6ª6Ø +Ù FØ ,ó,˜Lð0 +/Ð.˜Ø);¸L¸>ÈÐ'K˜ç¤4§9§9 9ð (4°A¥¼¿º÷ $+ñ !=à%Fá8Ø(¨Õ,ó:õ (˜÷ ¤4§:§: :ô (*§v¢vØ0Ù<Ø(ó(˜ð
 ,×2Ñ2Ø ¨×);Ñ);Ó)=Ð>÷÷ -Ò,Ø%×,Ñ,ô -ñ 5ó-ô ð 24Ð+¨AÔ.ñ] 1÷ ðd !Ð ÷e ŽZðd !Ð úsF   Á	CLÄCLÇLÇ%ALÈ(LÈ>LÉLÉ>LÊALË%LÌL	c               ó   € V ^8„  d   QhRR/# )é   r:   ÚstrrH   )Úformats   "r   Ú__annotate__ÚMypyTest.__annotate__  s   € ÷ E)ñ E)Ø/2ñE)r>   c                	ó®  € . p\         P                  P                  V4      pV'       Ed‰   . pVP                  R 4      p	V	'       Ed   V	P	                  ^ 4      p
\
        P                  ! RV
4      '       d   VP                  RV
34       KL  \
        P                  ! RV
4      '       dO   V	'       dE   V	P	                  ^ 4      p\
        P                  ! RV4      '       d   K8  V	P                  ^ V4       Kµ  K·  \
        P                  ! RV
\
        P                  4      '       d   Kå  \
        P                  ! RV
4      '       g   EK  VP                  RV
34       EK  V F¯  w  rÍrïVP                  RR	4      pV'       g   R
MRp\        V4       Ff  w  pw  ppV'       d0   \
        P                  ! RV RV RV RV V 2	V4      '       d    M?K@  V RV RV RV V 2VP                  RR	4      9   g   Kf   M	  VP                  V4       K¬  VV K±  	  V'       dU   R P                  V4      p\        RVR R7       V'       d'   R P                  R V 4       4      p\        RVR R7       Q R4       hV'       d@   \        \        V4       R24       \        R P                  R V 4       4      4       Q R4       hR# V^ 8w  d   \        W4R R7       \        V^ VR7       R# )Ú
z.+\.py:\d+: error: .*Úerrorz/.+\.py:\d+: note: +(?:Possible overload|def ).*z.+\.py:\d+: note: +def .*z*.+\.py:\d+: note: .*(?:perhaps|suggestion)z.+\.py:\d+: note: .*ÚnoteÚ'rk   z[SQLAlchemy Mypy plugin] r   z.*z\:z\: Ú:z: z"Couldn't locate expected messages:)Úsepc              3  ó*   "  € T F	  w  rVx € K  	  R # 5ir   rH   ©rp   rŒ   Úmsgs   &  r   ru   Ú)MypyTest._check_output.<locals>.<genexpr>@  s   é € Ð%?¹©f¨a¥c»ùó   ‚zRemaining messages:z'expected messages not found, see stdoutz& messages from mypy were not consumed:c              3  ó*   "  € T F	  w  rVx € K  	  R # 5ir   rH   rŸ   s   &  r   ru   r¡   F  s   é € Ð9±&©¨¥³&ùr¢   z&errors and/or notes remain, see stdout)r    N)r+   r,   r.   Úsplitr3   rx   r{   r1   ÚinsertÚIÚreplacerz   r-   ÚprintÚlenr   )r   r,   rF   r:   r;   r<   Únot_locatedr8   ÚoutputÚ	raw_linesÚeÚolrt   rq   rr   r    ÚprefixÚidxÚtypÚerrmsgÚmissingÚextras   &&&&&&                r   rE   ÚMypyTest._check_output  s…  € ð ˆÜ—7‘7×#Ñ# DÓ)ˆßÐð
 ˆFàŸ™ TÓ*ˆIß�)Ø—M‘M !Ó$�Ü—8’8Ð4°a×8Ò8Ø—M‘M 7¨A ,Ö/Ü—X’XØFÈ÷ò ÷ $Ø&Ÿ]™]¨1Ó-˜Ü!ŸxšxÐ(DÀb×IÔIØ%×,Ñ,¨Q°Ô3Ù!ñ	 $ô
 —X’XØAÀ1ÄbÇdÁd÷ò ñ Ü—X’XÐ5°q×9Õ9Ø—M‘M 6¨1 +×.ã,=Ñ(�˜eØ—k‘k # sÓ+�ß<CÑ4È�Ü*3°FÖ*;Ñ&�C™˜#˜vßÜŸ8š8Ø! ( ¨2¨c¨U°#°c°U¸#¸f¸XÀcÀUÐKØ"÷ò ñ "ñ	ð $˜* A c U¨"¨S¨E°°F°8¸C¸5ÐAØ!Ÿ>™>¨#¨sÓ3ö4ñ ñ +<ð  ×&Ñ& sÔ+ÙØ˜3’Kñ% ->÷( ØŸ)™) KÓ0�ÜÐ:¸GÈÕNßØ ŸI™IÑ%?¹Ó%?Ó?�EÜÐ/°¸DÕAØGÐGÓG�uçÜœ˜V›˜Ð%KÐLÔMÜ�d—i‘iÑ9±&Ó9Ó9Ô:ØFÐFÓF�uñ ð ˜1Œ}Ü�f¨$Õ/ä�˜! ×(r>   rH   N)Úno_sqlalchemy2_stubs)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__requires__r   Úfixturer   Úfixture_classmethodr   r   r@   rI   ÚstaticmethodrZ   rD   rE   Ú__static_attributes__rH   r>   r   r
   r
      sÃ   † à,€Là‡^‚^˜*Ô%ñ$ó &ð$ð ‡^‚^˜'Ô"Ø×Ññ#ó  ó #ð#ð ×Ññó  ððB ‡^‚^Óñ(ó ð(ðT ‡^�^ñó ðð ñó ðòz!÷xE)ñ E)r>   r
   )Ú
__future__r   rN   r+   Úpathlibr   rx   r/   r}   r    Úbaser   r   r   Ú
assertionsr   r   Úadd_to_markerr?   r
   rH   r>   r   Ú<module>rÅ      sU   ðõ #ã Û 	Ý Û 	Û Û 
Û å Ý Ý Ý ð ×Ñ×Ñôs)ˆxó s)ó òs)r>   