§
    �t¯bÍ
  ã                  óŒ   — d dl mZ ddlmZmZmZmZmZmZ d dl	Z
e
j        rddlmZ ddlmZmZ  G d„ dee         ¦  «        ZdS )	é    )Úannotationsé   )ÚObjectHolderÚMesonOperatorÚtyped_operatorÚnoKwargsÚ	noPosargsÚInvalidArgumentsN)ÚInterpreter)ÚTYPE_varÚTYPE_kwargsc                  ó  ‡ — e Zd Zdˆ fd„Zdd	„Zeedd„¦   «         ¦   «         Zeedd„¦   «         ¦   «         Zeedd„¦   «         ¦   «         Z	 e
ej        e¦  «        dd„¦   «         Z e
ej        e¦  «        dd„¦   «         Zˆ xZS )ÚIntegerHolderÚobjÚintÚinterpreterú'Interpreter'ÚreturnÚNonec                ó  •‡ — t          ¦   «                              ||¦  «         ‰ j                             ‰ j        ‰ j        ‰ j        dœ¦  «         ‰ j                             t          j	        d ˆ fd„ft          j
        t          ˆ fd„ft          j        t          ˆ fd„ft          j        t          ˆ fd„ft          j        t          ˆ fd„ft          j        t          ˆ fd„ft          j        t          ˆ fd„ft          j        t          ˆ fd	„ft          j        t          ˆ fd
