Ë
    7^(h)  ã                   óÜ   — d Z ddlZddlmZmZmZmZmZmZm	Z	m
Z
mZ ddlmZ ddlmZmZmZmZmZ ddlmZ  edd¬	«      Z ed
«      Z ed«      Z ed«      Z G d„ d«      Z G d„ d«      Zy)zFTests for the ``sympy.physics.mechanics.wrapping_geometry.py`` module.é    N)	ÚIntegerÚRationalÚSÚSymbolÚacosÚcosÚpiÚsinÚsqrt)ÚEq)ÚPointÚReferenceFrameÚWrappingCylinderÚWrappingSphereÚdynamicsymbols©ÚsimplifyÚrT©ÚpositiveÚxÚqÚNc                   ó(
  — e Zd Zed„ «       Zeej                  j                  dej                   e
d«      ez  ej                  z  g«      d„ «       «       Zeej                  j                  deej                  z  eej                  z  ej                  feej                  z  eej                  z  ej                   ez  ez  feej                  z  eej                   z  eez  feej                   z  eej                  z  eez  feej                  z  e ed«      z  ej                   z  ej                  ej                  z   z   edd«      ez  ez  fe ed«      z  ej                   z  ej                  ej                  z   z  e ed«      z   edd«      z  ej                  ej                  z   ej(                  z   z  e e ed	«       edd«      z  «      z  fg«      d
„ «       «       Zeej                  j                  deej                  z  eej                  z  ej                  ej                  feej                  z  e ej                  z  ej                   ej                  feej                  z   ed«      dz  ez  ej                  z   ed«      dz  ez  ej                  z  z
  ej                   ed«      dz  ej                  z   ed«      dz  ej                  z  z   feej                  z  edz  ej                  z   ed«      dz  ez  ej                  z  z   ej                   ed«      dz  ej                  z  dej                  z  z
  feej                  z   ed«      dz  ez  ej                  z   ed«      dz  ez  ej                  z  z   ej                   ed«      dz  ej                  z   ed«      dz  ej                  z  z
  fg«      d„ «       «       Zeej                  j                  deej                  z  e ee«      z  ej                  z  e ee«      z  ej                  z  z   g«      d„ «       «       Zeej                  j                  deej                  z  e ej                  z  fe ej                  z  eej                  z  fe ee«      z  ej                  z  e ee«      z  ej                  z  z   e  ee«      z  ej                  z  e ee«      z  ej                  z  z
  fg«      d„ «       «       Zy)ÚTestWrappingSpherec                  óì   — t        dd¬«      } t        d«      }t        | |«      }t        |t        «      sJ ‚t	        |d«      sJ ‚|j
                  | k(  sJ ‚t	        |d«      sJ ‚|j                  |k(  sJ ‚y )Nr   Tr   ÚpOÚradiusÚpoint)r   r   r   Ú
isinstanceÚhasattrr   r   )r   r   Úspheres      úr/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/physics/mechanics/tests/test_wrapping_geometry.pyÚtest_valid_constructorz)TestWrappingSphere.test_valid_constructor#   sw   € ä�3 Ô&ˆÜ�4‹[ˆÜ  2Ó&ˆÜ˜&¤.Ô1Ð1Ð1Ü�v˜xÔ(Ð(Ð(Ø�}‰} Ò!Ð!Ð!Ü�v˜wÔ'Ð'Ð'Ø�|‰|˜rÒ!Ð!Ñ!ó    Úpositioné   c                 óH  — t        dd¬«      }t        d«      }t        ||«      }t        d«      }|j                  || «       t        d«      }|j                  || «       d}t	        j
                  t        |¬«      5  |j                  ||«       d d d «       y # 1 sw Y   y xY w©	Nr   Tr   r   Úp1Úp2z'point .* does not lie on the surface of)Úmatch)r   r   r   Úset_posÚpytestÚraisesÚ
