+
    X°³j³  ã                   ó¤  a € R t(0 t R t^ RIHtHt ^ RIHtHtHt ^ RI	t
. t] ^ k R R ltR R ltR R	 ltR
t] ^k ]! 4       t] ^k ]! 4       t] ^k ]! 4       t] ^k  ]'       d   ^ RIHt ^ RIt^ RIHt ^ RIHtHtHt ^ RIHtHt RRRR l35t R R lt!R R lt"R R lt# ! R R]4      t$R R lt%R#   ]& d   t'R R lt% Rt'A'R# Rt'A'ii ; i)aK  A mypy_ plugin for managing a number of platform-specific annotations.
Its functionality can be split into three distinct parts:

* Assigning the (platform-dependent) precisions of certain `~numpy.number`
  subclasses, including the likes of `~numpy.int_`, `~numpy.intp` and
  `~numpy.longlong`. See the documentation on
  :ref:`scalar types <arrays.scalars.built-in>` for a comprehensive overview
  of the affected classes. Without the plugin the precision of all relevant
  classes will be inferred as `~typing.Any`.
* Removing all extended-precision `~numpy.number` subclasses that are
  unavailable for the platform in question. Most notably this includes the
  likes of `~numpy.float128` and `~numpy.complex256`. Without the plugin *all*
  extended-precision types will, as far as mypy is concerned, be available
  to all platforms.
* Assigning the (platform-dependent) precision of `~numpy.ctypeslib.c_intp`.
  Without the plugin the type will default to `ctypes.c_int64`.

  .. versionadded:: 1.22

.. deprecated:: 2.3
    The :mod:`numpy.typing.mypy_plugin` entry-point is deprecated in favor of
    platform-agnostic static type inference. Remove
    ``numpy.typing.mypy_plugin`` from the ``plugins`` section of your mypy
    configuration; if that surfaces new errors, please open an issue with a
    minimal reproducer.

Examples
--------
To enable the plugin, one must add it to their mypy `configuration file`_:

.. code-block:: ini

    [mypy]
    plugins = numpy.typing.mypy_plugin

.. _mypy: https://mypy-lang.org/
.. _configuration file: https://mypy.readthedocs.io/en/stable/config_file.html

)ÚCallableÚIterable)ÚTYPE_CHECKINGÚFinalÚcastNc                óF   € V ^8„  d   QhR\         \        \        3,          /# ©é   Úreturn)ÚdictÚstr)Úformats   "ÚY/home/luca/screen-checking/.venv/lib/python3.14/site-packages/numpy/typing/mypy_plugin.pyÚ__annotate__r   1   s   € ÷ ñ œT¤#¤s (�^ñ ó    c                  ó  € R \         P                  3R\         P                  3R\         P                  3R\         P                  3R\         P
                  3R\         P                  3R\         P                  3R\         P                  3R\         P                  3R	\         P                  3R
