Ë
    7^(hGa  ã                   ó‚  — d Z ddlmZmZ ddlmZmZmZmZm	Z	m
Z
mZ ddlmZ ddlmZ ddlmZ ddlmZmZ ddlmZ dd	lmZ dd
lmZ ddlmZ ddlmZm Z   e«       \  Z!Z"Z#Z$Z%Z&Z' e«       \  Z(Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0d„ Z1d„ Z2d„ Z3d„ Z4d„ Z5e d„ «       Z6d„ Z7d„ Z8d„ Z9d„ Z:d„ Z;d„ Z<d „ Z=d!„ Z>d"„ Z?d#„ Z@d$„ ZAd%„ ZBy&)'zDTools for polynomial factorization routines in characteristic zero. é    )ÚringÚxring)ÚFFÚZZÚQQÚZZ_IÚQQ_IÚRRÚEX)Ú
polyconfig)ÚDomainError)ÚANP)Úf_polysÚw_polys)ÚI)Úsqrt)Úsin)Ú	nextprime)ÚraisesÚXFAILc                  óÎ   — t        dt        «      \  } }| j                  |dz  d|dz  z  z   d|dz  z  z   d|dz  z  z   d	|z  z   dz   |d
z   |dz   f«      |d
z   df|dz   dfgk(  sJ ‚y )NÚxé   é   é   é   é   é&   é   é   é   )r   r   Údup_trial_division©ÚRr   s     ú`/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/polys/tests/test_factortools.pyÚtest_dup_trial_divisionr&      s“   € Ü�”R‹=�D€A€qØ×Ñ  1¡ q¨¨A©¡v¡°°1°a±4±Ñ 7¸"¸QÀ¹T¹'Ñ AÀBÀqÁDÑ HÈ1Ñ LÈqÐSTÉuÐVWÐZ[ÑV[ÈnÓ]ÐcdÐghÑchÐjkÐblÐopÐstÑotÐvwÐnxÐayÒyÐyÑyó    c                  óÐ   — t        dt        «      \  } }}| j                  |dz  d|dz  z  z   d|dz  z  z   d|dz  z  z   d	|z  z   dz   |d
z   |dz   f«      |d
z   df|dz   dfgk(  sJ ‚y )Núx,yr   r   r   r   r   r   r   r    r!   )r   r   Údmp_trial_division©r$   r   Úys      r%   Útest_dmp_trial_divisionr-      s•   € Ü�5œ"‹o�G€A€qˆ!Ø×Ñ  1¡ q¨¨A©¡v¡°°1°a±4±Ñ 7¸"¸QÀ¹T¹'Ñ AÀBÀqÁDÑ HÈ1Ñ LÈqÐSTÉuÐVWÐZ[ÑV[ÈnÓ]ÐcdÐghÑchÐjkÐblÐopÐstÑotÐvwÐnxÐayÒyÐyÑyr'   c                  óÊ   — t        dt        «      \  } }| j                  d|dz  z  d|z  z   dz   «      dk(  sJ ‚| j                  |dz  d|dz  z  z   d|z  z   dz   «      d	k(  sJ ‚y )
Nr   r   r   r   é   é   é8   é@   é˜   )r   r   Údup_zz_mignotte_boundr#   s     r%   Útest_dup_zz_mignotte_boundr5      sv   € Ü�”R‹=�D€A€qØ×"Ñ" 1 Q¨¡T¡6¨A¨a©C¡<°!Ñ#3Ó4¸Ò9Ð9Ð9Ø×"Ñ" 1 a¡4¨"¨Q°©T©'¡>°B°q±DÑ#8¸2Ñ#=Ó>À#ÒEÐEÑEr'   c                  óv   — t        dt        «      \  } }}| j                  d|dz  z  d|z  z   dz   «      dk(  sJ ‚y )Nr)   r   r   r   é    )r   r   Údmp_zz_mignotte_boundr+   s      r%   Útest_dmp_zz_mignotte_boundr9   %   sA   € Ü�5œ"‹o�G€A€qˆ!Ø×"Ñ" 1 Q¨¡T¡6¨A¨a©C¡<°!Ñ#3Ó4¸Ò:Ð:Ñ:r'   c                  óH  — t        dt        «      \  } }|dz  dz
  }|dz  d|dz  z  z   |z
  dz
  }|dz
  }d}d|dz  z  d|z  z
  dz
  }| j                  d|||||«      \  }}}	}
||dz  d|dz  z  z   |z
  dz
  k(  sJ ‚||dz
  k(  sJ ‚|	d	k(  sJ ‚|
d
|dz  z  d|z  z
  dz
  k(  sJ ‚y )Nr   r   r!   r   r   éþÿÿÿr   é   r   iøÿÿÿé   )r   r   Údup_zz_hensel_step)r$   r   ÚfÚgÚhÚsÚtÚGÚHÚSÚTs              r%   Útest_dup_zz_hensel_steprH   *   sí   € Ü�”R‹=�D€A€qà	ˆ1‰ˆq‰€AØ	ˆ1‰ˆq��A‘‰v‰˜Ñ˜AÑ€AØ	ˆA‰€AØ
€AØ	ˆ!ˆQ‰$‰��1‘‰�qÑ€Aà×%Ñ% a¨¨A¨q°!°QÓ7�J€A€qˆ!ˆQà��1‘�q˜˜A™‘v‘ Ñ! AÑ%Ò%Ð%Ð%Ø��A‘Š:Ðˆ:Ø�Š6€Mˆ6Ø��1�a‘4‘˜"˜Q™$‘ Ñ"Ò"Ð"Ñ"r'   c                  óÂ   — t        dt        «      \  } }|dz  dz
  }|dz
  |dz
  |dz   |dz   g}| j                  t        d«      ||d«      |dz
  |dz
  |dz   |dz   gk(  sJ ‚y )Nr   r   r!   r   r   é¶   )r   r   Údup_zz_hensel_lift)r$   r   r?   ÚFs       r%   Útest_dup_zz_hensel_liftrM   ;   s   € Ü�”R‹=�D€A€qà	ˆ1‰ˆq‰€AØ	
ˆQ‰��A‘�q˜1‘u˜a !™eÐ$€Aà×Ñ¤ 1£ q¨!¨QÓ/Ø	
ˆQ‰��C‘˜˜S™ ! a¡%Ð(ò)ð )ñ )r'   c                  óÒ  — t        dt        «      \  } }| j                  d|dz  z  d|dz  z  z   d|dz  z  z   d|z  z   dz   «      �J ‚| j                  d|dz  z  d|dz  z  z   d|dz  z  z   d|z  z   dz   «      �J ‚| j                  d|dz  z  d|dz  z  z   d|dz  z  z   d|z  z   dz   «      d	u sJ ‚| j                  d|dz  z  d|dz  z  z   d|dz  z  z   d|z  z   d
z   «      d	u sJ ‚y )Nr   r   r   r   r/   r   r<   é
   Tr0   )r   r   Údup_zz_irreducible_pr#   s     r%   Útest_dup_zz_irreducible_prQ   E   s-  € Ü�”R‹=�D€A€qà×!Ñ! ! A q¡D¡&¨1¨Q°©T©6¡/°A°a¸±d±FÑ":¸Q¸q¹SÑ"@À1Ñ"DÓEÐMÐMÐMØ×!Ñ! ! A q¡D¡&¨1¨Q°©T©6¡/°A°a¸±d±FÑ":¸Q¸q¹SÑ"@À1Ñ"DÓEÐMÐMÐMà×!Ñ! ! A q¡D¡&¨1¨Q°©T©6¡/°A°a¸±d±FÑ":¸Q¸q¹SÑ"@À2Ñ"EÓFÈ$ÑNÐNÐNØ×!Ñ! ! A q¡D¡&¨1¨Q°©T©6¡/°A°a¸±d±FÑ":¸Q¸q¹SÑ"@À2Ñ"EÓFÈ$ÑNÐNÑNr'   c                  ó–  — t        dt        «      \  } }| j                  |dz
  «      du sJ ‚| j                  |dz   «      du sJ ‚| j                  |dz  |z   dz   «      du sJ ‚| j                  |dz  dz   «      du sJ ‚| j                  |dz  |dz  z   |dz  z   |z   dz   «      du sJ ‚| j                  |dz  |z
  dz   «      du sJ ‚| j                  |dz  |dz  z   |dz  z   |dz  z   |dz  z   |z   dz   «      du sJ ‚| j                  |dz  dz   «      du sJ ‚| j                  |dz  |dz  z   dz   «      du sJ ‚| j                  d	«      d
u sJ ‚| j                  d«      d
u sJ ‚| j                  |«      d
u sJ ‚| j                  |dz   «      d
u sJ ‚| j                  d|z  dz   «      d
u sJ ‚| j                  |dz  dz
  «      d
u sJ ‚|dz  |dz  z   |dz  z
  |dz  z   |dz  z
  |dz  z   dz   }| j                  |«      d
u sJ ‚|dz  |dz  z   |dz  z
  |dz  z
  |dz  z
  |dz  z   dz   }| j                  |«      du sJ ‚t        dt        «      \  } }| j                  |dz  |z   dz   «      du sJ ‚| j                  t        dd«      |dz  z  |z   dz   «      d
u sJ ‚t        dt        d   «      \  } }| j                  |dz  |z   dz   «      d
u sJ ‚y )Nr   r!   Tr   r   r   r/   r   r   Fé   r0   rO   r   r,   )r   r   Údup_cyclotomic_pr   )r$   r   r?   r@   s       r%   Útest_dup_cyclotomic_prU   O   sp  € Ü�”R‹=�D€A€qà×Ñ˜a !™eÓ$¨Ñ,Ð,Ð,Ø×Ñ˜a !™eÓ$¨Ñ,Ð,Ð,Ø×Ñ˜a ™d Q™h¨™lÓ+¨tÑ3Ð3Ð3Ø×Ñ˜a ™d Q™hÓ'¨4Ñ/Ð/Ð/Ø×Ñ˜a ™d Q¨¡T™k¨A¨q©DÑ0°1Ñ4°qÑ8Ó9¸TÑAÐAÐAØ×Ñ˜a ™d Q™h¨™lÓ+¨tÑ3Ð3Ð3Ø×Ñ˜a ™d Q¨¡T™k¨A¨q©DÑ0°1°a±4Ñ7¸!¸Q¹$Ñ>ÀÑBÀQÑFÓGÈ4ÑOÐOÐOØ×Ñ˜a ™d Q™hÓ'¨4Ñ/Ð/Ð/Ø×Ñ˜a ™d Q¨¡T™k¨A™oÓ.°$Ñ6Ð6Ð6à×Ñ˜aÓ  EÑ)Ð)Ð)Ø×Ñ˜aÓ  EÑ)Ð)Ð)Ø×Ñ˜aÓ  EÑ)Ð)Ð)Ø×Ñ˜a !™eÓ$¨Ñ-Ð-Ð-Ø×Ñ˜a ™c A™gÓ&¨%Ñ/Ð/Ð/Ø×Ñ˜a ™d Q™hÓ'¨5Ñ0Ð0Ð0à	ˆ2‰��2‘‰˜˜2™Ñ  1¡Ñ$ q¨!¡tÑ+¨a°©dÑ2°QÑ6€AØ×Ñ˜aÓ  EÑ)Ð)Ð)à	ˆ2‰��2‘‰˜˜2™Ñ  1¡Ñ$ q¨!¡tÑ+¨a°©dÑ2°QÑ6€AØ×Ñ˜aÓ  DÑ(Ð(Ð(ä�”R‹=�D€A€qØ×Ñ˜a ™d Q™h¨™lÓ+¨tÑ3Ð3Ð3Ø×Ñœb  1›g a¨¡d™l¨QÑ.°Ñ2Ó3°uÑ<Ð<Ð<ä�”R˜‘WÓ�D€A€qØ×Ñ˜a ™d Q™h¨™lÓ+¨uÑ4Ð4Ñ4r'   c                  ó‚  — t        dt        «      \  } }| j                  d«      |dz
  k(  sJ ‚| j                  d«      |dz   k(  sJ ‚| j                  d«      |dz  |z   dz   k(  sJ ‚| j                  d«      |dz  dz   k(  sJ ‚| j                  d«      |dz  |dz  z   |dz  z   |z   dz   k(  sJ ‚| j                  d«      |dz  |z
  dz   k(  sJ ‚| j                  d«      |dz  |dz  z   |dz  z   |dz  z   |dz  z   |z   dz   k(  sJ ‚| j                  d	«      |dz  dz   k(  sJ ‚| j                  d
«      |dz  |dz  z   dz   k(  sJ ‚y )Nr   r!   r   r   r   r   r/   r<   r   é	   )r   r   Údup_zz_cyclotomic_polyr#   s     r%   Útest_dup_zz_cyclotomic_polyrY   q   sƒ  € Ü�”R‹=�D€A€qà×#Ñ# AÓ&¨!¨a©%Ò/Ð/Ð/Ø×#Ñ# AÓ&¨!¨a©%Ò/Ð/Ð/Ø×#Ñ# AÓ&¨!¨Q©$°©(°Q©,Ò6Ð6Ð6Ø×#Ñ# AÓ&¨!¨Q©$°©(Ò2Ð2Ð2Ø×#Ñ# AÓ&¨!¨Q©$°°A±©+¸¸1¹Ñ*<¸qÑ*@À1Ñ*DÒDÐDÐDØ×#Ñ# AÓ&¨!¨Q©$°©(°Q©,Ò6Ð6Ð6Ø×#Ñ# AÓ&¨!¨Q©$°°A±©+¸¸1¹Ñ*<¸qÀ!¹tÑ*CÀaÈÁdÑ*JÈQÑ*NÐQRÑ*RÒRÐRÐRØ×#Ñ# AÓ&¨!¨Q©$°©(Ò2Ð2Ð2Ø×#Ñ# AÓ&¨!¨Q©$°°A±©+¸©/Ò9Ð9Ñ9r'   c                  ó0  — t        dt        «      \  } }| j                  d«      �J ‚| j                  d«      �J ‚| j                  d|dz  z  dz
  «      �J ‚| j                  |dz  dz
  «      �J ‚| j                  |dz  |dz  z   dz
  «      �J ‚| j                  |dz   «      |dz   gk(  sJ ‚| j                  |dz
  «      |dz
  gk(  sJ ‚| j                  |dz  dz   «      |dz  dz   gk(  sJ ‚| j                  |dz  dz
  «      |dz
  |dz   gk(  sJ ‚| j                  |dz  dz   «      |dz   |dz  |z
  dz   |d	z  |dz  z
  dz   |d
z  |dz  z
  dz   gk(  sJ ‚| j                  |dz  dz
  «      |dz
  |dz  |z   dz   |d	z  |dz  z   dz   |d
z  |dz  z   dz   gk(  sJ ‚y )Nr   r   r!   r   rO   r   r   é   r/   é   rW   )r   r   Údup_zz_cyclotomic_factorr#   s     r%   Útest_dup_zz_cyclotomic_factorr^      s  € Ü�”R‹=�D€A€qà×%Ñ% aÓ(Ð0Ð0Ð0Ø×%Ñ% aÓ(Ð0Ð0Ð0à×%Ñ% a¨¨2©¡g°¡kÓ2Ð:Ð:Ð:Ø×%Ñ% a¨¡e¨a¡iÓ0Ð8Ð8Ð8Ø×%Ñ% a¨¡e¨a°©d¡l°QÑ&6Ó7Ð?Ð?Ð?à×%Ñ% a¨!¡eÓ,°°Q±°Ò7Ð7Ð7Ø×%Ñ% a¨!¡eÓ,°°Q±°Ò7Ð7Ð7à×%Ñ% a¨¡d¨Q¡hÓ/°A°q±D¸1±H°:Ò=Ð=Ð=Ø×%Ñ% a¨¡d¨Q¡hÓ/°A¸±E¸1¸q¹5°>ÒAÐAÐAà×%Ñ% a¨¡e¨a¡iÓ0Ø	
ˆQ‰��1‘�q‘˜1‘˜a ™d Q¨¡T™k¨A™o¨q°"©u°q¸!±t©|¸aÑ/?Ð@òAð Að Aà×%Ñ% a¨¡e¨a¡iÓ0Ø	
ˆQ‰��1‘�q‘˜1‘˜a ™d Q¨¡T™k¨A™o¨q°"©u°q¸!±t©|¸aÑ/?Ð@òAð Añ Ar'   c            	      óp  — t        dt        «      \  } }| j                  d«      dg fk(  sJ ‚| j                  d«      dg fk(  sJ ‚| j                  d«      dg fk(  sJ ‚| j                  d«      dg fk(  sJ ‚| j                  d«      dg fk(  sJ ‚| j                  d«      dg fk(  sJ ‚| j                  d|z  dz   «      d|dz   dfgfk(  sJ ‚| j                  d|z  dz   «      d|dz   gfk(  sJ ‚|dz  |z   dz   }t	        dd«      D ]  }| j                  |«      d|dfgfk(  rŒJ ‚ | j                  |dz  d|z  z   dz   «      d|dz  d|z  z   dz   dfgfk(  sJ ‚| j                  d	|dz  z  d
|z  z   dz   «      dd|z  dz   dfgfk(  sJ ‚| j                  d|dz  z  dz   «      dd|z  dz
  dfd|z  dz   dfgfk(  sJ ‚| j                  d|dz  z  dz   «      dd|z  dz
  d|z  dz   gfk(  sJ ‚| j                  |dz  d|dz  z  z
  d|z  z   dz
  «      \  }}|dk(  sJ ‚t        |«      |dz
  df|dz
  df|dz
  dfhk(  sJ ‚| j                  |dz  d|dz  z  z
  d|z  z   dz
  «      d|dz
  |dz
  |dz
  gfk(  sJ ‚| j                  d|dz  z  d|dz  z  z   d|z  z   dz   «      d|dz   dfd|dz  z  d|z  z   dz   dfgfk(  sJ ‚| j                  d|dz  z  d|dz  z  z   d|z  z   dz   «      d|dz   d|dz  z  d|z  z   dz   gfk(  sJ ‚| j                  |dz   |dz  z   «      \  }}|dk(  sJ ‚t        |«      |df|dz
  df|dz   df|dz  dz   dfhk(  sJ ‚d|dz  z  d|dz  z  z   d|dz  z  z   d|dz  z  z   d|dz  z  z   d|dz  z  z
  d|dz  z  z   dz
  }| j                  |«      dd|dz  z  d|dz  z  z   d|dz  z  z   d
z   dfd|dz  z  d|dz  z  z   d z
  dfgfk(  sJ ‚d!|d"z  z  d#|dz  z  z   d$|d%z  z  z   d&|dz  z  z   d'|dz  z  z
  d(z   }| j                  |«      \  }}|d)k(  sJ ‚t        |«      d|z  dz
  dfd*|dz  z  d|z  z   dz
  dfd+|dz  z  d,|dz  z  z   d"|dz  z  z   d|z  z   dz   dfd-|dz  z  d.|dz  z  z
  d/|dz  z  z   d|z  z
  dz   dfd-|dz  z  d0|dz  z  z   d/|dz  z  z   d1|z  z   dz   dfhk(  sJ ‚|dz  dz
  }t        j                  d2d3«       | j                  |«      \  }}t        j                  d2d4«       | j                  |«      \  }}	||cxk(  rdk(  sJ ‚ J ‚t        |«      t        |	«      cxk(  rB|dz
  df|dz   df|dz  |dz  z
  |dz  z   |z
  dz   df|dz  |dz  z   |dz  z   |z   dz   dfhk(  sJ ‚ J ‚t        j                  d2«       |dz  dz   }t        j                  d2d3«       | j                  |«      }t        j                  d2d4«       | j                  |«      }	||	cxk(  r,d|dz  dz   df|dz  |dz  z
  |dz  z   |dz  z
  dz   dfgfk(  sJ ‚ J ‚t        j                  d2«       y )5Nr   r   r<   éùÿÿÿr   r   r!   é   r\   r=   r   é÷ÿÿÿéÿÿÿÿr/   é   rO   é   r   é8  r   i@  i3  iè  i°
  iˆ  é�   éD  é   rW   éØ   é   r[   l÷ÿÿÿ   "@¢]g“k|Û5 r   l     Ê‡jò=ó7ô;I l    ÙGñjy@Kz
+€é   l   ÀLn_2|OH++Íl   å	ˆš#~¶ l   1VÅkñZ lüÿÿÿ1VÅkñZ éd   iq  é}   i'  i¸  i�  iÐ  é   ÚUSE_CYCLOTOMIC_FACTORTF)r   r   Údup_zz_factorÚdup_zz_factor_sqfÚrangeÚsetÚconfigÚsetup)
r$   r   r?   ÚiÚcÚfactorsÚc0ÚF_0Úc1ÚF_1s
             r%   Útest_dup_zz_factorr~   •   s¸  € Ü�”R‹=�D€A€qà�?‰?˜1Ó ! R Ò(Ð(Ð(Ø�?‰?˜1Ó ! R Ò(Ð(Ð(Ø�?‰?˜2Ó 2 r (Ò*Ð*Ð*à×Ñ˜qÓ! a¨ WÒ,Ð,Ð,Ø×Ñ˜qÓ! a¨ WÒ,Ð,Ð,Ø×Ñ˜rÓ" r¨2 hÒ.Ð.Ð.à�?‰?˜1˜Q™3 ™7Ó#¨¨Q°©U°A¨J¨<Ð'8Ò8Ð8Ð8Ø×Ñ˜q ™s Q™wÓ'¨A°°A±¨w¨<Ò7Ð7Ð7à	ˆ1‰ˆq‰�1‰€Aä�1�b‹\ò 3ˆØ�‰˜qÓ! a¨1¨a¨&¨ ]Ó2Ð2Ð2ð3ð �?‰?˜1˜a™4 ! A¡#™:¨™>Ó*Ø	
ˆa�‰d�Q�q‘S‰j˜1‰n˜aÐ Ð!Ð"ò#ð #ð #ð �?‰?˜2˜a ™d™7 R¨¡T™>¨AÑ-Ó.Ø	
ˆa�‰c�A‰g�qˆ\ˆNÐòð ð ð �?‰?˜2˜a ™d™7 Q™;Ó'Ø	ˆq�‰s�Q‰w˜ˆlØ�‰s�Q‰w˜ˆlðð 	òð ð ð ×Ñ˜r ! Q¡$™w¨™{Ó+Ø	ˆa�‰c�A‰gØ�‰c�A‰gðð 	òð ð ð —‘  A¡¨¨!¨Q©$©¡°°A±Ñ!5¸Ñ!9Ó:�J€A€wØ�Š6€Mˆ6Üˆw‹<˜Q ™U A˜J¨¨Q©°¨
°Q¸±U¸A°JÐ?Ò?Ð?Ð?à×Ñ˜q !™t a¨¨1©¡f™}¨r°!©tÑ3°aÑ7Ó8Ø	
ˆQ�‰UØ�‰UØ�‰Uðð 	òð ð ð
 �?‰?˜1˜Q ™T™6 B q¨!¡t¡GÑ+¨b°©dÑ2°RÑ7Ó8Ø	
ˆa�!‰e�QˆZØ��1‘‰f�q˜‘s‰l˜QÑ Ð"ð$ð 	%ò%ð %ð %ð ×Ñ˜q  A¡™v¨¨1¨a©4©Ñ/°"°Q±$Ñ6¸Ñ;Ó<Ø	
ˆQ�‰UØˆq�!‰t‰V�a˜‘c‰\˜AÑðð 	 ò ð  ð  ð —‘ ! Q¡$ ¨¨A©¡Ó.�J€A€wØ�Š7€Nˆ7Üˆw‹<˜Q ˜F Q¨¡U¨A J°°Q±¸°
¸QÀ¹TÀA¹XÀq¸MÐJÒJÐJÐJàˆQ�‰T‰	�D˜˜A™‘IÑ  Q¨¡T¡	Ñ)¨C°°1±©HÑ4°t¸A¸q¹D±yÑ@À3ÀqÈ!ÁtÁ8ÑKÈcÐRSÐUVÑRVÉhÑVÐY\Ñ\€Aà�?‰?˜1ÓØ	
ˆa��1‘‰f�r˜!˜Q™$‘wÑ  1 a¡4¡Ñ'¨"Ñ,¨aÐ0Ø�!�Q‘$‰h˜˜A˜q™D™Ñ  2Ñ% qÐ)ð+ð 	,ò,ð ,ð ,ð 	0°°2±Ñ5Ø*¨1¨b©5Ñ0ñ	1à'¨¨2©Ñ-ñ	.ð 	$ A r¡EÑ)ñ	*ð 	˜a ™dÑ"ñ		#ð
 	ñ	€Að —‘ Ó#�J€A€wØ�ÒÐÐÜˆw‹<Ø	
ˆ1‰ˆq‰�!ˆØ	ˆQ�‰T‰�B�q‘D‰˜1Ñ	˜aÐ Ø	ˆQ�‰T‰�C˜˜1™‘HÑ	˜r ! Q¡$™wÑ	&¨¨1©Ñ	,¨qÑ	0°!Ð4Ø	ˆq�!‰t‰�d˜1˜a™4‘iÑ	 # a¨¡d¡(Ñ	*¨R°©TÑ	1°AÑ	5°qÐ9Ø	ˆq�!‰t‰�d˜1˜a™4‘iÑ	 # a¨¡d¡(Ñ	*¨R°©TÑ	1°AÑ	5°qÐ9ðò ð ð ð 	
ˆ2‰�‰	€Aä
‡L�LÐ(¨$Ô/Ø�o‰o˜aÓ �G€Bˆä
‡L�LÐ(¨%Ô0Ø�o‰o˜aÓ �G€Bˆà�Œ=�qŠ=Ð‰=Ðˆ=Üˆs‹8”s˜3“xô Ø	
ˆQ‰�ˆ
Ø	
ˆQ‰�ˆ
Ø	
ˆA‰��1‘‰�q˜!‘tÑ	˜aÑ	 !Ñ	# QÐ'Ø	
ˆA‰��1‘‰�q˜!‘tÑ	˜aÑ	 !Ñ	# QÐ'ð	$ò ð ñ ð ð ô ‡L�LÐ(Ô)à	ˆ2‰�‰	€Aä
‡L�LÐ(¨$Ô/Ø
�/‰/˜!Ó
€Cä
‡L�LÐ(¨%Ô0Ø
�/‰/˜!Ó
€Cà�#ô 2Ø	
ˆa�‰d�Q‰h˜ˆ]Ø�‰d�Q˜‘T‰k˜A˜q™DÑ  1 a¡4Ñ'¨!Ñ+¨QÐ/ð1ð 	2ò2ð 2ñ 2ð 2ð 2ô ‡L�LÐ(Õ)r'   c                  óD  — t        dt        «      \  } }}}t        dt        «      \  }}t        t        | j                  t        «      «      «      }|dk(  sJ ‚|dt        d«      }	}}|dt        d«      }}}
||z   dt        d«      }}}||z
  dt        d	«      }}}||
||g}||||g}|	|||g}t        |D �cg c]  }|j                  |«      ‘Œ c}|«      }t        d«      t        d«      g}| j                  t        |«      }|j                  |«      \  }}|dk(  rA||cxk(  r9d
|dz  z  d|dz  z  z   d|dz  z  z   d|dz  z  z   d|dz  z  z
  d|z  z
  dz
  k(  sJ ‚ J ‚| j                  ||t        d«      «      g d¢k(  sJ ‚|j                  |«      r'|j                  |«      | j                  t        «      k(  sJ ‚|j                  |«      \  }}d|dz  z  d|z  z   dz   }d|dz  z  d|z  z
  dz   }d|dz  z  dz
  }||||gk(  sJ ‚d|z  d|z  z
  | |dz  z  |dz  |dz  z
  fD � cg c]  } | j                  |«      ‘Œ }!} | j                  t        |||||«      t        ||!fk(  sJ ‚| j                  t        ||!||«      }"| j!                  |"«      t        k(  sJ ‚y c c}w c c} w )Núx,y,zr   é ` r!   éòÿÿÿr   r   iõÿÿÿiïÿÿÿi¸Ñ r/   i`ø r   iÄÙ  r   i•œ i˜C  iÙh  i„  )r<   r   rd   é   é,   é*   é~   rW   r    é»   é   éüÿÿÿ)r   r   r   r8   Úw_1ÚzipÚdropÚdmp_eval_tailÚdup_primitiveÚdmp_zz_wang_non_divisorsÚ	dup_sqf_pÚ
dup_degreeÚ
dmp_degreerr   Údmp_zz_wang_lead_coeffsÚdmp_zz_wang_hensel_liftingÚ
dmp_expand)#r$   r   r,   ÚzÚUVÚ_xÚpÚt_1Úk_1Úe_1Út_2Úk_2Úe_2Út_3Úk_3Úe_3Út_4Úk_4Úe_4rG   ÚKÚErC   ÚArF   ÚcsrB   Ú_rE   Úh_1Úh_2Úh_3ÚlcÚLCry   s#                                      r%   Útest_dmp_zz_wangr°     sÿ  € Ü�GœRÓ �H€A€qˆˆ1Ü�#”r‹]�F€Bˆä
Œ9�Q×,Ñ,¬SÓ1Ó2Ó3€AØ�Š<Ðˆ<à�qœ"˜S›'ˆcˆ€CØ�qœ"˜Q›%ˆcˆ€CØ˜‘E˜1œb ›gˆcˆ€CØ˜‘E˜1œb ›gˆcˆ€Cà	ˆc�3˜Ð€AØ	ˆc�3˜Ð€AØ	ˆc�3˜Ð€Aä Ö$˜Aˆa�f‰f�Q�iÒ$ aÓ(€Aä	ˆC‹”"�Q“%Ð€Aà	�‰œ˜QÓ€AØ×Ñ˜QÓ�E€Bˆà�Š7�q˜Aô aØ��A‘‰˜˜r 1™u™Ñ$ u¨R°©U¡{Ñ2°V¸BÀ¹E±\ÑAÀEÈ"ÈaÉ%ÁKÑOÐRWÐXZÑRZÑZÐ]`Ñ`òað að að að að að ×%Ñ% a¨¬R°«UÓ3²~ÒEÐEÐEØ�<‰<˜Œ?˜rŸ}™}¨QÓ/°1·<±<ÄÓ3DÒDÐDÐDà×Ñ Ó"�D€A€qà
ˆR�‰U‰(�R˜‘UÑ
˜QÑ
€CØ
ˆb�!‰e‰)�a˜‘dÑ
˜RÑ
€CØ
ˆb�!‰e‰)�b‰.€Cà��c˜3�ÒÐÐà!# A¡¨¨!©¡¨a¨R°°1±©W°a¸±d¸QÀ¹T±kÐ BÖ	D˜"ˆ2�7‰7�1�:Ð	D€BÐ	Dà×$Ñ$¤S¨!¨R°°A°qÓ9¼cÀ1Àb¸\ÒIÐIÐIà×*Ñ*¬3°°2°q¸!Ó<€GØ�<‰<˜Ó ¤CÒ'Ð'Ñ'ùò5 %ùò* 
Es   Â4JÈ$Jc                  óT  — t        dt        «      \  } }}}t        dt        «      \  }}t        t        | j                  t        «      «      «      }|dk(  sJ ‚d|dz  z  d|z  z   dz   d|dz  z  d	|z  z
  d
z   d|dz  z  dz
  g}d|dz  z  |z  d|dz  z  z
  d|z  |z  z
  dz   d|dz  z  |z  d	|z  z
  d|z  z
  |dz  |dz  z  d	|dz  z  z
  |z   d	z
  g}d|dz  z  |z  d|dz  z  z
  d|z  |z  z
  dz   d|dz  z  |z  d	|z  z
  d|z  z
  |dz  |dz  z  d	|dz  z  z
  |z   d	z
  g}	d|dz  z  d|dz  z  z
  d|dz  z  z
  d|dz  z  z   d|z  z   dz   }
d	|dz  z  |dz  z  d|dz  z  |dz  z  z   d|dz  z  |dz  z  z
  d|dz  z  |z  z
  d|dz  z  z
  d|dz  z  |dz  z  z   d|dz  z  |dz  z  z
  d|dz  z  |z  z
  d|dz  z  |dz  z  z   d	|dz  z  |dz  z  z   d|dz  z  |dz  z  z
  d |dz  z  |z  z
  d!|dz  z  z
  d"|dz  z  |dz  z  z
  d#|dz  z  |z  z
  d|z  |dz  z  z   d$|z  |dz  z  z
  d|z  |z  z
  d%|z  z   d|z  z   }d&|dz  z  |dz  z  d|dz  z  |z  z
  d'|dz  z  |dz  z  z
  d(|dz  z  |z  z
  d|dz  z  z
  d)|dz  z  |dz  z  z
  d|dz  z  |z  z
  d*|z  |dz  z  z
  d	|z  z   d|z  z   }| j                  ||
g d|«      d+|z  d,dgk(  sJ ‚| j                  ||t        d-«      gd|«      | |z  d+|z  d.gk(  sJ ‚| j                  |	|t        d-«      gd|«      g d/¢k(  sJ ‚y )0Nr€   r   r�   r„   r   r…   r!   r†   rW   r    r‡   rˆ   r‰   r=   r   rb   iâëþÿr   iç  r   i¢E  iÙ  i§  éJ   é-   él   rh   r\   rj   i*  éü   i   i±  ro   iž  é6   éQ   iÜÿÿÿr[   é$   r   r/   éýÿÿÿr;   r‚   iúÿÿÿ)r   r   rc   )r   r   r   r8   rŠ   Údmp_zz_diophantine)r$   r   r,   r–   r—   r˜   r™   ÚH_1ÚH_2ÚH_3Úc_1Úc_2Úc_3s                r%   Útest_dmp_zz_wang_failrÁ   1  s)  € ä�GœRÓ �H€A€qˆˆ1Ü�#”r‹]�F€Bˆä
Œ9�Q×,Ñ,¬SÓ1Ó2Ó3€AØ�Š<Ðˆ<àˆa�‰d‰7�R˜‘T‰>˜AÑ˜s 1 a¡4™x¨!¨A©#™~°Ñ2°C¸¸1¹±H¸r±MÐ
B€CØˆa�‰d‰7�1‰9�r˜!˜Q™$‘wÑ  1¡ Q¡Ñ&¨Ñ*¨B¨q°!©t©G°A©I¸¸!¹©O¸aÀ¹cÑ,AÀ1ÀaÁ4ÈÈ1ÉÁ9ÈqÐQRÐTUÑQUÉvÑCUÐXYÑCYÐ\]ÑC]Ð
^€CØˆa�‰d‰7�1‰9�r˜!˜Q™$‘wÑ  1¡ Q¡Ñ&¨Ñ*¨B¨q°!©t©G°A©I¸¸!¹©O¸aÀ¹cÑ,AÀ1ÀaÁ4ÈÈ1ÉÁ9ÈqÐQRÐTUÑQUÉvÑCUÐXYÑCYÐ\]ÑC]Ð
^€Cà
��A‘‰+˜˜Q ™T™	Ñ
! E¨!¨Q©$¡JÑ
.°°a¸±d±Ñ
:¸TÀ!¹VÑ
CÀbÑ
H€CØ
ˆAˆq‰D‰&��A‘‰+˜˜1˜a™4™  1¡™Ñ
$ r¨!¨Q©$¡w¨q°!©t¡|Ñ
3°c¸!¸Q¹$±h¸q±jÑ
@À3ÀqÈ!ÁtÁ8Ñ
KÈbÐQRÐTUÑQUÉgÐVWÐYZÑVZÉlÑ
ZÐ]`ÐabÐdeÑaeÑ]eÐfgÐijÑfjÑ]jÑ
jÐmpÐqrÐtuÑquÑmuÐvwÑmwÑ
wÐz{Ð|}ð  @Añ  }Añ  {Að  BCð  EFñ  BFñ  {Fñ  Fð  IJð  KLð  NOñ  KOñ  IOð  PQð  STñ  PTñ  ITñ  Tð  WZð  [\ð  ^_ñ  [_ñ  W_ð  `að  cdñ  `dñ  Wdñ  dð  gjð  klð  noñ  koñ  goð  pqñ  gqñ  qð  twð  xyð  {|ñ  x|ñ  t|ñ  |ð  Að  BCð  EFñ  BFñ  Fð  GHð  JKñ  GKñ  Kñ  Kð  NQð  RSð  UVñ  RVñ  NVð  WXñ  NXñ  Xð  [\ð  ]^ñ  [^ð  _`ð  bcñ  _cñ  [cñ  cð  fhð  ijñ  fjð  klð  noñ  koñ  foñ  oð  rsð  tuñ  ruð  vwñ  rwñ  wð  z|ð  }~ñ  z~ñ  ~ð  ACð  DEñ  AEñ  E€CØ
ˆa�‰d‰(�1�a‘4‰-˜#˜a ™d™( 1™*Ñ
$ r¨!¨Q©$¡w¨q°!©t¡|Ñ
3°b¸¸A¹±g¸a±iÑ
?À#ÀaÈÁdÁ(Ñ
JÈQÈqÐRSÉtÉVÐTUÐWXÑTXÉ[Ñ
XÐ[]Ð^_ÐabÑ^bÑ[bÐcdÑ[dÑ
dÐghÐijÑgjÐklÐnoÑkoÑgoÑ
oÐrsÐtuÑruÑ
uÐxyÐz{Ñx{Ñ
{€Cà×Ñ  S¨"¨a°Ó3¸¸1¹¸bÀ!°}ÒDÐDÐDØ×Ñ  S¬2¨c«7¨)°Q¸Ó:À¸rÀ!¹tÀRÈÁTÈ2Ð>NÒNÐNÐNØ×Ñ  S¬2¨c«7¨)°Q¸Ó:ºjÒHÐHÑHr'   c                  óœ   — g d¢} t        dt        «      \  }}}}d|dz  z  ||z  z   |z
  |dz  z
  |z   }|j                  || ¬«      |gk(  sJ ‚y )N)rc   rc   r   r   r   r   rc   rc   r   rc   r   rc   r   r   r   r   rc   r   r€   r   )Úseed)r   r   Údmp_zz_wang)Úrandom_sequencer$   r   r,   r–   r?   s         r%   Útest_issue_6355rÆ   F  sc   € ò T€Oä�gœrÓ"�J€A€qˆ!ˆQØ	ˆ!ˆQ‰$‰��1‘‰�qÑ˜1˜a™4Ñ !Ñ#€Aà�=‰=˜ ˆ=Ó1°a°SÒ8Ð8Ñ8r'   c                  óŠ  — t        dt        «      \  } }| j                  d«      dg fk(  sJ ‚| j                  d«      dg fk(  sJ ‚| j                  d«      dg fk(  sJ ‚| j                  |dz  dz
  «      d|dz
  df|dz   dfgfk(  sJ ‚t        d	t        «      \  } }}| j                  d«      dg fk(  sJ ‚| j                  d«      dg fk(  sJ ‚| j                  d«      dg fk(  sJ ‚| j                  |«      d|dfgfk(  sJ ‚| j                  d
|z  «      d
|dfgfk(  sJ ‚| j                  d
|z  dz   «      dd|z  dz   dfgfk(  sJ ‚| j                  ||z  dz   «      d||z  dz   dfgfk(  sJ ‚| j                  |dz  dz   «      d|dz  dz   dfgfk(  sJ ‚| j                  |dz  dz
  «      d|dz
  df|dz   dfgfk(  sJ ‚| j                  |dz  |dz  z  d|dz  z  |z  z   d|dz  z  z   dz
  «      d||z  d|z  z   dz
  df||z  d|z  z   dz   dfgfk(  sJ ‚| j                  |dz  |dz  z  dz
  «      d||z  dz
  df||z  dz   dfgfk(  sJ ‚t        dt        «      \  } }}}| j                  |dz  |dz  z  |dz  z  dz
  «      d||z  |z  dz
  df||z  |z  dz   dfgfk(  sJ ‚t        dt        «      \  } }}}}| j                  |dz  |dz  z  |dz  z  |dz  z  dz
  «      d||z  |z  |z  dz
  df||z  |z  |z  dz   dfgfk(  sJ ‚t        dt        «      \  } }}}| j                  t        «      d|||z  z   dz   df||z  |z   dz   df||z  |z   dz   dfgfk(  sJ ‚| j                  t        «      d|dz  |dz  z  |dz  |dz  z  z   |z   dz   df|dz  |z  |dz  |z  z   |z   dz
  dfgfk(  sJ ‚| j                  t
        «      d|dz  |dz  z  ||d
z  z  z   |z   |z   df|dz  ||z  |z  z   |dz  z   ||dz  z  z   dfgfk(  sJ ‚| j                  t        «      d||dz  z  |dz  z   df|dz  |z  |d
z  |dz  z  z   dz   df|dz  |z  |dz  z
  dz
  df|dz  |d
z  z  |dz  z   dfgfk(  sJ ‚| j                  t        «      d||z   |z
  dfgfk(  sJ ‚t        dt        «      \  } }}}}| j                  t        «      dd|z  |z  |dz  |dz  z  z   |dz  z
  dfd|dz  z  d|dz  z  z
  |dz  z
  d|dz  z  z   d|z  |z  z   dfgfk(  sJ ‚t        dt        «      \  } }}}| j                  t        «      d|dz  |dz  z  |dz  |dz  z  z
  |z   |dz  z
  df|dz  |z  |dz  z  d|z  |z  z   d|z  z   dfd
|dz  z  |z  d
|dz  z  |z  z   ||z  |z  z   dz
  dfgfk(  sJ ‚t        d	t        «      \  } }}d|dz  z  |z  d|dz  z  |dz  z  z   d|dz  z  |d
z  z  z
  d|dz  z  |dz  z  z   d|dz  z  |dz  z  z
  d|d
z  z  |dz  z  z   d|dz  z  z
  }| j                  |«      d|df|dz  |z
  df|d
z  d|dz  z  |z  z   |dz  z   dfgfk(  sJ ‚y )Nr   r   r<   r`   r   rW   r!   r   r)   r   r/   r€   zx,y,z,ura   rO   ro   éZ   rd   rc   r   zx,y,z,té/   r³   iôÿÿÿrS   éð   r=   i   rf   r   )
r   r   Údmp_zz_factorÚf_1Úf_2Úf_3Úf_4Úf_5Úf_6rŠ   )r$   r   r,   r–   ÚurC   r?   s          r%   Útest_dmp_zz_factorrÓ   Q  sÆ  € Ü�”R‹=�D€A€qØ�?‰?˜1Ó ! R Ò(Ð(Ð(Ø�?‰?˜1Ó ! R Ò(Ð(Ð(Ø�?‰?˜2Ó 2 r (Ò*Ð*Ð*à�?‰?˜1˜a™4 !™8Ó$¨¨a°!©e°Q¨Z¸!¸a¹%À¸Ð,DÐ(EÒEÐEÐEä�5œ"‹o�G€A€qˆ!Ø�?‰?˜1Ó ! R Ò(Ð(Ð(Ø�?‰?˜1Ó ! R Ò(Ð(Ð(Ø�?‰?˜2Ó 2 r (Ò*Ð*Ð*à�?‰?˜1Ó ! q¨! f X Ò.Ð.Ð.Ø�?‰?˜1˜Q™3Ó A¨¨A¨ x =Ò0Ð0Ð0Ø�?‰?˜1˜Q™3 ™7Ó#¨¨Q¨q©S°1©W°a¨L¨>Ð':Ò:Ð:Ð:Ø�?‰?˜1˜Q™3 ™7Ó#¨¨Q¨q©S°1©W°a¨L¨>Ð':Ò:Ð:Ð:Ø�?‰?˜1˜a™4 !™8Ó$¨¨a°©d°Q©h¸¨]¨OÐ(<Ò<Ð<Ð<Ø�?‰?˜1˜a™4 !™8Ó$¨¨a°!©e°Q¨Z¸!¸a¹%À¸Ð,DÐ(EÒEÐEÐEà�?‰?˜1˜a™4  1¡™9 q¨¨A©¡v¨a¡xÑ/°!°A°q±D±&Ñ8¸1Ñ<Ó=À!ÀqÈÁsÈQÈqÉSÁyÐSTÁ}ÐVWÐFXÐ[\Ð]^Ñ[^ÐabÐcdÑadÑ[dÐghÑ[hÐjkÐZlÐEmÐAnÒnÐnÐnØ�?‰?˜1˜a™4  1¡™9 q™=Ó)¨a°1°Q±3¸±7¸A°,ÀÀ1ÁÀqÁÈ!ÀÐ1MÐ-NÒNÐNÐNä�gœrÓ"�J€A€qˆ!ˆQØ�?‰?˜1˜a™4  1¡™9 Q¨¡T™>¨AÑ-Ó.Ø	
ˆa�‰c�!‰e�a‰i˜ˆ^Ø�‰c�!‰e�a‰i˜ˆ^ðð 	òð ð ô ˜¤BÓ'�M€A€qˆ!ˆQ�Ø�?‰?˜1˜a™4  1¡™9 Q¨¡T™>¨!¨Q©$Ñ.°Ñ2Ó3Ø	
ˆa�‰c�!‰e�A‰g˜‰k˜1ÐØ�‰c�!‰e�A‰g˜‰k˜1Ððð 	 ò ð  ð  ô �gœrÓ"�J€A€qˆ!ˆQØ�?‰?œ3ÓØ	
ˆa�!�A‘#‰g˜‰l˜AÐØ�‰c�A‰g˜‰l˜AÐØ�‰c�A‰g˜‰l˜AÐð ð 	!ò!ð !ð !ð
 �?‰?œ3ÓØ	
ˆa�‰d�1�a‘4‰i˜!˜Q™$˜q !™t™)Ñ# aÑ'¨"Ñ,¨aÐ0Ø�‰d�1‰f�q˜!‘t˜A‘v‰o Ñ! BÑ&¨Ð*ð,ð 	-ò-ð -ð -ð �?‰?œ3ÓØ	
ˆa�‰d�1�a‘4‰i˜!˜A˜q™D™&Ñ  1Ñ$ qÑ(¨!Ð,Ø�‰d�Q�q‘S˜‘U‰l˜Q ™TÑ! A a¨¡d¡FÑ*¨AÐ.ð0ð 	1ò1ð 1ð 1ð �?‰?œ3ÓØ	ˆq��A‘‰v˜˜1™‰}˜aÐ Ø�!‰t�A‰v˜˜1™˜Q ™T™	Ñ! AÑ% qÐ)Ø�!‰t�A‰v˜˜1™‰}˜qÑ  !Ð$Ø�!‰t�A�q‘D‰y˜1˜a™4Ñ Ð#ð%ð 	&ò&ð &ð &ð �?‰?œ3ÓØ	ˆq�1‰u�q‰y˜!ˆnÐÐòð ð ô ˜¤BÓ'�M€A€qˆ!ˆQ�Ø�?‰?œ3ÓØ	
ˆb�‰d�1‰f�q˜!‘t˜A˜q™D‘yÑ  1 a¡4Ñ'¨Ð+Ø��A‘‰g˜˜!˜Q™$™Ñ  A¡Ñ%¨¨!¨Q©$©Ñ.°°1±°Q±Ñ6¸Ð:ð<ð 	=ò=ð =ð =ô �gœrÓ"�J€A€qˆ!ˆQØ�?‰?œ3ÓØ	
ˆa�‰d�1�a‘4‰i˜!˜Q™$˜q !™t™)Ñ# aÑ'¨!¨Q©$Ñ.°Ð2Ø�‰d�1‰f�Q˜‘T‰k˜A˜a™C ™EÑ! A a¡CÑ'¨Ð+Ø��1‘‰f�Q‰h˜˜1˜a™4™ ™Ñ! A a¡C¨¡EÑ)¨AÑ-¨qÐ1ð3ð 	4ò4ð 4ð 4ô
 �5œ"‹o�G€A€qˆ!ØˆAˆr‰E‰	�!‰�c˜!˜R™%‘i  1¡‘nÑ$ s¨1¨b©5¡y°°A±¡~Ñ5¸¸QÀ¹T¹	À!ÀQÁ$¹ÑFÈÈQÐPQÉTÉÐRSÐUVÑRVÉÑVÐY\Ð]^Ð`aÑ]aÑYaÐbcÐefÑbfÑYfÑfÐikÐlmÐopÑlpÑipÑp€Aà�?‰?˜1ÓØ	��1ˆvØ�1‘�q‘˜!ˆ}Ø�1‘�q˜˜A™‘v˜a‘x‘ ! Q¡$Ñ&¨Ð*ð,ð 	-ò-ð -ñ -r'   c            
      ó  — t        dt        «      \  } }t        dd«      }| j                  |dz  dz
  «      t        dd«      |dz  dz
  dfgfk(  sJ ‚| j                  |dz  dz
  «      t        dd«      |dz
  df|dz   dfgfk(  sJ ‚| j                  |dz  dz   «      t        dd«      ||z
  df||z   dfgfk(  sJ ‚| j                  |dz  dz  dz   «      t        t        dd«      d«      |d|z  z
  df|d|z  z   dfgfk(  sJ ‚| j                  |dz  dz   «      t        dd«      |d|z  z
  df|d|z  z   dfgfk(  sJ ‚| j                  |dz  d|z  z   dz   «      t        dd«      |dz   dfgfk(  sJ ‚| j                  |dz  d|z  |z  z   dz
  «      t        dd«      ||z   dfgfk(  sJ ‚d|dz  z  |dd|z  z   z  z   d	z
  d
|z  z   }| j                  |«      t        dd«      |t        t        dd«      t        dd«      «      z   dfgfk(  sJ ‚y )Nr   r   r!   r   r   é    é€X  é€¬ éH é‰² é±   é€   iY  )r   r	   Údup_qq_i_factorr   ©r$   r   rw   r?   s       r%   Útest_dup_qq_i_factorrÞ   �  s–  € Ü�”T‹?�D€A€qÜˆQ�‹
€Aà×Ñ˜Q ™T A™XÓ&¬4°°1«:¸¸A¹À¹À1¸°Ð*GÒGÐGÐGà×Ñ˜Q ™T A™XÓ&¬4°°1«:¸¸Q¹À¸
ÀQÈÁUÈAÀJÐ7OÐ*PÒPÐPÐPà×Ñ˜Q ™T A™XÓ&¬4°°1«:¸¸Q¹À¸
ÀQÈÁUÈAÀJÐ7OÐ*PÒPÐPÐPà×Ñ˜Q ™T !™V a™ZÓ(Ü”"�Q˜“(˜AÓ ! a¨¡c¡'¨1 °°A°a±C±¸¨|Ð <Ð=ò>ð >ð >ð ×Ñ˜Q ™T A™XÓ&Ü�!�Q‹Z˜1˜q ™s™7 A˜,¨¨Q¨q©S©°!¨Ð5Ð6ò7ð 7ð 7ð ×Ñ˜Q ™T A a¡C™Z¨!™^Ó,Ü�!�Q‹Z˜1˜q™5 !˜*˜Ð&ò'ð 'ð 'ð ×Ñ˜Q ™T A a¡C¨¡E™\¨AÑ-Ó.Ü�!�Q‹Z˜1˜q™5 !˜*˜Ð&ò'ð 'ð 'ð 	ˆQ�‰T‰	�A�u˜v a™xÑ'Ñ(Ñ(¨6Ñ1°F¸1±HÑ<€Aà×Ñ˜QÓÜ�$˜‹]˜a¤$¤r¨#¨s£|´R¸¸c³]Ó"CÑCÀQÐGÐHÐIòJð Jñ Jr'   c                  óP  — t        dt        «      \  } }}t        dd«      }| j                  |dz  d|dz  z  z   «      t        dd«      |dz  d|dz  z  z   dfgfk(  sJ ‚| j                  |dz  |dz  z   «      t        dd«      |||z  z
  df|||z  z   dfgfk(  sJ ‚| j                  |dz  |dz  dz  z   «      t        dd«      |||z  dz  z
  df|||z  dz  z   dfgfk(  sJ ‚| j                  d|dz  z  |dz  z   «      t        dd«      |||z  dz  z
  df|||z  dz  z   dfgfk(  sJ ‚y ©Nzx, yr   r!   r   r   )r   r	   Údmp_qq_i_factor©r$   r   r,   rw   s       r%   Útest_dmp_qq_i_factorrã   ¹  sŒ  € Ü�6œ4Ó �G€A€qˆ!ÜˆQ�‹
€Aà×Ñ˜Q ™T A a¨¡d¡F™]Ó+Ü�!�Q‹Z˜1˜a™4 ! A q¡D¡&™=¨!Ð,Ð-Ð.ò/ð /ð /ð ×Ñ˜Q ™T A q¡D™[Ó)Ü�!�Q‹Z˜1˜q ™s™7 A˜,¨¨Q¨q©S©°!¨Ð5Ð6ò7ð 7ð 7ð ×Ñ˜Q ™T A q¡D¨¡F™]Ó+Ü�!�Q‹Z˜1˜q ™s 1™u™9 a˜.¨1¨q°©s°1©u©9°a¨.Ð9Ð:ò;ð ;ð ;ð ×Ñ˜Q˜q !™t™V a¨¡d™]Ó+Ü�!�Q‹Z˜1˜q ™s 1™u™9 a˜.¨1¨q°©s°1©u©9°a¨.Ð9Ð:ò;ð ;ñ ;r'   c                  óf  — t        dt        «      \  } }t        dd«      }| j                  |dz  dz
  «      t        dd«      |dz  dz
  dfgfk(  sJ ‚| j                  |dz  dz
  «      t        dd«      |dz
  df|dz   dfgfk(  sJ ‚| j                  |dz  dz   «      t        dd«      ||z
  df||z   dfgfk(  sJ ‚| j                  |dz  dz   «      t        dd«      |d|z  z
  df|d|z  z   dfgfk(  sJ ‚| j                  |dz  d|z  z   dz   «      t        dd«      |dz   dfgfk(  sJ ‚| j                  |dz  d|z  |z  z   dz
  «      t        dd«      ||z   dfgfk(  sJ ‚d|dz  z  |dd|z  z   z  z   d	z
  d
|z  z   }| j                  |«      t        dd«      dd|z  z
  |z  dd|z  z   z   dfgfk(  sJ ‚y )Nr   r   r!   r   r   rÕ   rÖ   r×   rØ   rÙ   r2   i  iT  )r   r   Údup_zz_i_factorrÝ   s       r%   Útest_dup_zz_i_factorræ   Ê  s7  € Ü�”T‹?�D€A€qÜˆQ�‹
€Aà×Ñ˜Q ™T A™XÓ&¬4°°1«:¸¸A¹À¹À1¸°Ð*GÒGÐGÐGà×Ñ˜Q ™T A™XÓ&¬4°°1«:¸¸Q¹À¸
ÀQÈÁUÈAÀJÐ7OÐ*PÒPÐPÐPà×Ñ˜Q ™T A™XÓ&¬4°°1«:¸¸Q¹À¸
ÀQÈÁUÈAÀJÐ7OÐ*PÒPÐPÐPà×Ñ˜Q ™T A™XÓ&Ü�!�Q‹Z˜1˜q ™s™7 A˜,¨¨Q¨q©S©°!¨Ð5Ð6ò7ð 7ð 7ð ×Ñ˜Q ™T A a¡C™Z¨!™^Ó,Ü�!�Q‹Z˜1˜q™5 !˜*˜Ð&ò'ð 'ð 'ð ×Ñ˜Q ™T A a¡C¨¡E™\¨AÑ-Ó.Ü�!�Q‹Z˜1˜q™5 !˜*˜Ð&ò'ð 'ð 'ð 	ˆQ�‰T‰	�A�u˜v a™xÑ'Ñ(Ñ(¨6Ñ1°F¸1±HÑ<€Aà×Ñ˜QÓÜ�!�Q‹Z˜B  A¡™I q™=¨C°#°a±%©KÑ8¸!Ð<Ð=Ð>ò?ð ?ñ ?r'   c                  óÄ  — t        dt        «      \  } }}t        dd«      }| j                  |dz  d|dz  z  z   «      t        dd«      |dz  d|dz  z  z   dfgfk(  sJ ‚| j                  |dz  |dz  z   «      t        dd«      |||z  z
  df|||z  z   dfgfk(  sJ ‚| j                  d|dz  z  |dz  z   «      t        dd«      d|z  ||z  z
  dfd|z  ||z  z   dfgfk(  sJ ‚y rà   )r   r   Údmp_zz_i_factorrâ   s       r%   Útest_dmp_zz_i_factorré   ã  s*  € Ü�6œ4Ó �G€A€qˆ!ÜˆQ�‹
€Aà×Ñ˜Q ™T A a¨¡d¡F™]Ó+Ü�!�Q‹Z˜1˜a™4 ! A q¡D¡&™=¨!Ð,Ð-Ð.ò/ð /ð /ð ×Ñ˜Q ™T A q¡D™[Ó)Ü�!�Q‹Z˜1˜q ™s™7 A˜,¨¨Q¨q©S©°!¨Ð5Ð6ò7ð 7ð 7ð ×Ñ˜Q˜q !™t™V a¨¡d™]Ó+Ü�!�Q‹Z˜1˜Q™3  1¡™9 a˜.¨1¨Q©3°°1±©9°a¨.Ð9Ð:ò;ð ;ñ ;r'   c                  óî  — t        dt        j                  t        «      «      \  } }d„ }| j	                  d«       |g «      g fk(  sJ ‚ |t        d«      g«      |z   |t        d«      g«      z   }| j	                  |«       |t        d«      g«      |dfgfk(  sJ ‚ |t        d«      g«      |z   |t        d«      g«      z   }| j	                  |«       |t        d«      g«      |dfgfk(  sJ ‚ |t        d«      g«      |dz  z   |t        dd«      g«      z   } |t        d«      g«      |dz  z   |t        dd«      g«      z   }| j	                  |«       |t        d«      g«      |dfgfk(  sJ ‚ |t        d«      g«      |dz  z   |t        d«      g«      z   }| j	                  |«       |t        dd«      g«       |t        d«      g«      |dz  z   |t        d«      t        d«      g«      z   df |t        d«      g«      |dz  z   |t        d«      t        d«      g«      z   dfgfk(  sJ ‚ |t        dd«      g«      |dz  z   |t        d	d«      g«      z   }| j	                  |«       |t        dd«      g«       |t        dd«      g«      |z   |t        d
d«       t        dd«      g«      z   df |t        dd«      g«      |z   |t        d
d«      t        dd«      g«      z   dfgfk(  sJ ‚ |t        dd«      g«      |dz  z   |t        dd«      g«      |d
z  z  z    |t        dd«      g«      |dz  z  z    |t        dd«      g«      |z  z    |t        dd«      g«      z   }| j	                  |«       |t        dd«      g«       |t        dd«      g«      |z   |t        dd«       t        dd«      g«      z   df |t        dd«      g«      |z   |t        d
d«       t        dd«      g«      z   df |t        dd«      g«      |z   |t        d
d«      t        dd«      g«      z   df |t        dd«      g«      |z   |t        dd«      t        dd«      g«      z   dfgfk(  sJ ‚t        dt        j                  t        d«      «      «      \  } }d„ } |t        d«      g«      |dz  z   |t        dd«      g«      z   }| j	                  |«       |t        d«      g«       |t        d«      g«      |dz  z   |t        d«      t        d«      g«      |z  z    |t        d«      g«      z   df |t        d«      g«      |dz  z   |t        d«      t        d«      g«      |z  z    |t        d«      g«      z   dfgfk(  sJ ‚ |t        dd«      g«      |dz  z   |t        d«      t        d«      g«      |z  z    |t        dd«      g«      z   }| j	                  |«       |t        dd«      g«       |dg«      |z   |ddg«      z   dfgfk(  sJ ‚| j	                  |d
z  «       |t        dd«      g«       |dg«      |z   |ddg«      z   dfgfk(  sJ ‚| |t        dd«      g«      z  }| j	                  |«       |t        dd«      g«       |dg«      |z   |ddg«      z   dfgfk(  sJ ‚| j	                  |d
z  «       |t        dd«      g«       |dg«      |z   |ddg«      z   dfgfk(  sJ ‚y )Nr   c                 ó`   — t        | t        d«      t        d«      t        d«      gt        «      S ©Nr!   r   ©r   r   ©Úelements    r%   Úanpz test_dup_ext_factor.<locals>.anpó  ó$   € Ü�7œR ›U¤B q£E¬2¨a«5Ð1´2Ó6Ð6r'   r   r!   r   r<   r   rc   rW   r   r   éM   r\   é™   c                 ó`   — t        | t        d«      t        d«      t        d«      gt        «      S ©Nr!   r   r;   rí   rî   s    r%   rð   z test_dup_ext_factor.<locals>.anp  s$   € Ü�7œR ›U¤B q£E¬2¨b«6Ð2´BÓ7Ð7r'   r/   )r   r   Úalgebraic_fieldr   Údup_ext_factorr   )r$   r   rð   r?   r@   s        r%   Útest_dup_ext_factorrø   ñ  sN  € Ü�”R×'Ñ'¬Ó*Ó+�D€A€qò7ð ×Ñ˜AÓ¡3 r£7¨B -Ò/Ð/Ð/áŒR�‹UˆG‹�Q‰™œb ›e˜W›Ñ%€Aà×Ñ˜AÓ¡3¬¨1« w£<°1°a°&°Ð":Ò:Ð:Ð:áŒR�‹UˆG‹�Q‰™œb ›e˜W›Ñ%€Aà×Ñ˜AÓ¡3¬¨1« w£<°1°a°&°Ð":Ò:Ð:Ð:áŒR�‹UˆG‹�Q˜‘TÑ™C¤ A q£ 
›OÑ+€AÙŒR�‹UˆG‹�Q˜‘TÑ™C¤ A q£ 
›OÑ+€Aà×Ñ˜AÓ¡3¬¨1« w£<°1°a°&°Ð":Ò:Ð:Ð:áŒR�‹UˆG‹�Q˜‘TÑ™C¤ A£ ›LÑ(€Aà×Ñ˜AÓÙ	Œb��A‹hˆZ‹™C¤ A£ ›L¨¨A©Ñ-±´R¸³V¼RÀ»U°OÓ0DÑDÀaÐHÙ¤ A£ ›L¨¨A©Ñ-±´R¸³V¼RÀ»U°OÓ0DÑDÀaÐHðJð 	KòKð Kð Kñ 	ŒR��1‹XˆJ‹˜˜1™Ñ™s¤B q¨!£H :›Ñ.€Aà×Ñ˜AÓÙ	Œb��A‹hˆZ‹™C¤ A q£ 
›O¨AÑ-±´b¸¸A³h°YÄÀ1ÀaÃÐ4IÓ0JÑJÈAÐNÙ¤ A q£ 
›O¨AÑ-±´b¸¸A³hÄÀ1ÀaÃÐ4IÓ0JÑJÈAÐNðPð 	QòQð Qð Qñ 	ŒR��1‹XˆJ‹˜˜1™Ñ™s¤B q¨!£H :›¨q°!©tÑ3Ñ3±c¼2¸bÀ!»9¸+Ó6FÀqÈ!ÁtÑ6KÑKÉcÔSUÐVXÐZ[ÓS\ÐR]ÓN^Ð_`ÑN`Ñ`ÑcfÔhjÐknÐpqÓhrÐgsÓctÑt€Aà×Ñ˜AÓÙ	Œb��A‹hˆZ‹™C¤ A q£ 
›O¨AÑ-±´b¸¸A³h°YÄÀ1ÀaÃÐ4IÓ0JÑJÈAÐNÙ¤ A q£ 
›O¨AÑ-±´b¸¸A³h°YÄÀ1ÀaÃÐ4IÓ0JÑJÈAÐNÙ¤ A q£ 
›O¨AÑ-±´b¸¸A³hÄÀ1ÀaÃÐ4IÓ0JÑJÈAÐNÙ¤ A q£ 
›O¨AÑ-±´b¸¸A³hÄÀ1ÀaÃÐ4IÓ0JÑJÈAÐNðPð 	QòQð Qð Qô �”R×'Ñ'¬¨Q«Ó0Ó1�D€A€qò8ñ 	ŒR�‹UˆG‹�Q˜‘TÑ™C¤ A q£ 
›OÑ+€Aà×Ñ˜AÓÙ	Œb�‹eˆW‹™œb ›e˜W› a¨¡dÑ*©S´"°R³&¼"¸Q»%°Ó-AÀ!Ñ-CÑCÁcÌ2ÈaË5È'ÃlÑRÐTUÐVÙœb ›e˜W› a¨¡dÑ*©S´"°a³&¼"¸Q»%°Ó-AÀ!Ñ-CÑCÁcÌ2ÈaË5È'ÃlÑRÐTUÐVðXð 	YòYð Yð Yñ 	ŒR��1‹XˆJ‹˜˜1™Ñ™s¤B q£E¬2¨a«5 >Ó2°1Ñ4Ñ4±s¼B¸qÀ!»H¸:³ÑF€Aà×Ñ˜AÓÙ	Œb��A‹hˆZ‹™C  ›H Q™J©¨a°¨V«Ñ4°aÐ8Ð9Ð:ò;ð ;ð ;ð ×Ñ˜A˜q™DÓ!Ù	Œb��A‹hˆZ‹™C  ›H Q™J©¨a°¨V«Ñ4°aÐ8Ð9Ð:ò;ð ;ð ;ð ‰Œb��A‹hˆZ‹Ñ€Aà×Ñ˜AÓÙ	Œb��A‹hˆZ‹™C  ›H Q™J©¨a°¨V«Ñ4°aÐ8Ð9Ð:ò;ð ;ð ;ð ×Ñ˜A˜q™DÓ!Ù	Œb��A‹hˆZ‹™C  ›H Q™J©¨a°¨V«Ñ4°aÐ8Ð9Ð:ò;ð ;ñ ;r'   c            
      óÈ  — t        j                  t        d«      «      } t        d| «      \  }}}| j                  }d„ }|j                  d«       |g «      g fk(  sJ ‚ |t        d«      g«      |z   |t        d«      g«      z   }|j                  |«       |t        d«      g«      |dfgfk(  sJ ‚ |t        d«      g«      |z   |t        d«      g«      z   }|j                  |«       |t        d«      g«      |dfgfk(  sJ ‚ |t        d«      g«      |dz  z   |t        d«      g«      |dz  z  z   }|j                  |«       |t        d«      g«       |t        d«      g«      |z   |t        d«      t        d«      g«      |z  z   df |t        d«      g«      |z   |t        d«      t        d«      g«      |z  z   dfgfk(  sJ ‚ |t        d«      g«      |dz  z   |t        d«      g«      |dz  z  z   }|j                  |«       |t        d«      g«       |t        d«      g«      |z   |t        d«      t        d«      g«      |z  z   df |t        d«      g«      |z   |t        d«      t        d«      g«      |z  z   dfgfk(  sJ ‚|dz   }||z   }	|dz  |z   dz   d	|z  z   }
|dz  |	dz  z  |
dz  z  }|j                  |«      | j                  |df|	df|
dfgfk(  sJ ‚y )
Nr   r)   c                 ó`   — t        | t        d«      t        d«      t        d«      gt        «      S rõ   rí   )r   s    r%   rð   z test_dmp_ext_factor.<locals>.anp9  s$   € Ü�1”r˜!“uœb ›e¤R¨£VÐ,¬bÓ1Ð1r'   r   r!   r;   rc   r‰   r   )r   rö   r   r   ÚunitÚdmp_ext_factorÚone)r¦   r$   r   r,   Úsqrt2rð   r?   r@   Úf1Úf2Úf3s              r%   Útest_dmp_ext_factorr  4  s  € Ü
×Ñœ4 ›7Ó#€AÜ�%˜‹^�F€A€qˆØ�F‰F€Eò2ð ×Ñ˜AÓ¡3 r£7¨B -Ò/Ð/Ð/áŒR�‹UˆG‹�Q‰™œb ›e˜W›Ñ%€Aà×Ñ˜AÓ¡3¬¨1« w£<°1°a°&°Ð":Ò:Ð:Ð:áŒR�‹UˆG‹�Q‰™œb ›e˜W›Ñ%€Aà×Ñ˜AÓ¡3¬¨1« w£<°1°a°&°Ð":Ò:Ð:Ð:áŒR�‹UˆG‹�Q˜‘TÑ™C¤ B£ ›M¨!¨Q©$Ñ.Ñ.€Aà×Ñ˜AÓÙ	Œb�‹eˆW‹™œb ›e˜W› a™©#¬r°"«v´r¸!³u¨oÓ*>¸qÑ*@Ñ@À!ÐDÙœb ›e˜W› a™©#¬r°1«v´r¸!³u¨oÓ*>¸qÑ*@Ñ@À!ÐDðFð 	GòGð Gð Gñ 	ŒR�‹UˆG‹�Q˜‘TÑ™C¤ B£ ›M¨!¨Q©$Ñ.Ñ.€Aà×Ñ˜AÓÙ	Œb�‹eˆW‹™œb ›e˜W› a™©#¬r°"«v´r¸!³u¨oÓ*>¸qÑ*@Ñ@À!ÐDÙœb ›e˜W› a™©#¬r°1«v´r¸!³u¨oÓ*>¸qÑ*@Ñ@À!ÐDðFð 	GòGð Gð Gð 
ˆQ‰€BØ	
ˆU‰€BØ	
ˆA‰�‰�A‰˜˜%™Ñ	€BØ
ˆA‰��A‘‰˜˜A™Ñ€AØ×Ñ˜AÓ 1§5¡5¨B°¨7°R¸°G¸bÀ!¸WÐ*EÐ"FÒFÐFÑFr'   c            
      óº
  ‡— t        dt        «      \  Š} ‰j                  d«      dg fk(  sJ ‚‰j                  d«      dg fk(  sJ ‚t        dt        «      \  Š} ‰j                  d«      dg fk(  sJ ‚‰j                  t        dd«      «      t        dd«      g fk(  sJ ‚t        dt        d   «      \  Š} ‰j                  d«      dg fk(  sJ ‚‰j                  d«      dg fk(  sJ ‚t        dt        d   «      \  Š} ‰j                  d«      dg fk(  sJ ‚‰j                  t        dd«      «      t        dd«      g fk(  sJ ‚t        dt        «      \  Š} ‰j	                  d«      dgk(  sJ ‚‰j	                  d«      dgk(  sJ ‚‰j                  | dz  d| z  z   dz   «      d| dz   dfgfk(  sJ ‚‰j	                  | dz  d| z  z   dz   «      | dz   dfgk(  sJ ‚‰j                  d	| dz  z  d
| z  z
  d	z
  «      dd| z  dz
  dfd| z  dz   dfgfk(  sJ ‚t        dt        «      \  Š} ‰j                  t        dd«      | dz  z  | z   t        dd«      z   «      t        dd«      | dz   dfgfk(  sJ ‚t        dt        d«      «      \  Š} ‰j                  | dz  dz   «      d| dz   dfgfk(  sJ ‚t        dt        «      \  Š} ‰j                  d| dz  z  d| z  z   dz   «      dd| z  dz   dfgfk(  sJ ‚‰j                  d| dz  z  d| z  z   dz   «      dd| z  dz   dfgfk(  sJ ‚d| dz  z  d| z  z
  dz
  }‰j                  |«      \  }}|t        d«      k(  sJ ‚t        |«      dk(  sJ ‚|d   d   j                  «       t        d«      k(  sJ ‚|d   d   dk(  sJ ‚t        dt        «      \  }}t        d|«      \  Š} d|z  | dz  z  d|dz  z  | z  z   }‰j                  |«      d|z  | df| |z   dfgfk(  sJ ‚t        dt        «      \  }}t        d|«      \  Š} t        dd«      |z  | dz  z  t        dd«      |dz  z  | z  z   }‰j                  |«      t        dd«      |z  | df| |z   dfgfk(  sJ ‚t        dt        j                  t        «      «      \  Š} d„ } |t        dd«      g«      | dz  z   |t        dd«      g«      | dz  z  z   }‰j                  |«       |t        dd«      g«       |t        dd«      g«      | z  df |t        dd«      g«      | dz  z   |g «      | z  z    |t        dd«      g«      z   dfgfk(  sJ ‚t        dt        «      \  Š} t        t        ˆfd„«       y )Nr   r   r<   r!   rC   ©r   r!   ©r<   r!   r   r/   r   r   ç      ð?ç       @g      @çå§wÙßã@ç Ål•ôJ%@çÁ„¸•¥kÕ?r   c                 ó`   — t        | t        d«      t        d«      t        d«      gt        «      S rì   rí   rî   s    r%   rð   z!test_dup_factor_list.<locals>.anp—  rñ   r'   c                  óJ   •— ‰ j                  t        t        d«      «      «      S ©Nr!   )Údup_factor_listr   r   ©r$   s   €r%   ú<lambda>z&test_dup_factor_list.<locals>.<lambda>¡  ó   ø€  × 1Ñ 1´"´S¸³V³*Ó =€ r'   )r   r   r  r   Údup_factor_list_includer   r
   ÚlenÚmax_normrö   r   r   r   r   )r   r?   Úcoeffry   ÚRtrC   rð   r$   s          @r%   Útest_dup_factor_listr  Y  s'  ø€ Ü�”R‹=�D€A€qØ×Ñ˜QÓ A r 7Ò*Ð*Ð*Ø×Ñ˜QÓ A r 7Ò*Ð*Ð*ä�”R‹=�D€A€qØ×Ñ˜QÓ A r 7Ò*Ð*Ð*Ø×ÑœR  1›XÓ&¬2¨a°«8°R¨.Ò8Ð8Ð8ä�”R˜‘WÓ�D€A€qØ×Ñ˜QÓ A r 7Ò*Ð*Ð*Ø×Ñ˜QÓ A r 7Ò*Ð*Ð*ä�”R˜‘WÓ�D€A€qØ×Ñ˜QÓ A r 7Ò*Ð*Ð*Ø×ÑœR  1›XÓ&¬2¨a°«8°R¨.Ò8Ð8Ð8ä�”R‹=�D€A€qØ×$Ñ$ QÓ'¨F¨8Ò3Ð3Ð3Ø×$Ñ$ QÓ'¨F¨8Ò3Ð3Ð3à×Ñ˜Q ™T A a¡C™Z¨!™^Ó,°°a¸!±e¸Q°Z°LÐ0AÒAÐAÐAØ×$Ñ$ Q¨¡T¨A¨a©C¡Z°!¡^Ó4¸!¸a¹%À¸¸ÒDÐDÐDà×Ñ˜Q˜q !™t™V a¨¡c™\¨AÑ-Ó.°1¸¸!¹¸a¹À°|ÀaÈÁcÈAÁgÈqÀ\Ð6RÐ2SÒSÐSÐSä�”R‹=�D€A€qØ×ÑœR  !›W Q¨¡T™\¨AÑ-´°1°Q³Ñ7Ó8¼RÀÀ1»XÈÈQÉÐPQÈ
À|Ð<TÒTÐTÐTä�”R˜“UÓ�D€A€qØ×Ñ˜Q ™T A™XÓ&¨1°°A±°q¨z¨lÐ*;Ò;Ð;Ð;ä�”R‹=�D€A€qØ×Ñ˜S  A¡™X¨¨A©Ñ-°Ñ3Ó4¸ÀÀAÁÈÁÈQÐ?OÐ>PÐ8QÒQÐQÐQØ×Ñ˜S  A¡™X¨¨A©Ñ-°Ñ3Ó4¸ÀÀAÁÈÁÈQÐ?OÐ>PÐ8QÒQÐQÐQà˜˜1™ÑÐ/°Ñ1Ñ1Ð4DÑD€AØ×&Ñ& qÓ)�N€Eˆ7Ø”BÐ'Ó(Ò(Ð(Ð(Üˆw‹<˜1ÒÐÐØ�1‰:�a‰=×!Ñ!Ó#¤r¨#£wÒ.Ð.Ð.Ø�1‰:�a‰=˜AÒÐÐä�”b‹M�E€BˆÜ��R‹=�D€A€qà	ˆ!‰ˆAˆq‰D‰�1�Q˜‘T‘6˜!‘8Ñ€Aà×Ñ˜QÓØ	
ˆ1‰��1ˆvØ�!‰e�QˆZðð 	òð ð ô �”b‹M�E€BˆÜ��R‹=�D€A€qä
ˆ1ˆa‹�‰
�1�a‘4‰œ"˜Q ›( 1 a¡4™-¨™/Ñ)€Aà×Ñ˜QÓÜ	ˆAˆq‹�!‰�q˜!�fØ˜‘U˜A�Jð ð 	!ò!ð !ð !ô �”R×'Ñ'¬Ó*Ó+�D€A€qò7ñ 	ŒR��1‹XˆJ‹˜˜1™Ñ™s¤B q¨!£H :›¨q°!©tÑ3Ñ3€Aà×Ñ˜QÓÙ	Œb��A‹hˆZ‹™C¤ A q£ 
›O¨AÑ-¨qÐ1Ù¤ A q£ 
›O¨A¨q©DÑ0±3°r³7¸1±9Ñ<¹sÄBÀqÈ!ÃHÀ:»ÑNÐPQÐRðTð 	UòUð Uð Uô �”R‹=�D€A€qÜ
Œ;Ó=Õ>r'   c                  ó¤  ‡‡‡	— t        dt        «      \  ŠŠŠ	‰j                  d«      t        d«      g fk(  sJ ‚‰j                  d«      dg fk(  sJ ‚t        dt        «      \  ŠŠŠ	‰j                  d«      t        d«      g fk(  sJ ‚‰j                  t        dd«      «      t        dd«      g fk(  sJ ‚t        dt        «      \  } }t        d| «      \  ŠŠŠ	‰j                  d«      dg fk(  sJ ‚‰j                  d«      t        d«      g fk(  sJ ‚t        dt        «      \  } }t        d| «      \  ŠŠŠ	‰j                  d«      dg fk(  sJ ‚‰j                  t        dd«      «      t        dd«      g fk(  sJ ‚t        dt        «      \  ŠŠŠ	‰j	                  d«      dgk(  sJ ‚‰j	                  d«      dgk(  sJ ‚t        dt        «      \  Š}|d   d	z  d	|d   z  z   dz   |d   dz   }}‰j                  |«      d|d	fgfk(  sJ ‚|d
   d	z  d	|d
   z  z   dz   |d
   dz   }}‰j                  |«      d|d	fgfk(  sJ ‚t        dt        «      \  ŠŠ‰j                  ‰d	z  d	‰z  z   dz   «      d‰dz   d	fgfk(  sJ ‚t        dt        «      \  ŠŠ‰j                  t        dd	«      ‰d	z  z  ‰z   t        dd	«      z   «      t        dd	«      ‰dz   d	fgfk(  sJ ‚t        dt        «      \  ŠŠŠ	‰j                  ‰d	z  d	‰z  z   dz   «      d‰dz   d	fgfk(  sJ ‚t        dt        «      \  ŠŠŠ	‰j                  t        dd	«      ‰d	z  z  ‰z   t        dd	«      z   «      t        dd	«      ‰dz   d	fgfk(  sJ ‚t        dt        «      \  ŠŠŠ	d‰d	z  z  ‰	z  d‰z  ‰	d	z  z  z   }‰j                  |«      d‰	df‰df‰‰	z   dfgfk(  sJ ‚‰j	                  |«      d‰	z  df‰df‰‰	z   dfgk(  sJ ‚t        dt        «      \  ŠŠŠ	t        dd	«      ‰d	z  z  ‰	z  t        dd	«      ‰z  ‰	d	z  z  z   }‰j                  |«      t        dd	«      ‰	df‰df‰‰	z   dfgfk(  sJ ‚t        dt        «      \  ŠŠŠ	d‰d	z  z  d‰	d	z  z  z
  }‰j                  |«      t        d«      d‰z  ‰	z
  dfd‰z  ‰	z   dfgfk(  sJ ‚d‰d	z  z  ‰	d	z  z  d‰z  ‰	z  z
  dz
  }‰j                  |«      \  }}|t        d«      k(  sJ ‚t        |«      dk(  sJ ‚|d   d   j                  «       t        d«      k(  sJ ‚|d   d   dk(  sJ ‚t        dt        «      \  } }t        d| «      \  ŠŠŠ	d|z  ‰d	z  z  d|d	z  z  ‰z  z   }‰j                  |«      d|z  ‰df‰|z   dfgfk(  sJ ‚t        dt        «      \  } }t        d| «      \  ŠŠŠ	t        dd	«      |z  ‰d	z  z  t        dd	«      |d	z  z  ‰z  z   }‰j                  |«      t        dd	«      |z  ‰df‰|z   dfgfk(  sJ ‚t        dt        d	«      «      \  ŠŠŠ	t        t        ˆˆˆ	fd„«       t        dt        «      \  ŠŠŠ	t        t        ˆfd„«       y )Nr)   r   r<   r!   rC   r  r  zx:200r   rc   r   r   r  g       @g      à?r  r	  r
  r  c                  ó8   •— ‰ j                  ‰dz  ‰dz  z   «      S )Nr   )Údmp_factor_listr+   s   €€€r%   r  z&test_dmp_factor_list.<locals>.<lambda>  s   ø€ ¨×(9Ñ(9¸!¸Q¹$ÀÀAÁ¹+Ó(F€ r'   c                  óJ   •— ‰ j                  t        t        d«      «      «      S r  )r  r   r   r  s   €r%   r  z&test_dmp_factor_list.<locals>.<lambda>  r  r'   )r   r   r  r   Údmp_factor_list_includer   r
   r  r  r   r   ÚNotImplementedErrorr   r   )
r  rC   ÚXr?   r@   r  ry   r$   r   r,   s
          @@@r%   Útest_dmp_factor_listr  ¤  s[  ú€ Ü�5œ"‹o�G€A€qˆ!Ø×Ñ˜QÓ¤B q£E¨2 ;Ò.Ð.Ð.Ø×Ñ˜QÓ A r 7Ò*Ð*Ð*ä�5œ"‹o�G€A€qˆ!Ø×Ñ˜QÓ¤B q£E¨2 ;Ò.Ð.Ð.Ø×ÑœR  1›XÓ&¬2¨a°«8°R¨.Ò8Ð8Ð8ä�”b‹M�E€BˆÜ�5˜"‹o�G€A€qˆ!Ø×Ñ˜QÓ A r 7Ò*Ð*Ð*Ø×Ñ˜QÓ¤B q£E¨2 ;Ò.Ð.Ð.ä�”b‹M�E€BˆÜ�5˜"‹o�G€A€qˆ!Ø×Ñ˜QÓ A r 7Ò*Ð*Ð*Ø×ÑœR  1›XÓ&¬2¨a°«8°R¨.Ò8Ð8Ð8ä�5œ"‹o�G€A€qˆ!Ø×$Ñ$ QÓ'¨F¨8Ò3Ð3Ð3Ø×$Ñ$ QÓ'¨F¨8Ò3Ð3Ð3ä�œ"Ó�D€A€qàˆQ‰4�‰7�Q�q˜‘t‘VÑ˜aÑ  1¡¨¡€q€AØ×Ñ˜QÓ A¨¨A¨ x =Ò0Ð0Ð0àˆR‰5�!‰8�a˜˜"™‘gÑ Ñ! 1 R¡5¨1¡9€q€AØ×Ñ˜QÓ A¨¨A¨ x =Ò0Ð0Ð0ä�”R‹=�D€A€qØ×Ñ˜Q ™T A a¡C™Z¨!™^Ó,°°a¸!±e¸Q°Z°LÐ0AÒAÐAÐAÜ�”R‹=�D€A€qØ×ÑœR  !›W Q¨¡T™\¨AÑ-´°1°Q³Ñ7Ó8¼RÀÀ!»WÈÈAÉÈqÀzÀlÐ<SÒSÐSÐSä�5œ"‹o�G€A€qˆ!Ø×Ñ˜Q ™T A a¡C™Z¨!™^Ó,°°a¸!±e¸Q°Z°LÐ0AÒAÐAÐAÜ�5œ"‹o�G€A€qˆ!Ø×ÑœR  !›W Q¨¡T™\¨AÑ-´°1°Q³Ñ7Ó8¼RÀÀ!»WÈÈAÉÈqÀzÀlÐ<SÒSÐSÐSä�5œ"‹o�G€A€qˆ!Ø	ˆ!ˆQ‰$‰ˆq‰�1�Q‘3�q˜!‘t‘8Ñ€Aà×Ñ˜QÓØ	
ˆa�ˆVØ�ˆVØ�!‰e�QˆZðð 	òð ð ð
 ×$Ñ$ QÓ'Ø
ˆA‰#ˆqˆØ
ˆQˆØ
ˆa‰%�ˆð	òð ð ô
 �5œ"‹o�G€A€qˆ!Ü
ˆ1ˆQ‹��1‘‰�Q‰œ˜A˜a› ™ 1 a¡4™Ñ'€Aà×Ñ˜QÓÜ	ˆAˆa‹�A�q�6Ø�q�6Ø˜‘E˜1�:ðð 	 ò ð  ð  ô
 �5œ"‹o�G€A€qˆ!ØˆAˆq‰D‰�3�q˜!‘t‘8Ñ€Aà×Ñ˜QÓÜ	ˆC‹�C˜‘E˜A‘I˜q�>Ø˜‘E˜A‘I˜q�>ð#ð 	$ò$ð $ð $ð 	˜˜1™Ñ˜Q ™TÑ!Ð$4°QÑ$6°qÑ$8Ñ8Ð;KÑK€AØ×&Ñ& qÓ)�N€Eˆ7Ø”BÐ'Ó(Ò(Ð(Ð(Üˆw‹<˜1ÒÐÐØ�1‰:�a‰=×!Ñ!Ó#¤r¨#£wÒ.Ð.Ð.Ø�1‰:�a‰=˜AÒÐÐä�”b‹M�E€BˆÜ�5˜"‹o�G€A€qˆ!Ø	ˆ!‰ˆAˆq‰D‰�1�Q˜‘T‘6˜!‘8Ñ€Aà×Ñ˜QÓØ	
ˆ1‰��1ˆvØ�!‰e�QˆZðð 	òð ð ô �”b‹M�E€BˆÜ�5˜"‹o�G€A€qˆ!Ü
ˆ1ˆa‹�‰
�1�a‘4‰œ"˜Q ›( 1 a¡4™-¨™/Ñ)€Aà×Ñ˜QÓÜ	ˆAˆq‹�!‰�q˜!�fØ˜‘U˜A�Jð ð 	!ò!ð !ð !ô �5œ"˜Q›%Ó �G€A€qˆ!Ü
ÔÕ FÔGä�5œ"‹o�G€A€qˆ!Ü
Œ;Ó=Õ>r'   c                  ó¨   — t        dt        «      \  } }| j                  |dz  |z   dz   «      du sJ ‚| j                  |dz  d|z  z   dz   «      du sJ ‚y )Nr   r   r!   TF)r   r   Údup_irreducible_pr#   s     r%   Útest_dup_irreducible_pr"    s_   € Ü�”R‹=�D€A€qØ×Ñ˜q !™t a™x¨!™|Ó,°Ñ4Ð4Ð4Ø×Ñ˜q !™t a¨¡c™z¨A™~Ó.°%Ñ7Ð7Ñ7r'   c                  óª   — t        dt        «      \  } }}| j                  |dz  |z   dz   «      du sJ ‚| j                  |dz  d|z  z   dz   «      du sJ ‚y )Nr)   r   r!   TF)r   r   Údmp_irreducible_pr+   s      r%   Útest_dmp_irreducible_pr%    sa   € Ü�5œ"‹o�G€A€qˆ!Ø×Ñ˜q !™t a™x¨!™|Ó,°Ñ4Ð4Ð4Ø×Ñ˜q !™t a¨¡c™z¨A™~Ó.°%Ñ7Ð7Ñ7r'   N)CÚ__doc__Úsympy.polys.ringsr   r   Úsympy.polys.domainsr   r   r   r   r	   r
   r   Úsympy.polysr   ru   Úsympy.polys.polyerrorsr   Úsympy.polys.polyclassesr   Úsympy.polys.specialpolysr   r   Úsympy.core.numbersr   Ú(sympy.functions.elementary.miscellaneousr   Ú(sympy.functions.elementary.trigonometricr   Úsympy.ntheory.generater   Úsympy.testing.pytestr   r   Úf_0rÌ   rÍ   rÎ   rÏ   rÐ   rÑ   rŠ   Úw_2r&   r-   r5   r9   rH   rM   rQ   rU   rY   r^   r~   r°   rÁ   rÆ   rÓ   rÞ   rã   ræ   ré   rø   r  r  r  r"  r%  © r'   r%   ú<module>r5     sô   ðÙ Jç )ß >× >Ñ >å ,Ý .Ý 'ß 5å  Ý 9Ý 8Ý ,ß .ñ %,£IÑ !€€Sˆ#ˆs�C˜˜cÙ‹9�€€Sòzò
zò
Fò;ò
#ò")òOò5òD:òAò,m*ò^*(ðZ ñIó ðIò(9òI-òXJò8;ò"?ò2;ò@;òF"GòJH?òV`?òF8ó8r'   