ValueErrorÚgeodesic_length)r&   r   r   r"   r*   r+   Ú	error_msgs          r#   Ú1test_geodesic_length_point_not_on_surface_invalidzDTestWrappingSphere.test_geodesic_length_point_not_on_surface_invalid.   s‹   € ô �3 Ô&ˆÜ�4‹[ˆÜ  2Ó&ˆä�4‹[ˆØ
�
‰
�2�xÔ Ü�4‹[ˆØ
�
‰
�2�xÔ à>ˆ	Ü�]‰]œ:¨YÔ7ñ 	+Ø×"Ñ" 2 rÔ*÷	+÷ 	+ñ 	+ús   Á<BÂB!z position_1, position_2, expectedé   é   é   é   c                 ó  — t        dd¬«      }t        d«      }t        ||«      }t        d«      }|j                  || «       t        d«      }|j                  ||«       t	        t        |j                  ||«      |«      «      sJ ‚y ©Nr   Tr   r   r*   r+   )r   r   r   r-   r   r   r1   )Ú
position_1Ú
position_2Úexpectedr   r   r"   r*   r+   s           r#   Útest_geodesic_lengthz'TestWrappingSphere.test_geodesic_length>   su   € ô" �3 Ô&ˆÜ�4‹[ˆÜ  2Ó&ˆä�4‹[ˆØ
�
‰
�2�zÔ"Ü�4‹[ˆØ
�
‰
�2�zÔ"äœ˜6×1Ñ1°"°bÓ9¸8ÓDÔEÐEÑEr%   z*position_1, position_2, vector_1, vector_2ç      à?c                 óö   — t        dd¬«      }t        d«      }t        ||«      }t        d«      }|j                  || «       t        d«      }|j                  ||«       ||f}	|j	                  ||«      |	k(  sJ ‚y r9   )r   r   r   r-   Úgeodesic_end_vectors)
r:   r;   Úvector_1Úvector_2r   r   r"   r*   r+   r<   s
             r#   Útest_geodesic_end_vectorsz,TestWrappingSphere.test_geodesic_end_vectorsZ   sx   € ô6 �3 Ô&ˆÜ�4‹[ˆÜ  2Ó&ˆä�4‹[ˆØ
�
‰
�2�zÔ"Ü�4‹[ˆØ
�
‰
�2�zÔ"à˜hÐ'ˆà×*Ñ*¨2¨rÓ2°hÒ>Ð>Ñ>r%   c                 ó@  — t        dd¬«      }t        d«      }t        ||«      }t        d«      }|j                  || «       t        d«      }|j                  || «       t	        j
                  t        «      5  |j                  ||«      }d d d «       y # 1 sw Y   y xY wr9   ©r   r   r   r-   r.   r/   r0   r@   )r&   r   r   r"   r*   r+   Ú_s          r#   Ú,test_geodesic_end_vectors_invalid_coincidentz?TestWrappingSphere.test_geodesic_end_vectors_invalid_coincident‚   s†   € ô �3 Ô&ˆÜ�4‹[ˆÜ  2Ó&ˆä�4‹[ˆØ
�
‰
�2�xÔ Ü�4‹[ˆØ
�
‰
�2�xÔ ä�]‰]œ:Ó&ñ 	4Ø×+Ñ+¨B°Ó3ˆA÷	4÷ 	4ñ 	4úó   Á8BÂBzposition_1, position_2c                 ó@  — t        dd¬«      }t        d«      }t        ||«      }t        d«      }|j                  || «       t        d«      }|j                  ||«       t	        j
                  t        «      5  |j                  ||«      }d d d «       y # 1 sw Y   y xY wr9   rE   )r:   r;   r   r   r"   r*   r+   rF   s           r#   Ú8test_geodesic_end_vectors_invalid_diametrically_oppositezKTestWrappingSphere.test_geodesic_end_vectors_invalid_diametrically_opposite”   s†   € ô  �3 Ô&ˆÜ�4‹[ˆÜ  2Ó&ˆä�4‹[ˆØ