\         P                  3.p / pV  FD  w  r#^\         P                  ! V4      P                  ,          p\         RV R2V\         RV 2&   KF  	  V# )Ú	_NBitByteÚ
_NBitShortÚ	_NBitIntCÚ	_NBitIntPÚ_NBitIntÚ	_NBitLongÚ_NBitLongLongÚ	_NBitHalfÚ_NBitSingleÚ_NBitDoubleÚ_NBitLongDoublez._nbit_base._ÚBitú._nbit.)ÚnpÚbyteÚshortÚintcÚintpÚint_ÚlongÚlonglongÚhalfÚsingleÚdoubleÚ
longdoubleÚdtypeÚitemsizeÚ_MODULE)ÚnamesÚretÚnameÚtypÚns        r   Ú_get_precision_dictr3   1   sá   € à	”b—g‘gÐØ	”r—x‘xÐ Ø	”b—g‘gÐØ	”b—g‘gÐØ	”R—W‘WÐØ	”b—g‘gÐØ	œ"Ÿ+™+Ð&à	”b—g‘gÐØ	œŸ	™	Ð"Ø	œŸ	™	Ð"Ø	œBŸM™MÐ*ð€Eð €CÛ‰	ˆØ”—’˜“×&Ñ&Õ&ˆÜ,3¨9°MÀ!ÀÀCÐ)HˆŒwˆi�w˜t˜fÐ%Ó&ñ ð €Jr   c                ó:   € V ^8„  d   QhR\         \        ,          /# r   )Úlistr   )r   s   "r   r   r   G   s   € ÷ 9ñ 9¤d¬3¥iñ 9r   c                  óh   € . ROp V  Uu. uF  p\        \        V4      '       g   K  VNK  	  up# u upi )Úfloat96)r7   Úfloat128Ú
complex192Ú
complex256)Úhasattrr   )Úextended_namesÚis     r   Ú_get_extended_precision_listr>   G   s-   € ò€Nñ &Ó8‘~�!¬´°Q¯�AˆA‘~Ñ8Ð8ùÒ8s   ‰/¦/c                ó$   € V ^8„  d   QhR\         /# r   )r   )r   s   "r   r   r   P   s   € ÷ (ñ (œ#ñ (r   c                  ón   € R RRRRR/P                  \        P                  ! R4      P                  R4      # )r=   Úc_intÚlÚc_longÚqÚ
c_longlongr2   )Úgetr   r+   Úchar© r   r   Ú_get_c_intp_namerI   P   s9   € ð 	ˆWØˆXØˆ\ð÷ 
�cŒ"�(Š(�3‹-×
Ñ
˜hÓ'ð	(r   znumpy._typing)ÚTypeAnalyser)ÚPRI_MED)Ú
ImportFromÚMypyFileÚ	Statement)ÚAnalyzeTypeContextÚPluginÚ	_HookFunc)é   c                ól   € V ^8„  d   Qh\         \        .\        P                  P                  3,          # )r	   )r   rO   ÚmypyÚtypesÚType)Ú.formats   "r   rQ   rQ   v   s#   € ×DÐD”XÔ1Ð2´D·J±J·O±OÐCÕDÐDr   c                óX   € V ^8„  d   QhR\         R\        P                  P                  /# )r	   Úctxr
   )rO   rT   rU   rV   )r   s   "r   r   r   x   s#   € ÷ >ñ >Ô%ð >¬$¯*©*¯/©/ñ >r   c                ó²   € V w  rpVP                   P                  R4      R,          p\        \         RV 2,          p\	        RV4      P                  V4      # )z;Replace a type-alias with a concrete ``NBitBase`` subclass.Ú.r   rJ   éÿÿÿÿ)r0   ÚsplitÚ_PRECISION_DICTr-   r   Ú
named_type)rY   r1   Ú_Úapir0   Úname_news   &     r   Ú_hookrc   x   sO   € à‰ˆ�Ø�x‰x�~‰~˜cÓ" 2Õ&ˆÜ"¤g Y¨g°d°VÐ#<Õ=ˆÜ�N CÓ(×3Ñ3°HÓ=Ð=r   c                óR   € V ^8„  d   QhR\         \        ,          R\        R\        /# )r	   ÚiterableÚidr
   )r   rN   r   Úint)r   s   "r   r   r      s&   € ÷ ;ñ ;œ¤)Õ,ð ;´#ð ;¼#ñ ;r   c                ót   € \        V 4       F  w  r#\        VRR4      V8X  g   K  Vu # 	  \        RV: 24      h)z>Identify the first ``ImportFrom`` instance the specified `id`.rf   NzBFailed to identify a `ImportFrom` instance with the following id: )Ú	enumerateÚgetattrÚ
ValueError)re   rf   r=   Úvalues   &&  r   Ú_indexrm      sG   € ä! (Ö+‰HˆAÜ�u˜d DÓ)¨RÖ/Ø’ñ ,ô ð 3Ø35±&ð:ó ;ð 	;r   c          
      ó†   € V ^8„  d   QhR\         R\        R\        \        \        \        R,          3,          ,          RR/# )r	   ÚfileÚmoduleÚimportsNr
   )rM   r   r5   Útuple)r   s   "r   r   r   ‡   sB   € ÷  ñ  Üð äð ô ”eœC¤ t¥˜OÕ,Õ-ð ð 
ñ	 r   c                ó    € \        V^ VR7      pRVn        V P                  \        RV P                  4      3 F  p\        WA4      pW4V&   K  	  R# )z<Override the first `module`-based import with new `imports`.)r.   Tzlist[Statement]N)rL   Úis_top_levelÚdefsr   rq   rm   )ro   rp   rq   Ú
import_objÚlstr=   s   &&&   r   Ú_override_importsrx   ‡   sM   € ô   ¨°Ô9ˆ
Ø"&ˆ
Ôð —I‘IœtÐ$5°t·|±|ÓDÓEˆCÜ�sÓ#ˆAØ�‹Fó Fr   c                   óH   a € ] tR t^–t o RtV 3R lR ltV 3R lR ltRtV tR# )Ú_NumpyPluginz>A mypy plugin for handling versus numpy-specific typing tasks.c                ó4   <€ V ^8„  d   QhRS[ RS[R,          /# )r	   Úfullnamer
   N)r   rQ   )r   Ú__classdict__s   "€r   r   Ú_NumpyPlugin.__annotate__™   s    ø€ ÷ 	ñ 	±#ð 	¹)ÀdÕ:Jñ 	r   c                ó(   € V\         9   d   \        # R# )z‡Set the precision of platform-specific `numpy.number`
