+
    NV-ji«  ã                   óL   € ^ RI t ^RIHt ^RIHt ^RIHt  ! R R]4      tRt	R# )é    N)Úmodel©ÚVerificationError)Ú_imp_emulationc                   ó¾  a € ] tR t^
t o RtRtR tR tR tR t	R8R lt
R tR	 tR
 tR9R ltR tR tR tR tR tR tR tR tR t]t]t]t]t]tR tR tR t]t R t!]t"R t#R t$R t%R t&]t'R t(R t)R  t*R! t+R" t,R# t-R$ t.R% t/]t0R& t1R' t2R( t3R) t4R:R* lt5R+ t6R, t7]t8]t9]t:R8R- lt;R. t<R;R/ lt=]t>]t?R0 t@R1 tAR2 tB]tC]tD]tE]tFR3 tGR4 tH]tI]tJR5 tKR6 tLR7tMV tNR# )<ÚVCPythonEngineÚxTc                óP   € Wn         VP                  V n        / V n        / V n        R # ©N)ÚverifierÚffiÚ_struct_pending_verificationÚ_types_of_builtin_functions)Úselfr   s   &&Úa/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/cffi/vengine_cpy.pyÚ__init__ÚVCPythonEngine.__init__   s"   € Ø ŒØ—<‘<ˆŒØ,.ˆÔ)Ø+-ˆÖ(ó    c                ó   € R # r   © )r   Úkwdss   &&r   Úpatch_extension_kwdsÚ#VCPythonEngine.patch_extension_kwds   ó   € Ùr   c                ó¦   €  \         P                  ! W4      w  rEpTe   TP                  4        T^ ,          T9  d   R # T#   \         d     R # i ; ir   )ÚimpÚfind_moduleÚImportErrorÚclose)r   Úmodule_nameÚpathÚso_suffixesÚfÚfilenameÚdescrs   &&&&   r   r   ÚVCPythonEngine.find_module   sT   € ð	Ü!$§¢°Ó!CÑˆA˜ð Š=Ø�G‰GŒIð ��8˜;Ô&ÙØˆøô ô 	Úð	ús   ‚A ÁAÁAc                ó6   € / V n         V P                  R 4       R# )ÚcollecttypeN)Ú
_typesdictÚ	_generate)r   s   &r   Úcollect_typesÚVCPythonEngine.collect_types%   s   € ØˆŒØ�‰�}Ö%r   c                óJ   € V P                   P                  VR ,           4       R# )Ú
N)Ú_fÚwrite)r   Úwhats   &&r   Ú_prntÚVCPythonEngine._prnt)   s   € Ø�‰�‰�d˜T•kÖ"r   c                ó(   € V P                   V,          # r   )r)   )r   Útypes   &&r   Ú_gettypenumÚVCPythonEngine._gettypenum,   s   € à�‰˜tÕ$Ð$r   c                óÖ   € \        V\        P                  4      '       d   VP                  R 8X  d8   WP                  9  d&   \        V P                  4      pW P                  V&   R# R# R# )úlong doubleN)Ú
isinstancer   ÚPrimitiveTypeÚnamer)   Úlen)r   ÚtpÚnums   && r   Ú_do_collect_typeÚVCPythonEngine._do_collect_type0   sO   € Ü˜B¤× 3Ñ 3×4Ò4Ø—‘˜=Ô(ØŸo™oÔ-Ü�d—o‘oÓ&ˆCØ"%�O‰O˜BÓñ .ñ )r   c                óÈ  € V P                  4        R R .V n        V P                  pV! \        4       V! 4        V! V P                  P
                  4       V! 4        V P                  R4       V P                  4        V! 4        V! R4       V P                  R4       V! R4       V! R4       V! R4       V! 4        V P                  P                  4       pV P                  R,          pV! R4       V! 4        V! R	4       V! R
4       V! RV,          4       V! R4       V! R4       V! R4       V! R4       V! R4       V! 4        V! R4       V! RV,          4       V! R4       V! R4       V! R4       V! R4       V! R4       V! RV: R24       V! R4       V! R4       V! R4       V! R4       V! R4       V! R4       V! R4       V! R4       V! 4        V! R 4       V! 4        V! R4       V! R!V,          4       V! R4       V! R4       V! R"V,          4       V! R4       V! R#4       V! RV: R$24       V! R#4       V! R%4       V! R4       V! 4        V! R4       R&# )'z((void)lib,0)Údeclz&static PyMethodDef _cffi_methods[] = {Úmethodz3  {"_cffi_setup", _cffi_setup, METH_VARARGS, NULL},z)  {NULL, NULL, 0, NULL}    /* Sentinel */z};Fz#if PY_MAJOR_VERSION >= 3z.static struct PyModuleDef _cffi_module_def = {z  PyModuleDef_HEAD_INIT,z  "%s",z  NULL,z  -1,z  _cffi_methods,z  NULL, NULL, NULL, NULLÚPyMODINIT_FUNCzPyInit_%s(void)Ú{z  PyObject *lib;z+  lib = PyModule_Create(&_cffi_module_def);z  if (lib == NULL)ú    return NULL;ú  if (z < 0 || _cffi_init() < 0) {z    Py_DECREF(lib);ú  }z#if Py_GIL_DISABLEDz5  PyUnstable_Module_SetGIL(lib, Py_MOD_GIL_NOT_USED);z#endifz  return lib;Ú}z#elsezinit%s(void)z+  lib = Py_InitModule("%s", _cffi_methods);z    return;z < 0 || _cffi_init() < 0)z	  return;N)	r+   Ú_chained_list_constantsr2   Úcffimod_headerr   Úpreambler*   Ú_generate_setup_customÚget_module_name)r   ÚprntÚmodnameÚ	constantss   &   r   Úwrite_source_to_fÚ VCPythonEngine.write_source_to_f7   s/  € Ø×ÑÔð" )8¸Ð'IˆÔ$à�z‰zˆáŒ^ÔÙŒáˆT�]‰]×#Ñ#Ô$ÙŒð 	�‰�vÔð 	×#Ñ#Ô%ÙŒñ
 	Ð5Ô6Ø�‰�xÔ ÙÐBÔCÙÐ8Ô9ÙˆTŒ
ÙŒð —-‘-×/Ñ/Ó1ˆØ×0Ñ0°Õ7ˆ	ÙÐ(Ô)ÙŒÙÐ=Ô>ÙÐ'Ô(ÙˆY˜Õ Ô!ÙˆYŒÙˆWŒÙÐÔ ÙÐ'Ô(ÙˆTŒ
ÙŒÙÐÔÙÐ Õ(Ô)ÙˆSŒ	ÙÐÔ ÙÐ:Ô;ÙÐ!Ô"ÙÐÔ Ú³iÐAÔBÙÐ"Ô#ÙÐÔ ÙˆUŒÙÐ"Ô#ÙÐDÔEÙˆXŒÙˆ_ÔÙˆSŒ	ÙŒÙˆWŒÙŒÙÐÔÙˆ^˜gÕ%Ô&ÙˆSŒ	ÙÐÔ ÙÐ:¸WÕDÔEÙÐ!Ô"Ùˆ]ÔÚ³IÐ?Ô@Ùˆ]ÔÙˆ[ÔÙˆSŒ	ÙŒÙˆXŽr   Nc                óœ  a aa€ \         P                  ! 4         \        \        R 4      '       d   \        P                  ! 4       p \        \        R4      '       d   Ve   \        P
                  ! V4       \         P                  ! S P                  P                  4       S P                  P                  4      o \        \        R4      '       d   \        P
                  ! X4       \         P                  ! 4        S P                  SR4       \        S P                  P!                  4        UUu. uF  w  rVYe3NK
  	  upp4      p\#        \%        T4      4       Uu. uF  q‡T,          NK  	  p	p\'        \)        S P*                  P,                  T	4      4      p	 ! TTT 3R lR\.        4      oS! 4       p
SP1                  T	\        T
4      '       d5   ^ RIpTP5                  RS P                  P                  4       ,          4       S P                  SR	T
R
7       S P*                  Sn        S P8                  Sn        T
#   \         d/   pRS P                  P                  : RT: 2p\        T4      hRp?ii ; i  \        \        R4      '       d   \        P
                  ! X4       i i ; i  \         P                  ! 4        i ; iu uppi u upi )ÚgetdlopenflagsÚsetdlopenflagsNz