�
‰
�2�zÔ"Ü�4‹[ˆØ
�
‰
�2�zÔ"ä�]‰]œ:Ó&ñ 	4Ø×+Ñ+¨B°Ó3ˆA÷	4÷ 	4ñ 	4úrH   N)Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr$   r.   ÚmarkÚparametrizer   ÚZeror   r   r   r   r3   ÚyÚHalfr	   r   r   Úzr   r=   rC   r   r   r
   rG   rJ   © r%   r#   r   r   !   sº  „ àñ"ó ð"ð Ø‡[�[×Ñ˜Z¨!¯&©&±'¸!³*¸Q±,¸q¿s¹sÑ2BÐ)CÓDñ+ó Eó ð+ð Ø‡[�[×ÑØ*àˆq�s‰s‰U�A�a—c‘c‘E˜1Ÿ6™6Ð"Øˆq�s‰s‰U�A�a—c‘c‘E˜1Ÿ6™6 "™9 Q™;Ð'Øˆq�s‰s‰U�A�q—s‘s�d‘F˜B˜q™DÐ!Ø�—‘ˆt‰V�Q�q—s‘s‘U˜B˜q™DÐ!Øˆq�s‰s‰U�A‘d˜1“g‘I˜aŸf™fÑ$ a§c¡c¨A¯C©C¡iÑ0±(¸1¸a³.ÀÑ2CÀAÑ2EÐFà‘$�q“'‘	˜!Ÿ&™&Ñ  !§#¡#¨¯©¡)Ñ,Ø‘$�q“'‘	™( 1 a›.Ñ(¨!¯#©#°·±©)°a·c±c©/Ñ:Ø‘$‘t˜A“w™x¨¨1›~Ñ-Ó.Ñ.ðð	
