§
    ¢”jÞ  ã                   óX   — d dl mZ d dlZd dlZd dlZdgZ G d„ de¦  «        Zd„ Zd„ Z	dS )é    )ÚNumberNÚVectorc                   ó  ‡ — e Zd ZdZdZd ˆ fd„	Zˆ fd„Zd„ Zd„ Zd„ Z	d	„ Z
e
Zd
„ Zd„ Zd„ ZeZd„ Zd„ Zd„ Zd„ Zedœd„Zˆ fd„Zd„ Zd„ ZeZd„ Zd„ Zd„ Zd„ Zd„ Zed„ ¦   «         Z e j!        d„ ¦   «         Z dd de"fd„Z#ˆ xZ$S )!r   zÛA math-like vector.

    Represents an n-dimensional numeric vector. ``Vector`` objects support
    vector addition and subtraction, scalar multiplication and division,
    negation, rounding, and comparison tests.
    © Fc                 ó¸   •— |durt          j        dt          ¦  «         t          |¦  «        t          k    r|S t          ¦   «                              | |¦  «        S )NFz'the 'keep' argument has been deprecated)ÚwarningsÚwarnÚDeprecationWarningÚtyper   ÚsuperÚ__new__)ÚclsÚvaluesÚkeepÚ	__class__s      €úd/var/www/finuniver-perm.ru/html/portfolio/venv/lib/python3.11/site-packages/fontTools/misc/vector.pyr   zVector.__new__   sX   ø€ Ø�uÐÐÝŒMØ9Ý"ñô ð õ �‰<Œ<�6Ò!Ð!àˆMÝ‰wŒw�Š˜s FÑ+Ô+Ð+ó    c                 ód   •— | j         j        › dt          ¦   «                              ¦   «         › d�S )Nú(ú))r   Ú__name__r   Ú__repr__)Úselfr   s    €r   r   zVector.__repr__   s/   ø€ Ø”.Ô)ÐAÐA­E©G¬G×,<Ò,<Ñ,>Ô,>ÐAÐAÐAÐAr   c                 ó\  ‡‡— t          ‰t          ¦  «        rQt          | ¦  «        t          ‰¦  «        k    sJ ‚|                      ˆfd„t	          | ‰¦  «        D ¦   «         ¦  «        S t          ‰t
          ¦  «        r"|                      ˆˆfd„| D ¦   «         ¦  «        S t          ¦   «         ‚)Nc              3   ó6   •K  — | ]\  }} ‰||¦  «        V — Œd S ©Nr   )Ú.0ÚaÚbÚops      €r   ú	<genexpr>z#Vector._vectorOp.<locals>.<genexpr>%   s1   øè è € Ð!HÐ!H©t¨q°! " " Q¨¡(¤(Ð!HÐ!HÐ!HÐ!HÐ!HÐ!Hr   c              3   ó0   •K  — | ]} ‰|‰¦  «        V — Œd S r   r   ©r   Úvr    Úothers     €€r   r!   z#Vector._vectorOp.<locals>.<genexpr>'   ó-   øè è € Ð!=Ð!=°1 " " Q¨¡,¤,Ð!=Ð!=Ð!=Ð!=Ð!=Ð!=r   )Ú
