
    (phl              
           S SK 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r  S SKJrJrJrJrJr  S SKJrJrJr  S SKJrJr  S SKJr  S SKJr  S	S
KJr  S r S r!\!" \5      r"\!" \5      r#S r$S r%S r&S r'S r(S r)/ \$SS4P\$SS4P\$SS4P\$SS4P\$SS4P\$SS4P\$SS4P\$S S!4P\$S"S!4P\$S#S4P\$S$S%4P\%SS&4P\%SS'4P\%SS'4P\%SS(4P\%SS&4P\%SS&4P\%SS)4P\%S S4P\%S"S4P\%S#S*4P\%S$S4P\&SS4P\&SS4P\&SS4P\&SS+4P\&SS,4P\&SS*4P\&SS4P\&S S-4P\&S"S-4P\&S#S4P\&S$S4P\'S.S)4P\'S/S4P\'S0S4P\'S1S4P\'S2S4P\'S3S)4P\'S4S)4P\'S5S)4P\'S6S+4P\'S7S+4P\'S8S+4P\(S.S'4P\(S/S(4P\(S0S&4P\(S1S+4P\(S2S)4P\(S3S&4P\(S4S(4P\(S5S(4P\(S6S)4P\(S7S)4P\(S8S&4Pr*\\RV                  RY                  S95      \RV                  R[                  S:S;S<9\RV                  R[                  S=S>S<9 " S? S@5      5       5       5       5       r.\\RV                  RY                  S95      \RV                  R[                  S=S>S<9\RV                  R[                  S:S;S<9\RV                  R[                  SASBS<9 " SC SD\5      5       5       5       5       5       r/g)E    N)statsspecial)array_api_compatible)array_namespaceis_cupyis_numpyxp_ravelxp_size)xp_assert_closexp_assert_equalxp_assert_less)find_minimum	find_root)_CHANDRUPATLA_TESTS)permutations   )TestScalarRootFindersc                    ^  U 4S jnU$ )Nc                    >^  U U4S jnU$ )Nc                    > U S   R                   nU  Vs/ s H  n[        UTS9PM     n n/ n[        [        R                  " U5      5       H+  nU  Vs/ s H  o"U   PM	     nnUR                  T" U6 5        M-     U$ s  snf s  snf )Nr   )xp)shaper	   rangemathprodappend)
arg_arraysr   	arg_arrayresiarg_scalarsfr   s         Y/var/www/html/venv/lib/python3.13/site-packages/scipy/optimize/tests/test_chandrupatla.pywrapped._vectorize.<locals>.decorator.<locals>.wrapped   s    qM''EFPQj(94jJQC499U+,=GHZ	|ZH

1k?+ - J R Is   A=B )r"   r$   r   s   ` r#   	decorator_vectorize.<locals>.decorator   s    	     r&   )r   r'   s   ` r#   
_vectorizer*      s    
 r)   c                    ^  U 4S jnU$ )Nc                   >^ 1 SknU Vs0 s H  oDU;   d  M
  XBR                  U5      _M     nnUR                  SS 5      m[        T5      (       a  UU	4S jnOTnT	" X4XVS.UD6nT	[        :X  a3  UR                  u  Ul        Ul        UR                  u  Ul        Ul        O>UR                  u  Ul        Ul	        Ul        UR                  u  Ul        Ul
        Ul        UR                  Ul        U?U?U?U$ s  snf )N>   fatolfrtolxatolxrtolcallbackc                 8  > T[         :X  a3  U R                  u  U l        U l        U R                  u  U l        U l        O>U R                  u  U l        U l        U l        U R                  u  U l        U l        U l        U R                  U l
        U ?U ?U ?	T" U 5      $ N)r   bracketxlxr	f_bracketflfrxmfmf_xfun)r   	_callbackfuncs    r#   r1   C_wrap_chandrupatla.<locals>._chandrupatla_wrapper.<locals>.callback7   s}    9$%([[NCFCF%(]]NCFCF-0[[*CFCFCF-0]]*CFCFCF''KMG ~%r)   )
tolerancesr1   )popcallabler   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   )
r"   r4   kwargstol_keyskeyrA   r1   r   r>   r?   s
           @r#   _chandrupatla_wrapper1_wrap_chandrupatla.<locals>._chandrupatla_wrapper1   s    76>Phs-*c::c?*h
PJJz40	I& !H1R*R6R9 [[NCFCF ]]NCFCF%([["CFCFCF%(]]"CFCFCF''KMG
; Qs
   	C:C:r&   )r?   rG   s   ` r#   _wrap_chandrupatlarI   0   s     B ! r)   c                 H    SSU S-  -
  S-  -  SU S-  -
  -   SSU -
  S-  -  -   $ )Nd   r         @          @r&   xs    r#   f1rQ   Y   s7    ArE	A~1b5)AqsRiK77r)   c                     SU S-
  S-  -   $ )N   rN      r&   rO   s    r#   f2rU   ]   s    B{?r)   c                 F    [        U 5      nUR                  U 5      SU -  -
  $ )NrS   )r   exprP   r   s     r#   f3rY   a   s"    		B66!9qs?r)   c                 0    U S-  SU S-  -  -
  SU -  -
  S-   $ )N      @rS   rL   g      4@r&   rO   s    r#   f4r\   f   s&    b51QU7?SU"R''r)   c                 6    SU S-  -  SU S-  -  -
  SU -  -
  S-   $ )N      rM      r&   rO   s    r#   f5ra   j   s*    QT6AadF?QqS 1$$r)   c                     SnSnU " U5      nU " U5      nX!-
  nXe:  a  X!XeU* 4OXXVU4u  ppVn[        U5       H!  nXs-  nX'-   n	U " U	5      n
X:  a	  X)Xj4u  ppVM!    O   XW	XVW
4$ )Ngw?rK   )r   )r?   x1x2phimaxiterrQ   rU   stepr    x3rY   s              r#   _bracket_minimumri   n   s    
CG	bB	bB7D79wRRdU3"$"$!7 BBD 7^Y"X7R^NBB  2rr!!r)         i   i   i   i   i   i i i    r^   rT   r`   	      
         皙gg333333ÿgɿg      пg333333ӿgffffffֿgٿgܿ      gskip_xp_backendsz	jax.numpyz*JAX arrays do not support item assignment.)reasonarray_api_strictz)Currently uses fancy indexing assignment.c            
          \ rS rSrS r\R                  R                  SS5      \R                  R                  SS\R                  " SSS	5      /5      S
 5       5       r