óñ
Fóó ð 
Fð Ø‡[�[×ÑØ4à�—‘‰W�a˜!Ÿ#™#‘g˜qŸs™s A§C¡CÐ(Ø�—‘‰W�q�b˜1Ÿ3™3‘h §¡  a§c¡cÐ*à�A—C‘C‘Ù�Q“˜‘	˜A‘ §¡Ñ#¡d¨1£g¨a¡i°!¡m°a·c±cÑ&9Ñ9Ø—‘Ù�Q“˜‘	˜AŸC™C‘¡$ q£'¨!¡)¨a¯c©c¡/Ñ1ð	ð �A—C‘C‘Ø�A‘˜Ÿ™‘™d 1›g a™i¨!™m¨a¯c©cÑ1Ñ1Ø—‘Ù�Q“˜‘	˜AŸC™C‘ #¨¯©¡)Ñ+ð	ð �A—C‘C‘Ù�Q“˜‘	˜A‘ §¡Ñ#¡d¨1£g¨a¡i°!¡m°a·c±cÑ&9Ñ9Ø—‘Ù�Q“˜‘	˜AŸC™C‘¡$ q£'¨!¡)¨a¯c©c¡/Ñ1ð	ð	
óñ2?ó3ó ð4?ð Ø‡[�[×ÑØØ	
ˆQ�S‰S‰�!‘c˜!“f‘*˜qŸs™sÑ" Q©¨Q«¡Z°!·#±#Ñ%5Ñ5Ð6óñ4ó	ó ð
4ð Ø‡[�[×ÑØ à�—‘‰W�q�b˜1Ÿ3™3‘hÐØˆR�!—#‘#‰X�q˜1Ÿ3™3‘wÐà‘C˜“F‘
˜QŸS™SÑ  1¡s¨1£v¡:°·±Ñ#3Ñ3Ø�‘S˜“V‘˜aŸc™cÑ! A©¨A«¡J°·±Ñ$4Ñ4ðð	
ó
ñ4ó
ó ñ4r%   r   c                   óš  — e Zd Zed„ «       Zeej                  j                  dej                  dfe
ej                  z  dfe
ej                  z  dfe
ej                  ej                  z   j                  «       z  df ed«      e
z  ej                  z  dfe
ej                   ej                  z   z  dfe
 ed«      ej                   z  ej                  z   z  df ed«      ej                   z  e
 ed«      ej                  z  ej                  z   j                  «       z  z   dfe
 ee«      ej                  z   ee«      ej                  z  z   z  dfg	«      d„ «       «       Zeej                  j                  dej                   ed«      e
z  ej                  z  g«      d„ «       «       Zeej                  j                  d	ej                   e
ej                  z  e
ej                  z  ej                  fej                   e
ej                  z  ej                   e
ej                  z  z   ej,                  fej                   e
ej                  z  e ej                   z  e
ej                  z  z    eedz  «      fej                    e
ej                  z  eej                   z  e
ej                  z  z    eedz  «      fej                   e
ej                  z  e
ej                  z  ej0                  ez   ee
dz  «      z  fej                    e
ej                  z  e
ej                  z   ed
«      ej0                  z  ez   ee
dz  «      z  fej                   e
ej                  z  e
ej                  z   ed
«      ej0                  z  ez   ee
dz  «      z  fej                    e
ej                  z  e
ej                  z  ej0                  ez   ee
dz  «      z  fej                   e
ej                  z  e
 ee«      ej                  z   ee«      ej                  z  z   z   ee
dz  edz  z  «      fej                    e
ej                  z  e
 ee«      ej                  z   ee«      ej                  z  z   z   ee
dz   ed«      ez  ez
  dz  z  «      fg
«      d„ «       «       Zeej                  j                  dej                  e
ej                   z  e
ej                  z  ej                  ej                   fej                  e
ej                   z  e
 ej                   z  ej                  ej                  fej                  e
 ej                   z  e
ej                   z  ej                   ej                   fej                   e
ej                   z  e
 ej                   z  ej                   ej                   fej                   e
 ej                   z  e
ej                   z  ej                  ej                  fej                  e
ej                   z  e
 ej                  z  ej                  ej                    fej                  e
ej                  z   ed«      dz  e
z  ej                   z   ed«      dz  e
z  ej                  z  z
  ej                     ed«       dz  ej                   z   ed«      dz  ej                  z  z
  fej                  e
ej                   z  e
dz  ej                   z   ed
«      dz  e
z  ej                  z  z   ej                   ed
«      dz  ej                   z  dej                  z  z
  fej                  e
ej                   z   ed«      dz  e
z  ej                   z   ed«      dz  e
z  ej                  z  z   ej                   ed«      dz  ej                   z   ed«      dz  ej                  z  z
  fej                  e
ej                   z  e
ej                   z  ej                  z   ej                  ej                   fej                  e
ej                   z  e
ej                  z  edz  e
z  ej                  z  z    ed«      dz  ej                  z   ed«      dz  ej                  z  z    ed«      dz  ej                   z   ed«      dz  ej                  z  z
  fej                  e
ej                   z  e
 ee«      z  ej                   z  e
 ee«      z  ej                  z  z   ej                   ee«      ej                   z   ee«      ej                  z  z
  fg«      d„ «       «       Zeej                  j                  dej                  e
ej                   z  fej                  e
 ee«      z  ej                   z  e
 ee«      z  ej                  z  z   ej                  z   fg«      d„ «       «       Zy)ÚTestWrappingCylinderc                  ój  — t        d«      } t        dd¬«      }t        d«      }t        ||| j                  «      }t        |t        «      sJ ‚t        |d«      sJ ‚|j                  |k(  sJ ‚t        |d«      sJ ‚|j                  |k(  sJ ‚t        |d«      sJ ‚|j                  | j                  k(  sJ ‚y )	Nr   r   Tr   r   r   r   Úaxis)
r   r   r   r   r   r    r!   r   r   rY   )r   r   r   Úcylinders       r#   r$   z+TestWrappingCylinder.test_valid_constructor³   s®   € ä˜3ÓˆÜ�3 Ô&ˆÜ�4‹[ˆÜ# A r¨1¯3©3Ó/ˆÜ˜(Ô$4Ô5Ð5Ð5Ü�x Ô*Ð*Ð*Ø�‰ !Ò#Ð#Ð#Ü�x Ô)Ð)Ð)Ø�~‰~ Ò#Ð#Ð#Ü�x Ô(Ð(Ð(Ø�}‰} §¡Ò#Ð#Ñ#r%   zposition, expectedFTr'   c                 óÎ   — t        dd¬«      }t        d«      }t        ||t        j                  «      }t        d«      }|j                  || «       |j                  |«      |u sJ ‚y )Nr   Tr   r   r*   )r   r   r   r   r   r-   Úpoint_on_surface)r&   r<   r   r   rZ   r*   s         r#   Útest_point_is_on_surfacez-TestWrappingCylinder.test_point_is_on_surfaceÁ   s[   € ô  �3 Ô&ˆÜ�4‹[ˆÜ# A r¬1¯3©3Ó/ˆä�4‹[ˆØ
�
‰
�2�xÔ à×(Ñ(¨Ó,°Ñ8Ð8Ñ8r%   r&   c                 óf  — t        dd¬«      }t        d«      }t        ||t        j                  «      }t        d«      }|j                  || «       t        d«      }|j                  || «       d}t        j                  t        |¬«      5  |j                  ||«       d d d «       y # 1 sw Y   y xY wr)   )
r   r   r   r   r   r-   r.   r/   r0   r1   )r&   r   r   rZ   r*   r+   r2   s          r#   r3   zFTestWrappingCylinder.test_geodesic_length_point_not_on_surface_invalidÚ   s‘   € ô �3 Ô&ˆÜ�4‹[ˆÜ# A r¬1¯3©3Ó/ˆä�4‹[ˆØ
�
‰
�2�xÔ Ü�4‹[ˆØ
�
‰
�2�xÔ à>ˆ	Ü�]‰]œ:¨YÔ7ñ 	-Ø×$Ñ$ R¨Ô,÷	-÷ 	-ñ 	-ús   ÂB'Â'B0z&axis, position_1, position_2, expectedr6   c                 ó  — t        dd¬«      }t        d«      }t        ||| «      }t        d«      }|j                  ||«       t        d«      }|j                  ||«       t	        t        |j                  ||«      |«      «      sJ ‚y r9   )r   r   r   r-   r   r   r1   )	rY   r:   r;   r<   r   r   rZ   r*   r+   s	            r#   r=   z)TestWrappingCylinder.test_geodesic_lengthê   sw   € ô* �3 Ô&ˆÜ�4‹[ˆÜ# A r¨4Ó0ˆä�4‹[ˆØ
�
‰
�2�zÔ"Ü�4‹[ˆØ
�
‰
�2�zÔ"äœ˜8×3Ñ3°B¸Ó;¸XÓFÔGÐGÑGr%   z0axis, position_1, position_2, vector_1, vector_2r>   c                 ó  — t        dd¬«      }t        d«      }t        ||| «      }t        d«      }|j                  ||«       t        d«      }	|	j                  ||«       ||f}
t	        d„ |j                  ||	«      D «       «      }||
k(  sJ ‚y )Nr   Tr   r   r*   r+   c              3   ó<   K  — | ]  }|j                  «       –— Œ y ­w)Nr   )Ú.0Ú
end_vectors     r#   ú	<genexpr>zATestWrappingCylinder.test_geodesic_end_vectors.<locals>.<genexpr>Q  s!   è ø€ ò 
àð ×Ñ×!ñ
ùs   ‚)r   r   r   r-   Útupler@   )rY   r:   r;   rA   rB   r   r   rZ   r*   r+   r<   Úend_vectorss               r#   rC   z.TestWrappingCylinder.test_geodesic_end_vectors
  s”   € ôz �3 Ô&ˆÜ�4‹[ˆÜ# A r¨4Ó0ˆä�4‹[ˆØ
�
‰
�2�zÔ"Ü�4‹[ˆØ
�
‰
�2�zÔ"à˜hÐ'ˆÜñ 
à&×;Ñ;¸BÀÓCô
ó 
ˆð
 ˜hÒ&Ð&Ñ&r%   zaxis, positionc                 óB  — t        dd¬«      }t        d«      }t        ||| «      }t        d«      }|j                  ||«       t        d«      }|j                  ||«       t	        j
                  t        «      5  |j                  ||«      }d d d «       y # 1 sw Y   y xY wr9   )r   r   r   r-   r.   r/   r0   r@   )rY   r&   r   r   rZ   r*   r+   rF   s           r#   rG   zATestWrappingCylinder.test_geodesic_end_vectors_invalid_coincidentX  sˆ   € ô �3 Ô&ˆÜ�4‹[ˆÜ# A r¨4Ó0ˆä�4‹[ˆØ