isinstancer   Úlenr   Úzipr   ÚNotImplementedError©r   r%   r    s    ``r   Ú	_vectorOpzVector._vectorOp"   s­   øø€ Ý�e�VÑ$Ô$ð 	IÝ�t‘9”9¥ E¡
¤
Ò*Ð*Ð*Ð*Ø—>’>Ð!HÐ!HÐ!HÐ!Hµs¸4ÀÑ7GÔ7GÐ!HÑ!HÔ!HÑHÔHÐHÝ�e�VÑ$Ô$ð 	>Ø—>’>Ð!=Ð!=Ð!=Ð!=Ð!=¸Ð!=Ñ!=Ô!=Ñ=Ô=Ð=Ý!Ñ#Ô#Ð#r   c                 ó�   ‡‡— t          ‰t          ¦  «        r"|                      ˆˆfd„| D ¦   «         ¦  «        S t          ¦   «         ‚)Nc              3   ó0   •K  — | ]} ‰|‰¦  «        V — Œd S r   r   r#   s     €€r   r!   z#Vector._scalarOp.<locals>.<genexpr>,   r&   r   )r'   r   r   r*   r+   s    ``r   Ú	_scalarOpzVector._scalarOp*   sL   øø€ Ý�e�VÑ$Ô$ð 	>Ø—>’>Ð!=Ð!=Ð!=Ð!=Ð!=¸Ð!=Ñ!=Ô!=Ñ=Ô=Ð=Ý!Ñ#Ô#Ð#r   c                 óF   ‡— |                       ˆfd„| D ¦   «         ¦  «        S )Nc              3   ó.   •K  — | ]} ‰|¦  «        V — Œd S r   r   )r   r$   r    s     €r   r!   z"Vector._unaryOp.<locals>.<genexpr>0   s+   øè è € Ð2Ð2¨˜b˜b ™eœeÐ2Ð2Ð2Ð2Ð2Ð2r   ©r   )r   r    s    `r   Ú_unaryOpzVector._unaryOp/   s*   ø€ Ø�~Š~Ð2Ð2Ð2Ð2¨TÐ2Ñ2Ô2Ñ2Ô2Ð2r   c                 óB   — |                       |t          j        ¦  «        S r   )r,   ÚoperatorÚadd©r   r%   s     r   Ú__add__zVector.__add__2   ó   € Ø�~Š~˜e¥X¤\Ñ2Ô2Ð2r   c                 óB   — |                       |t          j        ¦  «        S r   )r,   r5   Úsubr7   s     r   Ú__sub__zVector.__sub__7   r9   r   c                 ó8   — |                       |t          ¦  «        S r   )r,   Ú_operator_rsubr7   s     r   Ú__rsub__zVector.__rsub__:   s   € Ø�~Š~˜e¥^Ñ4Ô4Ð4r   c                 óB   — |                       |t          j        ¦  «        S r   )r/   r5   Úmulr7   s     r   Ú__mul__zVector.__mul__=   r9   r   c                 óB   — |                       |t          j        ¦  «        S r   )r/   r5   Útruedivr7   s     r   Ú__truediv__zVector.__truediv__B   s   € Ø�~Š~˜e¥XÔ%5Ñ6Ô6Ð6r   c                 ó8   — |                       |t          ¦  «        S r   )r/   Ú_operator_rtruedivr7   s     r   Ú__rtruediv__zVector.__rtruediv__E   s   € Ø�~Š~˜eÕ%7Ñ8Ô8Ð8r   c                 ó@   — |                       t          j        ¦  «        S r   )r3   r5   Úpos©r   s    r   Ú__pos__zVector.__pos__H   ó   € Ø�}Š}�Xœ\Ñ*Ô*Ð*r   c                 ó@   — |                       t          j        ¦  «        S r   )r3   r5   ÚnegrK   s    r   Ú__neg__zVector.__neg__K   rM   r   )Úroundc                ó,   — |                       |¦  «        S r   )r3   )r   rQ   s     r   Ú	__round__zVector.__round__N   s   € Ø�}Š}˜UÑ#Ô#Ð#r   c                 óŽ   •— t          |t          ¦  «        rt          |¦  «        }t          ¦   «                              |¦  «        S r   )r'   ÚlistÚtupler   Ú__eq__)r   r%   r   s     €r   rW   zVector.__eq__Q   s6   ø€ Ý�e�TÑ"Ô"ð 	!å˜%‘L”LˆEÝ‰wŒw�~Š~˜eÑ$Ô$Ð$r   c                 ó.   — |                       |¦  «         S r   )rW   r7   s     r   Ú__ne__zVector.__ne__W   s   € Ø—;’;˜uÑ%Ô%Ð%Ð%r   c                 ó    — t          | ¦  «        S r   )ÚanyrK   s    r   Ú__bool__zVector.__bool__Z   s   € Ý�4‰yŒyÐr   c                 óX   — t          j        t          d„ | D ¦   «         ¦  «        ¦  «        S )Nc              3   ó    K  — | ]	}||z  V — Œ
d S r   r   )r   Úxs     r   r!   z!Vector.__abs__.<locals>.<genexpr>`   s&   è è € Ð1Ð1 q˜Q ™UÐ1Ð1Ð1Ð1Ð1Ð1r   )ÚmathÚsqrtÚsumrK   s    r   Ú__abs__zVector.__abs___   s)   € ÝŒy�Ð1Ð1¨DÐ1Ñ1Ô1Ñ1Ô1Ñ2Ô2Ð2r   c                 ó    — t          | ¦  «        S )z;Return the length of the vector. Equivalent to abs(vector).©ÚabsrK   s    r   ÚlengthzVector.lengthb   s   € å�4‰yŒyÐr   c                 ó&   — | t          | ¦  «        z  S )z+Return the normalized vector of the vector.re   rK   s    r   Ú
normalizedzVector.normalizedf   s   € à•c˜$‘i”iÑÐr   c                 ó”   — t          | ¦  «        t          |¦  «        k    sJ ‚t          d„ t          | |¦  «        D ¦   «         ¦  «        S )z[Performs vector dot product, returning the sum of
        ``a[0] * b[0], a[1] * b[1], ...``c              3   ó&   K  — | ]\  }}||z  V — Œd S r   r   )r   r   r   s      r   r!   zVector.dot.<locals>.<genexpr>n   s*   è è € Ð6Ð6™T˜Q �1�q‘5Ð6Ð6Ð6Ð6Ð6Ð6r   )r(   rb   r)   r7   s     r   Údotz
Vector.dotj   sH   € õ �4‰yŒy�C ™JœJÒ&Ð&Ð&Ð&ÝÐ6Ð6¥S¨¨uÑ%5Ô%5Ð6Ñ6Ô6Ñ6Ô6Ð6r   c                 ó^   — t          j        dt          ¦  «         |                      ¦   «         S )NzAthe 'toInt' method has been deprecated, use round(vector) instead)r   r	   r
   rS   rK   s    r   ÚtoIntzVector.toIntr   s.   € ÝŒØOÝñ	
ô 	
ð 	
ð �~Š~ÑÔÐr   c                 óT   — t          j        dt          ¦  «         t          | ¦  «        S )NzPthe 'values' attribute has been deprecated, use the vector object itself instead)r   r	   r
   rU   rK   s    r   r   zVector.valuesy   s,   € åŒð/åñ	
ô 	
ð 	
õ
 �D‰zŒzÐr   c                 ó    — t          d¦  «        ‚)Nz?can't set attribute, the 'values' attribute has been deprecated)ÚAttributeError)r   r   s     r   r   zVector.values‚   s   € åØMñ
ô 
ð 	
r   r%   Úreturnc                 óš   ‡— t          | ¦  «        t          |¦  «        k    sJ ‚t          ˆfd„t          | |¦  «        D ¦   «         ¦  «        S )z5Return True if the vector is close to another Vector.c              3   óD   •K  — | ]\  }}t          j        ||fi ‰¤ŽV — Œd S r   )r`   Úisclose)r   r   r   Úkwargss      €r   r!   z!Vector.isclose.<locals>.<genexpr>‹   s;   øè è € ÐMÐM±D°A°q•4”<  1Ð/Ð/¨Ð/Ð/ÐMÐMÐMÐMÐMÐMr   )r(   Úallr)   )r   r%   rv   s     `r   ru   zVector.iscloseˆ   sM   ø€ å�4‰yŒy�C ™JœJÒ&Ð&Ð&Ð&ÝÐMÐMÐMÐM½CÀÀeÑ<LÔ<LÐMÑMÔMÑMÔMÐMr   )F)%r   Ú
__module__Ú__qualname__Ú__doc__Ú	__slots__r   r   r,   r/   r3   r8   Ú__radd__r<   r?   rB   Ú__rmul__rE   rH   rL   rP   rQ   rS   rW   rY   r\   Ú__nonzero__rc   rg   ri   rl   rn   Úpropertyr   ÚsetterÚboolru   Ú__classcell__r2   s   @r   r   r   
   s*  ø€ € € € € ðð ð €Ið	,ð 	,ð 	,ð 	,ð 	,ð 	,ðBð Bð Bð Bð Bð$ð $ð $ð$ð $ð $ð
3ð 3ð 3ð3ð 3ð 3ð €Hð3ð 3ð 3ð5ð 5ð 5ð3ð 3ð 3ð €Hð7ð 7ð 7ð9ð 9ð 9ð+ð +ð +ð+ð +ð +ð "'ð $ð $ð $ð $ð $ð%ð %ð %ð %ð %ð&ð &ð &ðð ð ð €Kð3ð 3ð 3ðð ð ð ð  ð  ð7ð 7ð 7ð ð  ð  ð ðð ñ „Xðð „]ð
ð 
ñ „]ð
ð
N˜Xð N°Dð Nð Nð Nð Nð Nð Nð Nð Nr   c                 ó,   — t          j        || ¦  «        S r   )r5   r;   ©r   r   s     r   r>   r>   Ž   s   € ÝŒ<˜˜1ÑÔÐr   c                 ó,   — t          j        || ¦  «        S r   )r5   rD   r„   s     r   rG   rG   ’   s   € ÝÔ˜A˜qÑ!Ô!Ð!r   )
Únumbersr   r`   r5   r   Ú__all__rV   r   r>   rG   r   r   r   ú<module>rˆ      sž   ðØ Ð Ð Ð Ð Ð Ø €€€Ø €€€Ø €€€ð ˆ*€ðANð ANð ANð ANð ANˆUñ ANô ANð ANðHð ð ð"ð "ð "ð "ð "r   