Ë
    £eh¶  ã                   óB   — d dl mZ d dlmZ ddgZ G d„ de«      Zdd„Zy)	é    )Úpairwise)ÚContourFilterPenÚreversedContourÚReverseContourPenc                   ó*   ‡ — e Zd ZdZdˆ fd„	Zd„ Zˆ xZS )r   a  Filter pen that passes outline data to another pen, but reversing
    the winding direction of all contours. Components are simply passed
    through unchanged.

    Closed contours are reversed in such a way that the first point remains
    the first point.
    c                 ó2   •— t         ‰| �  |«       || _        y ©N)ÚsuperÚ__init__ÚoutputImpliedClosingLine)ÚselfÚoutPenr   Ú	__class__s      €ú^/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/fontTools/pens/reverseContourPen.pyr   zReverseContourPen.__init__   s   ø€ Ü‰Ñ˜Ô Ø(@ˆÕ%ó    c                 ó.   — t        || j                  «      S r	   )r   r   )r   Úcontours     r   ÚfilterContourzReverseContourPen.filterContour   s   € Ü˜w¨×(EÑ(EÓFÐFr   ©F)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Ú__classcell__)r   s   @r   r   r      s   ø„ ñõAöGr   c           	   #   ó  K  — | syt        | «      dkD  sJ d«       ‚| j                  «       d   }|dv sJ ‚|dk(  }| j                  d«      \  }}|dv s
J d|z  «       ‚|d	   }|d
k(  r3|�J d«       ‚| rJ d«       ‚|d   ft        t        |dd	 «      «      z   dz   }| s|dk(  rd}nd}||f–— nÖ| d	   \  }}|d	   }	|rl||f–— ||	k7  rd|	ff–— |t        |dd	 «      |fz   f| d	<   t        | «      dkD  r	| d   \  }
}n||}}
|sD|
dk(  r?||k7  r:| d= | r5|t        |dd	 «      |z   f| d	<   n||	ff–— |t        |dd	 «      |fz   f| d	<   t	        | d¬«      D ]-  \  \  }}\  }}|t        t        |dd	 «      «      |d	   fz   f–— Œ/ |rdnddf–— y­w)zGenerator that takes a list of pen's (operator, operands) tuples,
    and yields them with the winding direction reversed.
    Né   zinvalid contourr   )ÚendPathÚ	closePathr   )ÚmoveToÚqCurveToz invalid initial segment type: %réÿÿÿÿr    z)off-curve only paths must end with 'None'z,only one qCurveTo allowed per off-curve pathr	   r   FTÚlineTo)Úreverser   © )ÚlenÚpopÚtupleÚreversedr   )r   r   ÚcontourTypeÚclosedÚ	firstTypeÚfirstPtsÚfirstOnCurveÚlastTypeÚlastPtsÚlastOnCurveÚ
secondTypeÚ	secondPtsÚcurTypeÚcurPtsÚ_ÚnextPtss                   r   r   r      sD  è ø€ ñ Øô ˆw‹<˜!ÒÐ.Ð.Ó.Ðð —+‘+“- Ñ"€KØÐ2Ñ2Ð2Ð2Ø˜KÑ'€Fà!Ÿ+™+ a›.Ñ€IˆxØÐ.Ñ.ð Ø*¨YÑ6óÐ.ð ˜B‘<€LØ�JÒàÐ#ÐPÐ%PÓPÐ#ÙÐJÐJÓJˆ{Ø˜Q‘K�>¤E¬(°8¸A¸b°>Ó*BÓ$CÑCÀgÑMˆáà˜Ò Ø‰FàˆFØ˜Ð!Ó!à# B™KÑˆ�'Ø˜b‘kˆÙà˜XÐ%Ò%Ø˜{Ò*à  Ð.Ò.Ø'¬¨w°s¸¨|Ó)<À¸Ñ)NÐO�˜‘ä�7‹|˜aÒØ(/°©
Ñ%�
™Ið )1°'˜I�
á+ð
  Ò)¨h¸)Ò.CØ ˜
ÙØ'/´°w¸sÀ°|Ó1DÀyÑ1PÐ&Q˜ šð ˜k˜^Ð+Ò+Ø#¤U¨7°3°B¨<Ó%8¸L¸?Ñ%JÐKˆG�B‰Kô
 08¸ÈÔ/Nò 	IÑ+ÑˆW�f™|  7Øœ5¤¨&°°"¨+Ó!6Ó7¸7À2¹;¸.ÑHÐHÓHð	Iñ  ‰+ Y°Ð
2Ó2ùs   ‚F
FNr   )ÚfontTools.misc.arrayToolsr   ÚfontTools.pens.filterPenr   Ú__all__r   r   r$   r   r   ú<module>r:      s-   ðÝ .Ý 5ð Ð1Ð
2€ôGÐ(ô Gô"G3r   