�
‰
�2�xÔ Ü�4‹[ˆØ
�
‰
�2�xÔ ä�]‰]œ:Ó&ñ 	6Ø×-Ñ-¨b°"Ó5ˆA÷	6÷ 	6ñ 	6ús   Á9BÂBN)rK   rL   rM   rN   r$   r.   rO   rP   r   rQ   r   r   rR   rT   Ú	normalizer   r   r   r   r
   r]   r3   ÚOner   rS   r	   r=   rC   rG   rU   r%   r#   rW   rW   ±   sv  „ àñ$ó ð$ð Ø‡[�[×ÑØà�V‰V�UˆOØˆq�s‰s‰U�DˆMØˆq�s‰s‰U�DˆMØ�—‘�a—c‘c‘	×$Ñ$Ó&Ñ&¨Ð-Ù�Q‹Z˜‰\˜!Ÿ#™#Ñ˜uÐ%Ø�—‘�a—c‘c‘	‰]˜DÐ!Ø‘˜“
˜1Ÿ3™3‘ §¡Ñ$Ñ% tÐ,Ù�Q‹Z˜Ÿ™‰^˜a¡¨£¨A¯C©C¡°!·#±#Ñ!5× @Ñ @Ó BÑBÑBÀDÐIØ‘�A“�q—s‘s‘
™S ›V A§C¡C™ZÑ'Ñ(¨$Ð/ð
	