„ft          j        t          ˆ fd„fi
¦  «         ‰ j                             t          j        ‰ j        t          j        ‰ j        i¦  «         d S )N)Úis_evenÚis_oddÚ	to_stringc                ó   •— ‰j          S ©N©Úheld_object©ÚxÚselfs    €úK/usr/lib/python3/dist-packages/mesonbuild/interpreter/primitives/integer.pyú<lambda>z(IntegerHolder.__init__.<locals>.<lambda>!   s   ø€ °DÔ4DÐ3D€ ó    c                ó   •— ‰j         | z   S r   r   r   s    €r!   r"   z(IntegerHolder.__init__.<locals>.<lambda>"   s   ø€ °Ô0@À1Ñ0D€ r#   c                ó   •— ‰j         | z
  S r   r   r   s    €r!   r"   z(IntegerHolder.__init__.<locals>.<lambda>#   ó   ø€ °Ô1AÀAÑ1E€ r#   c                ó   •— ‰j         | z  S r   r   r   s    €r!   r"   z(IntegerHolder.__init__.<locals>.<lambda>$   r&   r#   c                ó   •— ‰j         | k    S r   r   r   s    €r!   r"   z(IntegerHolder.__init__.<locals>.<lambda>'   s   ø€ °$Ô2BÀaÒ2G€ r#   c                ó   •— ‰j         | k    S r   r   r   s    €r!   r"   z(IntegerHolder.__init__.<locals>.<lambda>(   s   ø€ °dÔ6FÈ!Ò6K€ r#   c                ó   •— ‰j         | k    S r   r   r   s    €r!   r"   z(IntegerHolder.__init__.<locals>.<lambda>)   s   ø€ °4Ô3CÀaÒ3G€ r#   c                ó   •— ‰j         | k     S r   r   r   s    €r!   r"   z(IntegerHolder.__init__.<locals>.<lambda>*   s   ø€ °Ô0@À1Ò0D€ r#   c                ó   •— ‰j         | k    S r   r   r   s    €r!   r"   z(IntegerHolder.__init__.<locals>.<lambda>+   s   ø€ ¸$Ô:JÈaÒ:O€ r#   c                ó   •— ‰j         | k    S r   r   r   s    €r!   r"   z(IntegerHolder.__init__.<locals>.<lambda>,   s   ø€ °tÔ7GÈ1Ò7L€ r#   )ÚsuperÚ__init__ÚmethodsÚupdateÚis_even_methodÚis_odd_methodÚto_string_methodÚtrivial_operatorsr   ÚUMINUSÚPLUSr   ÚMINUSÚTIMESÚEQUALSÚ
NOT_EQUALSÚGREATERÚLESSÚGREATER_EQUALSÚLESS_EQUALSÚ	operatorsÚDIVÚop_divÚMODÚop_mod)r    r   r   Ú	__class__s   `  €r!   r/   zIntegerHolder.__init__   s�  øø€ Ý‰Œ×Ò˜˜kÑ*Ô*Ð*ØŒ×ÒØÔ*ØÔ(ØÔ.ð
ð 
ñ 	ô 	ð 	ð 	Ô×%Ò%åÔ  4Ð)DÐ)DÐ)DÐ)DÐ"EÝÔ¥Ð&DÐ&DÐ&DÐ&DÐ EÝÔ¥#Ð'EÐ'EÐ'EÐ'EÐ!FÝÔ¥#Ð'EÐ'EÐ'EÐ'EÐ!Fõ Ô ¥3Ð(GÐ(GÐ(GÐ(GÐ"HÝÔ$¥sÐ,KÐ,KÐ,KÐ,KÐ&LÝÔ!¥CÐ)GÐ)GÐ)GÐ)GÐ#HÝÔ¥Ð&DÐ&DÐ&DÐ&DÐ EÝÔ(­3Ð0OÐ0OÐ0OÐ0OÐ*PÝÔ%­Ð-LÐ-LÐ-LÐ-LÐ'Mð'
ñ 	ô 	ð 	ð" 	Œ×ÒÝÔ˜tœ{ÝÔ˜tœ{ð
ñ 	ô 	ð 	ð 	ð 	r#   Ústrc                ó   — dS )Nr   © )r    s    r!   Údisplay_namezIntegerHolder.display_name5   s   € Øˆur#   ÚargsúT.List[TYPE_var]Úkwargsr   Úboolc                ó   — | j         dz  dk    S ©Né   r   r   ©r    rJ   rL   s      r!   r2   zIntegerHolder.is_even_method8   ó   € ð Ô !Ñ# qÒ(Ð(r#   c                ó   — | j         dz  dk    S rO   r   rQ   s      r!   r3   zIntegerHolder.is_odd_method=   rR   r#   c                ó*   — t          | j        ¦  «        S r   )rF   r   rQ   s      r!   r4   zIntegerHolder.to_string_methodB   s   € õ �4Ô#Ñ$Ô$Ð$r#   Úotherc                ó@   — |dk    rt          d¦  «        ‚| j        |z  S ©Nr   zTried to divide by 0©r
   r   ©r    rU   s     r!   rB   zIntegerHolder.op_divG   s(   € à�AŠ:ˆ:Ý"Ð#9Ñ:Ô:Ð:ØÔ 5Ñ(Ð(r#   c                ó@   — |dk    rt          d¦  «        ‚| j        |z  S rW   rX   rY   s     r!   rD   zIntegerHolder.op_modM   s(   € à�AŠ:ˆ:Ý"Ð#9Ñ:Ô:Ð:ØÔ %Ñ'Ð'r#   )r   r   r   r   r   r   )r   rF   )rJ   rK   rL   r   r   rM   )rJ   rK   rL   r   r   rF   )rU   r   r   r   )Ú__name__Ú
__module__Ú__qualname__r/   rI   r   r	   r2   r3   r4   r   r   rA   r   rB   rC   rD   Ú__classcell__)rE   s   @r!   r   r      s/  ø€ € € € € ðð ð ð ð ð ð<ð ð ð ð Øð)ð )ð )ñ „Yñ „Xð)ð Øð)ð )ð )ñ „Yñ „Xð)ð Øð%ð %ð %ñ „Yñ „Xð%ð €^�MÔ% sÑ+Ô+ð)ð )ð )ñ ,Ô+ð)ð
 €^�MÔ% sÑ+Ô+ð(ð (ð (ñ ,Ô+ð(ð (ð (ð (ð (r#   r   )Ú
__future__r   Úinterpreterbaser   r   r   r   r	   r
   ÚtypingÚTÚTYPE_CHECKINGr   r   r   r   r   r   rH   r#   r!   ú<module>rd      sä   ðð #Ð "Ð "Ð "Ð "Ð "ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð Ð Ð Ð à„?ð 9à*Ð*Ð*Ð*Ð*Ð*Ø8Ð8Ð8Ð8Ð8Ð8Ð8Ð8ð;(ð ;(ð ;(ð ;(ð ;(�L Ô%ñ ;(ô ;(ð ;(ð ;(ð ;(r#   