§
    ‚Ûg�I  ã                   óp  — d dl mZmZmZmZmZmZmZmZm	Z	m
Z
mZ d dlZd dlmZ d dlmZmZ  G d„ dej        ¦  «        Z G d„ dej        ¦  «        Z G d	„ d
ej        ¦  «        Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        Z G d„ dej        ¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z  G d„ d e¦  «        Z!ej"         ee¦  «        gej#        j$        _%        ej"        gej#        j&        _%        ej'        ej#        j&        _(        ej"        gej#        j)        _%        eej#        j)        _(        ej"        egej#        j*        _%        ej"        gej#        j+        _%        ej,        ej#        j+        _(        ej,        gej#        j-        _%        eej#        j-        _(        ej,        gej#        j.        _%        e
ej#        j.        _(        ej,        gej#        j/        _%        ej,        ej#        j/        _(        ej,        gej#        j0        _%        eej#        j0        _(        ej"        gej#        j1        _%        eej#        j1        _(        ej"        egej#        j2        _%        ej"        gej#        j3        _%        eej#        j3        _(        ej"        egej#        j4        _%        ej"        gej#        j5        _%        eej#        j5        _(        ej"        egej#        j6        _%        eegej#        j7        _%        eej#        j7        _(        ej"        egej#        j8        _%        ej"        gej#        j9        _%        eej#        j9        _(        ej"        gej#        j:        _%        ej;        ej#        j:        _(        ej"        gej#        j<        _%        ej;        ej#        j<        _(        ej"        gej#        j=        _%        ej;        ej#        j=        _(        ej"        gej#        j>        _%        ej?        ej#        j>        _(        ej"        gej#        j@        _%        ej?        ej#        j@        _(        ej"        gej#        jA        _%        ejB        ej#        jA        _(        ej"        gej#        jC        _%        ejD        ej#        jC        _(        ej"        gej#        jE        _%        ejF        ej#        jE        _(        ej"        gej#        jG        _%        ejH        ej#        jG        _(        ej;        gej#        jI        _%        ej?        gej#        jJ        _%        ejB        gej#        jK        _%        ejF        gej#        jL        _%        ejH        gej#        jM        _%        ej;        gej#        jN        _%        eej#        jN        _(        ej?        gej#        jO        _%        eej#        jO        _(        ejB        gej#        jP        _%        ej"        ej#        jP        _(        ejD        gej#        jQ        _%        ej"        ej#        jQ        _(        ejF        gej#        jR        _%        ej"        ej#        jR        _(        ejH        gej#        jS        _%        ej"        ej#        jS        _(        ej"        gej#        jT        _%        eej#        jT        _(        ej"        gej#        jU        _%        e
ej#        jU        _(        ej"        gej#        jV        _%        eej#        jV        _(        ej"         ee
¦  «        gej#        jW        _%         ee	¦  «        ej#        jW        _(        ej"        gej#        jX        _%        eej#        jX        _(        ej"         ee
¦  «        gej#        jY        _%        eej#        jY        _(        dS )!é    )ÚPOINTERÚbyrefÚcastÚc_char_pÚc_doubleÚc_intÚc_size_tÚc_uintÚc_uint64Úc_boolÚc_void_pN)Úffi)Ú_decode_stringÚ_encode_stringc                   óR   — e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdS )ÚLinkager   é   é   é   é   é   é   é   é   é	   é
   é   é   é   é   é   é   N)Ú__name__Ú
__module__Ú__qualname__ÚexternalÚavailable_externallyÚlinkonce_anyÚlinkonce_odrÚlinkonce_odr_autohideÚweak_anyÚweak_odrÚ	appendingÚinternalÚprivateÚ	dllimportÚ	dllexportÚexternal_weakÚghostÚcommonÚlinker_privateÚlinker_private_weak© ó    úL/granary/edev/quantum/lib/python3.11/site-packages/llvmlite/binding/value.pyr   r   	   sj   € € € € € ð €HØÐØ€LØ€LØÐØ€HØ€HØ€IØ€HØ€GØ€IØ€IØ€MØ€EØ€FØ€NØÐÐÐr8   r   c                   ó   — e Zd ZdZdZdZdS )Ú
Visibilityr   r   r   N)r#   r$   r%   ÚdefaultÚhiddenÚ	protectedr7   r8   r9   r;   r;      s   € € € € € ð €GØ€FØ€I€I€Ir8   r;   c                   ó   — e Zd ZdZdZdZdS )ÚStorageClassr   r   r   N)r#   r$   r%   r<   r0   r1   r7   r8   r9   r@   r@   '   s   € € € € € ð €GØ€IØ€I€I€Ir8   r@   c                   óv   — e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdS )Ú	ValueKindr   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   é   é   é   é   é   é   é   é   é   N)r#   r$   r%   ÚargumentÚbasic_blockÚ
memory_useÚ
memory_defÚ
memory_phiÚfunctionÚglobal_aliasÚglobal_ifuncÚglobal_variableÚblock_addressÚconstant_exprÚconstant_arrayÚconstant_structÚconstant_vectorÚundef_valueÚconstant_aggregate_zeroÚconstant_data_arrayÚconstant_data_vectorÚconstant_intÚconstant_fpÚconstant_pointer_nullÚconstant_token_noneÚmetadata_as_valueÚ
inline_asmÚinstructionÚpoison_valuer7   r8   r9   rB   rB   /   s˜   € € € € € ð €HØ€KØ€JØ€JØ€Jà€HØ€LØ€LØ€OØ€MØ€MØ€NØ€OØ€Oà€KØ ÐØÐØÐØ€LØ€KØÐØÐàÐØ€Jà€KØ€L€L€Lr8   rB   c                   óZ   — e Zd ZdZed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zd„ ZdS )ÚTypeRefz$A weak reference to a LLVM type
    c                 ód   — t          j        t           j                             | ¦  «        ¦  «        S )z
        Get type name
        )r   Ú