óñ9óó ð9ð Ø‡[�[×Ñ˜Z¨!¯&©&±'¸!³*¸Q±,¸q¿s¹sÑ2BÐ)CÓDñ-ó Eó ð-ð Ø‡[�[×ÑØ0à�S‰S�!�A—C‘C‘%˜˜1Ÿ3™3™ §¡Ð'Ø�S‰S�!�A—C‘C‘%˜Ÿ™˜q §¡™u™ a§e¡eÐ,Ø�S‰S�!�A—C‘C‘%˜!˜˜AŸC™C™ ! A§C¡C¡%™©¨a°©d«Ð4Ø�c‰cˆT�1�Q—S‘S‘5˜!˜AŸC™C™% ! A§C¡C¡%™-©¨a°©d«Ð4Ø�S‰S�!�A—C‘C‘%˜˜1Ÿ3™3™ §¡ r¡	©$¨q°!©t«*Ñ 4Ð5Ø�c‰cˆT�1�Q—S‘S‘5˜!˜AŸC™C™%¡¨£¨A¯F©FÑ!2°2Ñ!5±d¸1¸a¹4³jÑ!@ÐAØ�S‰S�!�A—C‘C‘%˜˜1Ÿ3™3™¡¨£
¨1¯6©6Ñ 1°"Ñ 4±T¸!¸Q¹$³ZÑ ?Ð@Ø�c‰cˆT�1�Q—S‘S‘5˜!˜AŸC™C™% §¡¨¡©4°°1±«:Ñ!5Ð6Ø�S‰S�!�A—C‘C‘%˜™C ›F 1§3¡3™J©¨Q«°·±©Ñ3Ñ4±d¸1¸a¹4ÀÀ1Á¹9³oÐFà—‘��a˜Ÿ™‘eØ‘3�q“6˜!Ÿ#™#‘:¡ A£ q§s¡s¡
Ñ*Ñ+Ù�Q˜‘T™7 1›: b™=¨1Ñ,¨qÑ0Ñ0Ó1ðð	
óñ&
Hó'ó ð(
Hð Ø‡[�[×ÑØ:à�S‰S�!�a—c‘c‘'˜1˜qŸs™s™7 A§C¡C¨¯©Ð-Ø�S‰S�!�a—c‘c‘'˜A˜2 §¡™8 Q§S¡S¨!¯#©#Ð.Ø�S‰S�1�"�q—s‘s‘(˜A §¡™G a§c¡c T¨A¯C©C¨4Ð0Ø�c‰cˆT�1�q—s‘s‘7˜Q˜B §¡™H q§s¡s d¨Q¯S©S¨DÐ1Ø�c‰cˆT�A�2˜Ÿ™‘8˜Q §¡™W a§c¡c¨1¯3©3Ð/Ø�S‰S�!�a—c‘c‘'˜A˜2 §¡™8 Q§S¡S¨1¯3©3¨$Ð/à—‘Ø�A—C‘C‘Ù�Q“˜‘	˜A‘ §¡Ñ#¡d¨1£g¨a¡i°!¡m°a·c±cÑ&9Ñ9Ø—#‘#�Ù�q“'�	˜!‘˜aŸc™cÑ!¡D¨£G¨A¡I°·±¡OÑ3ðð —‘Ø�A—C‘C‘Ø�A‘˜Ÿ™‘™d 1›g a™i¨!™m¨a¯c©cÑ1Ñ1Ø—‘Ù�Q“˜‘	˜AŸC™C‘ #¨¯©¡)Ñ+ðð —‘Ø�A—C‘C‘Ù�Q“˜‘	˜A‘ §¡Ñ#¡d¨1£g¨a¡i°!¡m°a·c±cÑ&9Ñ9Ø—‘Ù�Q“˜‘	˜AŸC™C‘¡$ q£'¨!¡)¨a¯c©c¡/Ñ1ðð —‘Ø�A—C‘C‘Ø�A—C‘C‘˜!Ÿ#™#‘Ø—‘Ø—‘�ðð —‘Ø�A—C‘C‘Ø�A—C‘C‘˜"˜Q™$ ™( Q§S¡S™.Ñ(Ù�Q“˜‘	˜AŸC™C‘¡$ q£'¨!¡)¨a¯c©c¡/Ñ1Ù�Q“˜‘	˜AŸC™C‘¡$ q£'¨!¡)¨a¯c©c¡/Ñ1ðð —‘Ø�A—C‘C‘Ø‘C˜“F‘
˜QŸS™SÑ  1¡s¨1£v¡:°·±Ñ#3Ñ3Ø—‘Ù�A“˜Ÿ™‘™s 1›v¨¯©™|Ñ+ððU1	
ó4ñj'ók4ó ðl'ð0 Ø‡[�[×ÑØà�S‰S�!�a—c‘c‘'ˆNØ�S‰S�!‘c˜!“f‘*˜qŸs™sÑ" Q©¨Q«¡Z°!·#±#Ñ%5Ñ5¸¿¹Ñ;Ð<ð	
óñ6óó ñ6r%   rW   )Ú__doc__r.   Úsympyr   r   r   r   r   r   r	   r
   r   Úsympy.core.relationalr   Úsympy.physics.mechanicsr   r   r   r   r   Úsympy.simplify.simplifyr   r   r   r   r   r   rW   rU   r%   r#   ú<module>ro      sr   ðÙ Lã ÷
÷ 
õ 
õ %÷õ õ -ñ ˆ3˜Ô€Ù
ˆ3ƒK€Ù�3Ó€Ù�3Ó€÷M4ñ M4÷`z6ò z6r%   