\R                  R                  S\" 5       SSS/5      S 5       rS rS rS r\R                  R                  S\5      S 5       r\R                  R                  SSSS/45      \R                  R                  SS5      S 5       5       rS rS rS rSrg)TestChandrupatlaMinimize   c                     [        X5      nUR                  SX-
  S-  -  5      * SUR                  -  S-  -  nUR                  XAR                  S9S   $ )Nr{   rM   g      ?dtyper&   )r   rW   piasarrayr   )selfrP   locr   r   s        r#   r"   TestChandrupatlaMinimize.f   sS    Q$vvdaeaZ'((AbeeGc>9zz#WWz-b11r)   r   float32float64r   333333?g?rw   c                   ^^ SSS.T   n[        TT5      mUU4S jS 5       nTR                  UTS9nTR                  TR                  [        R                  R                  S5      * TS9UR                  5      n[        U R                  /UQ7SU406n[        UR                  XS	9  [        UR                  U5        g )
Ng{Gzt?gƠ>r   c              3   D   >#    U  H  nTR                  UTS 9v   M     g7f)r   N)r   ).0xir   r   s     r#   	<genexpr>6TestChandrupatlaMinimize.test_basic.<locals>.<genexpr>   s     D22::b:.s    r   rS   r   r   argsrtol)getattrr   broadcast_tor   normpdfr   _chandrupatla_minimizer"   r   rP   r   r=   )r   r   r   r   r   r4   r=   r   s     ``    r#   
test_basic#TestChandrupatlaMinimize.test_basic   s    
  D1%8E"DDjjEj*oobjj%**..*;);5jI399U$TVVCgCSFCs.%r)   r   rv   r_      r_   rM   rM   c           
        ^ ^^ U(       a"  UR                  SSS5      R                  U5      OUR                  S5      nU4nUR                  S5      UR                  S5      UR                  S5      4m[        U5      n[	        U5      UU 4S j5       nUU 4S	 jmS
Tl        [        T/TQ7SU06nU" U5      n/ SQn	U	 Hh  n
UR                  U Vs/ s H  n[        X5      PM     sn5      n[        [        Xz5      5      n[        X5        [        Xz5      R                  U:X  a  Mh   e   [        UR                  T R                  " UR                  /UQ76 5        [        UR                  T R                  " UR                   /UQ76 5        [        UR"                  T R                  " UR$                  /UQ76 5        [        UR&                  T R                  " UR(                  /UQ76 5        UR+                  UR,                  5      TR
                  :X  d   eUR+                  UR.                  5      TR
                  S-
  :X  d   eUR1                  UR2                  R4                  S5      (       d   eUR1                  UR6                  R4                  S5      (       d   eUR1                  UR,                  R4                  S5      (       d   eUR1                  UR.                  R4                  S5      (       d   eg s  snf )Nrz   r   rv   r                 r[   c                 8   > [        TR                  /TQ7SU 406$ )Nr   )r   r"   )
loc_singler4   r   s    r#   chandrupatla_singleHTestChandrupatlaMinimize.test_vectorization.<locals>.chandrupatla_single   s    )$&&O7O*OOr)   c                  R   > T=R                   S-  sl         TR                  " U 0 UD6$ Nr   f_evalsr"   r   rD   r"   r   s     r#   r"   6TestChandrupatlaMinimize.test_vectorization.<locals>.f   $    IINI664*6**r)   r   r   )rP   r=   successstatusnfevnitr5   r:   r6   r8   r;   r9   r_   boolintegral)linspacereshaper   r   r*   r   r   stackr   r	   r   r   r=   r"   rP   r8   r5   r;   r:   r9   r6   maxr   r   isdtyper   r   r   )r   r   r   r   r   xp_testr   r   refsattrsattrrefref_attrres_attrr4   r"   s   `             @@r#   test_vectorization+TestChandrupatlaMinimize.test_vectorization   sU    >Cbkk%r*2259

SVv**S/2::b>2::b>A!#&	B	P 
	P	+ 	$Q<<t<"3'5D}}D%IDSgc&8D%IJH 23HH/3%++u444	  	!5!56svv 5 56svv 5 56svv 5 56vvchh199,,,vvcgg!))a-///s{{00&9999szz//<<<<sxx~~z::::sww}}j9999 &Js   K<
c                   ^ U4S jnTR                  STR                  S94nTR                  S/S-  TR                  S9TR                  S/S-  TR                  S9TR                  [        R
                  /S-  TR                  S94n[        U/UQ7USS.6nTR                  [        R                  [        R                  [        R                  [        R                  /TR                  S9n[        UR                  U5        g )Nc                    > S S S U4S j/n/ n[        [        U5      5       H9  nXS4   n[        [        U5      U   5      nUR	                  X&   " U5      5        M;     TR                  U5      $ )Nc                     U S-
  S-  $ )N      @rM   r&   rO   s    r#   <lambda>@TestChandrupatlaMinimize.test_flags.<locals>.f.<locals>.<lambda>      CA~r)   c                     U S-
  $ Nrw   r&   rO   s    r#   r   r         q2vr)   c                     U S-
  S-  $ )Nr   r   r&   rO   s    r#   r   r   	  r   r)   c                 Z   > TR                  U TR                  TR                  5      5      $ r3   	full_liker   nanrX   s    r#   r   r   
  s    r||Arzz"&&/ABr)   .)r   r
   intr	   r   r   )xsjsfuncsr   r    rP   jr   s          r#   r"   .TestChandrupatlaMinimize.test_flags.<locals>.f  sp    -%-BDE C72;'#vJQ(

58A;' ( 88C= r)   r   r   r   rM   rw   r   rf   )arangeint64r   r   npr   r   eim_ECONVERGED	_ESIGNERR	_ECONVERR
_EVALUEERRint32r   r   )r   r   r"   r   r4   r   	ref_flagss    `     r#   
test_flags#TestChandrupatlaMinimize.test_flags  s    
	! 		!288	,.::qc!e2:::6::qc!e2:::6::ruugairzz::< %QHHtRHJJ # 079xx  A	

I.r)   c           	      
   [         R                  R                  S5      nUR                  UR                  SS95      nUR                  S5      UR                  S5      UR                  S5      4nU4n[	        USSSSS9nUR                  5       nSUS	'   [        U R                  /UQ70 UD6nUR                  UR                  UR                  -
  5      n	UR                  S
US	   -  UR                  S9n
[        XR                  SXR                  S95        SUS	'   [        U R                  /UQ70 UD6nUR                  UR                  UR                  -
  5      nUR                  S
US	   -  UR                  S9n
[        XR                  SXR                  S95        [        X5        UR                  5       nSUS'   [        U R                  /UQ70 UD6nUR                  UR                  UR                  -
  5      n	UR                  S
US   -  UR                  UR                  5      -  UR                  S9n
[        X5        SUS'   [        U R                  /UQ70 UD6nUR                  UR                  UR                  -
  5      nUR                  S
US   -  UR                  UR                  5      -  UR                  S9n
[        X5        [        X5        UR                  5       nSUS'   [        U R                  /UQ70 UD6nUR                  UR                  SUR                   -  -
  UR"                  -   5      nUR                  SUS   -  UR                  S9n
[        XR                  SXR                  S95        SUS'   [        U R                  /UQ70 UD6nUR                  UR                  SUR                   -  -
  UR"                  -   5      nUR                  SUS   -  UR                  S9n
[        XR                  SXR                  S95        [        X5        UR                  5       nSUS'   [        U R                  /UQ70 UD6nUR                  UR                  SUR                   -  -
  UR"                  -   5      nUR                  SUS   -  UR                  UR$                  5      -  UR                  S9n
[        X5        SUS'   [        U R                  /UQ70 UD6nUR                  UR                  SUR                   -  -
  UR"                  -   5      nUR                  SUS   -  [        UR$                  5      -  UR                  S9n
[        X5        [        X5        g )N   FA92 r_   sizer   r   rS   r   r/   r0   r-   r.   MbP?r/   r   r   r_   ư>r0   r-   rM   r.   )r   randomdefault_rngr   dictcopyr   r"   absr6   r5   r   r   fullrP   r8   r;   r9   r=   )r   r   rngpr4   r   kwargs0rD   res1j1tolres2j2h1h2s                  r#   test_convergence)TestChandrupatlaMinimize.test_convergence  s   ii##$78JJszzqz)*::b>2::a="**Q-@tD!1Ew%dffAwA&AVVDGGdgg%&jj6'?*!''j:r774GG7<=w%dffAwA&AVVDGGdgg%&jj6'?*!''j:r774GG7<=rw%dffAwA&AVVDGGdgg%&jj6'?*266$&&>9jIrw%dffAwA&AVVDGGdgg%&jj6'?*266$&&>9jIrrw%dffAwA&AVVDGGa$''k)DGG34jj6'?*!''j:r774GG7<=w%dffAwA&AVVDGGa$''k)DGG34jj6'?*!''j:r774GG7<=rw%dffAwA&AVVDGGa$''k)DGG34jj6'?*266$((+;;177jKrw%dffAwA&AVVDGGa$''k)DGG34jj6'?*3txx=8jHrrr)   c                 >  ^ ^^^^^ TR                  S5      mTR                  S5      TR                  S5      TR                  S5      4mSm[        T R                  /TQ7T4TS.6nTR                  UR                  5      (       a   eTR                  UR                  TS-   :H  5      (       d   eTR                  UR                  T:H  5      (       d   eUUUUU U4S jmTR                  Tl	        TR                  Tl
        STl        S Tl        [        T R                  /TQ7T4TS	.6nUR                  5        H^  nUS
:X  a2  X$   [        R                  :X  d   eX4   [        R                   :X  d   eM;  X4   TR                  U   s=:X  a  X$   :X  a  M[   e   e   g )N~,?r   r   rS   r   r_   c                   > T=R                   S-  sl         U Tl        [        U S5      (       d   eTR                   S:X  a*  U R                  U R                  U R
                  4T:X  d   eOU R                  TR                  :H  U R
                  TR
                  :g  -  nU R                  TR                  :g  U R
                  TR
                  :H  -  nTR                  X-  5      (       d   eU R                  Tl        U R
                  Tl        U R                  [        R                  :X  d   e[        TR                  U R                  T5      U R                  5        [        TR                  U R                  T5      U R                  5        [        TR                  U R
                  T5      U R                  5        [        TR                  U R                  T5      U R                   5        TR                   T:X  a  ["        eg Nr   rP   r   )iterr   hasattrr5   r:   r6   allr   r   _EINPROGRESSr   r"   r8   r;   r9   rP   r=   StopIteration)	r   
changed_xr
changed_xlr4   r1   r   rf   r   r   s	      r#   r1   @TestChandrupatlaMinimize.test_maxiter_callback.<locals>.callbackd  sq   MMQMHL3$$$$}}!/7:::!ff3(++8MN
!ff3(++8MN
vvj56666&&HK&&HK::!1!1111DFF3663/8DFF3663/8DFF3663/8DFF355#.8}}'## (r)   rj   r   r1   r   )r   r   r"   anyr   r	  r   r   r   r5   r6   r  r   keysr   r   
_ECALLBACK)	r   r   r   r   rF   r4   r1   r   rf   s	   ``   @@@@r#   test_maxiter_callback.TestChandrupatlaMinimize.test_maxiter_callbackX  sp   jj"::b>2::a="**Q-@$TVV 6g 6SF-4666#++&&&&vvchh'!)+,,,,vvcgg())))	$ 	$, ffff%dff 9w 9cV/79
 88:Chx3==000yCNN222yHLL$5AAAAAA r)   casec                 :   Uu  p4nSnXF-   n[        X4U5      u  pGppSnSnSnSnUR                  U5      UR                  U5      UR                  XR                  S94n[        U/UQ7UXUS.6n[	        UR
                  UR                  XRR                  S95        g )Ng?g-C6?r   gؗҜ<r   )r/   r-   r0   r.   )ri   r   r   r   r   r   r   )r   r  r   r?   rc   r   rg   rd   rh   rQ   rU   rY   r/   r-   r0   r.   r4   r   s                     r#   test_nit_expected*TestChandrupatlaMinimize.test_nit_expected  s    
 # Y!1$B!? **R."**R."**Rzz*2RR$T LG L5+0ULCxx!@Ar)   g?gffffff?float16r   r   c           	        ^^ [        UT5      mUR                  UTS9nUR                  STS9UR                  STS9UR                  STS94n[        U5      mUU4S jn[        U/UQ7SU406nUR                  R
                  T:X  d   e[        UR                  U[        R                  " UR                  T5      R                  5      S9  g )Nr   r   rS   c                 V   > U R                   T:X  d   eTR                  X-
  S-  T5      $ NrM   )r   astype)rP   r   r   r   s     r#   r"   .TestChandrupatlaMinimize.test_dtype.<locals>.f  s,    77e###>>17Q,66r)   r   r   )r   r   r   r   rP   r   r   r   sqrtfinfoeps)r   r   r   r   r4   r"   r   r   s     `    @r#   
test_dtype#TestChandrupatlaMinimize.test_dtype  s     E"jjEj*::b:.::au:-::au:-/ "#&	7 %Q>>v>uu{{e###s288E?3F3F)GHr)   c                    SnUR                  S5      UR                  S5      UR                  S5      4n[        R                  " [        US9   [	        S /UQ76   S S S 5        SnUR                  S5      UR                  S5      UR                  S5      4n[        R                  " [        US9   [	        S /UQ76   S S S 5        S	nUR                  S
S/5      UR                  SS/5      UR                  / SQ5      4n[        R                  " [        [
        4US9   [	        S /UQ76   S S S 5        SnUR                  SS/5      UR                  SS/5      UR                  SS/5      4n[        R                  " [        US9   [	        S /UQ76   S S S 5        SnUR                  S5      UR                  S5      UR                  S5      4n[        R                  " [        US9   [	        S /UQ7SS06  S S S 5        [        R                  " [        US9   [	        S /UQ7SUR                  06  S S S 5        [        R                  " [        US9   [	        S /UQ7SS06  S S S 5        [        R                  " [        US9   [	        S /UQ7SUR                  06  S S S 5        Sn[        R                  " [        US9   [	        S /UQ7SS06  S S S 5        [        R                  " [        US9   [	        S  /UQ7SS06  S S S 5        S!n[        R                  " [        US9   [	        S" /UQ7S#S$06  S S S 5        g ! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNG= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNr= f! , (       d  f       GNR= f! , (       d  f       GN(= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       g = f)%N`func` must be callable.rn   r   r   match3Abscissae and function output must be real numbers.            ?c                     U $ r3   r&   rO   s    r#   r   @TestChandrupatlaMinimize.test_input_validation.<locals>.<lambda>      Qr)   z...be broadcast...rl   r  r_   r   rS   c                     U $ r3   r&   rO   s    r#   r   r-    r.  r)   z:The shape of the array returned by `func` must be the samerS   c                     U S   U S   U S   /$ )N)r   .)r   .r&   rO   s    r#   r   r-    s    ai6AfI-Nr)   (Tolerances must be non-negative scalars.c                     U $ r3   r&   rO   s    r#   r   r-    r.  r)   r/   rj   c                     U $ r3   r&   rO   s    r#   r   r-    r.  r)   r0   c                     U $ r3   r&   rO   s    r#   r   r-    r.  r)   r-   ekkic                     U $ r3   r&   rO   s    r#   r   r-    r.  r)   r.   )`maxiter` must be a non-negative integer.c                     U $ r3   r&   rO   s    r#   r   r-    r.  r)   rf         ?c                     U $ r3   r&   rO   s    r#   r   r-    r.  r)   `callback` must be callable.c                     U $ r3   r&   rO   s    r#   r   r-    r.  r)   r1   	shrubbery)r   pytestraises
ValueErrorr   RuntimeErrorr   )r   r   messager4   s       r#   test_input_validation.TestChandrupatlaMinimize.test_input_validation  s    -**R."**Q-A>]]:W5"42'2 6 H**W%rzz!}bjjmC]]:W5";99 6 '**b"X&

Aq6(:BJJy<QQ]]J5WE";99 F O**b"X&

Aq6(:BJJ1v<NN]]:W5"#N -$+- 6 =**R."**Q-A>]]:W5";CCC 6]]:W5";GGG 6]]:W5";GGG 6]]:W5";GGG 6 >]]:W5";FF#F 6]]:W5";EE"E 6 1]]:W5";OO;O 65M 65
 65 FE
 65 65555555 6555 65s   M	0MM-M?+NN#N5O	O;O+/O<	
M
M*-
M<?
N
N #
N25
O
O
O(+
O9<
P
c                 N   [        UR                  S5      5      nUR                  SSS5      S S 2UR                  4   nUR                  [	        [        / SQ5      5      5      R                  n[        U R                  /UQ7SU406nUR                  UR                  UR                  U5      UR                  U R                  X35      :H  -  5      (       d   eUR                  S S 2S4   n[        U5      n[        UR                  UR                  R                  U5      SS	06  g )
N      ?rj   r   rT   r   r   r   r   V瞯<)r   r   r   newaxislistr   Tr   r"   r	  iscloserP   r=   r   broadcast_arrays)r   r   r   r   bracketsr   r   s          r#   test_bracket_order+TestChandrupatlaMinimize.test_bracket_order  s    !"**R.1kk"a#Aw$67::d<
#;<=??$TVVDhDcVDvvbjj,466#;K0KLMMMMeeAqDk!#&11#%%''3?LeLr)   c                   ^^ [        TR                  S5      5      mU4S jnTR                  S5      TR                  S5      TR                  S5      4n[        R                  " SS9   [	        U/UQ7SSS.6nS S S 5        WR
                  (       d   e[        UR                  TR                  S5      S	S
9  [        UR                  TR                  S5      SS9  S nTR                  S5      TR                  S5      TR                  S5      4n[	        U/UQ76 nUR
                  (       d   e[        UR                  TR                  S5      5        S nTR                  S5      TR                  S5      TR                  S5      4n[	        U/UQ7SS06nUR                  (       d   UR                  U:H  5       eUR                  S:X  d   eUR                  S:X  d   eUR                  S:X  d   eUR                  S:X  d   eS nTR                  S5      TR                  S5      TR                  S5      4nTR                  S5      n[	        U/UQ7SU406n[        UR                  U5        U4S jnTR                  S5      TR                  S5      TR                  TR                  5      4n[	        U/UQ7SSSSS.6nUR
                  (       d   eUR                  UR                   s=:  a  UR                  :  d   e   eU" UR                  5      U" UR                   5      s=:X  a  U" UR                  5      :X  d   e   eg ! , (       d  f       GN= f)NrG  c                 Z   > TR                  U R                  S5      (       d   eU S-
  S-  $ )Nreal floatingr   rM   r   r   rP   r   s    r#   r"   6TestChandrupatlaMinimize.test_special_cases.<locals>.f  s,    ??177O<<<<EA:r)   r   r^   ignoreinvalid)r-   r.   r   r   r   gN~hatolc                     U S-
  S-  $ Nr   rM   r&   rO   s    r#   r"   rV        aC!8Or)   r   c                     U S-
  S-  $ r^  r&   rO   s    r#   r"   rV    r_  r)   r  g?rS   rf   r_   rl   c                     X-
  S-  S-
  $ )NrM   r   r&   rP   cs     r#   r"   rV    s    C!8a<r)   rj   UUUUUU?r   c                 (   > TR                  U 5      * $ r3   )sinrX   s    r#   r"   rV     s    FF1I:r)   )r/   r0   r-   r.   )r   r   r   errstater   r   r   rP   r=   r   r5   r6   r   r   r   r   r:   )r   r   r"   r4   r   rc  r   s    `    @r#   test_special_cases+TestChandrupatlaMinimize.test_special_cases  s    ""**R.1	 **R."**Q-A>[[*(GWGAQGC +{{{rzz"~D9Bf=	 **Q-A

1=$Q11{{{rzz"~.	 **R."**S/2::a=@$Q<<!<vv(svv((vww!||xx1}}zzRuu||	  **R."**Q-A>JJsO$Q<<t<q!	 **Q-A

2550AA$QUU!STU{{{vv''''''yAcffI236622222] +*s   )M
Mr&   N)__name__
__module____qualname____firstlineno__r"   r?  markparametrizer   r   r   tupler   r   r  r  casesr  r$  rD  rO  rh  __static_attributes__r&   r)   r#   r   r      s!   2
 [[W&<=[[US"++eT2*F$GH& I >& [[Wuwvy&IJ&: K&:R/2:x2Bh [[VU+B ,B, [[UTD#;$78[[W&GHI I 9I$,P\	M83r)   r   cupyzcupy/cupy#8391c            	          \ rS rSrS r\R                  R                  SS\R                  " SSS5      /5      S 5       r
\R                  R                  S	\" 5       S
SS/5      S 5       rS rS rS r\R                  R                  S\5      S 5       r\R                  R                  SSSS/45      \R                  R                  SS5      S 5       5       rS rS rSrg)TestChandrupatlai+  c                 4    [         R                  " U5      U-
  $ r3   )r   ndtr)r   qr   s      r#   r"   TestChandrupatla.f5  s    ||A""r)   r   r   rz   r   rw   c                 R   UR                  S5      UR                  S5      pC[        U R                  X4UR                  U5      4S9nUR                  [        R                  " 5       R                  U5      UR                  U5      R                  S9n[        UR                  U5        g )Nr   r[   r   r   )	r   _chandrupatla_rootr"   r   r   ppfr   r   rP   )r   r   r   abr   r   s          r#   r   TestChandrupatla.test_basic8  sw     zz#

21 RZZ]4DEjj))!,BJJqM4G4GjHs#r)   r   r   r   r   c           
      ,  ^ ^ U(       a'  [         R                  " SSS5      R                  U5      O[         R                  " S5      nUR	                  U5      nU4nUR
                  n[        U5      n[         R                  U 4S j5       nUU 4S jmSTl        [        TUR	                  S5      UR	                  S	5      US
9n	U" U5      R                  5       n
U
 Vs/ s H  oR                  PM     nnUR                  UR	                  XS9U5      n[        U	R                  U5        U
 Vs/ s H  oR                  PM     nnUR                  UR	                  XS9U5      n[        U	R                  USS9  [        U	R                  T R                  " U	R                  /UQ76 5        U
 Vs/ s H  n[!        UR"                  5      PM     nnUR                  UR	                  XR                   S9U5      n[        U	R"                  U5        U
 Vs/ s H  oR$                  PM     nnUR                  UR	                  XR&                  S9U5      n[        U	R$                  U5        U
 Vs/ s H  oR(                  PM     nnUR                  UR	                  UUR&                  S9U5      n[+        U5      (       aB  [        U	R(                  U5        UR-                  U	R(                  5      TR                  :X  d   eOBU	R(                  R.                  U:X  d   eU	R(                  R
                  UR&                  :X  d   eU
 Vs/ s H  oR0                  PM     nnUR                  UR	                  UUR&                  S9U5      n[+        U5      (       aE  [        U	R0                  U5        UR-                  U	R0                  5      TR                  S-
  :X  d   eOBU	R0                  R.                  U:X  d   eU	R0                  R
                  UR&                  :X  d   eU
 Vs/ s H  oR2                  PM     nnUR                  UR	                  UUS9U5      n[        U	R2                  U5        U
 Vs/ s H  oR4                  PM     nnUR                  UR	                  UUS9U5      n[        U	R4                  U5        [7        U	R2                  U	R4                  5        UR9                  U	R                  5      nUR;                  U	R                  U   U	R2                  U   :H  U	R                  U   U	R4                  U   :H  -  5      (       d   e[+        U5      (       a  SOSnU
 Vs/ s H  oR<                  PM     nnUR                  UR	                  UUS9U5      n[        U	R<                  UUS9  [        U	R<                  T R                  " U	R2                  /UQ76 5        U
 Vs/ s H  oR>                  PM     nnUR                  UR	                  UUS9U5      n[        U	R>                  UUS9  [        U	R>                  T R                  " U	R4                  /UQ76 5        UR;                  URA                  U	R                  U   5      URC                  URA                  U	R<                  U   5      URA                  U	R>                  U   5      5      :H  5      (       d   eg s  snf s  snf s  snf s  snf s  snf s  snf s  snf s  snf s  snf s  snf )Nrz   r   rv   r   c                 2   > [        TR                  SSU 4S9$ )Nr   rS   r{  )r|  r"   )r   r   s    r#   r   @TestChandrupatla.test_vectorization.<locals>.chandrupatla_singleK  s    %dffb!1$??r)   c                  R   > T=R                   S-  sl         TR                  " U 0 UD6$ r   r   r   s     r#   r"   .TestChandrupatla.test_vectorization.<locals>.fO  r   r)   r   r   r[   r{  r   rH  r[  rM   g&.>)"r   r   r   r   r   r   r   	vectorizer   r|  ravelrP   r   r=   r   r"   r   r   r   r   r   r   r   r   r   r5   r6   r   isfiniter	  r8   r9   r   minimum)r   r   r   r   p_xpargs_xpr   r   r   r   r   r   ref_xref_funref_successref_flagref_nfevref_nitref_xlref_xrfiniter\  ref_flref_frr"   s   `                       @r#   r   #TestChandrupatla.test_vectorization@  s    =BR[[b)11%8**S/ 	
zz!}'

!$'		@ 
	@	+ 	 BJJsORZZ^'R"1%++-"&'$3$'

2::e:95Au%&*+ds77d+**RZZZ=uEu5!8!89489DStCKK(D9jjK||!LeT[1*./$3JJ$/::bjjjBEJ

H-(,-HH-::bjjjBEJB<<CHHh/66#((#qyy00088>>U***88>>RXX---&*+ds77d+**RZZrxxZ@%HB<<CGGW-66#''?aiik11177==E)))77==BHH,,,$()DS&&D)BJJvUJ;UC'$()DS&&D)BJJvUJ;UC'svvsvv&SUU#vvsuuV}v6v#&&.8: ; ; 	; ; !u$$()DS&&D)BJJvUJ;UCT2svv 8 89$()DS&&D)BJJvUJ;UCT2svv 8 89vvbffSWWV_-jjv!7!#v!799 : : 	: :{ ( ,
 : 0 . , * * *
 *s<   [$-[)-[.[3+[8[= \1\&\'\c                   ^ U4S jnTR                  STR                  S94nTR                  S/S-  5      TR                  TR                  /S-  5      pT[	        X$XSSS9nTR                  [
        R                  [
        R                  [
        R                  [
        R                  /TR                  S9n[        UR                  U5        g )Nc                 \  > UR                   TR                  :X  d   e[        T5      (       a?  S S S U4S j/n[        X5       VVs/ s H  u  p4U[	        U5         " U5      PM     snn$ S S S U4S j/n[        X5       VVs/ s H  u  p4X$   " U5      PM     snn$ s  snnf s  snnf )	Nc                     U S-
  $ Nr   r&   rO   s    r#   r   8TestChandrupatla.test_flags.<locals>.f.<locals>.<lambda>  s    1s7r)   c                     U S-
  $ r   r&   rO   s    r#   r   r    s    1r6r)   c                     U S-
  S-  $ N皙?r_   r&   rO   s    r#   r   r    s    AGa<r)   c                 Z   > TR                  U TR                  TR                  5      5      $ r3   r   rX   s    r#   r   r    s    2<<2::bff3E#Fr)   c                     U S-
  $ r  r&   rO   s    r#   r   r    s    q3wr)   c                     U S-
  $ r   r&   rO   s    r#   r   r    r   r)   c                     U S-
  S-  $ r  r&   rO   s    r#   r   r    r   r)   c                    > TR                   $ r3   )r   rX   s    r#   r   r    s	    rvvr)   )r   r   r   zipr   )r   r   r   rP   r   r   s        r#   r"   &TestChandrupatla.test_flags.<locals>.f  s     88rxx'''r{{*)/FH 69[A[TQc!fa([AA&%-%'E -0K8KDAEHQKK88 B 9s   	 B"B(r   r   r   rM   r   )r   r   r   r   r|  r   r   r   r   r   r   r   r   )r   r   r"   r   r~  r  r   r   s    `      r#   r   TestChandrupatla.test_flags  s    	9$ 		!288	,.zz2$q&!2::ruugai#81 qQ?JJ # # # 0 8:xx  A	 	

I.r)   c           	      |	   [         R                  R                  S5      nUR                  UR                  SS95      nUR                  S5      * UR                  S5      4nU4n[	        USSSSS9nUR                  5       nSUS'   [        U R                  /UQ70 UD6n[        UR                  UR                  -
  UR                  X1R                  S5      5      5        S	US'   [        U R                  /UQ70 UD6n	[        U	R                  U	R                  -
  UR                  X1R                  S	5      5      5        [        U	R                  U	R                  -
  UR                  UR                  -
  5        UR                  5       nSUS
'   [        U R                  /UQ70 UD6n[        UR                  UR                  -
  SUR                  UR                  5      -  5        S	US
'   [        U R                  /UQ70 UD6n	[        U	R                  U	R                  -
  S	UR                  U	R                  5      -  5        [        U	R                  U	R                  -
  UR                  UR                  -
  5        UR                  5       nSUS'   [        U R                  /UQ70 UD6n[        UR                  UR                  5      UR                  X1R                  S5      5      5        S	US'   [        U R                  /UQ70 UD6n	[        UR                  U	R                  5      UR                  X1R                  S	5      5      5        [        UR                  U	R                  5      UR                  UR                  5      5        UR                  5       nSUS'   Uu  pUR                  UR                  U R                  " U
/UQ76 5      UR                  U R                  " U/UQ76 5      5      n[        U R                  /UQ70 UD6n[        UR                  UR                  5      SU-  5        S	US'   [        U R                  /UQ70 UD6n	[        UR                  U	R                  5      S	U-  5        [        UR                  U	R                  5      UR                  UR                  5      5        g )Nr   r_   r   r[   r   r   r   r/   r   r0   r-   r.   )r   r   r   r   r   r   r|  r"   r   r6   r5   r   r   rP   r=   r  )r   r   r   r   r4   r   r   rD   r   r   rc   rd   f0s                r#   r  !TestChandrupatla.test_convergence  s   ii##$78JJszzqz)*JJrN?BJJrN3tD!1Ew!$&&=7=f=tww(",,q**T:J*KLw!$&&=7=f=tww(",,q**T:J*KLtww($''DGG*;<w!$&&=7=f=tww($*?@w!$&&=7=f=tww($*?@tww($''DGG*;<w!$&&=7=f=rvvdhh'aD9I)JKw!$&&=7=f=rvvdhh'aD9I)JKrvvdhh')9:wZZtvvb0401266$&&:Kd:K3LM!$&&=7=f=rvvdhh'b1w!$&&=7=f=rvvdhh'b1rvvdhh')9:r)   c           	      r  ^ ^^^^^^	 TR                  S5      m	TR                  S5      TR                  S5      4mSmU4S jmS Tl        S Tl        [        T/TQ7T	4TS.6nTR	                  UR
                  5      (       a   eTR                  UR                  TS-   :H  5      (       d   eTR                  UR                  T:H  5      (       d   eUUUU	U U4S jmS	Tl	        S Tl
        S Tl        S Tl        [        T/TQ7T	4TS
.6nUR                  5        H  nUS:X  aj  [        X$   TR                  [        R                   TR"                  S95        [        X4   TR                  [        R$                  TR"                  S95        Ms  UR'                  S5      (       a  M  [        X4   X$   5        M     g )Nr  r   r[   rS   c                 V   > [         R                  " U 5      U-
  nU Tl        UTl        U$ r3   )r   rw  rP   r=   )rx  r   r   r"   s      r#   r"   1TestChandrupatla.test_maxiter_callback.<locals>.f  s(    ,,q/A%CACAEJr)   r   rM   c                   > T=R                   S-  sl         U Tl        [        U S5      (       d   eTR                   S:X  a  U R                  U R                  4T:X  d   eOU R                  TR                  :H  U R                  TR                  :g  -  U R                  TR                  :g  U R                  TR                  :H  -  -  nTR                  U5      (       d   eU R                  Tl        U R                  Tl        U R                  [        R                  :X  d   e[        TR                  U R                  T5      U R                  5        [        TR                  U R                  T5      U R                  5        [        TR                  U R                  T5      U R                  5        TR                   T:X  a  [        eg r  )r  r   r  r5   r6   r	  r   r   r
  r   r"   r8   r9   rP   r=   r  )r   changedr4   r1   rf   r   r   r   s     r#   r1   8TestChandrupatla.test_maxiter_callback.<locals>.callback  sL   MMQMHL3$$$$}}!'7222 VVx{{2svv7LM"vv48;;9NOQvvg&&&HK&&HK::!1!1111DFF3661-svv6DFF3661-svv6DFF355!,cgg6}}'## (r)   rj   r  r   r   _)r   rP   r=   r|  r  r   r	  r   r   r  r   r5   r6   r  r   r   r   r   r  
startswith)
r   r   r   r   rF   r4   r1   r"   rf   r   s
   ``   @@@@@r#   r  &TestChandrupatla.test_maxiter_callback  sq   JJx ::c?BJJrN3	
  IWIA4I66#++&&&&vvchh'!)+,,,,vvcgg())))	$ 	$( !!LgLQD8L 88:Ch"**S]]"((**ST	2::cnnBHH:+UV$$	384 r)   r  c                    Uu  p4pVnUR                  US   UR                  S9UR                  US   UR                  S94nUR                  XRR                  S9n[        U/UQ7SSS.6n[        UR                  UR                  U" U5      UR                  S9SSS	9  [        UR                  UR                  XbR                  S95        g )
Nr   r   r   g|=gh㈵>)r0   r/   g:0yE>gMb`?)r   r\  )r   r   r|  r   r=   r   r   r   )	r   r  r   r"   r4   rootnfevalidr   s	            r#   r  "TestChandrupatla.test_nit_expected  s    
 (,$D"
 ::gaj

:;::gaj

:;=zz$jjz1 FWFEFAdG2::!F!	."**V88*"DEr)   r  gCl?gV-?r   r  c                   ^^ [        T5      (       + nU(       a  TS:X  a  [        R                  " S5        [        TTS 5      mTc  [        R                  " T ST 35        UU4S jnTR	                  STS9TR	                  STS9pvTR	                  UTS9n[        XVXq4SS	9n [        UR                  USS
9  g ! [         a=    UR                  R                  T:X  d   eTR                  UR                  S:H  5         g f = f)Nr  z0`float16` dtype only supported for NumPy arrays.z does not support c                 V   > X-
  S-  n[        T5      (       a  TR                  UTS9$ U$ )NrL   r   )r   r   )rP   r  r   r   r   s      r#   r"   &TestChandrupatla.test_dtype.<locals>.f=  s0    8"C||zz#Uz33Jr)   r  r   r_   r   )r   r/   r[  r   )r   r?  skipr   r   r|  r   rP   AssertionErrorr   r	  r=   )	r   r  r   r   	not_numpyr"   r~  r  r   s	     ``     r#   r$  TestChandrupatla.test_dtype1  s     !$	)+KKJKE4(=KK2$089	 zz"Ez*BJJqJ,F1zz$ez, qwdC	!CEE4d3 	!55;;%'''FF377a< 	!s   $B: :AD Dc                 f   S nSn[         R                  " [        US9   UR                  S5      UR                  S5      4n[	        S /UQ76   S S S 5        Sn[         R                  " [        US9   UR                  S5      UR                  S5      4n[	        U/UQ76   S S S 5        Sn[         R                  " [        [
        4US9   UR                  S	S
/5      UR                  / SQ5      4n[	        U/UQ76   S S S 5        Sn[         R                  " [        US9   UR                  S
S
/5      UR                  SS/5      4n[	        S /UQ76   S S S 5        SnUR                  S5      UR                  S5      4n[         R                  " [        US9   [	        U/UQ7SS06  S S S 5        [         R                  " [        US9   [	        U/UQ7SUR                  06  S S S 5        [         R                  " [        US9   [	        U/UQ7SS06  S S S 5        [         R                  " [        US9   [	        U/UQ7SUR                  06  S S S 5        Sn[         R                  " [        US9   [	        U/UQ7SS06  S S S 5        [         R                  " [        US9   [	        U/UQ7SS06  S S S 5        Sn[         R                  " [        US9   [	        U/UQ7SS06  S S S 5        g ! , (       d  f       GN= f! , (       d  f       GNh= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GN= f! , (       d  f       GNm= f! , (       d  f       GNN= f! , (       d  f       GN%= f! , (       d  f       GN= f! , (       d  f       N= f! , (       d  f       g = f)Nc                     U $ r3   r&   rO   s    r#   r?   4TestChandrupatla.test_input_validation.<locals>.funcO  s    Hr)   r'  r(  rn   r   r*  r+  z...not be broadcast...rl   r  r/  z,The shape of the array returned by `func`...rS   c                     U S   U S   U S   /$ )Nr   r   r&   rO   s    r#   r   8TestChandrupatla.test_input_validation.<locals>.<lambda>e  s    !A$!ad);r)   r2  r/   rj   r0   r-   r6  r.   r8  rf   r:  r<  r1   r>  )r?  r@  rA  r   r|  rB  r   )r   r   r?   rC  r4   s        r#   rD  &TestChandrupatla.test_input_validationL  s   	 -]]:W5jjnbjjm3Gt.g. 6 H]]:W5jj'A6Gt.g. 6
 +]]J5WEjj"b*BJJy,AAGt.g. F A]]:W5jj"b*BJJ1v,>>G;FgF 6 =**R."**Q-/]]:W5t8g8R8 6]]:W5t<g<RVV< 6]]:W5t<g<V< 6]]:W5t<g<RVV< 6 >]]:W5t;g;s; 6]]:W5t:g:r: 6 1]]:W5tDgDD 65M 65
 65 FE
 65 65555555 6555 65s   /K/1/L	3L4L%L7	M	M5M-2M?#NN"/
K>
L
L"%
L47
M	
M
M*-
M<?
N
N"
N0c                 	  ^ S nUR                  / SQ5      UR                  / SQ5      pC[        R                  " SSS9   [        X#U5      nS S S 5        UR	                  WR
                  5      (       d   e[        UR                  SS  UR                  SUR                  S   5      5        [        U5      mU4S	 jn[        X!R                  S
5      UR                  S5      5      nUR
                  (       d   e[        UR                  UR                  S5      5        S nUR                  SS/5      n[        X!R                  S5      UR                  S5      U4S9n[        UR
                  UR                  SS/5      5        [        UR                  UR                  UR                  S/5      5        S n[        R                  " SS9   UR                  UR                  5      n[        X'U5      nS S S 5        UR
                  (       d   e[        UR                  UR                  UR                  5      5        S nUR                  S5      UR                  S5      pC[        X#USS9n[        UR
                  UR                  S5      5        [        UR                  UR                  SUR                  S95        [        UR                  UR                  SUR                  S95        [        UR                   UR                  SUR                  S95        [        UR"                  U5        [        UR$                  U5        [        UR                  U5        [        X$* U* SS9n[        UR                  U* 5        [        X#USS9n[        UR
                  UR                  S5      5        [        UR                  UR                  SUR                  S95        [        UR                  UR                  SUR                  S95        [        UR                   UR                  SUR                  S95        [        UR                  UR                  S5      5        S n[        X!R                  S5      UR                  S5      UR                  S5      S9n[        UR                  UR                  S5      5        g ! , (       d  f       GN= f! , (       d  f       GN= f)Nc                 &    SU -  S-   SU * S-   -  -
  $ r   r&   rO   s    r#   r"   .TestChandrupatla.test_special_cases.<locals>.f  s    q519qQBF|++r)   )r  r   r   r  )?rG  r  rG  rX  )dividerZ  r   r   r   c                 Z   > TR                  U R                  S5      (       d   eU S-  S-
  $ )NrS     r   rT  rU  s    r#   r"   r    s,    ??177O<<<<7Q;r)   rW  rS   rG  c                     U S-  U-
  $ r  r&   )rP   r  s     r#   r"   r    s    a4$;r)   r{  FTc                     SU -  $ r   r&   rO   s    r#   r"   r    s    Q3Jr)   rY  c                     U S-  S-
  $ )Nr_   r   r&   rO   s    r#   r"   r    s    a4!8Or)   g      r[   )rf   rl   r   rM   r_   c                     X-  S-
  $ r   r&   rb  s     r#   r"   r    s    37Nr)   rj   rd  )r   r   rg  r|  r	  r   r   rP   r   r   r   r   infr   r   r   r   r5   r6   )	r   r   r"   r~  r  r   r  r  r   s	           @r#   rh  #TestChandrupatla.test_special_cases|  s   	, zz,-

;O0P1[[(;$Q1-C < vvckk""""ab	2774q#:; "!$	 !JJrNBJJqMB{{{rzz"~.	 zz1a&! JJqM2::a=wORZZ%>?rzz2662,78	 [[***RVV$C$QS1C + {{{rzz"&&12	 zz#

21 q!4RZZ%67

BJJrJ$BCARXX!>?"**Qbhh*"?@""q! BA6r" !q!4RZZ%56

BJJqJ$ABARXX!>?"**Qbhh*"?@rzz"~.	 !JJrNBJJqM

STVrzz#/K <;@ +*s   S(S
S
S%r&   N)rj  rk  rl  rm  r"   r?  rn  ro  r   r   r   rp  r   r   r  r  r   r  r$  rD  rh  rr  r&   r)   r#   ru  ru  +  s   # [[S3E4(D"EF$ G$ [[Wuwvy&IJU: KU:n/>,;\75r [[V%89F :F$ [[VeeU^%<=[[W&GH! I >!2.E`N0r)   ru  )0r   r?  numpyr   scipyr   r   (scipy._lib._elementwise_iterative_method_lib_elementwise_iterative_methodr   scipy.conftestr   scipy._lib._array_apir   r   r   r	   r
   scipy._lib._array_api_no_0dr   r   r   scipy.optimize.elementwiser   r   scipy.optimize._tstutilsr   	itertoolsr   
test_zerosr   r*   rI   r|  r   rQ   rU   rY   r\   ra   ri   rq  rn  usefixturesr|   r   ru  r&   r)   r#   <module>r     s8        6 6 / W W9 9 ? 8 " -:"!J (	2 +L9 8
(%"(8	RL8	RL8	 RL8	 RL	8	
 bM8	 bM8	 bM8	 rN8	 rN8	 rN8	 O8	 QK8	 QK8	 QK8	 QK8	  aL!8	" aL#8	$ aL%8	& rN'8	( rN)8	* rN+8	, O-8	. RL/8	0 RL18	2 RL38	4 RL58	6 bM78	8 bM98	: bM;8	< rN=8	> rN?8	@ rNA8	B OC8	D NE8	F OG8	H OI8	J OK8	L OM8	N NO8	P NQ8	R NS8	T OU8	V OW8	X OY8	Z N[8	\ N]8	^ N_8	` Oa8	b Nc8	d Ne8	f Ng8	h Ni8	j Nk8	l Nm8	n No8	v +,k%Q  S0%P  Re3 e3RS - e3P +,0%P  Rk%Q  Sf%5  7W0, W07SR - W0r)   