ret_stringÚlibÚLLVMPY_GetTypeName©Úselfs    r9   ÚnamezTypeRef.nameU   s$   € õ
 Œ~�cœg×8Ò8¸Ñ>Ô>Ñ?Ô?Ð?r8   c                 ó@   — t           j                             | ¦  «        S )z=
        Returns true is the type is a pointer type.
        )r   rj   ÚLLVMPY_TypeIsPointerrl   s    r9   Ú
is_pointerzTypeRef.is_pointer\   s   € õ
 Œw×+Ò+¨DÑ1Ô1Ð1r8   c                 ó¬   — | j         s"t          d                     | ¦  «        ¦  «        ‚t          t          j                             | ¦  «        ¦  «        S )zh
        Returns the pointed-to type. When the type is not a pointer,
        raises exception.
        zType {} is not a pointer)rq   Ú
ValueErrorÚformatrg   r   rj   ÚLLVMPY_GetElementTyperl   s    r9   Úelement_typezTypeRef.element_typec   sJ   € ð Œð 	FÝÐ7×>Ò>¸tÑDÔDÑEÔEÐEÝ•s”w×4Ò4°TÑ:Ô:Ñ;Ô;Ð;r8   c                 ód   — t          j        t           j                             | ¦  «        ¦  «        S ©N)r   ri   rj   ÚLLVMPY_PrintTyperl   s    r9   Ú__str__zTypeRef.__str__m   s"   € ÝŒ~�cœg×6Ò6°tÑ<Ô<Ñ=Ô=Ð=r8   N)	r#   r$   r%   Ú__doc__Úpropertyrn   rq   rv   rz   r7   r8   r9   rg   rg   R   s   € € € € € ðð àð@ð @ñ „Xð@ð ð2ð 2ñ „Xð2ð ð<ð <ñ „Xð<ð>ð >ð >ð >ð >r8   rg   c                   ó¼  — e Zd ZdZd„ Zd„ Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Z	ed„ ¦   «         Z
ed„ ¦   «         Zed	„ ¦   «         Zed
„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zej        d„ ¦   «         Zed„ ¦   «         Zej        d„ ¦   «         Zed„ ¦   «         Zej        d„ ¦   «         Zed„ ¦   «         Zej        d„ ¦   «         Zd„ Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed„ ¦   «         Zed „ ¦   «         Z d$d"„Z!d#S )%ÚValueRefz&A weak reference to a LLVM value.
    c                 ób   — || _         || _        t          j                             | |¦  «         d S rx   )Ú_kindÚ_parentsr   Ú	ObjectRefÚ__init__)rm   ÚptrÚkindÚparentss       r9   rƒ   zValueRef.__init__u   s.   € ØˆŒ
ØˆŒÝŒ×Ò˜t SÑ)Ô)Ð)Ð)Ð)r8   c                 óº   — t          j        ¦   «         5 }t           j                             | |¦  «         t	          |¦  «        cd d d ¦  «         S # 1 swxY w Y   d S rx   )r   ÚOutputStringrj   ÚLLVMPY_PrintValueToStringÚstr)rm   Úoutstrs     r9   rz   zValueRef.__str__z   s“   € ÝÔÑÔð 	 6ÝŒG×-Ò-¨d°FÑ;Ô;Ð;Ý�v‘;”;ð	ð 	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   ”/AÁAÁAc                 ó6   — | j                              d¦  «        S )zV
        The module this function or global variable value was obtained from.
        Úmodule©r�   Úgetrl   s    r9   r�   zValueRef.module   s   € ð
 Œ}× Ò  Ñ*Ô*Ð*r8   c                 ó6   — | j                              d¦  «        S )zT
        The function this argument or basic block value was obtained from.
        rQ   rŽ   rl   s    r9   rQ   zValueRef.function†   s   € ð
 Œ}× Ò  Ñ,Ô,Ð,r8   c                 ó6   — | j                              d¦  «        S )zE
        The block this instruction value was obtained from.
        ÚblockrŽ   rl   s    r9   r’   zValueRef.block�   s   € ð
 Œ}× Ò  Ñ)Ô)Ð)r8   c                 ó6   — | j                              d¦  «        S )zG
        The instruction this operand value was obtained from.
        rd   rŽ   rl   s    r9   rd   zValueRef.instruction”   s   € ð
 Œ}× Ò  Ñ/Ô/Ð/r8   c                 ó   — | j         dk    S )NÚglobal©r€   rl   s    r9   Ú	is_globalzValueRef.is_global›   s   € àŒz˜XÒ%Ð%r8   c                 ó   — | j         dk    S )NrQ   r–   rl   s    r9   Úis_functionzValueRef.is_functionŸ   ó   € àŒz˜ZÒ'Ð'r8   c                 ó   — | j         dk    S )Nr’   r–   rl   s    r9   Úis_blockzValueRef.is_block£   s   € àŒz˜WÒ$Ð$r8   c                 ó   — | j         dk    S )NrL   r–   rl   s    r9   Úis_argumentzValueRef.is_argument§   rš   r8   c                 ó   — | j         dk    S )Nrd   r–   rl   s    r9   Úis_instructionzValueRef.is_instruction«   s   € àŒz˜]Ò*Ð*r8   c                 ó   — | j         dk    S )NÚoperandr–   rl   s    r9   Ú