importing z: Úloadingc                   óR   <a € ] tR t^ºt o  Zt ZP
                  t. tV3R ltRt	V t
R# )Ú/VCPythonEngine.load_library.<locals>.FFILibraryc                óP   <€ SP                   \        V P                  4      ,           # r   )Ú	_cffi_dirÚlistÚ__dict__)r   Ú
FFILibrarys   &€r   Ú__dir__Ú7VCPythonEngine.load_library.<locals>.FFILibrary.__dir__¾   s   ø€ Ø!×+Ñ+¬d°4·=±=Ó.AÕAÐAr   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú_cffi_python_moduler   Ú	_cffi_ffir\   r`   Ú__static_attributes__Ú__classdictcell__)Ú__classdict__r_   Úmoduler   s   @€€€r   r_   rZ   º   s%   ù‡ € Ù"(ÐÙŸ™ˆIØˆI÷Bó Br   r_   z0reimporting %r might overwrite older definitionsÚloaded)Úlibrary)r   Úacquire_lockÚhasattrÚsysrV   rW   Úload_dynamicr   rO   Úmodulefilenamer   r   Úrelease_lockÚ_loadÚdictr)   ÚitemsÚranger=   r]   Úmapr   Ú_get_cached_btypeÚobjectÚ_cffi_setupÚwarningsÚwarnÚ_cffi_original_ffir   Ú_cffi_types_of_builtin_funcs)r   ÚflagsÚprevious_flagsÚeÚerrorÚkeyÚvalueÚ
revmappingÚiÚlstrm   r|   r_   rk   s   f&          @@r   Úload_libraryÚVCPythonEngine.load_library•   s2  ú€ ô 	×ÒÔð	Ü”sÐ,×-Ò-Ü!$×!3Ò!3Ó!5�ð
7Üœ3Ð 0×1Ò1°eÒ6GÜ×&Ò& uÔ-Ü×)Ò)¨$¯-©-×*GÑ*GÓ*IØ*.¯-©-×*FÑ*FóH‘ô œ3Ð 0×1Ò1Ü×&Ò& ~Ô6ä×ÒÔð 	�
‰
�6˜9Ô%ô Ø/3¯©×/DÑ/DÔ/FôHÙ/F™| ð "›<Ù/FòHó Iˆ
ä&+¬C°
«OÔ&<Ó=Ñ&< ˜!�}ˆ}Ñ&<ˆÐ=Ü”3�t—x‘x×1Ñ1°3Ó7Ó8ˆ÷	Bñ 	Bœô 	Bñ “,ˆØ×Ñ˜cÔ#4°g×>Ò>ÛØ�M‰MÐLØ!Ÿ]™]×:Ñ:Ó<õ>ô ?ð 	�
‰
�6˜8¨Wˆ
Ô5Ø$(§H¡HˆÔ!Ø.2×.NÑ.NˆÔ+ØˆøôY õ /Ø.2¯m©m×.JÔ.JÊAÐN�Ü'¨Ó.Ð.ûð/ûô œ3Ð 0×1Ò1Ü×&Ò& ~Õ6ð 2ûô ×ÒÕüóHùâ=sM   šJ) °J) ÁA3H; Â:,J) Ä/K
ÅK	È;I4É)I/É/I4É4I7 É7/J&Ê&J) Ê)K c                óÂ   € V P                   P                  P                  P                  4        UUUu. uF  w  pw  r#W3NK  	  ppppVP	                  4        V# u upppi r   )r   Ú_parserÚ_declarationsrv   Úsort)r   r„   r>   Úqualrˆ   s   &    r   Ú_get_declarationsÚ VCPythonEngine._get_declarationsÏ   sY   € à $§¡× 0Ñ 0× >Ñ >× DÑ DÔ FõHÙ Fñ /˜c¡: B�‹yÙ Fð 	ò Hà�‰Œ
Øˆ
ùôHs   ³Ac                ó2  € V P                  4        F7  w  r#VP                  R ^4      w  rE \        V RV: RV: 24      p T! Y54       K9  	  R#   \         d    \	        RT,          4      hi ; i  \
         d   p\        P                  ! Yr4       h Rp?ii ; i)Ú Ú_generate_cpy_Ú_znot implemented in verify(): %rN)r�   ÚsplitÚgetattrÚAttributeErrorr   Ú	Exceptionr   Úattach_exception_info)r   Ú	step_namer<   r>   ÚkindÚrealnamerD   r‚   s   &&      r   r*   ÚVCPythonEngine._generateÕ   s›   € Ø×.Ñ.Ö0‰HˆDØ!ŸZ™Z¨¨QÓ/‰NˆDð>Ü ¡ÃÚ@Ið(Kó L�ð
Ù�rÖ$ó 1øô
 "ô >Ü'Ø5¸Õ<ó>ð >ð>ûô
 ô Ü×+Ò+¨AÔ4Øûðús#   «AÁ A/ÁA,Á/BÁ:BÂBc                óò   € V P                  4        F8  w  rEVP                  R ^4      w  rg\        V RV: RV: 24      p V! WWV3/ VB  K:  	  R#   \         d   p	\        P
                  ! Y”4       h Rp	?	ii ; i)r“   r•   Ú_cpy_N)r�   r–   r—   r™   r   rš   )
r   rk   r›   r   r<   r>   rœ   r�   rD   r‚   s
   &&&,      r   rt   ÚVCPythonEngine._loadä   sq   € Ø×.Ñ.Ö0‰HˆDØ!ŸZ™Z¨¨QÓ/‰NˆDÜ™T³9ºdÐ#CÓDˆFðÙ�r VÑ4¨tÔ4ó	 1øô
 ô Ü×+Ò+¨AÔ4Øûðús   ¿
AÁA6ÁA1Á1A6c                ó   € R # r   r   ©r   r>   r<   s   &&&r   Ú_generate_nothingÚ VCPythonEngine._generate_nothingî   r   r   c                ó   € R # r   r   ©r   r>   r<   rk   r   s   &&&&,r   Ú_loaded_noopÚVCPythonEngine._loaded_noopñ   r   r   c           
     óJ  € R p\        V\        P                  4      '       d–   VP                  4       '       d(   VP                  R8w  d   RpRVP                  ,          pMTVP                  4       '       d   \        R4      hRVP                  R 4      : RVP                  P                  RR4      : 2pR	pEM\        V\        P                  4      '       d   V P                  WW44       R
# \        V\        P                  \        P                  34      '       dD   V P                  RW0P                  V4      V3,          4       V P                  RV,          4       R
# \        V\        P                  4      '       d4   RVP                  R 4      ,          pRV P                  V4      ,          pRpM\!        V4      hV P                  RV: RV: RV: V: R24       V P                  RV: RVP                  R 4      : RV: R24       V P                  RV,          4       R
# )Ú Ú_BoolÚ_cffi_to_c_intz, %sz*not implemented in verify(): complex typesÚ(z)_cffi_to_c_r“   r•   z-1Nz6  if (_cffi_to_c((char *)&%s, _cffi_type(%d), %s) < 0)z    %s;z(%s)_cffi_to_c_pointerz, _cffi_type(%d)ÚNULLú  z = ú);rH   z == (Ú)z && PyErr_Occurred()))r:   r   r;   Úis_integer_typer<   Úis_complex_typer   Ú
get_c_nameÚreplaceÚPointerTypeÚ"_convert_funcarg_to_c_ptr_or_arrayÚStructOrUnionÚEnumTyper2   r6   ÚFunctionPtrTypeÚNotImplementedError)r   r>   ÚfromvarÚtovarÚerrcodeÚextraargÚ	converterÚerrvalues   &&&&&   r   Ú_convert_funcarg_to_cÚ$VCPythonEngine._convert_funcarg_to_cö   s°  € ØˆÜ�bœ%×-Ñ-×.Ò.Ø×!Ñ!×#Ò#¨¯©°7Ô(:Ø,�	Ø! B§G¡GÕ+‘Ø×#Ñ#×%Ò%Ü'Ø@óBð Bð &ð 46·=±=ÀÖ3DØ35·7±7·?±?À3ÈÕ3LðN�	àŠHä˜œE×-Ñ-×.Ò.Ø×3Ñ3°BØ49ôDáä˜œU×0Ñ0´%·.±.ÐA×BÒBà�J‰JÐOØ× 0Ñ 0°Ó 4°gÐ>õ?ô @à�J‰J�y 7Õ*Ô+Ùä˜œE×1Ñ1×2Ò2Ø0°2·=±=ÀÓ3DÕDˆIØ)¨D×,<Ñ,<¸RÓ,@Õ@ˆHØ‰Hô & bÓ)Ð)à�
Š
«³	º7ÃHÐMÔNØ�
Š
Û�2—=‘= Ö$£hð0ô 	1à�
‰
�9˜wÕ&Ö'r   c                ó°   € \        V\        P                  4      '       d6   VP                  R 4       VP                  R4       VP                  R4       R# R# )zPy_ssize_t datasizez-struct _cffi_freeme_s *large_args_free = NULLzIif (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);N)r:   r   r·   Úadd)r   r>   Ú	localvarsÚ	freeliness   &&&&r   Ú_extra_local_variablesÚ%VCPythonEngine._extra_local_variables  sG   € Ü�bœ%×+Ñ+×,Ò,Ø�M‰MÐ/Ô0Ø�M‰MÐIÔJØ�M‰Mð Jö Kñ -r   c                óŽ  € V P                  R 4       V P                  RV P                  V4      W#3,          4       V P                  R4       V P                  RV: R24       V P                  RV P                  V4      W#3,          4       V P                  R4       V P                  RV,          4       V P                  R4       R	# )
z1  datasize = _cffi_prepare_pointer_call_argument(z(      _cffi_type(%d), %s, (char **)&%s);z  if (datasize != 0) {z    z? = ((size_t)datasize) <= 640 ? alloca((size_t)datasize) : NULL;zF    if (_cffi_convert_array_argument(_cffi_type(%d), %s, (char **)&%s,z,            datasize, &large_args_free) < 0)z	      %s;rI   N)r2   r6   )r   r>   r½   r¾   r¿   s   &&&&&r   r¸   Ú1VCPythonEngine._convert_funcarg_to_c_ptr_or_array$  s±   € Ø�
‰
ÐFÔGØ�
‰
Ð=Ø×Ñ˜RÓ  'ðA2õ 2ô 	3à�
‰
Ð+Ô,Ø�
Š
Û9>ðAô 	Bà�
‰
ð #Ø&*×&6Ñ&6°rÓ&:¸GÐ%KõLô 	Mà�
‰
ÐAÔBØ�
‰
�; Õ(Ô)Ø�
‰
�5Ör   c                óò  € \        V\        P                  4      '       dŒ   VP                  4       '       d'   VP                  R 8w  d   RV: RVP                  : R2# VP                  R8w  d&   RVP                  P                  RR4      : RV: R2# R	W P                  V4      3,          # \        V\        P                  \        P                  34      '       d   R
W P                  V4      3,          # \        V\        P                  4      '       d8   R
W P                  \        P                  ! VP                  4      4      3,          # \        V\        P                  4      '       dJ   VP                  f#   \        RVP                  4       : RV: R24      hRW P                  V4      3,          # \        V\        P                  4      '       d   R	W P                  V4      3,          # \!        V4      h)r¬   z_cffi_from_c_int(ú, r²   r9   Ú_cffi_from_c_r“   r•   r®   z/_cffi_from_c_deref((char *)&%s, _cffi_type(%d))z0_cffi_from_c_pointer((char *)%s, _cffi_type(%d))Ú'z' is used as z, but is opaquez0_cffi_from_c_struct((char *)&%s, _cffi_type(%d)))r:   r   r;   r³   r<   r¶   r6   r·   r»   Ú	ArrayTypeÚitemr¹   ÚfldnamesÚ	TypeErrorÚ_get_c_namerº   r¼   )r   r>   ÚvarÚcontexts   &&&&r   Ú_convert_expr_from_cÚ#VCPythonEngine._convert_expr_from_c1  s£  € Ü�bœ%×-Ñ-×.Ò.Ø×!Ñ!×#Ò#¨¯©°7Õ(:Û58¸"¿'¼'ÐBÐBØ—‘˜MÕ)Ø02·±·±ÀÀSÖ0IË3ÐOÐOàHØ×)Ñ)¨"Ó-ðL/õ /ð /ä˜œU×.Ñ.´×0EÑ0EÐF×GÒGØEØ×%Ñ% bÓ)ðI+õ +ð +ä˜œEŸO™O×,Ò,ØEØ×%Ñ%¤e×&7Ò&7¸¿¹Ó&@ÓAðICõ Cð Cä˜œE×/Ñ/×0Ò0Ø�{‰{Ò"ÝØ—N‘NÖ$£gð!/ó 0ð 0àEØ×%Ñ% bÓ)ðI+õ +ð +ä˜œEŸN™N×+Ò+ØDØ×%Ñ% bÓ)ðH+õ +ð +ô & bÓ)Ð)r   c                ó  € \        V\        P                  4      '       g   Q hVP                  '       d   V P	                  V4       R # VP
                   F  pV P	                  V4       K  	  V P	                  VP                  4       R # r   )r:   r   r»   Úellipsisr@   ÚargsÚresult)r   r>   r<   r5   s   &&& r   Ú"_generate_cpy_function_collecttypeÚ1VCPythonEngine._generate_cpy_function_collecttypeX  sb   € Ü˜"œe×3Ñ3×4Ò4Ð4Ð4Ø�;�;ˆ;Ø×!Ñ! "Ö%ð Ÿœ�Ø×%Ñ% dÖ+ñ  à×!Ñ! "§)¡)Ö,r   c                ó�  € \        V\        P                  4      '       g   Q hVP                  '       d   V P	                  R W!4       R# V P
                  p\        VP                  4      pV^ 8X  d   RpMV^8X  d   RpMRpV! R4       V! RV: RV: R24       V! R	4       R
V,          p\        VP                  4       F+  w  rxV! RVP                  RV,          V4      ,          4       K-  	  \        4       p	\        4       p
VP                   F  pV P                  W‰V
4       K  	  \        V	4       F  pV! RV: R24       K  	  \        VP                  \        P                  4      '       g>   RpRV,          pV! RVP                  P                  RV4      ,          4       V! R4       MRp\        VP                  4      ^8”  dˆ   \        \        VP                  4      4      pV F  pV! RV,          4       K  	  V! 4        T! RRV,          : RV: RRP!                  V Uu. uF  pRV,          NK  	  up4      : R24       V! R4       V! 4        \        VP                  4       F.  w  rxV P#                  VRV,          RV,          R4       V! 4        K0  	  V! R 4       V! R!4       T! R"V: V: R#RP!                  \        \        VP                  4      4       Uu. uF  pRV,          NK  	  up4      : R$24       V! R%4       V! R&4       V! 4        V! R'4       V^ 8X  d	   V! R(4       V'       dL   V! R)V P%                  VP                  R*R+4      ,          4       V
 F  pV! RV,           4       K  	  V! R,4       M(V
 F  pV! RV,           4       K  	  V! R-4       V! R.4       V! R/4       V! 4        R# u upi u upi )0FNÚnoargÚarg0rÜ   ústatic PyObject *Ú_cffi_f_z(PyObject *self, PyObject *r²   rF   zargument of %sú  %s;z x%dr°   Ú;z	result = zresult of %sz resultz  PyObject *pyresult;r«   z  PyObject *arg%d;z  if (!PyArg_ParseTuple(args, "ÚOÚ:ú", rÎ   z&arg%dz))rG   zarg%dzx%dzreturn NULLz  Py_BEGIN_ALLOW_THREADSz  _cffi_restore_errno();ú  { r®   z); }z  _cffi_save_errno();z  Py_END_ALLOW_THREADSú  (void)self; /* unused */ú  (void)noarg; /* unused */z  pyresult = %s;rÝ   zresult typez  return pyresult;z  Py_INCREF(Py_None);z  return Py_None;rJ   )r:   r   r»   rÛ   Ú_generate_cpy_constr2   r=   rÜ   Ú	enumeraterµ   ÚsetrÉ   ÚsortedrÝ   ÚVoidTyperw   ÚjoinrÃ   rØ   )r   r>   r<   rP   ÚnumargsÚargnamer×   r‡   r5   rÇ   rÈ   rC   Úresult_codeÚrngÚfreelines   &&&            r   Ú_generate_cpy_function_declÚ*VCPythonEngine._generate_cpy_function_declc  s2  € Ü˜"œe×3Ñ3×4Ò4Ð4Ð4Ø�;�;ˆ;ð ×$Ñ$ U¨DÔ5ÙØ�z‰zˆÜ�b—g‘g“,ˆØ�aŒ<Ø‰GØ˜Œ\Ø‰GàˆGÙÐ Ô!Ú»4ÃÐIÔJÙˆSŒ	à" TÕ)ˆÜ  §¡Ö)‰GˆAÙ�˜4Ÿ?™?¨6°A­:°wÓ?Õ?Ö@ñ *ô “Eˆ	Ü“Eˆ	Ø—G”GˆDØ×'Ñ'¨¸ÖCñ ä˜9Ö%ˆDÚ›DÐ"Ö#ñ &ô ˜"Ÿ)™)¤U§^¡^×4Ò4Ø%ˆKØ$ tÕ+ˆGÙ�˜2Ÿ9™9×/Ñ/°	¸7ÓCÕCÔDÙÐ(Õ)àˆKäˆr�w‰w‹<˜!ÔÜœ˜BŸG™G›Ó%ˆCÛ�ÙÐ)¨AÕ-Ö.ñ áŒFÚØ�g—�›t T§Y¡YÁcÓ/JÁcÀ°¸1·°ÁcÑ/JÖ%KðMô NáÐ#Ô$ÙŒä  §¡Ö)‰GˆAØ×&Ñ& t¨W°q­[¸%À!½)Ø'4ô6áŽFñ *ñ
 	Ð'Ô(ÙÐ'Ô(ÚÚ›Ø�I‰I¬%´°B·G±G³Ô*=Ó>Ñ*= Q�u˜q—y�yÑ*=Ñ>Ö?ðAô 	Bñ 	Ð$Ô%ÙÐ%Ô&ÙŒáÐ)Ô*Ø�aŒ<ÙÐ.Ô/ßÙÐ#Ø×*Ñ*¨2¯9©9°hÀÓNõOô Pã%�Ù�T˜H•_Ö%ñ &áÐ%Õ&ã%�Ù�T˜H•_Ö%ñ &áÐ(Ô)ÙÐ$Ô%ÙˆSŒ	ÙŽùòC 0Kùò ?s   È'N>Ë#Oc           	     óÀ   € VP                   '       d   R # \        VP                  4      pV^ 8X  d   RpMV^8X  d   RpMRpV P                  RV: RV: RV: R24       R # )NÚMETH_NOARGSÚMETH_OÚMETH_VARARGSú  {"z", _cffi_f_rÎ   z, NULL},)rÛ   r=   rÜ   r2   )r   r>   r<   ró   Úmeths   &&&  r   Ú_generate_cpy_function_methodÚ,VCPythonEngine._generate_cpy_function_method³  sK   € Ø�;�;ˆ;ÙÜ�b—g‘g“,ˆØ�aŒ<Ø ‰DØ˜Œ\Ø‰Dà!ˆDØ�
Š
»»dÃDÐIÖJr   c                óx   € VP                   '       d   R # \        W24      p\        WBV4       WP                  V&   R # r   )rÛ   r—   Úsetattrr   )r   r>   r<   rk   rm   Úfuncs   &&&&& r   Ú_loaded_cpy_functionÚ#VCPythonEngine._loaded_cpy_functionÁ  s0   € Ø�;�;ˆ;ÙÜ�vÓ$ˆÜ�˜tÔ$Ø13×(Ñ(¨Ó.r   c                óP   € W!P                   8X  g   Q hV P                  VR V4       R# ©ÚstructN©r<   Ú_generate_struct_or_union_declr£   s   &&&r   Ú_generate_cpy_struct_declÚ(VCPythonEngine._generate_cpy_struct_declÌ  s"   € Ø—w‘wŒÐˆØ×+Ñ+¨B°¸$Ö?r   c                ó,   € V P                  VR V4       R# r  ©Ú _generate_struct_or_union_methodr£   s   &&&r   Ú_generate_cpy_struct_methodÚ*VCPythonEngine._generate_cpy_struct_methodÏ  s   € Ø×-Ñ-¨b°(¸DÖAr   c                ó,   € V P                  VR W#4       R# r  ©Ú_loading_struct_or_union©r   r>   r<   rk   s   &&&&r   Ú_loading_cpy_structÚ"VCPythonEngine._loading_cpy_structÑ  s   € Ø×%Ñ% b¨(°DÖAr   c                ó(   € V P                  V4       R # r   ©Ú_loaded_struct_or_unionr§   s   &&&&,r   Ú_loaded_cpy_structÚ!VCPythonEngine._loaded_cpy_structÓ  ó   € Ø×$Ñ$ RÖ(r   c                óP   € W!P                   8X  g   Q hV P                  VR V4       R# ©ÚunionNr
  r£   s   &&&r   Ú_generate_cpy_union_declÚ'VCPythonEngine._generate_cpy_union_decl×  s"   € Ø—w‘wŒÐˆØ×+Ñ+¨B°¸Ö>r   c                ó,   € V P                  VR V4       R# r   r  r£   s   &&&r   Ú_generate_cpy_union_methodÚ)VCPythonEngine._generate_cpy_union_methodÚ  s   € Ø×-Ñ-¨b°'¸4Ö@r   c                ó,   € V P                  VR W#4       R# r   r  r  s   &&&&r   Ú_loading_cpy_unionÚ!VCPythonEngine._loading_cpy_unionÜ  s   € Ø×%Ñ% b¨'°4Ö@r   c                ó(   € V P                  V4       R # r   r  r§   s   &&&&,r   Ú_loaded_cpy_unionÚ VCPythonEngine._loaded_cpy_unionÞ  r  r   c           
     óÐ  € VP                   f   R # RV: RV: 2pRV: RV: 2pV: RV: 2P                  4       pV P                  pV! RV: RV: R24       V! R4       V! R	4       V! R
4       VP                  4        F  w  r‰r«\	        V	\
        P                  4      '       d   V	P                  4       '       g   V
^ 8¼  d   V! RV,          4       KT   V! RV	P                  RRV,          VR7      : RV: R24       K�  	  V! R4       V! R4       V! V: R24       V! R4       V! RV,          4       V! R4       V! RV,          4       V! R4       VP                  4        F~  w  r‰r«V
^ 8¼  d   K  V! RV: RV: R24       \	        V	\
        P                  4      '       d.   V	P                  f    V! RV	P                  4       ,          4       Km  V! RV: RV: R24       K€  	  V! R 4       V! R!4       V! R"4       V! R#4       V! R$4       V! R%4       V! R&V: R'24       V! R4       V! 4        R #   \         d%   pT! R\        T4      ,          4        R p?EKß  R p?ii ; i)(NÚ_cffi_check_r•   Ú_cffi_layout_r“   zstatic void r®   z *p)rF   z8  /* only to generate compile-time warnings or errors */z
  (void)p;z  (void)((p->%s) << 1);rê   z*tmpzfield %r)Úqualsz = &p->z; (void)tmp; }z
  /* %s */rJ   rã   z!(PyObject *self, PyObject *noarg)z,  struct _cffi_aligncheck { char x; %s y; };z  static Py_ssize_t nums[] = {z    sizeof(%s),z)    offsetof(struct _cffi_aligncheck, y),z    offsetof(rÎ   z),z    0,  /* %s */z    sizeof(((z *)0)->z    -1z  };rë   rì   z'  return _cffi_get_struct_layout(nums);z3  /* the next line is not executed, but compiled */r°   z(0);)rÓ   Ústripr2   Ú
enumfieldsr:   r   r;   r³   rµ   r   ÚstrrÑ   ÚlengthrÕ   )r   r>   Úprefixr<   ÚcheckfuncnameÚlayoutfuncnameÚcnamerP   ÚfnameÚftypeÚfbitsizeÚfqualr‚   s   &&&&         r   r  Ú-VCPythonEngine._generate_struct_or_union_declá  s  € Ø�;‰;ÒÙð ã/5²tÐ<‰Û17ºÐ>ˆÛ"¢DÐ)×0Ñ0Ó2ˆà�z‰zˆÚ«³uÐ=Ô>ÙˆSŒ	ÙÐGÔHÙˆ\ÔØ-/¯]©]®_Ñ)ˆE˜(Ü˜5¤%×"5Ñ"5×6Ò6Ø×)Ñ)×+Ò+°¸A´áÐ.°Õ6Ö7ð0ÚØ×(Ñ(¨°¸EÕ1AÈÐ(ÖOÛðö  ñ .=ñ 	ˆSŒ	ÙÐ Ô!Ù³nÐFÔGÙˆSŒ	ÙÐ;¸eÕCÔDÙÐ-Ô.ÙÐ Õ&Ô'ÙÐ8Ô9Ø-/¯]©]®_Ñ)ˆE˜(Ø˜1Œ}ÙÚ«E³5Ð9Ô:Ü˜%¤§¡×1Ò1°e·l±lÒ6JÙÐ'¨%×*;Ñ*;Ó*=Õ=Ö>â³U»EÐBÖCñ .=ñ 	ˆXŒÙˆVŒÙÐ)Ô*ÙÐ*Ô+ÙÐ6Ô7ÙÐBÔCÚ›=Ð*Ô+ÙˆSŒ	ÙŽøô5 )ô 0Ù˜¬¨A«Õ.×/Ó/ûð0ús   Ã*H6È6I%ÉI É I%c                ón   € VP                   f   R # RV: RV: 2pV P                  RV: RV: R24       R # )Nr/  r•   rþ   ré   z, METH_NOARGS, NULL},)rÓ   r2   )r   r>   r5  r<   r7  s   &&&& r   r  Ú/VCPythonEngine._generate_struct_or_union_method  s6   € Ø�;‰;ÒÙð ã17ºÐ>ˆØ�
Š
»Û9GðIö 	Jr   c                ó   € VP                   f   R # RV: RV: 2p\        WE4      pV! 4       p\        V\        P                  4      '       d‹   VP
                  '       dy   V^ ,          pV^,          p	VR,          p
VR,          pVP                  4        \        V
4      \        V4      u;8X  d   \        VP                   4      8X  g   Q h Q hW«W‰3Vn        R # V: RV: 2P                  4       pW|3V P                  V&   R # )Nr/  r•   :é   NrA  :é   NrA  r“   )rÓ   r—   r:   r   r¹   ÚpartialÚforce_flattenr=   Úfixedlayoutr1  r   )r   r>   r5  r<   rk   r7  ÚfunctionÚlayoutÚ	totalsizeÚtotalalignmentÚfieldofsÚ	fieldsizer8  s   &&&&&        r   r  Ú'VCPythonEngine._loading_struct_or_union  s×   € Ø�;‰;ÒÙð ã17ºÐ>ˆä˜6Ó2ˆÙ“ˆÜ�bœ%×-Ñ-×.Ò.°2·:·:°:ð ˜q�	ˆIØ# A�YˆNØ˜d•|ˆHØ˜t�ˆIØ×ÑÔÜ�x“=¤C¨	£NÖF´c¸"¿+¹+Ó6FÔFÐFÑFÐFÐFØ%°)ÐKˆBŽNã &ªÐ-×4Ñ4Ó6ˆEØ4:°MˆD×-Ñ-¨bÓ1r   c                óà  € VP                   f   R # V P                  P                  V4       WP                  9   Ed2   R pV P                  pVP                  V4      pV P                  P	                  V4      w  rVV! V^ ,          VP                  V4      R4       V! V^,          VP                  V4      R4       ^pVP                  4        FŠ  w  r‰r«V
^ 8¼  d   K  V! WW,          VP                  WH4      RV: 24       WW^,           ,          ^ 8w  d<   VP                  V	4      pV! WW^,           ,          VP                  V4      RV: 24       V^,          pKŒ  	  V\        V4      8X  g   Q hR # R # )Nc                 ó:   € W8w  d   \        R W!V 3,          4      hR# )z'%s (we have %d, but C compiler says %d)Nr   )Ú	realvalueÚexpectedvalueÚmsgs   &&&r   ÚcheckÚ5VCPythonEngine._loaded_struct_or_union.<locals>.check7  s*   € ØÔ-Ü+ØAØ¨yÐ9õ:ó;ð ;ñ .r   zwrong total sizezwrong total alignmentzwrong offset for field zwrong size for field )
rÓ   r   ry   r   ÚpopÚsizeofÚalignofr2  Úoffsetofr=   )r   r>   rR  r   ÚBStructrG  r8  r‡   r9  r:  r;  r<  ÚBFields   &&           r   r  Ú&VCPythonEngine._loaded_struct_or_union0  s=  € Ø�;‰;ÒÙØ�‰×"Ñ" 2Ô&à×2Ñ2Õ2ò;ð
 —(‘(ˆCØ×+Ñ+¨BÓ/ˆGØ ×=Ñ=×AÑAÀ"ÓE‰MˆFÙ�&˜•)˜SŸZ™Z¨Ó0Ð2DÔEÙ�&˜•)˜SŸ[™[¨Ó1Ð3JÔKØˆAØ13·±¶Ñ-�˜hØ˜q”=ÙÙ�f•i §¡¨gÔ!=Ú5:Ð<ô>à˜A�#•; !Ô#Ø ×2Ñ2°5Ó9�FÙ˜& 1¥�+ s§z¡z°&Ô'9Ú7<Ð>ô@à�Q•’ñ 2Að œ˜F›Ô#Ð#Ò#ñ/ 3r   c                ó”   € \        V\        P                  4      '       d   V P                  WR 4       R# V P	                  VR V4       R# ©r«   N)r:   r   rº   Ú_generate_cpy_enum_declr  r£   s   &&&r   Ú_generate_cpy_anonymous_declÚ+VCPythonEngine._generate_cpy_anonymous_declT  s5   € Ü�bœ%Ÿ.™.×)Ò)Ø×(Ñ(¨°2Ö6à×/Ñ/°°B¸Ö=r   c                óp   € \        V\        P                  4      '       g   V P                  VR V4       R# R# r\  )r:   r   rº   r  r£   s   &&&r   Ú_generate_cpy_anonymous_methodÚ-VCPythonEngine._generate_cpy_anonymous_methodZ  s*   € Ü˜"œeŸn™n×-Ò-Ø×1Ñ1°"°b¸$Ö?ñ .r   c                ó”   € \        V\        P                  4      '       d   V P                  WV4       R# V P	                  VR W#4       R# r\  )r:   r   rº   Ú_loading_cpy_enumr  r  s   &&&&r   Ú_loading_cpy_anonymousÚ%VCPythonEngine._loading_cpy_anonymous^  s5   € Ü�bœ%Ÿ.™.×)Ò)Ø×"Ñ" 2¨VÖ4à×)Ñ)¨"¨b°$Ö?r   c                ó”   € \        V\        P                  4      '       d   V P                  ! WV3/ VB  R # V P	                  V4       R # r   )r:   r   rº   Ú_loaded_cpy_enumr  r§   s   &&&&,r   Ú_loaded_cpy_anonymousÚ$VCPythonEngine._loaded_cpy_anonymousd  s6   € Ü�bœ%Ÿ.™.×)Ò)Ø×!Ò! "¨FÑ;°dÔ;à×(Ñ(¨Ö,r   c	                ób  € V P                   p	R V: RV: 2p
V	! RV
,          4       V	! R4       V	! R4       V	! R4       V'       g+   T	! RT;'       g    TP                  RV4      ,          4       M	VR8X  g   Q hVe   V P                  W(4       V'       gJ   VR
8X  d   RV,           pMTpV	! RV: R24       V	! RV P                  VRR4      : R24       V'       g   Q hMV	! RV,          4       V	! R4       V	! R4       V'       d>   V	! R4       V	! R4       V	! RV: R24       V	! R4       V	! R4       V	! R4       V	! R4       V	! RV,          4       V	! R4       V	! R4       V	! R4       V	! R V P                  V,          ,          4       V
R!,           V P                  V&   V	! R"4       V	! 4        R	# )#Ú_cffi_r•   ústatic int %s(PyObject *lib)rF   z  PyObject *o;z
  int res;rå   z iÚconstNrÖ   Ú&z  i = (r±   z  o = r‡   zvariable typeræ   z!  o = _cffi_from_c_int_const(%s);z  if (o == NULL)ú    return -1;z  {z    PyObject *o1 = o;z3    o = Py_BuildValue("On", o1, (Py_ssize_t)sizeof(z));z    Py_DECREF(o1);z    if (o == NULL)z      return -1;rI   z-  res = PyObject_SetAttrString(lib, "%s", o);z  Py_DECREF(o);z  if (res < 0)ú  return %s;ú(lib)rJ   )r2   rµ   Ú_check_int_constant_valuerØ   rK   )r   Úis_intr<   r>   ÚcategoryÚvartpÚdelayedÚsize_tooÚcheck_valuerP   ÚfuncnameÚrealexprs   &&&&&&&&&   r   rí   Ú"VCPythonEngine._generate_cpy_constm  s˜  € ð �z‰z‰Û$,ªdÐ3ˆÙÐ+¨hÕ6Ô7ÙˆSŒ	ÙÐÔÙˆ\ÔßÙ�˜EŸK˜K R×3Ñ3°D¸$Ó?Õ?Õ@à˜wÔ&Ð&Ð&àÒ"Ø×*Ñ*¨4Ô=çØ˜5Ô Ø �:‘à�Ú£(Ð,Ô-Ú × 9Ñ 9¸"¸cØ:Iö!Kð Mô NçˆN‘7áÐ4°tÕ;Ô<ÙÐÔ ÙÐÔßÙ�ŒKÙÐ(Ô)ÚÛðô áÐ%Ô&ÙÐ%Ô&ÙÐ#Ô$Ù�ŒKÙÐ<¸tÕCÔDÙÐÔÙÐÔÙÐÔÙˆ^˜d×:Ñ:¸7ÕCÕCÔDØ08¸7Õ0Bˆ×$Ñ$ WÑ-ÙˆSŒ	ÙŽr   c                ó    € \        V\        P                  4      ;'       d    VP                  4       pV'       g   V P	                  V4       R # R # r   )r:   r   r;   r³   r@   ©r   r>   r<   rt  s   &&& r   Ú"_generate_cpy_constant_collecttypeÚ1VCPythonEngine._generate_cpy_constant_collecttype�  s;   € Ü˜B¤× 3Ñ 3Ó4×MÐM¸×9KÑ9KÓ9MˆßØ×!Ñ! "Ö%ñ r   c                óŽ   € \        V\        P                  4      ;'       d    VP                  4       pV P	                  W2V4       R # r   )r:   r   r;   r³   rí   r~  s   &&& r   Ú_generate_cpy_constant_declÚ*VCPythonEngine._generate_cpy_constant_decl¢  s5   € Ü˜B¤× 3Ñ 3Ó4×MÐM¸×9KÑ9KÓ9MˆØ× Ñ  ¨rÖ2r   c                óN  € V P                   pV^ 8:  d   V! RWV3,          4       MV! RWV3,          4       V! R4       V! RV,          4       V! RV,          4       V! R4       V! RV,          4       V! R4       V! R	4       V! R
W1V3,          4       V! R4       V! R4       R# )r   z&  if ((%s) > 0 || (long)(%s) != %dL) {z1  if ((%s) <= 0 || (unsigned long)(%s) != %dUL) {z    char buf[64];z    if ((%s) <= 0)z.        snprintf(buf, 63, "%%ld", (long)(%s));z    elsez7        snprintf(buf, 63, "%%lu", (unsigned long)(%s));z)    PyErr_Format(_cffi_VerificationError,z6                 "%s%s has the real value %s, not %s",z(                 "%s", "%s", buf, "%d");rp  rI   N)r2   )r   r<   r…   Ú
err_prefixrP   s   &&&& r   rs  Ú(VCPythonEngine._check_int_constant_value­  sÅ   € Ø�z‰zˆØ�AŒ:ÙÐ9Ø˜Eð=#õ #õ $ñ ÐDØ˜EðH#õ #ô $áÐ Ô!ÙÐ! DÕ(Ô)ÙÐ=ÀÕDÔEÙˆZÔÙÐFØõô 	áÐ8Ô9ÙÐEÔFÙÐ7Ø˜eð;%õ %ô 	&áÐÔÙˆUŽr   c                ó:   € VP                  R R4      pRV: RV: 2# )Ú$Ú___D_Ú_cffi_e_r•   )r¶   )r   r5  r<   s   &&&r   Ú_enum_funcnameÚVCPythonEngine._enum_funcnameÂ  s   € à�|‰|˜C Ó)‰Û"(ª$Ð/Ð/r   c                óò  € VP                   '       d*   VP                   F  pV P                  R VRR7       K  	  R# V P                  W24      pV P                  pV! RV,          4       V! R4       \        VP                  VP                  4       F  w  rGV P                  WGRV,          4       K   	  V! RV P                  R ,          ,          4       VR,           V P                  R &   V! R	4       V! 4        R# )
TF)rw  Nrm  rF   z	enum %s: rq  rr  rJ   )	rC  Úenumeratorsrí   r‹  r2   ÚzipÚ
enumvaluesrs  rK   )r   r>   r<   r5  Ú
enumeratorrz  rP   Ú	enumvalues   &&&&    r   r]  Ú&VCPythonEngine._generate_cpy_enum_declÇ  sÏ   € Ø�:�:ˆ:Ø Ÿnœn�
Ø×(Ñ(¨¨zÀ5Ð(ÖIñ -áà×&Ñ& vÓ4ˆØ�z‰zˆÙÐ+¨hÕ6Ô7ÙˆSŒ	Ü%(¨¯©¸¿¹Ö%GÑ!ˆJØ×*Ñ*¨:Ø+6¸Õ+=ö?ñ &Hñ 	ˆ^˜d×:Ñ:¸4Õ@Õ@ÔAØ-5¸Õ-?ˆ×$Ñ$ TÑ*ÙˆSŒ	ÙŽr   c                ó®   € VP                   '       d>   VP                   Uu. uF  p\        W44      NK  	  pp\        V4      Vn        R Vn        R# R# u upi )TN)rC  rŽ  r—   Útupler�  Úpartial_resolved)r   r>   r<   rk   r‘  r�  s   &&&&  r   rd  Ú VCPythonEngine._loading_cpy_enumÜ  sR   € Ø�:�:ˆ:à,.¯NªNó<Ù,:˜jô " &Ö5Ù,:ð ð <ä! *Ó-ˆBŒMØ"&ˆBÖñ	 ùò<s   ¡Ac                óp   € \        VP                  VP                  4       F  w  rV\        WEV4       K  	  R # r   )r�  rŽ  r�  r  )r   r>   r<   rk   rm   r‘  r’  s   &&&&&  r   rh  ÚVCPythonEngine._loaded_cpy_enumã  s)   € Ü%(¨¯©¸¿¹Ö%GÑ!ˆJÜ�G¨Ö3ó &Hr   c                óD   € VR 8X  d   RpMTpV P                  RW#R7       R# )z...NT)ry  )rí   )r   r>   r<   ry  s   &&& r   Ú_generate_cpy_macro_declÚ'VCPythonEngine._generate_cpy_macro_declê  s&   € Ø�Œ;Ø‰KàˆKØ× Ñ   tÐ ÖEr   c                óÖ   € \        V\        P                  4      '       d"   \        P                  ! VP                  4      pM\        P                  ! V4      pV P                  V4       R # r   )r:   r   rÑ   r·   rÒ   r@   ©r   r>   r<   Útp_ptrs   &&& r   Ú"_generate_cpy_variable_collecttypeÚ1VCPythonEngine._generate_cpy_variable_collecttypeù  sE   € Ü�bœ%Ÿ/™/×*Ò*Ü×&Ò& r§w¡wÓ/‰Fä×&Ò& rÓ*ˆFØ×Ñ˜fÖ%r   c                ó$  € \        V\        P                  4      '       dF   \        P                  ! VP                  4      pV P                  R W!VVP                  4       R7       R# \        P                  ! V4      pV P                  R W#RR7       R# )F)rv  rx  rÖ   )ru  N)r:   r   rÑ   r·   rÒ   rí   Úlength_is_unknownrž  s   &&& r   Ú_generate_cpy_variable_declÚ*VCPythonEngine._generate_cpy_variable_decl   st   € Ü�bœ%Ÿ/™/×*Ò*Ü×&Ò& r§w¡wÓ/ˆFØ×$Ñ$ U¨D¸FØ02×0DÑ0DÓ0Fð %ö Hô ×&Ò& rÓ*ˆFØ×$Ñ$ U¨DÀ5Ð$ÖIr   c                ó   a€ \        WB4      p\        V\        P                  4      '       Ed   VP	                  4       '       d�   \        V\
        4      '       g   Q hVw  rVV P                  P                  VP                  4      p\        W`P                  P                  V4      4      w  r‰V	^ 8w  d   \        RV: RVP                  : 24      hVP                  V4      pVP                  eC   V P                  P                  V4      p
