
    N jc                       S r SSKJr  SSKrSSKrSSKJrJr  SSKJ	s  J
r
  SSKJ	s  Jr  SSKJ	s  Jr  SSKJr  \(       a  SSKJr  SSKJr  SSKJrJr   S#       S$S	 jjrS%S&S
 jjr  S'       S(S jjr   S)SS.           S*S jjjr S+       S,S jjr S+       S,S jjrSS.S-S jjrSSS.           S.S jjr  S/SSSS.           S0S jjjr!  S+SS.         S1S jjjr"S/S2S jjr#SS.     S3S jjr$S4S5S jjr S4     S5S jjr%S6S jr&\" \\
R8                  S 5        \" \\
R:                  5        \" \\
R<                  5        \" \5        \" \ 5        \" \!5        \" \"5        \" \#5        \" \$5        \" \\R                  S!5        \" \%\R                  S!5        \" \&\RL                  S"5        g)7a$  
The APIs in this file are exposed as `functorch.*`. They are thin wrappers
around the torch.func.* APIs that have deprecation warnings -- we're trying
to move people to the torch.func.* equivalents.

NB: We don't use *args, **kwargs in the signatures because that changes the
documentation.
    )annotationsN)AnyTYPE_CHECKING)Callable)	argnums_t)	in_dims_t
out_dims_tFc                Z    Uc  SU  3nSU  SU S3nU(       a  UR                  SS5      nU$ )Nztorch.func.z[We've integrated functorch into PyTorch. As the final step of the 
integration, `functorch.zk` is deprecated as of PyTorch 
2.0 and will be deleted in a future version of PyTorch >= 2.3. 
Please use `z` instead; see the PyTorch 2.0 release notes 
and/or the `torch.func` migration guide for more details 
https://pytorch.org/docs/main/func.migrating.html
 )replace)apinew_apireplace_newlineswarnings       l/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/torch/_functorch/deprecated.pyget_warningr      sR     u%##&% (i  <	=  //$+N    c                L    [        XSS9n[        R                  " U[        SS9  g )NT)r      )
stacklevel)r   warningswarnFutureWarning)r   r   r   s      r   warn_deprecatedr   /   s    #>GMM'=Q7r   c                    U R                   nUc  [        [        U5      nUR                  c  g [	        X25      nS[
        R                  " US5      -   n[
        R                  " US5      nUR                  U-   U l        g )Nz
.. warning::

z    )__name__getattr_impl__doc__r   textwrapindent)functorch_apitorch_func_apinew_api_nameapi_namer   warning_notes         r   
setup_docsr(   4   sr    
 %%H 1%(1G'(//'6*JJL??<8L*22\AMr   error
chunk_sizec               F    [        SS5        [        R                  " XX#US9$ )Nvmap
torch.vmapr*   )r   apisr-   )funcin_dimsout_dims
randomnessr+   s        r   r-   r-   F   s!     FL)99THZPPr   c                F    [        S5        [        R                  " XU5      $ )Ngrad)r   r/   r5   r0   argnumshas_auxs      r   r5   r5   R   s     F99TG,,r   c                F    [        S5        [        R                  " XU5      $ )Ngrad_and_value)r   r/   r:   r6   s      r   r:   r:   Y   s      $%tg66r   )r8   c               L    [        S5        [        R                  " U /UQ7SU06$ )Nvjpr8   )r   r   r<   )r0   r8   primalss      r   r<   r<   `   s#    E99T5G5W55r   strictr8   c               D    [        S5        [        R                  " XX#US9$ )Njvpr>   )r   r   rA   )r0   r=   tangentsr?   r8   s        r   rA   rA   e   s     E99THWMMr   r8   r+   _preallocate_and_copyc               H    [        S5        [        R                  " U UUUUS9$ )NjacrevrC   )r   r   rF   )r0   r7   r8   r+   rD   s        r   rF   rF   q   s,     H<<3 r   r3   c               B    [        S5        [        R                  " XX#S9$ )NjacfwdrG   )r   r   rI   )r0   r7   r8   r3   s       r   rI   rI      s     H<<wFFr   c                @    [        S5        [        R                  " XS9$ )Nhessian)r7   )r   r   rK   )r0   r7   s     r   rK   rK      s    I==//r   	mutationsremovec               @    [        S5        [        R                  " XS9$ )NfunctionalizerM   )r   r   rP   )r0   rN   s     r   rP   rP      s     O$t33r   c                F    [        SS5        [        R                  " X5      $ )Nmake_functionaltorch.func.functional_call)r   _nn_implrR   modeldisable_autograd_trackings     r   rR   rR      s    %'CD##EEEr   c                F    [        SS5        [        R                  " X5      $ )Nmake_functional_with_buffersrS   )r   rT   rY   rU   s     r   rY   rY      s!     24PQ00RRr   c                F    [        SS5        [        R                  " U 5      $ )Ncombine_state_for_ensembletorch.func.stack_module_state)r   rT   r[   )modelss    r   r[   r[      s    02QR..v66r   r.   rS   r\   )NF)r   strr   
str | Noner   boolreturnr^   )N)r   r^   r   r_   ra   None)NN)r#   Callable[..., Any]r$   zCallable[..., Any] | Noner%   r_   ra   rb   )r   r   r)   )r0   rc   r1   r   r2   r	   r3   r^   r+   
int | Nonera   rc   )r   F)r0   rc   r7   r   r8   r`   ra   rc   )r0   rc   r=   r   r8   r`   ra   r   )r0   rc   r=   r   rB   r   r?   r`   r8   r`   ra   r   )r   )r0   rc   r7   zint | tuple[int, ...]r8   r`   r+   rd   rD   r`   ra   rc   )
r0   rc   r7   r   r8   r`   r3   r^   ra   rc   )r0   rc   r7   intra   rc   )r0   rc   rN   r^   ra   rc   )F)rV   z	nn.ModulerW   r`   ra   r   )r]   zlist[nn.Module]ra   r   )'r    
__future__r   r!   r   typingr   r   torch._functorch.apis
_functorchr/   !torch._functorch.eager_transformseager_transformsr    torch._functorch.make_functionalrR   rT   torch.nnnncollections.abcr   r   torch._functorch.vmapr   r	   r   r   r(   r-   r5   r:   r<   rA   rF   rI   rK   rP   rY   r[    r   r   <module>rr      sB   #   % $ $ 1 1 3 3  (;; DI	!<@$8 15#B%B-B B 
	B( 		Q "	Q
	Q	Q 	Q 		Q 	Q 	Q GL-
-'0-?C-- GL7
7'07?C77 BG 6 	N
	N	N 	N
 	N 	N 		N &' !"'
" 	
    ( G
 G
GG G
 G G0 0;4
4),44F 9>SS15SS7
 4L ) 
4  
>4.. / 
3 
3 
6  
6  
7  
=  
?H446R S 
 (":":<X ''#r   