ó
    ˆ*£hrÉ  ã                   óî  • S SK Jr  SSKJrJr  S rSr\/ S4S j5       r\S 5       r\S	 5       r	\S
 5       r
\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       rS r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       r\S$S j5       r\S 5       r\S 5       r\S  5       r\S! 5       r \S" 5       r! \S# 5       r"g)%é   )Úxrangeé   )ÚdefunÚdefun_wrappedc                 óü  • S=pESn/ n[        U5       GHb  u  p‰U	u  p«pÍpïnSn[        U
5       H:  u  nnU(       a  M  U R                  UU   5      S::  d  M)  UU   (       d  M5  S=pESnM<     / SQn[        XÍU/5       H«  u  nn[        U5       H–  u  nnU R                  U5      u  nnUS:”  a  M"  UU R                  :X  aT  SnUS:X  a4  U H.  nU R	                  U5      (       d  M  U[        U5      :¼  d  M,  Sn  O   U(       a  Mw  UU==   S-  ss'   M†  US:  d  MŽ  UU* -  nSnM˜     M­     U(       a-  US   US   US   -   :”  a  U(       d  UR                  U5        GML  [        U5      (       d  GM_  S=pEGMe     XEXg4$ )NFé    T)r   r   r   r   r   éüÿÿÿ)Ú	enumerateÚreÚnint_distanceÚninfÚisnpintÚintÚappendÚsum)ÚctxÚtermsÚprecÚdiscard_known_zerosÚperturbÚ	recomputeÚ	extraprecÚdiscardÚ
term_indexÚtermÚw_sÚc_sÚalpha_sÚbeta_sÚa_sÚb_sÚzÚhave_singular_nongamma_weightÚkÚwÚ
pole_countÚ
data_indexÚdataÚiÚxÚnÚdÚokÚus                                Ú\/home/mande/repo/quber/.venv/lib/python3.13/site-packages/mpmath/functions/hypergeometric.pyÚ_check_need_perturbr0      s�  € ØÐ€GØ€IØ€GÜ% e×,Ñˆ
Ø15Ñ.ˆ�' 3¨QØ(-Ð%ô ˜c–N‰DˆAˆqß�1Ø—6‘6˜#˜a™&“> QÕ&¨3¨q¯6©6Ø*.Ð.�GØ48Ò1ñ	 #ò
 ˆ
ä )¨7¸CÐ*@Ö AÑˆJ˜Ü! $ž‘��1Ø×(Ñ(¨Ó+‘��1à�q“5ÙØ˜Ÿ™“=ð �BØ! Q“Û!$˜AØ"Ÿ{™{¨1Ÿ~›~°!´s¸1³vµ+Ø%) Ù %ñ "%ö Ù Ø˜zÓ*¨aÑ/Õ*ð ˜•VØ ! ‘O�IØ $’Ió- (ñ !Bö0  :¨a¡=°:¸a±=À:ÈaÁ=Ñ3PÓ#PÞ1Ø�N‰N˜:×&Ü��_Œ_Ø"&Ð&ˆG’iñQ -ðR ˜yÐ1Ð1ó    a  
hypercomb() failed to converge to the requested %i bits of accuracy
using a working precision of %i bits. The function value may be zero or
infinite; try passing zeroprec=N or infprec=M to bound finite values between
2^(-N) and 2^M. Otherwise try a higher maxprec or maxterms.
Tc                 óP  • U R                   nU R                  nU R                  nU R                  nUS S  n	UR	                  SS5      n
UR	                  SU R                  U5      5      nX´S'   UR	                  S5      nUR	                  S5      nS nSn  U =R                   S-  sl         U R                   U:”  a  [        [        XPR                   4-  5      eU R                   nU	S S  nU" U6 nU
(       a7  [        5         [        S	5        [        S
U R                   5        [        SU5        [        U UXS5      u  nnnnU =R                   U-  sl         U(       až  SU;   a  US   nO2U R                  (       a  [        U R                   S-  5      nOUS-   U-   nU R                  U R                  U* 5      nUS-   U-   S-   U l         [        [        U5      5       H  nUU==   U-  ss'   UUUS-   -  -  nM     U(       a  U" U6 nU(       a(  [!        U5       VVs/ s H  u  nnUU;  d  M  UPM     nnnU(       d  U R                  XPl         $ / n[!        U5       GH°  u  nnUu  nnn n!n"n#n$U
(       aÖ  [        5         [        SUS-   [        U5      [        U"5      [        U#5      4-  5        [        SU R#                  U5      U R#                  U5      5        [        SU R#                  U 5      U R#                  U!5      5        [        SU R#                  U"5      U R#                  U#5      5        [        SU R#                  U$5      5        U R%                  U R&                  " U"U#U$40 UD6/U  V%s/ s H  n%U R)                  U%5      PM     sn%-   U! V&s/ s H  n&U R+                  U&5      PM     sn&-   [-        UU5       V'V(s/ s H  u  n'n(U R/                  U'U(5      PM     sn(n'-   5      n)U
(       a  [        SU)5        UR1                  U)5        GM³     [        U5      S:X  a  U(       d  US   nGOÏU R                  (       a  U R3                  U5      nGO«U R3                  U5      nU V*s/ s H  n*U R5                  U*5      PM     n+n*[7        U+5      n,U R5                  U5      n-U,U--
  n.U
(       a1  [        5         [        SU.S5        [        SU R                   U-
  S5        U.U R                   U-
  :  n/Uc  Sn0OU,U R                   -
  U* :  n0Uc  Sn1OU,U:„  n1U/(       a  U(       a  U R9                  U.5      (       a  OÅU/(       an  Uc
  US-  nUnGM´  U R5                  Xn-
  5      U R5                  U5      U-
  ::  a  O‡U0(       a  U R                  nOsU1(       a  U R:                  nO_SU;   a  OXUS-  nUnOM[=        [7        U.US-  5      [7        UU5      5      n2U =R                   U2-  sl         U
(       a  [        S5        GMb  GMd  XPl         U7$ s  snnf s  sn%f s  sn&f s  sn(n'f s  sn*f ! XPl         f = f)NÚverboseFÚmaxprecÚzeroprecÚinfprecr   r   é
   zENTERING hypercomb main loopzprec =ÚhextraÚhmagg333333Ó?z  Evaluating term %i/%i : %iF%iz
    powersz	    gammaz	    hyperz    zz
    Value:z  Cancellation:Úbitsz  Increased precision:é   r   z*  Must start over with increased precision)r   Úzeror   r   ÚgetÚ_default_hyper_maxprecÚ
ValueErrorÚ_hypercomb_msgÚprintr0   Ú_fixed_precisionr   ÚldexpÚoneÚrangeÚlenr
   ÚnstrÚfprodÚhyperÚgammaÚrgammaÚzipÚpowerr   ÚfsumÚmagÚmaxÚisnanÚinfÚmin)3r   ÚfunctionÚparamsr   ÚkwargsÚorigÚsumvalueÚdistr   Úorig_paramsr3   r4   r5   r6   Úperturbed_reference_valuer8   Úorig2r   r   r   r   r   r9   Úhr$   r)   r   Úevaluated_termsr   Ú	term_datar   r   r   r   r    r!   r"   ÚaÚbr%   ÚcÚvr*   Úterm_magnitudesÚmax_magnitudeÚsum_magnitudeÚcancellationÚprecision_okÚzero_okÚinf_okÚ	increments3                                                      r/   Ú	hypercombrl   :   s‹  € à�8‰8€DØ�x‰x€HØ×Ñ€DØ�8‰8€DØ™�)€KØ�j‰j˜ EÓ*€GØ�j‰j˜ C×$>Ñ$>¸tÓ$DÓE€GØˆ9ÑØ�z‰z˜*Ó%€HØ�j‰j˜Ó#€GØ $ÐØ€FðwØØ�HŠH˜‰N�HØ�x‰x˜'Ó!Ü ¤°4¿¹Ð2BÑ!BÓCÐCØ—H‘HˆEØ ¡�^ˆFÙ˜fÐ%ˆEÞÜ”ÜÐ4Ô5Ü�h §¡Ô)Ü�h Ô'ä# C¨°ÓJñ 3ˆG�Y 	¨7à�HŠH˜	Ñ!�HÞØ˜VÓ#Ø! &™>‘DØ×)×)Ü˜sŸx™x¨™|Ó,‘Dà "™9 vÑ-�DØ—I‘I˜cŸg™g¨ uÓ-�Ø  2™:¨Ñ,¨rÑ1�”Üœs 6›{Ö+�AØ˜1“I ‘N“Ið
 ˜˜A˜a™C™‘L’Añ ,ö Ù  &Ð)�Þ"Ü/8¸Ô/?ÔTÒ/?¡) 1 dÀ1ÈGÑCSŸÑ/?�ÑTÞØ—x‘xðd �ðc !ˆOÜ)2°5×)9Ñ%�
˜IØ9BÑ6��S˜' 6¨3°°QÞÜ”GÜÐ;Ø# A™¤s¨5£z´3°s³8¼SÀ»XÐFñGô Hä˜,¨¯©°«°s·x±xÀ³}ÔEÜ˜+ s§x¡x°Ó'8¸#¿(¹(À6Ó:JÔKÜ˜+ s§x¡x°£}°c·h±h¸s³mÔDÜ˜' 3§8¡8¨A£;Ô/ð
 —I‘I˜sŸyšy¨¨c°1Ñ?¸Ñ?Ð@Ù+2Ó3ª7 a�S—Y‘Y˜q–\©7Ñ3ñ4á,2Ó3ªF q�S—Z‘Z –]©FÑ3ñ4ô 25°S¸´Ô>²©¨¨1�S—Y‘Y˜q –^±Ò>ñ?ó @�ö Ü˜,¨Ô*Ø×&Ñ& q×)ñ) *:ô, �5‹z˜Q‹®Ø*¨1Ñ-�Ùà×#×#ØŸ8™8 OÓ4�Ùà—x‘x Ó0ˆHÙ3BÓC²?¨a˜sŸw™w qžz±?ˆOÐCÜ Ó0ˆMØŸG™G HÓ-ˆMØ(¨=Ñ8ˆLÞÜ”ÜÐ'¨°vÔ>ÜÐ.°·±¸4±ÀÔHà'¨#¯(©(°T©/Ñ9ˆLàÑØ‘à'¨#¯(©(Ñ2°h°YÑ>�Ø‰Ø‘à&¨Ñ0�æ¦W°·±¸<×1HÑ1HØÞØ,Ñ4Ø˜b‘L�FØ08Ð-ÚØ—W‘W˜XÑAÓBØŸ™ Ó)¨DÑ0ó1àÞØ"Ÿx™x�HØÞØ"Ÿw™w�HØØ˜vÓ%Øà˜a‘K�FØ08Ñ-ô  ¤ L°$¸±'Ó :¼CÀ	È$Ó<OÓP�	Ø—’˜IÑ%•ÞÜÐFÔGÚòi ðl ŒØˆ9Ðùók Uùò& 4ùÚ3ùÛ>ùò Døðb �ús^   ÂFX ÈXÈ)XÈ/X ÉDX Í*XÎX ÎXÎ(X Î;XÏB	X Ñ#XÑ>E;X ØX ØX%c                 ó  • U R                  U5      n[        U5      n[        U5      nU Vs/ s H  opR                  U5      PM     nnU Vs/ s H  o€R                  U5      PM     nnUR                  SS5      (       a‰  UR                  SS5      n	Sn
X¦:  ap  U(       ai  X*   nX�;   aM  U	(       d  U R	                  US   5      (       d-  UR                  U5        UR                  U5        US-  nUS-  nOU
S-  n
X¦:  a	  U(       a  Mi  US:X  a2  US:X  a  U R                  " X#40 UD6$ US:X  a  U R                  U5      $ GOUS:X  aS  US:X  a  U R                  " XU40 UD6$ US:X  a  U R                  " XU40 UD6$ US:X  a  U R                  US   S   U5      $ O¿US:X  ai  US:X  a  U R                  " XU40 UD6$ US:X  a  U R                  " XU40 UD6$ US:X  a  U R                  " XU40 UD6$ US:X  a  U R                  " XU40 UD6$ OPXVS-   :X  a  U R                  " XVXU40 UD6$ XVS-   :”  a+  UR                  S	5      (       d  U R                   " XVXU40 UD6$ [#        X-   6 u  p¼U R$                  " XVXËU40 UD6$ s  snf s  snf )
z(
Hypergeometric function, general case.
Ú	eliminateTÚeliminate_allFr   r   r   é   Úforce_series)ÚconvertrF   Ú_convert_paramr=   r   ÚremoveÚ_hyp0f1ÚexpÚ_hyp1f1Ú_hyp1f2Ú_hyp1f0Ú_hyp2f1Ú_hyp2f2Ú_hyp2f3Ú_hyp2f0Ú_hypq1fqÚ
_hyp_borelrL   Úhypsum)r   r    r!   r"   rV   ÚpÚqr`   ra   Úelim_nonpositiver)   ÚcoeffsÚtypess                r/   rI   rI   Â   sx  € ð
 	�‰�A‹€AÜˆC‹€AÜˆC‹€AÙ*-Ó
.ª# Q×Ñ˜aÖ ©#€CÐ
.Ù*-Ó
.ª# Q×Ñ˜aÖ ©#€CÐ
.à‡z�z�+˜t×$Ñ$Ø!Ÿ:™: o°uÓ=ÐØˆØ‹ežØ‘ˆAØ‹xÖ-°S·[±[ÀÀ1Á×5FÑ5FØ—
‘
˜1”Ø—
‘
˜1”Ø�Q‘�Ø�Q‘‘à�Q‘�ð ‹eŸ˜ð 	ˆAƒvØ�!‹V˜CŸKšK¨Ñ9°&Ñ9Ð9Ø�!‹V˜CŸG™G A›JÐ&‰VØ	
ˆa‹Ø�!‹V˜CŸKšK¨°!Ñ>°vÑ>Ð>Ø�!‹V˜CŸKšK¨°!Ñ>°vÑ>Ð>Ø�!‹V˜CŸK™K¨¨A©¨q©	°1Ó5Ð5ˆVØ	
ˆa‹Ø�!‹V˜CŸKšK¨°!Ñ>°vÑ>Ð>Ø�!‹V˜CŸKšK¨°!Ñ>°vÑ>Ð>Ø�!‹V˜CŸKšK¨°!Ñ>°vÑ>Ð>Ø�!‹V˜CŸKšK¨°!Ñ>°vÑ>Ð>ˆVØ	
�‰c‹Ø�|Š|˜A #¨AÑ8°Ñ8Ð8Ø	
ˆq‰S‹˜Ÿ™ N×3Ñ3Ø�~Š~˜a C¨aÑ:°6Ñ:Ð:Ü˜#™'�O�M€FØ�:Š:�a˜E¨1Ñ7°Ñ7Ð7ùòC /ùÚ
.s   ¬I9ÁI>c                 ó.   • U R                   " / U/U40 UD6$ ©N©rI   )r   ra   r"   rV   s       r/   Úhyp0f1r‰   í   s   € à�9Š9�R˜˜˜AÑ' Ñ'Ð'r1   c                 ó0   • U R                   " U/U/U40 UD6$ r‡   rˆ   ©r   r`   ra   r"   rV   s        r/   Úhyp1f1rŒ   ñ   s   € à�9Š9�a�S˜!˜˜QÑ( Ñ(Ð(r1   c                 ó0   • U R                   " U/X#/U40 UD6$ r‡   rˆ   )r   Úa1Úb1Úb2r"   rV   s         r/   Úhyp1f2r‘   õ   s   € à�9Š9�b�T˜2˜' !Ñ- fÑ-Ð-r1   c                 ó0   • U R                   " X/U/U40 UD6$ r‡   rˆ   )r   r`   ra   rb   r"   rV   s         r/   Úhyp2f1r“   ù   s   € à�9Š9�a�U˜A˜3˜qÑ* 6Ñ*Ð*r1   c                 ó0   • U R                   " X/X4/U40 UD6$ r‡   rˆ   )r   rŽ   Úa2r�   r�   r"   rV   s          r/   Úhyp2f2r–   ý   s   € à�9Š9�b�W˜b˜W QÑ0¨Ñ0Ð0r1   c                 ó2   • U R                   " X/X4U/U40 UD6$ r‡   rˆ   )r   rŽ   r•   r�   r�   Úb3r"   rV   s           r/   Úhyp2f3r™     s    € à�9Š9�b�W˜b B˜Z¨Ñ3¨FÑ3Ð3r1   c                 ó.   • U R                   " X// U40 UD6$ r‡   rˆ   r‹   s        r/   Úhyp2f0r›     s   € à�9Š9�a�U˜2˜aÑ) &Ñ)Ð)r1   c                 ó2   • U R                   " XU/XE/U40 UD6$ r‡   rˆ   )r   rŽ   r•   Úa3r�   r�   r"   rV   s           r/   Úhyp3f2rž   	  s    € à�9Š9�b˜B�Z  ¨Ñ3¨FÑ3Ð3r1   c                 ó   • SU-
  U* -  $ ©Nr   © )r   r`   r"   s      r/   ry   ry     s   € àˆa‰C�a�R‰=Ðr1   c                 ór  ^ ^^	• Uu  u  m	nT(       a  T R                  T5      nOSnUS:¼  aÒ  UR                  S5      (       d¼   T R                  n T =R                  SUS-  -   -  sl        U	U U4S jnT R                  U/ SS9nT R	                  T	5      ST R                  T R                  5      -  -  U-  nUT l        T R                  T	5      (       a'  T R                  T5      (       a  T R                  U5      nU7$ T R                  " SS	U4T	/T40 UD6$ ! UT l        f = f! T R                   a     N7f = f)
Nr   é   rq   é   r   c                  óH  >• TR                  T	* 5      n TR                  U -  nSSU-  -  nTR                  T-
  nTR                  SU-  5      nU* U/US// / TTR                  -
  TR                  T-
  // U* 4nX/US// / TTR                  -
  TR                  T-
  // U4nXV4$ )Nr   é   r   éÿÿÿÿ)ÚsqrtÚjÚmpq_1_2rv   Úmpq_3_2)
r%   Újwr.   rb   ÚEÚT1ÚT2ra   r   r"   s
          €€€r/   r]   Ú_hyp0f1.<locals>.h!  sº   ø€ ØŸ™ ! ›�AØŸ™˜q™�BØ˜1˜R™4™�AØŸ™ a™�AØŸ™  "¡›�AØ˜3˜q˜' A b 6¨2¨r°A°c·k±k±MÀ3Ç;Á;ÈqÁ=Ð3QÐSUÐXYÐWYÐZ�BØ˜& 1 Q %¨¨R°!°C·K±K±-ÀÇÁÈQÁÐ1OÐQSÐUVÐW�BØ˜6�Mr1   T©rq   r   )rO   r=   r   rl   rJ   r¨   ÚpiÚ_is_real_typeÚ_reÚNoConvergencer€   )
r   r!   r"   rV   ÚbtypeÚmagzrW   r]   rc   ra   s
   ` `      @r/   ru   ru     s)  ú€ à�K�J€QˆÞØ�w‰w�q‹z‰àˆØˆqƒy˜Ÿ™ N×3Ñ3ð	ð
 —8‘8ˆDð Ø—’˜B  q¡™LÑ(•÷"ð —M‘M ! R°d�MÐ;�Ø—I‘I˜a“L ! C§H¡H¨S¯V©VÓ$4Ñ"4Ñ5°aÑ7�à�”Ø× Ñ  ×#Ñ#¨×(9Ñ(9¸!×(<Ñ(<Ø—G‘G˜A“J�Ø�2ˆIð �:Š:�a˜˜U˜H q c¨1Ñ7°Ñ7Ð7øð  �•ûð × Ñ ó 	Ùð	ús,   ÁD# ÁA'D Â7AD# Ä	D Ä D# Ä#D6Ä5D6c                 óà  ^ ^^• Uu  u  pVUu  u  pxT(       d  T R                   T-   $ T R                  T5      n	U	S:¼  GaP  T R                  U5      (       a  T R                  U5      S::  Gd$  T R	                  T5      (       a^  T R                  U5      T R                  U5      s=:X  a(  T R                  T5      s=:X  a  S:X  a   T R                  $   T R                  T-  $   T =R                  U	-  sl        T R                  T5      S:  mU UU4S jn
T R                  X¥U/SS9nT R                  U5      (       a=  T R                  U5      (       a'  T R                  T5      (       a  T R                  U5      nU7T =R                  U	-  sl        $ T R                  " SSXh4XW/T40 UD6nU$ ! T R                   a     Of = f T =R                  U	-  sl        NH! T =R                  U	-  sl        f = f)Né   r   r   c                 ó  >• T(       a   TR                  TR                  U SS95      nOTR                  U 5      nST-  nUT/SU * /U/X-
  /U SU -   U-
  // U* 4nTR                  T5      T/SX-
  /U/U /X-
  SU -
  // U4nXE4$ ©NT)Úexactr   )ÚexpjpiÚfnegrv   )	r`   ra   r­   Úrzr®   r¯   r   Úsectorr"   s	         €€€r/   r]   Ú_hyp1f1.<locals>.hE  s¤   ø€ ÞØŸJ™J s§x¡x°¸ xÐ'>Ó?™àŸJ™J q›M˜Ø˜1™�BØ˜Q˜% ! Q B ¨!¨¨q©s¨e°a¸¸1¹¸Q¹°ZÀÀbÀSÐI�BØŸ7™7 1›: a˜.¨1¨Q©S¨'°A°3¸¸¸a¹cÀ1ÀQÁ3¸ZÈÈRÐP�BØ˜6�Mr1   Tr±   )rD   rO   Úisintr   ÚisinfÚsignrR   Únanr   Ú_imrl   r³   r´   rµ   r€   )r   r    r!   r"   rV   r`   Úatypera   r¶   r·   r]   rc   rÀ   s   `  `        @r/   rw   rw   5  sŸ  ú€ à�K�J€QØ�K�J€QÞØ�w‰w�q‰yÐØ�7‰7�1‹:€DØˆq„y˜#Ÿ)™) AŸ,™,¨3¯6©6°!«9¸¬>Ø�9‰9�Q�<‰<Ø�x‰x˜‹{˜cŸh™h q›kÕ=¨S¯X©X°a«[Õ=¸AÔ=Ø—w‘w�ð >à—7‘7˜Q‘;Ðð	ðØ—’˜DÑ •ØŸ™ › a™�÷"ð —M‘M !¨ U¸�MÐ>�Ø×$Ñ$ Q×'Ñ'¨C×,=Ñ,=¸a×,@Ñ,@ÀS×EVÑEVÐWX×EYÑEYØŸ™ ›
�AØ�rð �HŠH˜ÑŽHØ�
Š
�1�a˜%˜¨!¨°Ñ=°fÑ=€AØ€Høð ×$Ñ$ó ÙðúØà�HŠH˜ÑŽHøˆC�HŠH˜ÑŽHús%   Ã BF) Æ)F<Æ9G Æ;F<Æ<G ÇG-c                 ó’  • XX44u  pgp‰U R                   n
UR                  SSU
-  5      nSn X¬-   U l         U R                  U	5      nU R                  S5      nU R                  S5      nU R                  S5      nSnX-  U-  nX0R                  -  nUS-   U R                  -  nSU-
  nUU-  nX-  U-  nX2-
  U-
  nUS-
  nU R                   * S-
  nU R
                  nU R                  nU R                  nU R                  n UU-   nUU-   UU-   -  U-  SUS-   -  U-  UU-   -  -  nUUUU-   U-  U-  -
  -  n UUU-  UU-   U-  -   -  n!UUUU-  UU-  -   U-
  -  U-
  -  SU-  U-  -  n"Xþ-   U"-
  n#[        UU" U#5      5      nU" U#U-
  5      U:  a  OU U!U#pþnUS-  nMœ  UU" U#5      -
  n$U$U:  a   U#$ UU$-  nXË:”  a  U R                  eGM�  )Nr4   éd   r7   r   r   r   r¦   )r   r=   rr   Úmpfrª   rG   ÚnprintrO   r   rP   rµ   )%r   r`   ra   rb   r"   rV   Ú_aÚ_bÚ_cÚ_zrW   r4   Úextrar,   ÚeÚfr$   ÚabzÚchÚc1hÚnzÚgÚabgÚcbaÚz2ÚtolrG   rË   rO   ÚmaxmagÚkchÚkakbzÚd1Úe1ÚftÚf1rg   s%                                        r/   Ú_hyp2f1_gosperrã   Y  s3  € ð ˜�*�K€Bˆ"Ø�8‰8€DØ�j‰j˜ C¨¡HÓ-€GØ€EØ
Ø‘<ˆŒð �K‰K˜‹OˆØ�G‰G�A‹JˆØ�G‰G�A‹JˆØ�G‰G�A‹JˆØˆð ‰c�!‰eˆØ—‘‰_ˆØ�‰s�c—k‘kÑ!ˆØˆq‰SˆØˆb‰DˆØ‰c�!‰eˆØ‰c�!‰eˆØˆq‰SˆØ�x‰xˆi˜"‰nˆØ�x‰xˆØ—‘ˆØ�g‰gˆØ—‘ˆØØ�B‘$ˆCØ�q‘S˜1˜Q™3‘K ‘M Q¨¨!©¡W¨S¡[°!°C±%Ñ%8Ñ9ˆEØ˜˜1˜S™5 !™) A™+™Ñ&ˆBØ˜˜#™˜q ™s A™g™Ñ&ˆBØ�A�s˜1‘u˜Q˜r™T‘z !‘|Ñ$ SÑ(Ñ)¨1¨S©5°©8Ñ4ˆBØ‘˜‘ˆBÜ˜¡ R£Ó)ˆFÙ�2�a‘4‹y˜3‹ØØ˜"˜b�!ˆAØ�‰FˆAñ ð ¡ B£Ñ'ˆØ˜%ÓØð
 €Ið �\Ñ!ˆEØ‹Ø×'Ñ'Ð'òY r1   c                 ó¬  ^ ^^• Uu  u  pVu  pxUu  u  mn	TS:X  GaK  T R                  TU-
  U-
  5      S:„  n
T R                  U5      =(       a    US:*  =(       d    T R                  U5      =(       a    US:*  nT R                  T5      =(       ar    TS:*  =(       af    T R                  U5      =(       a    TUs=:*  =(       a    S:*  Os  =(       d-    T R                  U5      =(       a    TUs=:*  =(       a    S:*  Os  (       + nU
(       d  U(       a(  U(       d!  T R                  TTU-
  U-
  /TU-
  TU-
  /SS9$ T R                  XWTST R                  S-  -
  5      T R
                  -  $ T(       d$  T(       d  US:X  d  US:X  a  ST-   $ T R                  $ T R                  T5      (       ai  TS::  ac  T R                  U5      (       a  TUs=::  a  S::  d3  O  T R                  U5      (       a  TUs=::  a  S::  a  O  T R
                  $ OT R
                  $ [        T5      nUS::  dD  T R                  U5      (       a  US::  a  US:¼  d"  T R                  U5      (       a'  US::  a!  US:¼  a  T R                  " SSXhU	4XWT/T40 UD6$ T R                  n T =R                  S-  sl	        US	:¼  a  UU U4S
 jnT R                  " XõU/40 UD6nOz[        ST-
  5      S::  a  UU4S jnT R                  " XõU/40 UD6nOK[        TTS-
  -  5      S::  a'  T R                  UTU-
  TTTS-
  -  5      ST-
  U-  -  nO[        T XWTT40 UD6nUT l	        U7$ ! UT l	        f = f)Nr   r   T)Ú_infsignr   gš™™™™™é?iüÿÿr7   gÍÌÌÌÌÌô?c                 óÔ   >• TR                   T-
  o U-
  nST	-  nT	* /U * /TU* /UTU -
  /XU -   /TR                   U-   /U4nT	* /U* /TU/U TU-
  /XU-   /TR                   U-
  /U4nXV4$ r    )Úmpq_1)
r`   ra   ÚtÚabr¿   r®   r¯   rb   r   r"   s
          €€€r/   r]   Ú_hyp2f1.<locals>.hÃ  s—   ø€ Ø—I‘I˜a‘K�¨¡c °°!±¨2Ø�r�d˜Q˜B˜4 ! R C ¨!¨A¨a©C¨°1°q±S°'¸3¿9¹9ÀR¹<¸.È2ÐN�Ø�r�d˜Q˜B˜4 ! B ¨¨1¨Q©3¨°!°a±C°¸#¿)¹)ÀB¹,¸È"ÐM�Ø�v�r1   g      è?c                 óŠ   >• TU -
  U-
  nTU -
  nTU-
  nST	-
  n/ / TU/X4/X/SU-
  /U4nU/U/TX-   T-
  /X/X4/SU-   /U4nXg4$ r    r¡   )
r`   ra   rè   ÚcaÚcbr¿   r®   r¯   rb   r"   s
           €€r/   r]   rê   Ì  s}   ø€ Ø�a‘C˜‘E�  !¡˜2¨!¨A©# R°A°a±C¨rØ˜˜a ˜U R G¨a¨U°Q°q±S°E¸2Ð=�Ø�T˜A˜3  1¡3 q¡5 	¨A¨5°2°'¸A¸a¹C¸5À"ÐD�Ø�v�r1   )r   rÂ   Ú	gammaprodr“   ÚepsrR   rÅ   Úabsr€   r   rl   rã   )r   r    r!   r"   rV   r`   rÇ   ra   r¶   ÚctypeÚ
convergentÚfiniteÚzerodivÚabszrW   r]   rc   rb   s   `  `             @r/   rz   rz   �  sù  ú€ à Ñ�J€Q‘
�Ø�K�J€QˆØˆA„và—V‘V˜A˜a™C ™E“] QÑ&ˆ
Ø—)‘)˜A“,×) 1¨¡6×G¨s¯y©y¸«|×/FÀÀQÁˆØ—)‘)˜A“,÷ O 1¨¡6÷ OØ�i‰i˜‹l×*˜q AŸ{›{¨œ{×M°·	±	¸!³×0LÀÀaÇÃÈ1Äô/Oˆö ž&®'Ø—=‘= ! Q q¡S¨¡U ¨a°©c°1°Q±3¨ZÀ$�=ÐGÐGð �z‰z˜!˜a  #§'¡'¨!¡)¡Ó,¨s¯w©wÑ6Ð6ö ö ��Q“˜!˜q›&Ø�Q‘3ˆJà�w‰wˆð ‡y�y�‡|�|˜˜Q›Ø�I‰I�a�L‰L˜Q !�[ q�[Ø�I‰I�a�L‰L˜Q !�[ q�[ð —7‘7ˆNð ð —7‘7ˆNäˆq‹6€Dð ˆsƒ{�s—y‘y —|‘|¨¨Q«°1¸³:Ø—y‘y —|‘|¨¨Q«°1¸³:Ø�zŠz˜!˜Q ¨uÐ 5¸¸a°yÀ!ÑNÀvÑNÐNà�8‰8€DðØ�Š�B‰�ð �3‹;÷ð
 —’˜a A Ñ1¨&Ñ1‰Aô ��1‘‹X˜Óöð
 —’˜a A Ñ1¨&Ñ1‰Aô ��A�a‘C‘‹\˜TÓ!Ø—
‘
˜1˜a ™c 1 a¨¨1©¡gÓ.°!°A±#¸±Ñ9‰Aô ˜s 1 q¨Ñ4¨VÑ4ˆAð ˆŒØˆ2€Iøð ˆ�ús   ÊB3M
 Í
	Mc                 óþ  ^ ^^^^^^^^^^^^ • [        T6 u  mn[        T6 u  mn[        T5      m[        T5      m[        T5      n	Sn
T H%  nT R                  U5      (       d  M  US::  d  M#  Sn
  O   U	S:  d  U
(       a   T R                  " TTXx-   TT-   T40 UD6$ TS:X  aN  T R                  [        T5      [        T5      -
  5      nUS::  a"  T R                  " TTS40 UD6T R                  -  $ TT4S:X  a´  [        TS-
  5      S:  a¢  Tu  mmmTu  mmTT-   T-
  nT R                  TT-
  TT-
  TT/TT-
  TT-
  SU/5      nSU04UUUUUU U4S	 jjm  T R                  T ST R                  /UR                  S
5      UR                  SS5      S9nUT R                  TT/TTT/5      -  $ U	S:  a‘  T R                  T5      S::  a|  ST R                  04UUU UUU U4S jjm UR                  SS5      n T R                  T ST R                  /UR                  S
5      UR                  SS5      UR                  SS5      S9$ U UUU4S jnT R.                  " UTT-   40 UD6$ ! T R
                   a    U	S:”  d  U
(       a  e  GNèf = f! T R
                   a     Nîf = f! T R
                   a
    SU;  a  e  Of = fUR                  S
5      (       a  [!        S5         UUU U4S jmUUU U4S jnT R"                  S-  nT R$                  n ST R&                  -  nT =R$                  S-  sl        [)        S5       H«  nT R+                  U 4S j[)        U5       5       5      nT R-                  T UT R                  /UU" U5      UR                  S
5      SSS9u  nnUU:  a  UU-   n  OBUS-  nT =R$                  T R$                  S-  -  sl        US:X  d  Mœ  T R                  S5      e   UT l        W7$ ! UT l        f = f) z
Evaluates 3F2, 4F3, 5F4, ...
Fr   Tr   gš™™™™™ñ?gÍÌÌÌÌÌì?)rp   r   gš™™™™™©?c                 óº   >• TT-   T-
  U -   nX;   a  X   nO/XS-
     nUTU -   T-
  S-
  TU -   T-
  S-
  -  -  nX0US-
  -  -  nX1U '   UT	R                  TTUT
5      -  $ r    )r“   )r$   Ú_cacher.   rè   rŽ   r•   r�   r�   r�   r   r"   s       €€€€€€€r/   r   Ú_hypq1fq.<locals>.term  s‚   ø€ Ø�2‘�b‘˜‘
ˆAØ‹{Ø‘I‘à˜Q™3‘K�Ø�b˜‘d˜2‘g˜a‘i " Q¡$ r¡'¨!¡)Ñ,Ñ,�Ø˜˜!™‘W‘�Ø�q‘	Ø�s—z‘z " R¨¨!Ó,Ñ,Ð,r1   r3   Ústrict)r3   rú   c                 ó¤  >• [        U 5      nX :w  a`  TT
R                  U 5      -  T
R                  U 5      -  nT H  oCT
R                  X@5      -  nM     T	 H  oST
R                  XP5      -  nM     U$ X!;   a  X   $ T" US-
  5      nUS-
  n[	        T5       H  osTU   U-   -  nM     [	        T5       H  osT	U   U-   -  nM     UT-  nX2-  nX1U'   U$ r    )r   rÊ   ÚfacÚrfr   )Úkkrø   r$   rè   r`   ra   Úmr©   r    r!   r   r�   r‚   r   r"   s           €€€€€€€r/   r   rù   '  sÒ   ø€ Ü�B“ˆAØ‹wØ˜Ÿ™ ›Ñ$ s§w¡w¨r£{Ñ2�Û�A 3§6¡6¨!£<Ñ/ša™Û�A 3§6¡6¨!£<Ñ/ša™Ø�Ø‹{Ø‘yÐ Ù�Q�q‘S“	ˆAØ�!‘ˆAÜ˜A–Y� c¨!¡f¨Q¡h¡¢‘YÜ˜A–Y� c¨!¡f¨Q¡h¡¢‘YØ�‰FˆAØ‰FˆAØ�1‰IØˆHr1   Ú
sum_methodzr+s+erÑ   Ú )r3   rú   Úmethodz$Attempting Euler-Maclaurin summationc              3   óR  >^ ^#   • TS/-   n[        UU 4S jT 5       5      [        UU 4S jU 5       5      -
  T TR                  T5      -  -   v •  Sm [        UUU 4S jT 5       5      [        UUU 4S jU 5       5      -
  nTS:X  a  UTR                  T5      -  nUv •  TS-  mMT  7f)Nr   c              3   óL   >#   • U  H  nTR                  UT-   5      v •  M     g 7fr‡   ©Úloggamma)Ú.0r`   r   Úk0s     €€r/   Ú	<genexpr>Ú._hypq1fq.<locals>.log_diffs.<locals>.<genexpr>i  s!   øé € Ð6²#¨Q�c—l‘l 1 R¡4×(Ð(²#ùó   ƒ!$c              3   óL   >#   • U  H  nTR                  UT-   5      v •  M     g 7fr‡   r  )r  ra   r   r  s     €€r/   r	  r
  j  s!   øé € Ð3²¨1�C—L‘L  2¡×&Ð&²ùr  r   c              3   óN   >#   • U  H  nTR                  TUT-   5      v •  M     g 7fr‡   ©Úpsi)r  r`   r   r)   r  s     €€€r/   r	  r
  m  s!   øé € Ð5²¨A˜Ÿ™  ! B¡$Ÿ˜²ùó   ƒ"%c              3   óN   >#   • U  H  nTR                  TUT-   5      v •  M     g 7fr‡   r  )r  ra   r   r)   r  s     €€€r/   r	  r
  n  s!   øé € Ð4²¨A˜Ÿ™  ! B¡$Ÿ˜²ùr  )r   Úlog)r  r�   rc   r)   r    r!   r   r"   s   `  @€€€€r/   Ú	log_diffsÚ_hypq1fq.<locals>.log_diffsg  s£   úé € Ø˜�s‘ˆBÜÕ6±#Ó6Ó6ÜÕ3±Ó3Ó3ñ4Ø68¸¿¹À»±mñDò DàˆAØÜÖ5±Ó5Ó5ÜÖ4±Ó4Ó4ñ5�à˜“6Ø˜Ÿ™ ›‘O�AØ’Ø�Q‘�ñ ùs   …B"B'c              3   óÒ   >#   • TR                  T Vs/ s H  oPM     snT Vs/ s H  o"PM     sn5      nTR                  T	" U 5      5       H  nX4-  nUv •  M     g s  snf s  snf 7fr‡   )rî   Ú	diffs_exp)
r  ra   r`   ÚCr,   rc   r    r!   r   r  s
         €€€€r/   Úhyper_diffsÚ_hypq1fq.<locals>.hyper_diffst  s_   øé € Ø—‘©#Ó.ª# Qšq©#Ñ.¹CÓ0@ºC°q²¹CÑ0@ÓAˆAØ—]‘]¡9¨R£=Ö1�Ø‘E�Ø”ò 2ùò /ùÒ0@ùs   ƒA'“AžA'¤A"
¯8A'i   é2   r;   é   c              3   ó4   >#   • U  H  nT" U5      v •  M     g 7fr‡   r¡   )r  r$   r   s     €r/   r	  Ú_hypq1fq.<locals>.<genexpr>€  s   øé € Ð?²¨A¡ Q§ ²ùs   ƒ)rÛ   Úadiffsr3   ÚerrorÚ_fast_abortr   r¦   z*Euler-Maclaurin summation did not convergec            
      óf  >• [        U S T 5      n[        U TS  5      n/ nTR                  T-  nTR                  TSS9n[        TS-   5       HÌ  nX   nU/nU* /n	X'/-   [        TS-   5       V
s/ s H  oªU:w  d  M
  X   U-
  PM     sn
-   nU[        T5       V
s/ s H
  o¢U
   U-
  PM     sn
-   nU/[        T5       V
s/ s H  o§X*   -
  S-   PM     sn
-   n[        TS-   5       V
s/ s H  oªU:w  d  M
  SX   -
  U-   PM     nn
UR	                  X‰X¼XÞU45        MÎ     U$ s  sn
f s  sn
f s  sn
f s  sn
f r»   )ÚlistrD   r¾   rE   r   )Úargsr    r!   ÚTsÚreczÚnegzr$   Úakr  ÚCpr©   ÚGnÚGdÚFnÚFdr   r�   r‚   r"   s                  €€€€r/   r]   Ú_hypq1fq.<locals>.h—  s@  ø€ Ü�4˜˜�8‹nˆÜ�4˜˜�8‹nˆØˆØ�w‰w�q‰yˆØ�x‰x˜ ˆxÐ&ˆÜ�q˜‘s–ˆAØ‘ˆBØ�ˆAØ�#�ˆBØ�t‘´%¸¸!¹´*ÓG²*¨QÀQÁ›y˜s™v bœy±*ÑGÑGˆBØ¬5°¬8Ó4ª8 a˜A™˜rœ	©8Ñ4Ñ4ˆBØ�¬e°A¬hÓ7ªh¨˜C™F™ 1œ©hÑ7Ñ7ˆBÜ',¨Q¨q©S¤zÓ<¢z !¸!±V“+�!�C‘F‘(˜2”+¡zˆBÐ<Ø�I‰I�q˜b b¨dÐ3Ö4ñ ð ˆ	ùò HùÚ4ùÚ7ùÚ<s$   Á/	DÁ<DÂD$Â?D)Ã'	D.Ã4D.)rL   r"  rð   rÂ   r€   rµ   r   r   rI   rR   rî   Únsumr=   r´   rD   ÚreplacerA   rï   r   Údpsr   rN   Úsumemrl   )!r   r�   r‚   r    r!   r"   rV   Úa_typesÚb_typesrõ   Úispolyr`   ÚSr.   Úinitialr   r  rÛ   r   Útruncr)   ÚheadÚtailÚerrrc   r]   rŽ   r•   r�   r�   r�   r  r   s!   ``````                    @@@@@@@r/   r~   r~   ß  s  ÿü€ ô
 ˜�9�L€CˆÜ˜�9�L€CˆÜ
ˆs‹)€CÜ
ˆs‹)€CÜˆq‹6€DØ€FÛˆØ�9‰9�Q�<‹<˜A �FØˆFÙñ ð
 ˆaƒx–6ð	Ø—:’:˜a  G¡O°S¸±W¸aÑJÀ6ÑJÐJð& 	ˆAƒvð �F‰F”3�s“8œC ›HÑ$Ó%ˆØ�‹6à—9’9˜S # sÑ5¨fÑ5¸¿¹Ñ?Ð?Ø	ˆ!€u�ƒ~œ#˜a ™c›( T›/à‰ˆˆ2ˆbØ‰ˆˆ2Øˆr‰E�"‰HˆØ—-‘-  B¡ r¨"¡u¨R°Ð 3°R¸±U¸2¸b¹5ÀÀ1Ð4EÓFˆØ˜g˜;÷ 		-õ 		-ð	Ø—‘˜  #§'¡'˜{°F·J±J¸yÓ4IØ—z‘z (¨DÓ1ð ð 3ˆAà�s—}‘} b¨ W¨b°°B¨ZÓ8Ñ8Ð8ð ˆcƒz�c—g‘g˜a“j A“oà˜sŸw™w˜K÷ 	õ 	ð$ —Z‘Z ¨gÓ6ˆ
ð	Ø—8‘8˜D 1 S§W¡W +°v·z±zÀ)Ó7LØ—z‘z (¨DÓ1Ø!×)Ñ)¨#¨bÓ1ð ð 3ð 3÷vð ð  �=Š=˜˜C ™GÑ. vÑ.Ð.øðk × Ñ ó 	Ø�c‹zžVØò $ð	ûðZ × Ñ ó 	Ùð	ûð@ × Ñ ó 	Ø˜*Ó$ØÙð	úð
 �:‰:�i× Ñ ÜÐ8Ô9ð	÷>	ð 	÷	ð 	ð �g‰g˜‰nˆØ�x‰xˆð	Ø˜Ÿ™‘LˆEØ�HŠH˜‰N�HÜ˜A–Y�Ø—x‘xÔ?´¸´Ó?Ó?�ØŸI™I d¨U°C·G±GÐ,<À#Ù& uÓ-Ø"ŸJ™J yÓ1ØØ $ð	 &ð &‘	��cð
 ˜“9Ø˜t™�AÙØ˜‘
�ð —’˜CŸH™H a™KÑ'•Ø˜•6Ø×+Ñ+ØDóFð Fñ ð$ ˆCŒHØˆrˆ	øð ˆC�HúsK   Â I# ÅAJ Ç5AJ É#JÊJÊJÊJÊJ8Ê7J8ÌCO3 ÏO3 Ï3	O<c                 ó´  ^ ^^^^• T(       a  [        T6 u  mn[        T5      mO/ SsmnT(       a  [        T6 u  mn[        T5      mO/ SsmnUR                  ST R                  5      US'    T R                  " XXx-   TT-   T40 UD6$ ! T R
                   a     Of = fT R                  n	 UR                  ST R                  S-  5      n
T =R                  S-  sl        ST R                  04UUUU4S jjmT R                  n[        ST R                  5       H)  nT" U5      nX½-  n[        U5      U
::  d  M   Us  U	T l        $    U	T l        O! U	T l        f = fXS	-   ::  aí  UR                  S
5      nU(       d€  T R                  T5      S:  a]  T[        S[        T5      5      -  nT R                  T5      S:¼  a  SSSU-  SU-  T R                  /nO&SSSU-  SU-  T R                  /nOST R                  /nUR                  S0 5      nUUU U4S jnT R                  " UU4SS0UD6u  nnU[        U5      T R                  -  S-  ::  a  U$ T R
                  e)Nr¡   ÚmaxtermsÚ	asymp_tolr¦   r7   r   c                 ó’   >• X;   a  X   $ T" U S-
  5      nT H  o2X0S-
  -   -  nM     T H  oBX@S-
  -   -  nM     UT-  nX -  nX!U '   U$ r    r¡   )	r$   Úcacherè   r`   ra   r    r!   r   r"   s	        €€€€r/   r   Ú_hyp_borel.<locals>.term¿  s^   ø€ Ø‹zØ‘x�Ù�Q�q‘S“	ˆAÛ�  Q¡3¡™.š!‘SÛ�  Q¡3¡™.š!‘SØ�‰FˆAØ‰FˆAØ�!‰HØˆHr1   r   rp   Úcontourg      Ð?y               @y       @       @r   y       €       Ày       @       ÀÚquad_kwargsc                 ó^   >• TR                  U * 5      TR                  TTS/-   U T-  5      -  $ r    )rv   rI   )rè   r    r!   r   r"   s    €€€€r/   r×   Ú_hyp_borel.<locals>.gà  s/   ø€ Ø—7‘7˜A˜2“;˜sŸy™y¨¨c°1°#©g°q¸±sÓ;Ñ;Ð;r1   r  Tr£   )rL   r"  r=   r   r€   rµ   rï   rD   r   rð   ÚargrP   rR   Úquad)r   r�   r‚   r    r!   r"   rV   r2  r3  r   rÛ   Úsr$   rè   rA  r.   rB  r×   ÚIr:  r   s   `  ```              @r/   r   r   ©  s7  ü€ æ
Ü˜C�y‰ˆˆWÜ�3‹i‰à˜2ˆˆˆWÞ
Ü˜C�y‰ˆˆWÜ�3‹i‰à˜2ˆˆˆWØŸ™ J°·±Ó9€Fˆ:ÑðØ�zŠz˜! ¡°°S±¸!ÑF¸vÑFÐFøØ×Ñó Ùðúà�8‰8€DðØ�j‰j˜ c§g¡g¨a¡iÓ0ˆØ�Š�B‰�à˜SŸW™W˜+÷ 		ò 		ð �G‰GˆÜ˜˜3Ÿ8™8Ö$ˆAÙ�Q“ˆAØ‰FˆAÜ�1‹v˜�}Ø‘àˆ�ñ %ð ˆ�ø�4ˆ�úØˆa‰CƒxØ—*‘*˜YÓ'ˆÞØ�w‰w�q‹z˜DÓ Øœ˜Aœs 1›v›Ñ&�Ø—7‘7˜1“: “?Ø  " t¨Q¡h°°!±°S·W±WÐ=‘Gà  #¨¨q¡y°!°A±#°s·w±wÐ?‘Gð
 ˜cŸg™g˜,�Ø—j‘j °Ó3ˆ÷	<ð 	<à—’˜!˜WÑ@¨DÐ@°KÑ@‰ˆˆ3Ø”#�a“&˜Ÿ™‘. Ñ"Ó"ØˆHØ
×
Ñ
Ðs+   Á,B ÂBÂBÂ*B
E Ä8E ÅE Å	Ec           	      ód  ^ ^• Uu  u  pVu  pxUu  u  pšu  p¼[        T5      nT R                  T5      nT R                  nUnUR                  S5      (       + =(       a    T R                  U5      S:„  nU(       au    T =R                  U-  sl        U U4S jnT R	                  UXWX›/SST R                  -  S9n[        U 4S jXWX›T4 5       5      S:X  a  T R                  U5      nUUT l        $ T R                  " S	S	XhX¬4XWX›/T40 UD6$ ! T R                   a     Of = f UT l        N:! UT l        f = f)
Nrq   rp   c                 ór  >• X-   U-
  U-
  nX-   nX#-   n0 nTR                   US'   US-
  U-  X#-  -   X-  -
  US'   SnSn	Sn
 X—;  a‹  SU-
  SU -  -   U S-  -   SU-  -   US-  -   XV-  -
  X-  -   X#-  -   SU-  SUS-   -  -
  U	-  -   SU	S-  -  -   nX•-
  U-   S-
  X•-
  U-   S-
  -  X”-
  S-
  -  nTR                   U	-  X·U	S-
     -  XÇU	S-
     -  -
  -  Xy'   Xy   TU	* -  -  n[        U5      STR                  -  :  a  O:U	S:”  a'  [        U
5      [        U5      -  S:  a  TR                  eX�-  nUn
U	S-  n	Mò  TR	                  T5      U-  nTU/US/X#/X// / S4nT* /U * /X#X-
  /XU -
  X0-
  /X U-
  S-   X-
  S-   /X-
  S-   /ST-  4nT* /U* /X#X-
  /XU-
  X1-
  /XU-
  S-   X-
  S-   /U * U-   S-   /ST-  4nUUU4$ )	Nr   r   r   rp   çš™™™™™¹?r  ç      ø?r§   )rD   rð   rï   rµ   rv   )rŽ   r•   r�   r�   ÚXÚA2ÚB2rb   Ús1r$   ÚtprevÚuu1Úuu2Út1r5  r®   r¯   ÚT3r   r"   s                     €€r/   r]   Ú_hyp2f2.<locals>.h  s‹  ø€ Ø™˜b™ ™�AØ™�BØ™�BØ�AØŸ7™7�A�a‘DØ˜q™D !™8 B¡E™>¨"©%Ñ/�A�a‘DØ�BØ�AØ�EØØ›:Ø"# B¡$ q¨¡t¡)¨B°©E¡/°!°B±$Ñ"6°r¸1±uÑ"<¸R¹UÑ"BÀ2Á5Ñ"HÈÉÑ"NÐPQÐRTÑPTÐUVÐXZÐ[\ÑX\ÑU]ÑP]Ð_`ÑO`Ñ"`ÐabÐcdÐfgÑcgÑagÑ"g˜CØ#$¡4¨¡7¨1¡9¨q©t°B©w°q©yÑ"9¸1¹3¸q¹5Ñ"A˜CØ#&§7¡7¨1¡9°°a¸±c±F±
¸3ÀÀ1Á¹v¹:Ñ0EÑ#F˜A™DØ™T A¨¨¡G™^˜Ü˜r›7 S¨¯©¡[Ó0à!à˜q›5¤S¨£Z´#°b³'Ñ%9¸CÓ%?à"%×"3Ñ"3Ð3Ø™˜Ø "˜Ø˜Q™˜ñ ð  Ÿ™ ›
 2™�AØ˜A˜  1 ¨ w°¨w°r¸"¸QÐ>�BØ˜"˜ ˜s˜e R¨2©5 M°2¸±e¸B¹EÐ2BÀBÈ"ÁuÈQÁwÈrÉuÐUVÉwÐCWÐY[ÑY^Ð_`ÑY`ÐXaÐbdÐefÑbfÐf�BØ˜"˜ ˜s˜e R¨2©5 M°2¸±e¸B¹EÐ2BÀBÈ"ÁuÈQÁwÈrÉuÐUVÉwÐCWÐZ\ÐY\Ð]_ÑY_Ð`aÑYaÐXbÐceÐfgÑcgÐg�BØ˜r 2˜:Ð%r1   Tr¦   ©rq   r<  c              3   óF   >#   • U  H  nTR                  U5      v •  M     g 7fr‡   ©r³   ©r  r.   r   s     €r/   r	  Ú_hyp2f2.<locals>.<genexpr>!  s   øé € ÐE²_°�s×(Ñ(¨×+Ð+²_ùó   ƒ!r  r   )	rð   rO   r   r=   rl   r   r   rµ   r€   )r   r    r!   r"   rV   rŽ   Úa1typer•   Úa2typer�   Úb1typer�   Úb2typerõ   r·   rW   Úasymp_extraprecÚcan_use_asymptoticr]   rc   s   `  `                r/   r{   r{   è  sA  ù€ à!$Ñ�L€R‘,�2Ø!$Ñ�L€R‘,�2äˆq‹6€DØ�7‰7�1‹:€DØ�8‰8€Dð €Oð %Ÿj™j¨Ó8Ô8÷ Ø	�‰�‹˜Ñ	ð ö
 ð+	ð(Ø—’˜OÑ+•ö&ð> —M‘M ! b¨B ]ÀÐPQÐRU×RZÑRZÑPZ�MÐ[�ÜÔE°b¸BÀ!±_ÓEÓEÈÓJØŸ™˜q›	�AØð ˆC�Hà�:Š:�a˜˜V¨VÐ<¸rÀrÐ>NÐPQÑ\ÐU[Ñ\Ð\øð ×$Ñ$ó ÙðúØàˆC�Hø�tˆC�Hús%   Á9A+D ÄDÄD& ÄDÄD& Ä&	D/c                 ó²  ^ ^• Uu  u  pVUu  u  pxu  pš[        T5      nT R                  T5      nT R                  nT=(       a    US-  nUR                  S5      (       + =(       a2    T R                  U5      S:„  =(       a    T R	                  U5      SU-  :„  nU(       au    T =R                  U-  sl        U U4S jnT R                  UXWU	/SST R                  -  S9n[        U 4S	 jXWU	T4 5       5      S:X  a  T R                  U5      nUUT l        $ T R                  " S
SXhU
4XWU	/T40 UD6$ ! T R                   a     Of = f UT l        N:! UT l        f = f)Nr   rq   é   rL  c                 ó^  >• TR                   X-
  U-
  TR                   -   -  n0 nTR                  US'   STR                  SU -  U-   U-   S-
  -  X-
  U-
  -  X-  -   TR                  -
  -  US'   SX-  TR                  X-
  U-
  -  SU -  U-   U-   S-
  -  -   TR                  -
  S-  -  TR                  SSU -  S-
  -  U-  U-  SX-
  U-
  -  SU S-  -  SU -  -   U-   U-   S-
  -  -   S-
  -  -   US'   SnSnSnSn Xt;  a½  SUS-  -  S	U -  SU-  -   SU-  -   S-
  U-  -   SU S-  -  -   X-
  S-  -
  SU -  X-   S-
  -  -
  TR                  -   n	Xp-
  U-   U-
  TR                   -
  Xp-
  U-
  U-   TR                   -
  -  Xp-
  U-   U-   TR
                  -
  -  n
TR                  SU-  -  X”US-
     -  X¤US-
     -  -
  -  XG'   XG   T* S
U-  -  -  nTR                  * U-  TR                  S5      U* -  -  U-  nTR                  U-  TR                  S5      U* -  -  U-  n[        U5      STR                  -  :  a  O?US:”  a'  [        U5      [        U5      -  S:  a  TR                  eX\-  nXm-  nUnUS-  nGM}  TR                  TR                  U-  STR                  T* 5      -  -   5      U-  TR                  TR                  U-  STR                  T* 5      -  -   * 5      U-  -   nSU-  TR                  T* /SS
U/X/U // / S4nT* /U * /X/X-
  X -
  /X U-
  S-   X-
  S-   // ST-  4nUU4$ )Nr   r   rp   r   éðÿÿÿr¦   éøÿÿÿé   iúÿÿÿç      à¿rK  r  rL  ç      à?)rª   rD   Úmpq_1_4Úmpq_3_16Úmpq_1_16Úmpq_5_2r©   rÊ   rð   rï   rµ   Úexpjr²   r¨   )rŽ   r�   r�   rM  rb   rP  Ús2r$   rQ  rR  rS  r%   rT  Út2r5  r®   r¯   r   r"   s                    €€r/   r]   Ú_hyp1f2.<locals>.hI  sÐ  ø€ ØŸ™ R¡U¨2¡X¨c¯k©kÑ%9Ñ:�AØ�AØŸ7™7�A�a‘DØ˜cŸk™k¨1¨R©4°©7°2©:°a©<Ñ8¸"¹%À¹(ÑCÀBÁEÑIÈ#Ï,É,ÑVÑW�A�a‘DØ˜b™e C§K¡K°±°r±Ñ$:¸A¸b¹DÀ¹GÀB¹JÀq¹LÑ$IÑIÈ#Ï,É,ÑVÐYZÑZÑZØŸ™ c¨1¨R©4°©6¡l°2¡o°bÑ&8Ø˜2™5 ™8™ b¨¨Q©¡h¨r°"©u¡n°RÑ&7¸Ñ&:¸1Ñ&<Ñ=ñ'>Ø>?ñ'@ñ AñA�A�a‘Dð �BØ�BØ�AØ�EØØ›:Ø#$ Q¨¡T¡6¨2¨b©5°°2±©:°a¸±d©?¸1Ñ+<¸aÑ*?Ñ#?À!ÀBÈÁEÁ'Ñ#IØ!#¡¨¡
ñ$+Ø-.¨r©T°2±5¸±7©^ñ$<Ø>A¿k¹kñ$J˜Cà#$¡4¨¡7¨2¡:¨c¯k©kÑ#9¸A¹DÀ¹GÀB¹JÀsÇ{Á{Ñ<RÑ"SØ!"¡ b¡¨¡¨C¯K©KÑ!7ñ#9˜Cà#&§7¡7¨A¨a©C¡=°#¸¸!¹±f±*¸SÀ1ÀQÁ3Á¹ZÑ2GÑ#H˜A™DØ™D Q B¨$¨q©&¡>Ñ1˜Ø"Ÿu™u˜f q™[¨3¯7©7°1«:¸¸Ñ+;Ñ;¸aÑ?˜Ø ŸU™U A™X¨¯©°«
°a°RÑ(8Ñ8¸1Ñ<˜Ü˜r›7 S¨¯©¡[Ó0à!à˜q›5¤S¨£Z´#°b³'Ñ%9¸CÓ%?à"%×"3Ñ"3Ð3Ø™˜Ø™˜Ø "˜Ø˜Q™˜ò) ð* Ÿ™ §¡¨¡¨!¨C¯H©H°a°R«L©.Ñ!8Ó9¸"Ñ<ØŸ™ 3§6¡6¨!¡8¨A¨c¯h©h¸°r«l©NÑ#:Ð!;Ó<¸RÑ?ñ@�Aà˜a™% §¡¨!¨Ð,¨q°$¸¨l¸R¸HÀrÀdØ˜B ð"�Bà˜"˜  ˜u r g¨r©u°R±U¨mØ˜r™E !™G B¡E¨!¡GÐ,¨b°!°A±#ð6�Bà˜r˜6�Mr1   Tr¦   rW  c              3   óF   >#   • U  H  nTR                  U5      v •  M     g 7fr‡   rY  rZ  s     €r/   r	  Ú_hyp1f2.<locals>.<genexpr>r  s   øé € ÐB²\°�s×(Ñ(¨×+Ð+²\ùr\  r   ©
rð   rO   r   r=   r¨   rl   r   r   rµ   r€   )r   r    r!   r"   rV   rŽ   r]  r�   r_  r�   r`  rõ   r·   rW   ra  rb  r]   rc   s   `  `              r/   rx   rx   -  sX  ù€ à�M�L€RØ!$Ñ�L€R‘,�2äˆq‹6€DØ�7‰7�1‹:€DØ�8‰8€Dð —m˜D !™G€Oð %Ÿj™j¨Ó8Ô8÷ $Ø	�‰�‹˜Ñ	÷$à	�‰�$‹˜#˜d™(Ñ	"ð ö ð4	ð1Ø—’˜OÑ+•ö'"ðP —M‘M ! b¨B Z¸dÈQÈsÏxÉxÉZ�MÐX�ÜÔB°b¸B¸q±\ÓBÓBÀaÓGØŸ™˜q›	�AØð ˆC�Hð �:Š:�a˜˜V¨VÐ4°r¸r°lÀAÑPÈÑPÐPøð ×$Ñ$ó ÙðúØàˆC�Hø�tˆC�Hús%   Â A+D. Ä.EÄ>E Å EÅE Å	Ec           
      óÆ  ^ ^• Uu  u  pVu  pxUu  u  pšu  p¼u  pÞ[        T5      nT R                  T5      nT=(       a    US-  nT R                  nUR                  S5      (       + =(       a2    T R                  U5      S:„  =(       a    T R	                  U5      SU-  :„  nU(       aw    T =R                  U-  sl        U U4S jnT R                  UXWX›U/SST R                  -  S9n[        U 4S	 jXWX›UT4 5       5      S
:X  a  T R                  U5      nUUT l        $ T R                  " SSXhX¬U4XWX›U/T40 UD6$ ! T R                   a     Of = f UT l        N<! UT l        f = f)Nr   rq   rd  rL  c           	      óú  >• TR                   X-   U-
  U-
  U-
  TR                   -   -  nX-   nX#-   U-   nX-  nX#-  XC-  -   X$-  -   n	X#-  U-  n
0 nTR                  US'   SX˜-
  TR                  SU-  U-   S-
  -  Xg-
  -  -   TR                  -
  -  US'   TR                   US   S-  -  TR                  SSU-  S-
  -  X˜-
  -  SU
-  -   SSUS-  -  S	U-  -   S
U-  -   U-   S-
  -  Xg-
  -  -   S-
  -  -   US'   SnSnSnSn Xë;  Ga(  USU-  -
  S-
  USU-  -
  SU-  -
  S-
  -  USU-  -
  SU-  -
  S-
  -  USU-  -
  SU-  -
  S-
  -  nSUS-
  S-  -  SSU-  U-   -  US-
  S-  -  -
  SSUS-  -  SU-  U-  -   SU	-  -   U-   S-
  -  US-
  -  -   SUS-  -  -
  SU-  US-  -  -
  SU	-  -
  S
U
-  -
  SSU	-  U-   S-
  -  U-  -
  SU-  -   S-
  nSUS-
  S-  -  SSU-  U-   SU-  -
  S-   -  US-
  -  -   SUS   -  -   nTR                  SU-  -  UX¾S-
     -  UX¾S-
     -  -
  UX¾S-
     -  -   -  X¾'   X¾   TR                  T* SU-  5      -  nTR                  * U-  TR                  S5      U* -  -  U-  nTR                  U-  TR                  S5      U* -  -  U-  n[        U5      STR                  -  :  a  OAUS:”  a'  [        U5      [        U5      -  S:  a  TR                  eUU-  nUU-  nUnUS-  nGMø  TR                  TR                  U-  STR                  T* 5      -  -   5      U-  TR                  TR                  U-  STR                  T* 5      -  -   * 5      U-  -   nSU-  TR                  T* /SSU/X#U/X// / S4nT* /U * /X#XAU -
  /XU -
  X0-
  X@-
  /X U-
  S-   X-
  S-   X-
  S-   /X-
  S-   /ST-  4nT* /U* /X#X@U-
  /XU-
  X1-
  XA-
  /XU-
  S-   X-
  S-   X-
  S-   /U * U-   S-   /ST-  4nUUU4$ )Nr   r   rp   r   rf  é    r¦   rg  rh  r£   é   é   r¤   r  iöÿÿÿri  rK  rL  rj  )rª   rD   rk  rl  rm  rM   r©   rÊ   rð   rï   rµ   ro  r²   r¨   )rŽ   r•   r�   r�   r˜   rM  rN  ÚB3ÚAÚBÚRrb   rP  rp  r$   rQ  rR  rS  Úuu3r%   rT  rq  r5  r®   r¯   rU  r   r"   s                             €€r/   r]   Ú_hyp2f3.<locals>.h˜  sR  ø€ ØŸ™ R¡U¨2¡X¨b¡[°¡^°C·K±KÑ%?Ñ@�AØ™�BØ™˜r™�BØ™�AØ™˜b™e™ B¡EÑ)�AØ™˜b™�AØ�AØŸ7™7�A�a‘DØ˜a™e c§k¡k°1°R±4¸±7¸1±9Ñ&=¸r¹uÑ&EÑEÈÏÉÑTÑU�A�a‘DØŸ;™; q¨¡t¨Q¡wÑ.°·±¸sÀAÀbÁDÈÁF¹|ÈQÉSÑ?QÐTVÐWXÑTXÑ?XØ˜2˜b !™e™8 b¨¡eÑ+¨a°©cÑ1°BÑ6¸Ñ:Ñ;¸R¹UÑCñ@DØDEñ@Fñ 2Gñ G�A�a‘Dà�BØ�BØ�AØ�EØØœ:Ø#$ Q q¡S¡5¨¡7¨Q¨q°©s©U°1°R±4©Z¸©\Ñ":¸A¸aÀ¹c¹EÀ!ÀBÁ$¹JÀq¹LÑ"IØ!" 1 Q¡3¡ q¨¡t¡¨A¡ñ#/˜Cà#$ a¨¡c¨A¡X¡:°°1°Q±3°r±6±
¸A¸a¹CÀ!¹8Ñ0CÑ#CØ ! 2 a¨¡d¡7¨2¨b©5°©7¡?°1°Q±3Ñ#6°rÑ#9¸!Ñ#;Ñ <¸aÀ¹cÑ Bñ$CØEGÈÈ1ÉÁWñ$Mà " 2¡ a¨¡d¡
ñ$+à-.¨q©Sñ$1à34°Q±3ñ$7à9:¸A¸a¹CÀ¹FÀ1¹H¹Àa¹ñ$HàJKÈBÉ$ñ$OàOPñ$Q˜Cð $% a¨¡c¨A¡X¡:¨a°°Q±°r±¸!¸B¹$±¸q±Ñ.AÀ1ÀQÁ3Ñ.GÑ#GÈÈ!ÈAÉ$ÉÑ#N˜CØ#&§7¡7¨A¨a©C¡=°#°a¸!¹±f±*¸SÀÀQÁ3Á¹ZÑ2GÈÈAÐPQÉcÉFÉ
Ñ2RÑ#S˜A™DØ™D 3§9¡9¨a¨R°°a±Ó#8Ñ8˜Ø"Ÿu™u˜f q™[¨3¯7©7°1«:¸¸Ñ+;Ñ;¸aÑ?˜Ø ŸU™U A™X¨¯©°«
°a°RÑ(8Ñ8¸1Ñ<˜Ü˜r›7 S¨¯©¡[Ó0Ø!à˜q›5¤S¨£Z´#°b³'Ñ%9¸CÓ%?Ø"%×"3Ñ"3Ð3Ø˜b™˜Ø˜b™˜Ø "˜Ø˜Q™˜ò) ð* Ÿ™ §¡¨¡¨!¨C¯H©H°a°R«L©.Ñ!8Ó9¸"Ñ<ØŸ™ 3§6¡6¨!¡8¨A¨c¯h©h¸°r«l©NÑ#:Ð!;Ó<¸RÑ?ñ@�Aà˜a™% §¡¨!¨Ð,¨q°$¸¨l¸RÀR¸LÈ2È(Ø˜B ð"�Bà˜"˜  ˜u r¨R°2±Ð&6¸¸b¹5ÀÁÀrÁuÐ7MØ˜r™E !™G B¡E¨!¡G¨B©E°!©GÐ4°r±u¸Q±w°iÀÀ1ÁðE�Bà˜"˜  ˜u r¨R°2±Ð&6¸¸b¹5ÀÁÀrÁuÐ7MØ˜r™E !™G B¡E¨!¡G¨B©E°!©GÐ4°r°c¸"±f¸Q±h°ZÀÀ1ÁðE�Bà˜r 2˜:Ð%r1   Tr¦   rW  c              3   óF   >#   • U  H  nTR                  U5      v •  M     g 7fr‡   rY  rZ  s     €r/   r	  Ú_hyp2f3.<locals>.<genexpr>Ç  s!   øé € ÐHÒ5G°�s×(Ñ(¨×+Ð+Ò5Gùr\  ry  rp   ru  )r   r    r!   r"   rV   rŽ   r]  r•   r^  r�   r_  r�   r`  r˜   Úb3typerõ   r·   ra  rW   rb  r]   rc   s   `  `                  r/   r|   r|     sr  ù€ à!$Ñ�L€R‘,�2Ø/2Ñ,�L€R‘,�2¡ äˆq‹6€DØ�7‰7�1‹:€Dð —m˜D !™G€OØ�8‰8€Dð
 %Ÿj™j¨Ó8Ô8÷ =Ø	�‰�‹˜Ñ	÷=Ø"%§(¡(¨4£.°3°t±8Ñ";ð ö ð:	ð7Ø—’˜OÑ+•ö-&ð\ —M‘M ! b¨B°"Ð%5ÀDÐSTÐUX×U]ÑU]ÑS]�MÐ^�ÜÔH°b¸BÀ"ÀQÑ5GÓHÓHÈAÓMØŸ™˜q›	�AØð ˆC�Hà�:Š:�a˜˜V¨V¸VÐDÀrÈrÐWYÐFZÐ\]ÑhÐagÑhÐhøð ×$Ñ$ó ÙðúØàˆC�Hø�tˆC�Hús%   Â&A-D8 Ä8EÅE Å
EÅE Å	E c                 óH  ^ ^• Uu  u  pVu  px UR                  5       n	U	R                  ST R                  5      U	S'   T R                  " SSXh4XW/T40 U	D6$ ! T R                   a    UR                  S5      (       a  e  Of = fU U4S jn
T R
                  " X¥SU-   U-
  /40 UD6$ )Nr<  r   r   rq   c                 óÔ   >• TR                  U5      nST-  nTR                  X#/SSU // X-
  S-   U/U /U/U4nTR                  * X#/SSSU -   U-
  // U SU-
  /X-
  S-   /SU-
  /U4nXE4$ )Nr§   r   r   )Úsinpir²   )r`   ra   r%   r¿   r®   r¯   r   r"   s         €€r/   r]   Ú_hyp2f0.<locals>.hÞ  s’   ø€ Ø�I‰I�a‹LˆØ�‰TˆØ�v‰v�aˆm˜Q˜r !˜H R¨©¨Q©¨q¨	°1°#°q°c¸"Ð=ˆØ—‘ˆw�qˆn˜a  1 Q¡3 q¡5˜\¨"¨a°°!±¨W°a±c¸!±e°W¸aÀ¹c¸UÀ2ÐFˆØˆvˆr1   r   )Úcopyr=   r   r€   rµ   rl   )r   r    r!   r"   rV   r`   rÇ   ra   r¶   Úkwargsbr]   s   `  `       r/   r}   r}   Ñ  s«   ù€ à Ñ�J€Q‘
�ðØ—+‘+“-ˆØ%Ÿk™k¨*°c·h±hÓ?ˆ�
ÑØ�zŠz˜!˜Q  °¨u°aÑC¸7ÑCÐCøØ×Ñó Ø�:‰:�n×%Ñ%ØÙðúöð �=Š=˜  !¡ A¡˜JÑ1¨&Ñ1Ð1s   �AA Á'A?Á>A?Nc                 óp  ^ ^^^^^^• Uu  pxUu  pš[        U5      mT[        U5      -   m[        U	5      mT[        U
5      -   mXx-   nXš-   nU Vs/ s H  nT R                  U5      PM     nnU Vs/ s H  nT R                  U5      PM     nnT R                  T5      mUc3  TT:  a  SnTT:”  a  SnTT:X  a  TT-   T:X  a  [        T5      S:”  a  SnOSnUR                  S5      (       a  [	        STTTTU5        US:X  a  U UUUUUU4S jnOU UUUUUU4S jnT R
                  " XëU-   40 UD6$ s  snf s  snf )Nr   r   r3   zMeijer G m,n,p,q,series =c            
      óö  >• U S T nU TS  n/ n[        T5       GH=  nT/nX$   T-  /n[        T5       Vs/ s H  owU:w  d  M
  X'   X$   -
  PM     nnU[        T5       Vs/ s H  nSX   -
  X$   -   PM     sn-  n[        TT5       Vs/ s H  oqU   X$   -
  PM     n	nU	[        TT5       Vs/ s H  nSX'   -
  X$   -   PM     sn-  n	[        T5       Vs/ s H  nSX   -
  X$   -   PM     n
n[        T5       Vs/ s H  owU:w  d  M
  SX'   -
  X$   -   PM     nnTR                  * TT-
  T-
  -  TTR                  T-  -  -  nUR                  XVX‰X«U45        GM@     U$ s  snf s  snf s  snf s  snf s  snf s  snf r    )rE   rD   r   ©r#  r`   ra   r   r$   ÚbasesÚexptsr©   ÚgnÚgdÚhnÚhdÚhzr   rÿ   r+   r�   r‚   Úrr"   s                €€€€€€€r/   r]   Úmeijerg.<locals>.hþ  sƒ  ø€ Ø�R�a�ˆAØ�Q�R�ˆAØˆEÜ˜1—X�Ø˜�Ø™˜a™˜�Ü).¨q¬Ó<ª A¸!±V“i�a‘d˜1™4”i©�Ð<Ø¬E°!¬HÓ5ªH q�q˜™‘v˜a™d”{©HÑ5Ñ5�Ü).¨q°¬Ó4ª A˜‘d˜1™4”i©�Ð4Ø¬E°!°A¬JÓ7ªJ q�q˜™‘v˜a™d”{©JÑ7Ñ7�Ü+0°¬8Ó4ª8 a�a˜™‘f˜Q™T”k©8�Ð4Ü+0°¬8Ó>ª8 a¸A±v“k�a˜™‘f˜Q™T”k©8�Ð>Ø—w‘w�h ! A¡# a¡%Ñ(¨1¨s¯w©w°q©y©>Ñ9�Ø—‘˜e¨B°B¸BÐ?×@ñ ð ˆLùò =ùÚ5ùÚ4ùÚ7ùÚ4ùÚ>s/   µ	EÁEÁE"ÂE'Â,E,ÃE1Ã9	E6ÄE6c            
      ó8  >• U S T nU TS  n/ n[        T5       GH^  nT/nTS:X  a	  X   S-
  /nOX   S-
  TR                  T5      -  /n[        T5       Vs/ s H  owU:w  d  M
  X   X   -
  PM     nnU[        T5       Vs/ s H  nSX   -
  X'   -   PM     sn-  n[        TT5       Vs/ s H  oqU   X'   -
  PM     n	nU	[        TT5       Vs/ s H  nSX   -
  X   -   PM     sn-  n	[        T5       Vs/ s H  nSX   -
  X'   -   PM     n
n[        T5       Vs/ s H  owU:w  d  M
  SX   -   X   -
  PM     nnTR                  * TT-
  T-
  -  TTR                  T-  -  -  nUR                  XVX‰X«U45        GMa     U$ s  snf s  snf s  snf s  snf s  snf s  snf r    )rE   rr   rD   r   rŒ  s                €€€€€€€r/   r]   r•    s¥  ø€ Ø�R�a�ˆAØ�Q�R�ˆAØˆEÜ˜1—X�Ø˜�Ø˜“6Ø™T !™V˜H‘Eà™d 1™f c§k¡k°!£nÑ4Ð5�EÜ).¨q¬Ó<ª A¸!±V“i�a‘d˜1™4”i©�Ð<Ø¬E°!¬HÓ5ªH q�q˜™‘v˜a™d”{©HÑ5Ñ5�Ü).¨q°¬Ó4ª A˜‘d˜1™4”i©�Ð4Ø¬E°!°A¬JÓ7ªJ q�q˜™‘v˜a™d”{©JÑ7Ñ7�Ü+0°¬8Ó4ª8 a�a˜™‘f˜Q™T”k©8�Ð4Ü+0°¬8Ó>ª8 a¸A±v“k�a˜™‘f˜Q™T”k©8�Ð>Ø—w‘w�h ! A¡# a¡%Ñ(¨1¨s¯w©w°q©y©>Ñ9�Ø—‘˜e¨B°B¸BÐ?×@ñ ð ˆLùò =ùÚ5ùÚ4ùÚ7ùÚ4ùÚ>s0   Á	E>Á#E>Â FÂ)FÃFÃ5FÄ	FÄ'F)rF   rr   rð   r=   rA   rl   )r   r    r!   r"   r”  ÚseriesrV   ÚanÚapÚbmÚbqr`   ra   Ú_r]   rÿ   r+   r�   r‚   s   `  ``          @@@@r/   Úmeijergr�  æ  s1  þ€ à�F€BØ�F€BÜˆB‹€AØ	ŒC�‹G‰€AÜˆB‹€AØ	ŒC�‹G‰€AØ
‰€AØ
‰€AÙ!"Ó#¢˜Aˆ�‰�QŽ¡€AÐ#Ù!"Ó#¢˜Aˆ�‰�QŽ¡€AÐ#Ø�‰�A‹€AØ�~Øˆq‹5˜1�&Øˆq‹5˜1�&Ø�‹6Ø�‰s�a‹xœC ›F Q›JØ‘à�Ø‡z�z�)×ÑÜÐ)¨1¨Q¨q°°6Ô:Ø�ƒ{÷	ô 	÷"	ó 	ð& �=Š=˜˜a™CÑ* 6Ñ*Ð*ùòe 	$ùÚ#s   ÁD.Á/D3c           	      óà  • [        U5      [        U5      :”  a  XepeX2p2S nU R                  U5      (       a  OšU R                  U5      (       a  OƒU R                  U5      (       a  XeX24u  pVp#OeU" U5      (       dX  XV-
  US-
  -  n	U" U	5      (       d  [        S5      eSU-
  U* -  SU-
  XA-
  U-
  -  -  U R                  " XA-
  X$U-
  U-
  XIU40 UD6-  $ U R                  " U/U/U/S.SU/0XV40 UD6$ )Nc                 ó   • [        U 5      S:  $ )Ng®Gáz®ï?)rð   )r*   s    r/   r-   Úappellf1.<locals>.ok+  s   € Ü�1‹v˜‰}Ðr1   r   z%Analytic continuation not implemented©úm+nrÿ   r+   r¢  )rð   r   r?   Úappellf1Úhyper2d)
r   r`   r�   r�   rb   r*   ÚyrV   r-   Úu1s
             r/   r£  r£  $  s  € ô ˆ1ƒv”�A“ƒØˆ1ØˆBòð ‡{�{�1‡~�~ØØ	�‰�R�‰ØØ	�‰�R�‰Ø˜R�|‰ˆˆb�"ñ
 �!�u‰uØ‘#˜˜!™‘ˆBÙ�b—6‘6Ü Ð!HÓIÐIà�a‘C˜B˜3‘<  1¡¨©¨B©¡Ñ/Ø—’˜Q™S  b¡D¨¡G¨A°Ñ<°VÑ<ñ=ð =à�;Š;˜q˜c r d°¨tÑ4°u¸a¸S°kÀ1ÑQÈ&ÑQÐQr1   c                 óD   • U R                   " U/U/U/S.U/U/S.Xg40 UD6$ )Nr¡  ©rÿ   r+   ©r¤  )	r   r`   r�   r�   Úc1Úc2r*   r¥  rV   s	            r/   Úappellf2r¬  A  s:   € ð �;Š;˜q˜c r d°¨tÑ4ØˆT�r�dÑ˜Qñ,Ø$*ñ,ð ,r1   c                 ó>  • U R                  U5      =(       d    U R                  U5      n	U R                  U5      =(       d    U R                  U5      n
U	(       d(  U
(       d  [        U5      [        U5      :”  a	  XvpvX!XC4u  pp4U R                  " X/X$/S.SU/0Xg40 UD6$ )Nr¨  r¢  )r   rð   r¤  )r   rŽ   r•   r�   r�   rb   r*   r¥  rV   Úouter_polynomialÚinner_polynomials              r/   Úappellf3r°  G  s…   € à—{‘{ 2“×9¨#¯+©+°b«/ÐØ—{‘{ 2“×9¨#¯+©+°b«/ÐÞÞœs 1›v¬¨A«›ØˆqØ ˜+‰KˆB�"Ø�;Š;˜R˜G¨¨Ñ0°5¸!¸°+¸aÑKÀFÑKÐKr1   c                 ó<   • U R                   " SX/0U/U/S.XV40 UD6$ )Nr¢  r¨  r©  )r   r`   ra   rª  r«  r*   r¥  rV   s           r/   Úappellf4r²  Q  s+   € ð �;Š;˜˜q˜e�}¨B¨4°R°DÑ&9¸!ÑGÀÑGÐGr1   c                 ó  ^ • T R                  U5      nT R                  U5      nU 4S jn[        U5      n[        U5      nU" US5      n	U" US5      n
U" US5      nU" US5      nU" US5      nU" US5      nU" US5      nU" US	5      nU" US5      nU" US5      nU" US5      nU(       a  [        S
UR                  5       S   -  5      eU(       a  [        S
UR                  5       S   -  5      eSnT R                  nT R                  S5      nSnT R                  nUR                  SSU-  5      n T =R                  S-  sl        T R                  7n SnSn[        U
5      n[        U5      nU	 Vs/ s H  oU-   PM	     nnU Vs/ s H  o"U-   PM	     n nU H*  nUU-   nUR                  U5        UR                  U5        M,     U H*  nUU-   nUR                  U5        U R                  U5        M,     U H.  nUR                  UU-
  5        U R                  UU-
  S-
  5        M0     U H<  nUS-  nUSU-  -  nUR                  SU-
  U-
  5        UR                  U* U-
  5        M>     U H=  nUR                  USU-  -   5        UR                  USU-  -   SU-   SU-  -   -  5        M?     U HE  nUS-  nUR                  SU-
  SU-  -
  5        UR                  USU-  -   SU-   SU-  -   -  5        MG     U HP  nUS-  nUR                  SUU-
  -  5        UR                  SUU-
  S-   -  5        U R                  UU-
  S-
  5        MR     T R                  " UUUU-  4ST R                  0UD6n!UU!-  U-  n"[        U"5      U:  a  US-  nOSnUS:¼  d  U(       d  OHUU"-  nU H  nUU-  nM
     U  H  nUU-  nM
     US-  nUU-  U-  nUU:”  a  T R                  S5      eGM•  UT l        U7$ s  snf s  snf ! UT l        f = f)aÂ  
Sums the generalized 2D hypergeometric series

.. math ::

    \sum_{m=0}^{\infty} \sum_{n=0}^{\infty}
        \frac{P((a),m,n)}{Q((b),m,n)}
        \frac{x^m y^n} {m! n!}

where `(a) = (a_1,\ldots,a_r)`, `(b) = (b_1,\ldots,b_s)` and where
`P` and `Q` are products of rising factorials such as `(a_j)_n` or
`(a_j)_{m+n}`. `P` and `Q` are specified in the form of dicts, with
the `m` and `n` dependence as keys and parameter lists as values.
The supported rising factorials are given in the following table
(note that only a few are supported in `Q`):

+------------+-------------------+--------+
| Key        |  Rising factorial | `Q`    |
+============+===================+========+
| ``'m'``    |   `(a_j)_m`       | Yes    |
+------------+-------------------+--------+
| ``'n'``    |   `(a_j)_n`       | Yes    |
+------------+-------------------+--------+
| ``'m+n'``  |   `(a_j)_{m+n}`   | Yes    |
+------------+-------------------+--------+
| ``'m-n'``  |   `(a_j)_{m-n}`   | No     |
+------------+-------------------+--------+
| ``'n-m'``  |   `(a_j)_{n-m}`   | No     |
+------------+-------------------+--------+
| ``'2m+n'`` |   `(a_j)_{2m+n}`  | No     |
+------------+-------------------+--------+
| ``'2m-n'`` |   `(a_j)_{2m-n}`  | No     |
+------------+-------------------+--------+
| ``'2n-m'`` |   `(a_j)_{2n-m}`  | No     |
+------------+-------------------+--------+

For example, the Appell F1 and F4 functions

.. math ::

    F_1 = \sum_{m=0}^{\infty} \sum_{n=0}^{\infty}
          \frac{(a)_{m+n} (b)_m (c)_n}{(d)_{m+n}}
          \frac{x^m y^n}{m! n!}

    F_4 = \sum_{m=0}^{\infty} \sum_{n=0}^{\infty}
          \frac{(a)_{m+n} (b)_{m+n}}{(c)_m (d)_{n}}
          \frac{x^m y^n}{m! n!}

can be represented respectively as

    ``hyper2d({'m+n':[a], 'm':[b], 'n':[c]}, {'m+n':[d]}, x, y)``

    ``hyper2d({'m+n':[a,b]}, {'m':[c], 'n':[d]}, x, y)``

More generally, :func:`~mpmath.hyper2d` can evaluate any of the 34 distinct
convergent second-order (generalized Gaussian) hypergeometric
series enumerated by Horn, as well as the Kampe de Feriet
function.

The series is computed by rewriting it so that the inner
series (i.e. the series containing `n` and `y`) has the form of an
ordinary generalized hypergeometric series and thereby can be
evaluated efficiently using :func:`~mpmath.hyper`. If possible,
manually swapping `x` and `y` and the corresponding parameters
can sometimes give better results.

**Examples**

Two separable cases: a product of two geometric series, and a
product of two Gaussian hypergeometric functions::

    >>> from mpmath import *
    >>> mp.dps = 25; mp.pretty = True
    >>> x, y = mpf(0.25), mpf(0.5)
    >>> hyper2d({'m':1,'n':1}, {}, x,y)
    2.666666666666666666666667
    >>> 1/(1-x)/(1-y)
    2.666666666666666666666667
    >>> hyper2d({'m':[1,2],'n':[3,4]}, {'m':[5],'n':[6]}, x,y)
    4.164358531238938319669856
    >>> hyp2f1(1,2,5,x)*hyp2f1(3,4,6,y)
    4.164358531238938319669856

Some more series that can be done in closed form::

    >>> hyper2d({'m':1,'n':1},{'m+n':1},x,y)
    2.013417124712514809623881
    >>> (exp(x)*x-exp(y)*y)/(x-y)
    2.013417124712514809623881

Six of the 34 Horn functions, G1-G3 and H1-H3::

    >>> from mpmath import *
    >>> mp.dps = 10; mp.pretty = True
    >>> x, y = 0.0625, 0.125
    >>> a1,a2,b1,b2,c1,c2,d = 1.1,-1.2,-1.3,-1.4,1.5,-1.6,1.7
    >>> hyper2d({'m+n':a1,'n-m':b1,'m-n':b2},{},x,y)  # G1
    1.139090746
    >>> nsum(lambda m,n: rf(a1,m+n)*rf(b1,n-m)*rf(b2,m-n)*\
    ...     x**m*y**n/fac(m)/fac(n), [0,inf], [0,inf])
    1.139090746
    >>> hyper2d({'m':a1,'n':a2,'n-m':b1,'m-n':b2},{},x,y)  # G2
    0.9503682696
    >>> nsum(lambda m,n: rf(a1,m)*rf(a2,n)*rf(b1,n-m)*rf(b2,m-n)*\
    ...     x**m*y**n/fac(m)/fac(n), [0,inf], [0,inf])
    0.9503682696
    >>> hyper2d({'2n-m':a1,'2m-n':a2},{},x,y)  # G3
    1.029372029
    >>> nsum(lambda m,n: rf(a1,2*n-m)*rf(a2,2*m-n)*\
    ...     x**m*y**n/fac(m)/fac(n), [0,inf], [0,inf])
    1.029372029
    >>> hyper2d({'m-n':a1,'m+n':b1,'n':c1},{'m':d},x,y)  # H1
    -1.605331256
    >>> nsum(lambda m,n: rf(a1,m-n)*rf(b1,m+n)*rf(c1,n)/rf(d,m)*\
    ...     x**m*y**n/fac(m)/fac(n), [0,inf], [0,inf])
    -1.605331256
    >>> hyper2d({'m-n':a1,'m':b1,'n':[c1,c2]},{'m':d},x,y)  # H2
    -2.35405404
    >>> nsum(lambda m,n: rf(a1,m-n)*rf(b1,m)*rf(c1,n)*rf(c2,n)/rf(d,m)*\
    ...     x**m*y**n/fac(m)/fac(n), [0,inf], [0,inf])
    -2.35405404
    >>> hyper2d({'2m+n':a1,'n':b1},{'m+n':c1},x,y)  # H3
    0.974479074
    >>> nsum(lambda m,n: rf(a1,2*m+n)*rf(b1,n)/rf(c1,m+n)*\
    ...     x**m*y**n/fac(m)/fac(n), [0,inf], [0,inf])
    0.974479074

**References**

1. [SrivastavaKarlsson]_
2. [Weisstein]_ http://mathworld.wolfram.com/HornFunction.html
3. [Weisstein]_ http://mathworld.wolfram.com/AppellHypergeometricFunction.html

c                 ó´   >• U R                  U/ 5      n [        U5      nU Vs/ s H  nTR                  U5      PM     sn$ ! [         a    U/n N1f = fs  snf r‡   )Úpopr"  Ú	TypeErrorrr   )ÚdctÚkeyr#  rE  r   s       €r/   ÚparseÚhyper2d.<locals>.parseà  s[   ø€ Ø�w‰w�s˜BÓˆð	Ü˜“:ˆDñ -1Ó1ªD S�—‘˜CÖ ©DÑ1Ð1øô ó 	Ø�6ŠDð	üâ1s   •A ¤AÁAÁArÿ   r+   r¢  zm-nzn-mz2m+nz2m-nz2n-mzunsupported key: %rr   r<  r;   r7   r   r§   r   r¦   rj  r5   rp   zmaxterms exceeded in hyper2d)rr   Údictr?   ÚkeysrD   rÊ   r   r=   rï   r"  r   rI   rð   rµ   )#r   r`   ra   r*   r¥  rV   r¹  r    r!   Úa_mÚa_nÚ	a_m_add_nÚ	a_m_sub_nÚ	a_n_sub_mÚ
a_2m_add_nÚ
a_2m_sub_nÚ
a_2n_sub_mÚb_mÚb_nÚ	b_m_add_nrG  Úouterrÿ   Úok_countr   r<  rÛ   Ú
inner_signÚ
outer_signÚinner_aÚinner_bÚouter_aÚouter_bÚinnerr   s#   `                                  r/   r¤  r¤  V  s6  ø€ ðP 	�‰�A‹€AØ�‰�A‹€Aõ2ô ˆq‹'€CÜ
ˆq‹'€CÙ
��3‹-€CÙ
��3‹-€CÙ�a˜“€IÙ�a˜“€IÙ�a˜“€IÙ�q˜&Ó!€JÙ�q˜&Ó!€JÙ�q˜&Ó!€JÙ
��3‹-€CÙ
��3‹-€CÙ�a˜“€IÞ”
Ð0°1·6±6³8¸A±;Ñ>Ó?Ð
?Þ”
Ð0°1·6±6³8¸A±;Ñ>Ó?Ð
?Ø	€AØ�G‰G€EØ�‰�‹
€AØ€HØ�8‰8€DØ�z‰z˜* b¨¡gÓ.€Hð>Ø�Š�B‰�Ø�w‰wˆhˆØØˆJØˆJÜ˜3“iˆGÜ˜3“iˆGÙ$'Ó(¢C˜q˜”s¡CˆGÐ(Ù$'Ó(¢C˜q˜”s¡CˆGÐ(ã�Ø�a‘C�Ø—‘˜qÔ!Ø—‘˜qÖ!ñ ó
 �Ø�a‘C�Ø—‘˜qÔ!Ø—‘˜qÖ!ñ ó
 �Ø—‘˜q ™sÔ#Ø—‘˜q ™s 1™uÖ%ñ ó �Ø˜rÑ"�
Ø˜r Q™iÑ'�
Ø—‘˜q ™s 1™uÔ%Ø—‘ ˜r !™tÖ$ñ	 ó  �Ø—‘˜q  1¡™uÔ%Ø—‘  ! A¡#¡¨¨!©¨A¨a©C©Ñ0Ö1ñ  ó  �Ø˜rÑ"�
Ø—‘˜q ™s 1 Q¡3™wÔ'Ø—‘  ! A¡#¡¨¨!©¨A¨a©C©Ñ0Ö1ñ  ó
  �Ø˜a‘�
Ø—‘˜s A a¡C™yÔ)Ø—‘˜s A a¡C¨¡E™{Ô+Ø—‘˜q ™s 1™uÖ%ñ	  ð
 —I’I˜g w°
¸1±ñ -ØŸ™ð-Ø%+ñ-ˆEà˜5‘= :Ñ-ˆDÜ�4‹y˜3‹Ø˜A‘‘à�Ø˜1‹}¦EØØ�‰IˆAÛ�˜e q™jše‘WÛ�˜e q™jše‘WØ�‰FˆAØ˜A‘I ‘MˆEØ�8‹|Ø×'Ñ'Ð(FÓGÐGòs ðv ˆŒØˆ2€Iùòo )ùÚ(øðj ˆ�ús,   Ä2AO> Å3O4ÆO> ÆO9ÆIO> Ï4
O> Ï>	Pc                 óâ   ^^^	• U R                  T5      mX-   n[        U5      m	[        U5      nT	U4S:X  d  T	U4S:X  a  U R                  T-  $ T	U-
  S-  mUU	U4S jnU R                  " Xu40 UD6$ )aØ  
Evaluates the bilateral hypergeometric series

.. math ::

    \,_AH_B(a_1, \ldots, a_k; b_1, \ldots, b_B; z) =
        \sum_{n=-\infty}^{\infty}
        \frac{(a_1)_n \ldots (a_A)_n}
             {(b_1)_n \ldots (b_B)_n} \, z^n

where, for direct convergence, `A = B` and `|z| = 1`, although a
regularized sum exists more generally by considering the
bilateral series as a sum of two ordinary hypergeometric
functions. In order for the series to make sense, none of the
parameters may be integers.

**Examples**

The value of `\,_2H_2` at `z = 1` is given by Dougall's formula::

    >>> from mpmath import *
    >>> mp.dps = 25; mp.pretty = True
    >>> a,b,c,d = 0.5, 1.5, 2.25, 3.25
    >>> bihyper([a,b],[c,d],1)
    -14.49118026212345786148847
    >>> gammaprod([c,d,1-a,1-b,c+d-a-b-1],[c-a,d-a,c-b,d-b])
    -14.49118026212345786148847

The regularized function `\,_1H_0` can be expressed as the
sum of one `\,_2F_0` function and one `\,_1F_1` function::

    >>> a = mpf(0.25)
    >>> z = mpf(0.75)
    >>> bihyper([a], [], z)
    (0.2454393389657273841385582 + 0.2454393389657273841385582j)
    >>> hyper([a,1],[],z) + (hyper([1],[1-a],-1/z)-1)
    (0.2454393389657273841385582 + 0.2454393389657273841385582j)
    >>> hyper([a,1],[],z) + hyper([1],[2-a],-1/z)/z/(a-1)
    (0.2454393389657273841385582 + 0.2454393389657273841385582j)

**References**

1. [Slater]_ (chapter 6: "Bilateral Series", pp. 180-189)
2. [Wikipedia]_ http://en.wikipedia.org/wiki/Bilateral_hypergeometric_series

)r   r   )r   r   r   c                  ó°  >• [        U S T 5      n[        U TS  5      nU Vs/ s H  nSU-
  PM
     nnU Vs/ s H  nSU-
  PM
     nnST-  T-  /U Vs/ s H  nSU-
  PM
     sn-   U Vs/ s H  nSU-
  PM
     sn-   nS/S/[        U5      -  -   S/[        U5      -  -   n/ / / / US/-   UT4n	Xx/ / US/-   UST-  T-  4n
Xš4$ s  snf s  snf s  snf s  snf )Nr   r§   r   )r"  rF   )r   r    r!   ra   Úaa_sr`   Úbb_sÚrpÚrcr®   r¯   Únegr�   r"   s              €€€r/   r]   Úbihyper.<locals>.h{  s  ø€ Ü�3�r˜�7‹mˆÜ�3�q�r�7‹mˆÙ Ó!šS˜��!”™SˆÐ!Ù Ó!šS˜��!”™SˆÐ!Ø�C‰i˜!‰mˆ_©SÓ1ªS¨  !¤©SÑ1Ñ1Á#Ó4FÂ#¸Q°Q°q´SÁ#Ñ4FÑFˆØˆT�Q�Cœ˜C›‘LÑ  B 4¬¨C«¡=Ñ0ˆØ��R˜˜S A 3™Y¨¨QÐ.ˆØ�R˜˜T Q C™Z¨°°S©y¸1©}Ð<ˆØˆvˆùò "ùÚ!ùÚ1ùÒ4Fs   ¢C·C	ÁCÁ+C)rr   rF   r<   rl   )
r   r    r!   r"   rV   r   r‚   r]   r×  r�   s
      `    @@r/   ÚbihyperrÙ  D  sw   ú€ ð` 	�‰�A‹€AØ
‰)€CÜˆC‹€AÜˆC‹€AØ	ˆ1€v�ƒ˜1˜a˜& E›/Ø�x‰x˜!‰|ÐØˆQ‰3�!‰)€C÷	ð �=Š=˜Ñ* 6Ñ*Ð*r1   )r   N)#Úlibmp.backendr   Ú	functionsr   r   r0   r@   rl   rI   r‰   rŒ   r‘   r“   r–   r™   r›   rž   ry   ru   rw   rã   rz   r~   r   r{   rx   r|   r}   r�  r£  r¬  r°  r²  r¤  rÙ  r¡   r1   r/   Ú<module>rÜ     sl  ðÝ "ß +ò-2ð^€ð Ø$&¸Dó Eó ðEðN ñ(8ó ð(8ðT ñ(ó ð(ð ñ)ó ð)ð ñ.ó ð.ð ñ+ó ð+ð ñ1ó ð1ð ñ4ó ð4ð ñ*ó ð*ð ñ4ó ð4ð ñó ðð ñ!8ó ð!8ðF ñ!ó ð!òF4ðl ñMó ðMð^ ñG/ó ðG/ðR ñ;ó ð;ð| ñ@]ó ð@]ðH ñMQó ðMQðb ñOió ðOiðb ñ2ó ð2ð( ó;+ó ð;+ðz ñRó ðRð8 ñ,ó ð,ð
 ñLó ðLð ñHó ðHð ñdó ðdðLð ñ@+ó ñ@+r1   