V P                  P                  W¥4      p\        WBV4       R# Vo\!        WB4       V3R lpV3R lp\        \#        V4      V\%        W¼4      4       \#        V4      P&                  P)                  V4       R# )r   z
bad size: z! does not seem to be an array of Nc                 ó   <€ S^ ,          # )r   r   )rm   Úptrs   &€r   ÚgetterÚ3VCPythonEngine._loaded_cpy_variable.<locals>.getter%  s   ø€ Ø�q•6ˆMr   c                 ó   <€ VS^ &   R# )r   Nr   )rm   r…   r¨  s   &&€r   ÚsetterÚ3VCPythonEngine._loaded_cpy_variable.<locals>.setter'  s   ø€ ØˆC�‹Fr   )r—   r:   r   rÑ   r£  r•  r   ry   rÒ   ÚdivmodrU  r   Úresolve_lengthr4  Úcastr  Údelattrr5   Úpropertyr\   Úappend)r   r>   r<   rk   rm   r…   ÚsizeÚ	BItemTyper4  ÚrestÚBArrayr©  r¬  r¨  s   &&&&&        @r   Ú_loaded_cpy_variableÚ#VCPythonEngine._loaded_cpy_variable  s1  ø€ Ü˜Ó&ˆÜ�bœ%Ÿ/™/×*Ó*à×#Ñ#×%Ò%Ü! %¬×/Ò/Ð/Ð/Ø %‘�Ø ŸH™H×6Ñ6°r·w±wÓ?�	Ü% d¯H©H¯O©O¸IÓ,FÓG‘�Ø˜1”9Ý+ã˜rŸw›wð(ó)ð )ð ×&Ñ& vÓ.�ð �y‰yÒ$ØŸ™×3Ñ3°BÓ7�ØŸ™Ÿ™ fÓ4�Ü˜ uÔ-Ùð ˆÜ�Ôõ	õ	ä”�W“˜t¤X¨fÓ%=Ô>ÜˆW‹×Ñ×&Ñ& tÖ,r   c                óŽ   € V P                   pV! R 4       V! R4       V! RV P                  R,          ,          4       V! R4       R# )z,static int _cffi_setup_custom(PyObject *lib)rF   rq  TrJ   N)r2   rK   )r   rP   s   & r   rN   Ú%VCPythonEngine._generate_setup_custom.  s:   € Ø�z‰zˆÙÐ;Ô<ÙˆSŒ	Ùˆ^˜d×:Ñ:¸4Õ@Õ@ÔAÙˆSŽ	r   )rK   r   r   r)   r   r   )r«   r   )Nrn  NTFN)Úenum)Orb   rc   rd   re   Ú
_class_keyÚ_gen_python_moduler   r   r   r+   r2   r6   r@   rS   r‰   r�   r*   rt   r¤   r¨   rÃ   rÉ   r¸   rØ   Ú!_generate_cpy_typedef_collecttypeÚ_generate_cpy_typedef_declÚ_generate_cpy_typedef_methodÚ_loading_cpy_typedefÚ_loaded_cpy_typedefrÞ   rø   r   Ú_loading_cpy_functionr  Ú _generate_cpy_struct_collecttyper  r  r  r  Ú_generate_cpy_union_collecttyper"  r%  r(  r+  r  r  r  r  Ú#_generate_cpy_anonymous_collecttyper^  ra  re  ri  rí   r  r‚  Ú_generate_cpy_constant_methodÚ_loading_cpy_constantÚ_loaded_cpy_constantrs  r‹  r]  Ú_generate_cpy_enum_collecttypeÚ_generate_cpy_enum_methodrd  rh  r›  Ú_generate_cpy_macro_collecttypeÚ_generate_cpy_macro_methodÚ_loading_cpy_macroÚ_loaded_cpy_macror   r¤  Ú_generate_cpy_variable_methodÚ_loading_cpy_variabler¸  rN   rh   ri   )rj   s   @r   r   r   
   sµ  ø‡ € Ø€JØÐò.òòò&ô#ò%ò&ò\ô|8òtòòòòò