subclasses.

For example: `numpy.int_`, `numpy.longlong` and `numpy.longdouble`.
N)r^   rc   )Úselfr|   s   &&r   Úget_type_analyze_hookÚ"_NumpyPlugin.get_type_analyze_hook™   s   € ð œ?Ô*Ü�Ùr   c                óP   <€ V ^8„  d   QhRS[ RS[S[S[S[S[3,          ,          /# )r	   ro   r
   )rM   r5   rr   rg   r   )r   r}   s   "€r   r   r~   £   s-   ø€ ÷ 	-ñ 	-Ù ð	-á‘%™™S¡#˜Õ&Õ'ñ	-r   c           	     óÔ   € VP                   pVR8X  d,   \        T\         R2\         Uu. uF  q3V3NK  	  upR7       MVR8X  d   \        VR\        R3.R7       \
        VR3.# u upi )zÜHandle all import-based overrides.

* Import platform-specific extended-precision `numpy.number`
  subclasses (*e.g.* `numpy.float96` and `numpy.float128`).
* Import the appropriate `ctypes` equivalent to `numpy.intp`.

Únumpyz._extended_precision)rq   znumpy.ctypeslibÚctypesÚ_c_intpr\   )r|   rx   r-   Ú_EXTENDED_PRECISION_LISTÚ_C_INTPrK   )r€   ro   r|   Úvs   &&  r   Úget_additional_depsÚ _NumpyPlugin.get_additional_deps£   s}   € ð —}‘}ˆHØ˜7Ô"Ü!ØÜ�iÐ3Ð4Ý-EÓFÑ-E¨ ›VÑ-EÑFöð
 Ð.Ô.Ü!ØØÜ% yÐ1Ð2õô
 ˜h¨Ð+Ð,Ð,ùò Gs   ªA%rH   N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r�   r‹   Ú__static_attributes__Ú__classdictcell__)r}   s   @r   rz   rz   –   s   ø‡ € ÙL÷	ð 	÷	-ö 	-r   rz   c                ó0   € V ^8„  d   QhR\         R\        /# ©r	   Úversionr
   ©r   Útype)r   s   "r   r   r   ¼   s   € ÷ ñ œð ¤ñ r   c                 ó\   € ^ RI pRpRV RV R2pVP                  V\        ^R7       \        # )é    Nznumpy.typing.mypy_pluginÚ`zS` is deprecated, and will be removed in a future release. Please remove `plugins = z/` in your mypy config.(deprecated in NumPy 2.3))Ú
stacklevel)ÚwarningsÚwarnÚDeprecationWarningrz   )r–   r�   ÚpluginÚwarn_msgs   &   r   r    r    ¼   sG   € Ûà+ˆð �ˆxð 1Ø17°ð 9(ð)ð 	ð
 	�‰�hÔ 2¸qˆÔAäÐr   c                ó0   € V ^8„  d   QhR\         R\        /# r•   r—   )r   s   "r   r   r   q   s   € ÷ ñ œð ¤ñ r   c                 ó   € \         h)N)Ú_exc)r–   s   &r   r    r    q   s   € Üˆ
r   c                óö   € V ^8„  d   Qh/ ^ \         9   d   \        \        ,          ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   ^\         9   d
   \        ;R&   # )r	   Ú__all__r-   r^   rˆ   r‰   )Ú__conditional_annotations__r5   r   r   )r   s   "r   r   r      su   € ÷ &ñ &÷Z Ò ŒŒc�Ñ ñ[&÷p !Ò  ŒÑ  ñq&÷x /Ò .”Ñ .ñy&÷~ AÒ @œ%Ñ @ñ&÷D $Ò #ŒÑ #òE&r   ))r§   r‘   Úcollections.abcr   r   Útypingr   r   r   r…   r   r¦   r3   r>   rI   r-   r^   rˆ   r‰   Úmypy.typeanalrJ   Ú
mypy.typesrT   Ú
mypy.buildrK   Ú
mypy.nodesrL   rM   rN   Úmypy.pluginrO   rP   rQ   rc   rm   rx   rz   r    ÚModuleNotFoundErrorr¤   r   )r§   s   @r   Ú<module>r°      sÅ   øðö&÷P /ß -Ñ -ã à€Ó õõ,9õ(ð !€Ó  ñ -Ó.€Ó .ñ #?Ó"@Ð Ó @ñ "Ó#€Ó #ðbßÝ.ãÝ"ß:Ñ:ß6÷ EÐDõ>õ;õ ô$-�vô $-÷Løð[ ô ÷ó ûðús   ÁB7 Á'"B7 Â7CÂ>C
Ã
C