Ë
    D�Dj›  ã                   ó:   — d dl Z d dlZdgZ G d„ d«      Zd„ Zd„ Zy)é    NÚ
deprecatedc                   ó0   — e Zd ZdZdd„Zd„ Zd„ Zd„ Zd„ Zy)	r   a¥  Decorator to mark a function or class as deprecated.

    Issue a warning when the function is called/the class is instantiated and
    adds a warning to the docstring.

    The optional extra argument will be appended to the deprecation message
    and the docstring. Note: to use this with the default value for extra, put
    in an empty of parentheses:

    Examples
    --------
    >>> from sklearn.utils import deprecated
    >>> deprecated()
    <sklearn.utils.deprecation.deprecated object at ...>
    >>> @deprecated()
    ... def some_function(): pass

    Parameters
    ----------
    extra : str, default=''
          To be added to the deprecation messages.
    c                 ó   — || _         y )N)Úextra)Úselfr   s     ú]C:\Crop_Prediction\Backend\crop-ai-system\venv\Lib\site-packages\sklearn/utils/deprecation.pyÚ__init__zdeprecated.__init__"   s	   € Øˆ�
ó    c                 ó¨   — t        |t        «      r| j                  |«      S t        |t        «      r| j	                  |«      S | j                  |«      S )zPCall method

        Parameters
        ----------
        obj : object
        )Ú
isinstanceÚtypeÚ_decorate_classÚpropertyÚ_decorate_propertyÚ_decorate_fun)r   Úobjs     r   Ú__call__zdeprecated.__call__%   sM   € ô �cœ4Ô Ø×'Ñ'¨Ó,Ð,Ü˜œXÔ&ð ×*Ñ*¨3Ó/Ð/à×%Ñ% cÓ*Ð*r
   c                 ó²   ‡‡— d|j                   z  Š| j                  r‰d| j                  z  z  Š|j                  Šˆˆfd„}||_        d|_         ‰|_        |S )NzClass %s is deprecatedú; %sc                 ó    •— t        j                  ‰t        ¬«       ‰t        j                  u rt        j	                  | «      S  ‰| g|¢­i |¤ŽS ©N)Úcategory)ÚwarningsÚwarnÚFutureWarningÚobjectÚ__new__)ÚclsÚargsÚkwargsÚmsgÚnews      €€r   Úwrappedz+deprecated._decorate_class.<locals>.wrappedA   sA   ø€ Ü�M‰M˜#¬Õ6Ø”f—n‘nÑ$Ü—~‘~ cÓ*Ð*Ù�sÐ,˜TÒ, VÑ,Ð,r
   r   )Ú__name__r   r   Údeprecated_original)r   r   r#   r!   r"   s      @@r   r   zdeprecated._decorate_class:   sW   ù€ Ø&¨¯©Ñ5ˆØ�:Š:Ø�6˜DŸJ™JÑ&Ñ&ˆCà�k‰kˆõ	-ð ˆŒà$ˆÔØ&)ˆÔ#àˆ
r
   c                 ó®   ‡‡— d‰j                   z  Š| j                  r‰d| j                  z  z  Št        j                  ‰«      ˆˆfd„«       }‰|_        |S )zDecorate function funzFunction %s is deprecatedr   c                  óJ   •— t        j                  ‰t        ¬«        ‰| i |¤ŽS r   )r   r   r   )r   r    Úfunr!   s     €€r   r#   z)deprecated._decorate_fun.<locals>.wrappedU   s!   ø€ ä�M‰M˜#¬Õ6Ù˜Ð' Ñ'Ð'r
   )r$   r   Ú	functoolsÚwrapsÚ__wrapped__)r   r(   r#   r!   s    ` @r   r   zdeprecated._decorate_funN   sW   ù€ ð *¨C¯L©LÑ8ˆØ�:Š:Ø�6˜DŸJ™JÑ&Ñ&ˆCä	�‰˜Ó	ô	(ó 
ð	(ð "ˆÔàˆr
   c                 ó„   ‡‡— | j                   Št        t        j                  ‰j                  «      ˆˆfd„«       «       }|S )Nc                  ó^   •— t        j                  ‰t        ¬«        ‰j                  | i |¤ŽS r   )r   r   r   Úfget)r   r    r!   Úprops     €€r   r#   z.deprecated._decorate_property.<locals>.wrappedc   s)   ø€ ô �M‰M˜#¬Õ6Ø�4—9‘9˜dÐ- fÑ-Ð-r
   )r   r   r)   r*   r.   )r   r/   r#   r!   s    ` @r   r   zdeprecated._decorate_property`   s:   ù€ Ø�j‰jˆä	Ü	�‰˜Ÿ™Ó	#ô	.ó 
$ó 
ð	.ð ˆr
   N)Ú )	r$   Ú
__module__Ú__qualname__Ú__doc__r	   r   r   r   r   © r
   r   r   r      s    „ ñó4ò+ò*ò(ó$	r
   c           
      ó¾   — t        | dg «      }|€g }ddj                  |D �cg c])  }t        |j                  t        «      sŒ|j                  ‘Œ+ c}«      v }|S c c}w )z>Helper to check if func is wrapped by our deprecated decoratorÚ__closure__r   r0   )ÚgetattrÚjoinr   Úcell_contentsÚstr)ÚfuncÚclosuresÚcÚis_deprecateds       r   Ú_is_deprecatedr?   l   s]   € ä�t˜]¨BÓ/€HØÐØˆØ  B§G¡GØ"*ÖO˜Q¬j¸¿¹Ì#Õ.Nˆ�‹ÒOó%ð €Mð Ðùò 	Ps   ¢A
ÁA
c                 ó~   — | �|�t        d«      ‚| €|€t        d«      ‚|�t        j                  dt        «       |S | S )zKHelper to deprecate the `Xt` argument in favor of `X` in inverse_transform.z%Cannot use both X and Xt. Use X only.z(Missing required positional argument: X.z;Xt was renamed X in version 1.5 and will be removed in 1.7.)Ú	TypeErrorr   r   r   )ÚXÚXts     r   Ú"_deprecate_Xt_in_inverse_transformrD   x   sO   € à€}˜˜ÜÐ?Ó@Ð@à€y�R�ZÜÐBÓCÐCà	€~Ü�‰ØIÜô	
ð ˆ	à€Hr
   )r)   r   Ú__all__r   r?   rD   r4   r
   r   ú<module>rF      s)   ðÛ Û àˆ.€÷bñ bòJór
   