%(òNKòò*ð< ):Ð%Ø#4ÐØ#4Ð Ø#/ÐØ#/Ðò
	-òNò`
Kð )Ðò4ð (9Ð$ò@òBòBò)ð '8Ð#ò?òAòAò)ò1òfJòBò*$ðD +<Ð'ò>ò@ò@ò-ô.ò`&ò
3ð %6Ð!Ø(ÐØ(Ðô
ò*0ô
ð$ &7Ð"Ø 1Ðò'ò4òFð '8Ð#Ø!2ÐØ%ÐØ%Ðò
&òJð %6Ð!Ø(Ðò-÷Dð r   r   aì)  
#include <Python.h>
#include <stddef.h>

/* this block of #ifs should be kept exactly identical between
   c/_cffi_backend.c, cffi/vengine_cpy.py, cffi/vengine_gen.py
   and cffi/_cffi_include.h */
#if defined(_MSC_VER)
# include <malloc.h>   /* for alloca() */
# if _MSC_VER < 1600   /* MSVC < 2010 */
   typedef __int8 int8_t;
   typedef __int16 int16_t;
   typedef __int32 int32_t;
   typedef __int64 int64_t;
   typedef unsigned __int8 uint8_t;
   typedef unsigned __int16 uint16_t;
   typedef unsigned __int32 uint32_t;
   typedef unsigned __int64 uint64_t;
   typedef __int8 int_least8_t;
   typedef __int16 int_least16_t;
   typedef __int32 int_least32_t;
   typedef __int64 int_least64_t;
   typedef unsigned __int8 uint_least8_t;
   typedef unsigned __int16 uint_least16_t;
   typedef unsigned __int32 uint_least32_t;
   typedef unsigned __int64 uint_least64_t;
   typedef __int8 int_fast8_t;
   typedef __int16 int_fast16_t;
   typedef __int32 int_fast32_t;
   typedef __int64 int_fast64_t;
   typedef unsigned __int8 uint_fast8_t;
   typedef unsigned __int16 uint_fast16_t;
   typedef unsigned __int32 uint_fast32_t;
   typedef unsigned __int64 uint_fast64_t;
   typedef __int64 intmax_t;
   typedef unsigned __int64 uintmax_t;
# else
#  include <stdint.h>
# endif
# if _MSC_VER < 1800   /* MSVC < 2013 */
#  ifndef __cplusplus
    typedef unsigned char _Bool;
#  endif
# endif
# define _cffi_float_complex_t   _Fcomplex    /* include <complex.h> for it */
# define _cffi_double_complex_t  _Dcomplex    /* include <complex.h> for it */
#else
# include <stdint.h>
# if (defined (__SVR4) && defined (__sun)) || defined(_AIX) || defined(__hpux)
#  include <alloca.h>
# endif
# define _cffi_float_complex_t   float _Complex
# define _cffi_double_complex_t  double _Complex
#endif

#if PY_MAJOR_VERSION < 3
# undef PyCapsule_CheckExact
# undef PyCapsule_GetPointer
# define PyCapsule_CheckExact(capsule) (PyCObject_Check(capsule))
# define PyCapsule_GetPointer(capsule, name) \
    (PyCObject_AsVoidPtr(capsule))
#endif

#if PY_MAJOR_VERSION >= 3
# define PyInt_FromLong PyLong_FromLong
#endif

#define _cffi_from_c_double PyFloat_FromDouble
#define _cffi_from_c_float PyFloat_FromDouble
#define _cffi_from_c_long PyInt_FromLong
#define _cffi_from_c_ulong PyLong_FromUnsignedLong
#define _cffi_from_c_longlong PyLong_FromLongLong
#define _cffi_from_c_ulonglong PyLong_FromUnsignedLongLong
#define _cffi_from_c__Bool PyBool_FromLong

#define _cffi_to_c_double PyFloat_AsDouble
#define _cffi_to_c_float PyFloat_AsDouble

#define _cffi_from_c_int_const(x)                                        \
    (((x) > 0) ?                                                         \
        ((unsigned long long)(x) <= (unsigned long long)LONG_MAX) ?      \
            PyInt_FromLong((long)(x)) :                                  \
            PyLong_FromUnsignedLongLong((unsigned long long)(x)) :       \
        ((long long)(x) >= (long long)LONG_MIN) ?                        \
            PyInt_FromLong((long)(x)) :                                  \
            PyLong_FromLongLong((long long)(x)))

#define _cffi_from_c_int(x, type)                                        \
    (((type)-1) > 0 ? /* unsigned */                                     \
        (sizeof(type) < sizeof(long) ?                                   \
            PyInt_FromLong((long)x) :                                    \
         sizeof(type) == sizeof(long) ?                                  \
            PyLong_FromUnsignedLong((unsigned long)x) :                  \
            PyLong_FromUnsignedLongLong((unsigned long long)x)) :        \
        (sizeof(type) <= sizeof(long) ?                                  \
            PyInt_FromLong((long)x) :                                    \
            PyLong_FromLongLong((long long)x)))

#define _cffi_to_c_int(o, type)                                          \
    ((type)(                                                             \
     sizeof(type) == 1 ? (((type)-1) > 0 ? (type)_cffi_to_c_u8(o)        \
                                         : (type)_cffi_to_c_i8(o)) :     \
     sizeof(type) == 2 ? (((type)-1) > 0 ? (type)_cffi_to_c_u16(o)       \
                                         : (type)_cffi_to_c_i16(o)) :    \
     sizeof(type) == 4 ? (((type)-1) > 0 ? (type)_cffi_to_c_u32(o)       \
                                         : (type)_cffi_to_c_i32(o)) :    \
     sizeof(type) == 8 ? (((type)-1) > 0 ? (type)_cffi_to_c_u64(o)       \
                                         : (type)_cffi_to_c_i64(o)) :    \
     (Py_FatalError("unsupported size for type " #type), (type)0)))

#define _cffi_to_c_i8                                                    \
                 ((int(*)(PyObject *))_cffi_exports[1])
#define _cffi_to_c_u8                                                    \
                 ((int(*)(PyObject *))_cffi_exports[2])
#define _cffi_to_c_i16                                                   \
                 ((int(*)(PyObject *))_cffi_exports[3])
#define _cffi_to_c_u16                                                   \
                 ((int(*)(PyObject *))_cffi_exports[4])
#define _cffi_to_c_i32                                                   \
                 ((int(*)(PyObject *))_cffi_exports[5])
#define _cffi_to_c_u32                                                   \
                 ((unsigned int(*)(PyObject *))_cffi_exports[6])
#define _cffi_to_c_i64                                                   \
                 ((long long(*)(PyObject *))_cffi_exports[7])
#define _cffi_to_c_u64                                                   \
                 ((unsigned long long(*)(PyObject *))_cffi_exports[8])
#define _cffi_to_c_char                                                  \
                 ((int(*)(PyObject *))_cffi_exports[9])
#define _cffi_from_c_pointer                                             \
    ((PyObject *(*)(char *, CTypeDescrObject *))_cffi_exports[10])
#define _cffi_to_c_pointer                                               \
    ((char *(*)(PyObject *, CTypeDescrObject *))_cffi_exports[11])
#define _cffi_get_struct_layout                                          \
    ((PyObject *(*)(Py_ssize_t[]))_cffi_exports[12])
#define _cffi_restore_errno                                              \
    ((void(*)(void))_cffi_exports[13])
#define _cffi_save_errno                                                 \
    ((void(*)(void))_cffi_exports[14])
#define _cffi_from_c_char                                                \
    ((PyObject *(*)(char))_cffi_exports[15])
#define _cffi_from_c_deref                                               \
    ((PyObject *(*)(char *, CTypeDescrObject *))_cffi_exports[16])
#define _cffi_to_c                                                       \
    ((int(*)(char *, CTypeDescrObject *, PyObject *))_cffi_exports[17])
#define _cffi_from_c_struct                                              \
    ((PyObject *(*)(char *, CTypeDescrObject *))_cffi_exports[18])
#define _cffi_to_c_wchar_t                                               \
    ((wchar_t(*)(PyObject *))_cffi_exports[19])
#define _cffi_from_c_wchar_t                                             \
    ((PyObject *(*)(wchar_t))_cffi_exports[20])
#define _cffi_to_c_long_double                                           \
    ((long double(*)(PyObject *))_cffi_exports[21])
#define _cffi_to_c__Bool                                                 \
    ((_Bool(*)(PyObject *))_cffi_exports[22])
#define _cffi_prepare_pointer_call_argument                              \
    ((Py_ssize_t(*)(CTypeDescrObject *, PyObject *, char **))_cffi_exports[23])
#define _cffi_convert_array_from_object                                  \
    ((int(*)(char *, CTypeDescrObject *, PyObject *))_cffi_exports[24])
#define _CFFI_NUM_EXPORTS 25

typedef struct _ctypedescr CTypeDescrObject;

static void *_cffi_exports[_CFFI_NUM_EXPORTS];
static PyObject *_cffi_types, *_cffi_VerificationError;

static int _cffi_setup_custom(PyObject *lib);   /* forward */

static PyObject *_cffi_setup(PyObject *self, PyObject *args)
{
    PyObject *library;
    int was_alive = (_cffi_types != NULL);
    (void)self; /* unused */
    if (!PyArg_ParseTuple(args, "OOO", &_cffi_types, &_cffi_VerificationError,
                                       &library))
        return NULL;
    Py_INCREF(_cffi_types);
    Py_INCREF(_cffi_VerificationError);
    if (_cffi_setup_custom(library) < 0)
        return NULL;
    return PyBool_FromLong(was_alive);
}

union _cffi_union_alignment_u {
    unsigned char m_char;
    unsigned short m_short;
    unsigned int m_int;
    unsigned long m_long;
    unsigned long long m_longlong;
    float m_float;
    double m_double;
    long double m_longdouble;
};

struct _cffi_freeme_s {
    struct _cffi_freeme_s *next;
    union _cffi_union_alignment_u alignment;
};

#ifdef __GNUC__
  __attribute__((unused))
#endif
static int _cffi_convert_array_argument(CTypeDescrObject *ctptr, PyObject *arg,
                                        char **output_data, Py_ssize_t datasize,
                                        struct _cffi_freeme_s **freeme)
{
    char *p;
    if (datasize < 0)
        return -1;

    p = *output_data;
    if (p == NULL) {
        struct _cffi_freeme_s *fp = (struct _cffi_freeme_s *)PyObject_Malloc(
            offsetof(struct _cffi_freeme_s, alignment) + (size_t)datasize);
        if (fp == NULL)
            return -1;
        fp->next = *freeme;
        *freeme = fp;
        p = *output_data = (char *)&fp->alignment;
    }
    memset((void *)p, 0, (size_t)datasize);
    return _cffi_convert_array_from_object(p, ctptr, arg);
}

#ifdef __GNUC__
  __attribute__((unused))
#endif
static void _cffi_free_array_arguments(struct _cffi_freeme_s *freeme)
{
    do {
        void *p = (void *)freeme;
        freeme = freeme->next;
        PyObject_Free(p);
    } while (freeme != NULL);
}

static int _cffi_init(void)
{
    PyObject *module, *c_api_object = NULL;

    module = PyImport_ImportModule("_cffi_backend");
    if (module == NULL)
        goto failure;

    c_api_object = PyObject_GetAttrString(module, "_C_API");
    if (c_api_object == NULL)
        goto failure;
    if (!PyCapsule_CheckExact(c_api_object)) {
        PyErr_SetNone(PyExc_ImportError);
        goto failure;
    }
    memcpy(_cffi_exports, PyCapsule_GetPointer(c_api_object, "cffi"),
           _CFFI_NUM_EXPORTS * sizeof(void *));

    Py_DECREF(module);
    Py_DECREF(c_api_object);
    return 0;

  failure:
    Py_XDECREF(module);
    Py_XDECREF(c_api_object);
    return -1;
}

#define _cffi_type(num) ((CTypeDescrObject *)PyList_GET_ITEM(_cffi_types, num))

/**********/
)
rp   r«   r   rƒ   r   r   r   rz   r   rL   r   r   r   Ú<module>rÓ     s*   ðó Ý Ý $Ý #ôi�Vô iðVJ‚r   