is_operandzValueRef.is_operand¯   s   € àŒz˜YÒ&Ð&r8   c                 óZ   — t          t          j                             | ¦  «        ¦  «        S rx   )Úboolr   rj   ÚLLVMPY_IsConstantrl   s    r9   Úis_constantzValueRef.is_constant³   s    € å•C”G×-Ò-¨dÑ3Ô3Ñ4Ô4Ð4r8   c                 óZ   — t          t          j                             | ¦  «        ¦  «        S rx   )rB   r   rj   ÚLLVMPY_GetValueKindrl   s    r9   Ú
value_kindzValueRef.value_kind·   s    € å�œ×4Ò4°TÑ:Ô:Ñ;Ô;Ð;r8   c                 óZ   — t          t          j                             | ¦  «        ¦  «        S rx   )r   r   rj   ÚLLVMPY_GetValueNamerl   s    r9   rn   zValueRef.name»   s    € å�cœg×9Ò9¸$Ñ?Ô?Ñ@Ô@Ð@r8   c                 ó`   — t           j                             | t          |¦  «        ¦  «         d S rx   )r   rj   ÚLLVMPY_SetValueNamer   )rm   Úvals     r9   rn   zValueRef.name¿   s(   € åŒ×#Ò# D­.¸Ñ*=Ô*=Ñ>Ô>Ð>Ð>Ð>r8   c                 óZ   — t          t          j                             | ¦  «        ¦  «        S rx   )r   r   rj   ÚLLVMPY_GetLinkagerl   s    r9   ÚlinkagezValueRef.linkageÃ   s    € å•s”w×0Ò0°Ñ6Ô6Ñ7Ô7Ð7r8   c                 óŠ   — t          |t          ¦  «        st          |         }t          j                             | |¦  «         d S rx   )Ú
isinstancer   r   rj   ÚLLVMPY_SetLinkage©rm   Úvalues     r9   r²   zValueRef.linkageÇ   s;   € å˜%¥Ñ)Ô)ð 	#Ý˜E”NˆEÝŒ×!Ò! $¨Ñ.Ô.Ð.Ð.Ð.r8   c                 óZ   — t          t          j                             | ¦  «        ¦  «        S rx   )r;   r   rj   ÚLLVMPY_GetVisibilityrl   s    r9   Ú
visibilityzValueRef.visibilityÍ   s    € å�#œ'×6Ò6°tÑ<Ô<Ñ=Ô=Ð=r8   c                 óŠ   — t          |t          ¦  «        st          |         }t          j                             | |¦  «         d S rx   )r´   r;   r   rj   ÚLLVMPY_SetVisibilityr¶   s     r9   rº   zValueRef.visibilityÑ   s<   € å˜%¥Ñ,Ô,ð 	&Ý˜uÔ%ˆEÝŒ×$Ò$ T¨5Ñ1Ô1Ð1Ð1Ð1r8   c                 óZ   — t          t          j                             | ¦  «        ¦  «        S rx   )r@   r   rj   ÚLLVMPY_GetDLLStorageClassrl   s    r9   Ústorage_classzValueRef.storage_class×   s    € å�CœG×=Ò=¸dÑCÔCÑDÔDÐDr8   c                 óŠ   — t          |t          ¦  «        st          |         }t          j                             | |¦  «         d S rx   )r´   r@   r   rj   ÚLLVMPY_SetDLLStorageClassr¶   s     r9   r¿   zValueRef.storage_classÛ   s<   € å˜%¥Ñ.Ô.ð 	(Ý  Ô'ˆEÝŒ×)Ò)¨$°Ñ6Ô6Ð6Ð6Ð6r8   c                 ód  — | j         st          d| j        ›�¦  «        ‚t          |¦  «        }t          j                             t          |¦  «        t          |¦  «        ¦  «        }|dk    r"t          d 	                    |¦  «        ¦  «        ‚t          j         
                    | |¦  «         dS )z{Only works on function value

        Parameters
        -----------
        attr : str
            attribute name
        úexpected function value, got r   zno such attribute {!r}N)r™   rs   r€   rŠ   r   rj   Ú"LLVMPY_GetEnumAttributeKindForNamer   Úlenrt   ÚLLVMPY_AddFunctionAttr)rm   ÚattrÚattrnameÚattrvals       r9   Úadd_function_attributezValueRef.add_function_attributeá   s    € ð Ôð 	PÝ�*À$Ä*À*ÐNÑOÔOÐOÝ�t‘9”9ˆÝ”'×<Ò<Ý˜8Ñ$Ô$¥c¨(¡m¤mñ5ô 5ˆà�aŠ<ˆ<ÝÐ5×<Ò<¸XÑFÔFÑGÔGÐGÝŒ×&Ò& t¨WÑ5Ô5Ð5Ð5Ð5r8   c                 óZ   — t          t          j                             | ¦  «        ¦  «        S )z)
        This value's LLVM type.
        )rg   r   rj   ÚLLVMPY_TypeOfrl   s    r9   ÚtypezValueRef.typeò   s"   € õ •s”w×,Ò,¨TÑ2Ô2Ñ3Ô3Ð3r8   c                 óŠ   — | j         s| j        st          d| j        ›�¦  «        ‚t          j                             | ¦  «        S )zb
        Whether this value (presumably global) is defined in the current
        module.
        z'expected global or function value, got )r—   r™   rs   r€   r   rj   ÚLLVMPY_IsDeclarationrl   s    r9   Úis_declarationzValueRef.is_declarationú   sN   € ð ”ð 	. $Ô"2ð 	.Ý�*Ø $¤
 
ð-ñ .ô .ð .åŒw×+Ò+¨DÑ1Ô1Ð1r8   c                 ó\  — t          d¦  «        }| j        r/t          j                             | ¦  «        }t          |¦  «        }næ| j        rt| j        dk    r/t          j                             | ¦  «        }t          |¦  «        }n¥| j        dk    r.t          j         	                    | ¦  «        }t          |¦  «        }nk| j
        r/t          j                             | ¦  «        }t          |¦  «        }n5| j        r.t          j                             | ¦  «        }t          |¦  «        }|S )z
        Return an iterator over this value's attributes.
        The iterator will yield a string for each attribute.
        r7   ÚcallÚinvoke)Úiterr™   r   rj   ÚLLVMPY_FunctionAttributesIterÚ_AttributeListIteratorr    ÚopcodeÚLLVMPY_CallInstAttributesIterÚLLVMPY_InvokeInstAttributesIterr—   ÚLLVMPY_GlobalAttributesIterÚ_AttributeSetIteratorrž   ÚLLVMPY_ArgumentAttributesIter)rm   ÚitrÚits      r9   Ú
attributeszValueRef.attributes  s
  € õ �2‰hŒhˆØÔð 	,Ý”×6Ò6°tÑ<Ô<ˆBÝ(¨Ñ,Ô,ˆCˆCØÔ ð 	,ØŒ{˜fÒ$Ð$Ý”W×:Ò:¸4Ñ@Ô@�Ý,¨RÑ0Ô0��Ø” Ò(Ð(Ý”W×<Ò<¸TÑBÔB�Ý,¨RÑ0Ô0�øØŒ^ð 	,Ý”×4Ò4°TÑ:Ô:ˆBÝ'¨Ñ+Ô+ˆCˆCØÔð 	,Ý”×6Ò6°tÑ<Ô<ˆBÝ'¨Ñ+Ô+ˆCØˆ
r8   c                 óú   — | j         st          d| j        ›�¦  «        ‚t          j                             | ¦  «        }| j                             ¦   «         }|                     | ¬¦  «         t          ||¦  «        S )z|
        Return an iterator over this function's blocks.
        The iterator will yield a ValueRef for each block.
        rÃ   ©rQ   )
r™   rs   r€   r   rj   ÚLLVMPY_FunctionBlocksIterr�   ÚcopyÚupdateÚ_BlocksIterator©rm   rÞ   r†   s      r9   ÚblockszValueRef.blocks  ss   € ð Ôð 	PÝ�*À$Ä*À*ÐNÑOÔOÐOÝŒW×.Ò.¨tÑ4Ô4ˆØ”-×$Ò$Ñ&Ô&ˆØ�Š ˆÑ%Ô%Ð%Ý˜r 7Ñ+Ô+Ð+r8   c                 óú   — | j         st          d| j        ›�¦  «        ‚t          j                             | ¦  «        }| j                             ¦   «         }|                     | ¬¦  «         t          ||¦  «        S )z‚
        Return an iterator over this function's arguments.
        The iterator will yield a ValueRef for each argument.
        rÃ   rá   )
r™   rs   r€   r   rj   ÚLLVMPY_FunctionArgumentsIterr�   rã   rä   Ú_ArgumentsIteratorræ   s      r9   Ú	argumentszValueRef.arguments+  ss   € ð Ôð 	PÝ�*À$Ä*À*ÐNÑOÔOÐOÝŒW×1Ò1°$Ñ7Ô7ˆØ”-×$Ò$Ñ&Ô&ˆØ�Š ˆÑ%Ô%Ð%Ý! " gÑ.Ô.Ð.r8   c                 óú   — | j         st          d| j        ›�¦  «        ‚t          j                             | ¦  «        }| j                             ¦   «         }|                     | ¬¦  «         t          ||¦  «        S )z…
        Return an iterator over this block's instructions.
        The iterator will yield a ValueRef for each instruction.
        zexpected block value, got )r’   )
rœ   rs   r€   r   rj   ÚLLVMPY_BlockInstructionsIterr�   rã   rä   Ú_InstructionsIteratorræ   s      r9   ÚinstructionszValueRef.instructions8  sr   € ð Œ}ð 	MÝ�*¸t¼z¸zÐKÑLÔLÐLÝŒW×1Ò1°$Ñ7Ô7ˆØ”-×$Ò$Ñ&Ô&ˆØ�Š˜TˆÑ"Ô"Ð"Ý$ R¨Ñ1Ô1Ð1r8   c                 óú   — | j         st          d| j        ›�¦  «        ‚t          j                             | ¦  «        }| j                             ¦   «         }|                     | ¬¦  «         t          ||¦  «        S )zƒ
        Return an iterator over this instruction's operands.
        The iterator will yield a ValueRef for each operand.
        ú expected instruction value, got )rd   )
r    rs   r€   r   rj   ÚLLVMPY_InstructionOperandsIterr�   rã   rä   Ú_OperandsIteratorræ   s      r9   ÚoperandszValueRef.operandsE  s{   € ð Ô"ð 	.Ý�*Ø $¤
 
ð-ñ .ô .ð .åŒW×3Ò3°DÑ9Ô9ˆØ”-×$Ò$Ñ&Ô&ˆØ�Š 4ˆÑ(Ô(Ð(Ý   WÑ-Ô-Ð-r8   c                 ó    — | j         st          d| j        ›�¦  «        ‚t          j        t          j                             | ¦  «        ¦  «        S )Nrñ   )r    rs   r€   r   ri   rj   ÚLLVMPY_GetOpcodeNamerl   s    r9   r×   zValueRef.opcodeS  sM   € àÔ"ð 	.Ý�*Ø $¤
 
ð-ñ .ô .ð .åŒ~�cœg×:Ò:¸4Ñ@Ô@ÑAÔAÐAr8   Fc           	      óì  — | j         st          d| j        ›�¦  «        ‚| j        t          j        k    r¸t          d¦  «        }t          j         	                    | ¦  «        }t          j         
                    | t          |¦  «        ¦  «        }t          t          |t          t          |z  ¦  «        ¦  «        j        ¦  «        }t"                               ||j        rdnd|¬¦  «        S | j        t          j        k    rft          d¦  «        }t          j                             | t          |¦  «        ¦  «        }|j        r!|st          dt-          | ¦  «        › �¦  «        ‚|S t-          | ¦  «        S )aä  
        Return the constant value, either as a literal (when supported)
        or as a string.

        Parameters
        -----------
        signed_int : bool
            if True and the constant is an integer, returns a signed version
        round_fp : bool
            if True and the constant is a floating point value, rounds the
            result upon accuracy loss (e.g., when querying an fp128 value).
            By default, raises an exception on accuracy loss
        zexpected constant value, got FÚlittleÚbig)Úsignedz:Accuracy loss encountered in conversion of constant value )r§   rs   r€   rª   rB   r^   r   r   rj   ÚLLVMPY_GetConstantIntNumWordsÚLLVMPY_GetConstantIntRawValuer   Úbytesr   r   r   ÚcontentsÚintÚ
from_bytesr·   r_   ÚLLVMPY_GetConstantFPValuerŠ   )	rm   Ú
signed_intÚround_fpÚlittle_endianÚwordsr„   ÚasbytesÚaccuracy_lossr·   s	            r9   Úget_constant_valuezValueRef.get_constant_valueZ  sp  € ð Ôð 	.Ý�*Ø $¤
 
ð-ñ .ô .ð .ð Œ?�iÔ4Ò4Ð4å" 5™MœMˆMÝ”G×9Ò9¸$Ñ?Ô?ˆEÝ”'×7Ò7Ø•e˜MÑ*Ô*ñ,ô ,ˆCå�D ¥g­h¸Ñ.>Ñ&?Ô&?Ñ@Ô@ÔIÑJÔJˆGÝ—>’>ØØ*Ô0Ð;��°eØ!ð "ñ ô ð ð
 Œ_¥	Ô 5Ò5Ð5å" 5™MœMˆMÝ”G×5Ò5°dÝ6;¸MÑ6JÔ6JñLô LˆEàÔ"ð *¨8ð *Ý ð)Ý  ™YœYð)ð )ñ*ô *ð *ð ˆLõ �4‰yŒyÐr8   N)FF)"r#   r$   r%   r{   rƒ   rz   r|   r�   rQ   r’   rd   r—   r™   rœ   rž   r    r£   r§   rª   rn   Úsetterr²   rº   r¿   rÊ   rÍ   rÐ   rß   rç   rë   rï   rô   r×   r  r7   r8   r9   r~   r~   q   sh  € € € € € ðð ð*ð *ð *ð
ð ð ð
 ð+ð +ñ „Xð+ð ð-ð -ñ „Xð-ð ð*ð *ñ „Xð*ð ð0ð 0ñ „Xð0ð ð&ð &ñ „Xð&ð ð(ð (ñ „Xð(ð ð%ð %ñ „Xð%ð ð(ð (ñ „Xð(ð ð+ð +ñ „Xð+ð ð'ð 'ñ „Xð'ð ð5ð 5ñ „Xð5ð ð<ð <ñ „Xð<ð ðAð Añ „XðAð 
„[ð?ð ?ñ „[ð?ð ð8ð 8ñ „Xð8ð „^ð/ð /ñ „^ð/ð
 ð>ð >ñ „Xð>ð Ôð2ð 2ñ Ôð2ð
 ðEð Eñ „XðEð Ôð7ð 7ñ Ôð7ð
6ð 6ð 6ð" ð4ð 4ñ „Xð4ð ð2ð 2ñ „Xð2ð ðð ñ „Xðð0 ð
,ð 
,ñ „Xð
,ð ð
/ð 
/ñ „Xð
/ð ð
2ð 
2ñ „Xð
2ð ð.ð .ñ „Xð.ð ðBð Bñ „XðBð+ð +ð +ð +ð +ð +r8   r~   c                   ó(   — e Zd ZdZd„ Zd„ ZeZd„ ZdS )Ú_ValueIteratorNc                 óª   — t           j                             | |¦  «         || _        | j        €$t          t          | ¦  «        j        ›d�¦  «        ‚d S )Nz must specify kind attribute)r   r‚   rƒ   r�   r…   ÚNotImplementedErrorrÍ   r#   )rm   r„   r†   s      r9   rƒ   z_ValueIterator.__init__�  s]   € ÝŒ×Ò˜t SÑ)Ô)Ð)àˆŒØŒ9ÐÝ%Ý)-¨d©¬Ô)<Ð)<Ð)<ð'?ñ @ô @ð @ð Ðr8   c                 ór   — |                       ¦   «         }|rt          || j        | j        ¦  «        S t          ‚rx   )Ú_nextr~   r…   r�   ÚStopIteration©rm   Úvps     r9   Ú__next__z_ValueIterator.__next__•  s3   € Ø�ZŠZ‰\Œ\ˆØð 	 Ý˜B ¤	¨4¬=Ñ9Ô9Ð9åÐr8   c                 ó   — | S rx   r7   rl   s    r9   Ú__iter__z_ValueIterator.__iter__ž  ó   € Øˆr8   )r#   r$   r%   r…   rƒ   r  Únextr  r7   r8   r9   r  r  ˆ  sP   € € € € € à€Dð@ð @ð @ð ð  ð  ð €Dðð ð ð ð r8   r  c                   ó   — e Zd Zd„ ZeZd„ ZdS )Ú_AttributeIteratorc                 ó@   — |                       ¦   «         }|r|S t          ‚rx   )r  r  r  s     r9   r  z_AttributeIterator.__next__¤  s"   € Ø�ZŠZ‰\Œ\ˆØð 	 ØˆIåÐr8   c                 ó   — | S rx   r7   rl   s    r9   r  z_AttributeIterator.__iter__­  r  r8   N)r#   r$   r%   r  r  r  r7   r8   r9   r  r  ¢  s9   € € € € € ð ð  ð  ð €Dðð ð ð ð r8   r  c                   ó   — e Zd Zd„ Zd„ ZdS )rÖ   c                 ó:   — | j                              | ¦  «         d S rx   )Ú_capiÚLLVMPY_DisposeAttributeListIterrl   s    r9   Ú_disposez_AttributeListIterator._dispose³  s   € ØŒ
×2Ò2°4Ñ8Ô8Ð8Ð8Ð8r8   c                 ód   — t          j        t           j                             | ¦  «        ¦  «        S rx   )r   Ú	ret_bytesrj   ÚLLVMPY_AttributeListIterNextrl   s    r9   r  z_AttributeListIterator._next¶  s"   € ÝŒ}�SœW×AÒAÀ$ÑGÔGÑHÔHÐHr8   N©r#   r$   r%   r   r  r7   r8   r9   rÖ   rÖ   ±  s7   € € € € € ð9ð 9ð 9ðIð Ið Ið Ið Ir8   rÖ   c                   ó   — e Zd Zd„ Zd„ ZdS )rÛ   c                 ó:   — | j                              | ¦  «         d S rx   )r  ÚLLVMPY_DisposeAttributeSetIterrl   s    r9   r   z_AttributeSetIterator._dispose¼  ó   € ØŒ
×1Ò1°$Ñ7Ô7Ð7Ð7Ð7r8   c                 ód   — t          j        t           j                             | ¦  «        ¦  «        S rx   )r   r"  rj   ÚLLVMPY_AttributeSetIterNextrl   s    r9   r  z_AttributeSetIterator._next¿  s"   € ÝŒ}�SœW×@Ò@ÀÑFÔFÑGÔGÐGr8   Nr$  r7   r8   r9   rÛ   rÛ   º  s7   € € € € € ð8ð 8ð 8ðHð Hð Hð Hð Hr8   rÛ   c                   ó   — e Zd ZdZd„ Zd„ ZdS )rå   r’   c                 ó:   — | j                              | ¦  «         d S rx   )r  ÚLLVMPY_DisposeBlocksIterrl   s    r9   r   z_BlocksIterator._disposeÇ  s   € ØŒ
×+Ò+¨DÑ1Ô1Ð1Ð1Ð1r8   c                 ó@   — t           j                             | ¦  «        S rx   )r   rj   ÚLLVMPY_BlocksIterNextrl   s    r9   r  z_BlocksIterator._nextÊ  s   € ÝŒw×,Ò,¨TÑ2Ô2Ð2r8   N©r#   r$   r%   r…   r   r  r7   r8   r9   rå   rå   Ã  s7   € € € € € à€Dð2ð 2ð 2ð3ð 3ð 3ð 3ð 3r8   rå   c                   ó   — e Zd ZdZd„ Zd„ ZdS )rê   rL   c                 ó:   — | j                              | ¦  «         d S rx   )r  ÚLLVMPY_DisposeArgumentsIterrl   s    r9   r   z_ArgumentsIterator._disposeÒ  s   € ØŒ
×.Ò.¨tÑ4Ô4Ð4Ð4Ð4r8   c                 ó@   — t           j                             | ¦  «        S rx   )r   rj   ÚLLVMPY_ArgumentsIterNextrl   s    r9   r  z_ArgumentsIterator._nextÕ  s   € ÝŒw×/Ò/°Ñ5Ô5Ð5r8   Nr0  r7   r8   r9   rê   rê   Î  s7   € € € € € à€Dð5ð 5ð 5ð6ð 6ð 6ð 6ð 6r8   rê   c                   ó   — e Zd ZdZd„ Zd„ ZdS )rî   rd   c                 ó:   — | j                              | ¦  «         d S rx   )r  ÚLLVMPY_DisposeInstructionsIterrl   s    r9   r   z_InstructionsIterator._disposeÝ  r(  r8   c                 ó@   — t           j                             | ¦  «        S rx   )r   rj   ÚLLVMPY_InstructionsIterNextrl   s    r9   r  z_InstructionsIterator._nextà  s   € ÝŒw×2Ò2°4Ñ8Ô8Ð8r8   Nr0  r7   r8   r9   rî   rî   Ù  s7   € € € € € à€Dð8ð 8ð 8ð9ð 9ð 9ð 9ð 9r8   rî   c                   ó   — e Zd ZdZd„ Zd„ ZdS )ró   r¢   c                 ó:   — | j                              | ¦  «         d S rx   )r  ÚLLVMPY_DisposeOperandsIterrl   s    r9   r   z_OperandsIterator._disposeè  s   € ØŒ
×-Ò-¨dÑ3Ô3Ð3Ð3Ð3r8   c                 ó@   — t           j                             | ¦  «        S rx   )r   rj   ÚLLVMPY_OperandsIterNextrl   s    r9   r  z_OperandsIterator._nextë  s   € ÝŒw×.Ò.¨tÑ4Ô4Ð4r8   Nr0  r7   r8   r9   ró   ró   ä  s7   € € € € € à€Dð4ð 4ð 4ð5ð 5ð 5ð 5ð 5r8   ró   )ZÚctypesr   r   r   r   r   r   r	   r
   r   r   r   ÚenumÚllvmlite.bindingr   Úllvmlite.binding.commonr   r   ÚIntEnumr   r;   r@   rB   r‚   rg   r~   r  r  rÖ   rÛ   rå   rê   rî   ró   ÚLLVMValueRefrj   r‰   ÚargtypesÚLLVMPY_GetGlobalParentÚLLVMModuleRefÚrestyper¬   r®   rÌ   ÚLLVMTypeRefry   rp   ru   rk   r±   rµ   r¹   r¼   r¾   rÁ   rÄ   rÆ   rÏ   rÕ   ÚLLVMAttributeListIteratorrØ   rÙ   rÚ   ÚLLVMAttributeSetIteratorrÜ   râ   ÚLLVMBlocksIteratorré   ÚLLVMArgumentsIteratorrí   ÚLLVMInstructionsIteratorrò   ÚLLVMOperandsIteratorr  r'  r-  r8  r=  r#  r*  r/  r5  r:  r?  rö   r¦   r©   rü   rû   r  r7   r8   r9   ú<module>rQ     sž  ðð8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8à €€€à  Ð  Ð  Ð  Ð  Ð  Ø BÐ BÐ BÐ BÐ BÐ BÐ BÐ Bðð ð ð ð ˆdŒlñ ô ð ð,ð ð ð ð �”ñ ô ð ðð ð ð ð �4”<ñ ô ð ð ð  ð  ð  ð  �”ñ  ô  ð  ðF>ð >ð >ð >ð >ˆcŒmñ >ô >ð >ð>Tð Tð Tð Tð TˆsŒ}ñ Tô Tð Tðnð ð ð ð �S”]ñ ô ð ð4ð ð ð ð ˜œñ ô ð ðIð Ið Ið Ið IÐ/ñ Iô Ið IðHð Hð Hð Hð HÐ.ñ Hô Hð Hð3ð 3ð 3ð 3ð 3�nñ 3ô 3ð 3ð6ð 6ð 6ð 6ð 6˜ñ 6ô 6ð 6ð9ð 9ð 9ð 9ð 9˜Nñ 9ô 9ð 9ð5ð 5ð 5ð 5ð 5˜ñ 5ô 5ð 5ð ÔØ€GˆHÑÔð.€„Ô !Ô *ð
 ,/Ô+;Ð*<€„Ô Ô 'Ø),Ô):€„Ô Ô &à(+Ô(8Ð'9€„Ô Ô $Ø&.€„Ô Ô #à(+Ô(8¸(Ð'C€„Ô Ô $à"%Ô"2Ð!3€„Ô Ô Ø #¤€„Ô Ô ð &)¤_Ð$5€„Ô Ô !Ø#+€„Ô Ô  à),¬Ð(9€„Ô Ô %Ø'-€„Ô Ô $à*-¬/Ð):€„Ô Ô &Ø(+¬€„Ô Ô %ð (+¤Ð&7€„Ô Ô #Ø%-€„Ô Ô "à&)Ô&6Ð%7€„Ô Ô "Ø$)€„Ô Ô !à&)Ô&6¸Ð%>€„Ô Ô "à),Ô)9Ð(:€„Ô Ô %Ø',€„Ô Ô $à),Ô)9¸5Ð(A€„Ô Ô %à.1Ô.>Ð-?€„Ô !Ô *Ø,1€„Ô !Ô )à.1Ô.>ÀÐ-F€„Ô !Ô *à7?ÀÐ6J€„Ô *Ô 3Ø5;€„Ô *Ô 2à+.Ô+;¸VÐ*D€„Ô Ô 'à),Ô)9Ð(:€„Ô Ô %Ø',€„Ô Ô $à25Ô2BÐ1C€„Ô %Ô .Ø03Ô0M€„Ô %Ô -à25Ô2BÐ1C€„Ô %Ô .Ø03Ô0M€„Ô %Ô -à47Ô4DÐ3E€„Ô 'Ô 0Ø25Ô2O€„Ô 'Ô /à03Ô0@Ð/A€„Ô #Ô ,Ø.1Ô.J€„Ô #Ô +à25Ô2BÐ1C€„Ô %Ô .Ø03Ô0L€„Ô %Ô -à.1Ô.>Ð-?€„Ô !Ô *Ø,/Ô,B€„Ô !Ô )à14Ô1AÐ0B€„Ô $Ô -Ø/2Ô/H€„Ô $Ô ,à14Ô1AÐ0B€„Ô $Ô -Ø/2Ô/K€„Ô $Ô ,à36Ô3CÐ2D€„Ô &Ô /Ø14Ô1I€„Ô &Ô .ð Ô!ð4#€„Ô 'Ô 0ð 47Ô3OÐ2P€„Ô &Ô /à-0Ô-CÐ,D€„Ô  Ô )à36Ô3OÐ2P€„Ô &Ô /à/2Ô/GÐ.H€„Ô "Ô +à14Ô1NÐ0O€„Ô $Ô -Ø/7€„Ô $Ô ,à03Ô0LÐ/M€„Ô #Ô ,Ø.6€„Ô #Ô +à*-Ô*@Ð)A€„Ô Ô &Ø(+Ô(8€„Ô Ô %à-0Ô-FÐ,G€„Ô  Ô )Ø+.Ô+;€„Ô  Ô (à03Ô0LÐ/M€„Ô #Ô ,Ø.1Ô.>€„Ô #Ô +à,/Ô,DÐ+E€„Ô Ô (Ø*-Ô*:€„Ô Ô 'à),Ô)9Ð(:€„Ô Ô %Ø'/€„Ô Ô $à&)Ô&6Ð%7€„Ô Ô "Ø$*€„Ô Ô !à(+Ô(8Ð'9€„Ô Ô $Ø&+€„Ô Ô #à25Ô2BØ29°'¸&±/´/ð2C€„Ô %Ô .à07°¸Ñ0AÔ0A€„Ô %Ô -à25Ô2BÐ1C€„Ô %Ô .Ø06€„Ô %Ô -à.1Ô.>Ø.5¨g°f©o¬oð.?€„Ô !Ô *à,4€„Ô !Ô )Ð )Ð )r8   