Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
§

iµµhWÿãó—ddlZddlZddlZddlmZmZddlmZddlTdZ	dZ
dZejd	kpej
d
kp
ej
dkZGd„d
¦«ZGd„d¦«ZGd„d¦«ZGd„d¦«ZGd„d¦«ZGd„d¦«Zej
dkrejZnGd„dej¦«Zd„Zd„Zd)d„Zd)d„Zd „Zd!„Zd"„Zd#„Zd$„Z 				d*d(„Z!dS)+éNé)ÚffiplatformÚmodel)ÚVerificationError)Ú*i&i'i(Úwin32)ér)r	écó"—eZdZdd„Zd„Zd„ZdS)Ú
GlobalExprrcóL—||_||_||_||_||_dS©N)ÚnameÚaddressÚtype_opÚsizeÚcheck_value)Úselfrrrrrs      ú:/usr/local/lib/python3.11/site-packages/cffi/recompiler.pyÚ__init__zGlobalExpr.__init__s,€ØˆŒ	؈Œ؈Œ؈Œ	Ø&ˆÔÐÐóc	ól—d|j›d|j›d|j ¦«›d|j›d	S)Nú  { "z", (void *)ú, z
, (void *)ú },)rrrÚ	as_c_exprr©rs rrzGlobalExpr.as_c_exprs?€€àŒIˆIˆIt”||| T¤\×%;Ò%;Ñ%=Ô%=Ð%=Ð%=¸t¼y¸y¸yðJð	JrcóT—d|j ¦«|j|jfzS)Nz
b'%s%s',%d)rÚas_python_bytesrrrs rÚas_python_exprzGlobalExpr.as_python_exprs.€Ø˜tœ|×;Ò;Ñ=Ô=¸t¼yØ#Ô/ð1ñ1ð	1rN)rr©Ú__name__Ú
__module__Ú__qualname__rrr ©rrrrsI€€€€€ð'ð'ð'ð'ðJðJðJð1ð1ð1ð1ð1rrcó&—eZdZd„Zd„Zd„Zd„ZdS)Ú	FieldExprcóL—||_||_||_||_||_dSr)rÚfield_offsetÚ
field_sizeÚfbitsizeÚ
field_type_op)rrr)r*r+r,s      rrzFieldExpr.__init__s-€ØˆŒ	Ø(ˆÔØ$ˆŒØ ˆŒ
Ø*ˆÔÐÐrcó¶—dt|j¦«z}d|j›d|j›dd|›d|j›dzd|›d|j ¦«›dzS)Nú rú", z,
z     z   r)Úlenrr)r*r,r)rÚspacess  rrzFieldExpr.as_c_expr&sy€Ø•s˜4œ9‘~”~Ñ%ˆˆØ%)¤Y Y Y°Ô0AÐ0AÐ0AÐBÐBØ%+ V V¨T¬_¨_¨_Ð=ñ>ð>à%+ V V¨TÔ-?×-IÒ-IÑ-KÔ-KÐ-KÐ-KÐLñMð	Nrcó—t‚r)ÚNotImplementedErrorrs rr zFieldExpr.as_python_expr,s€Ý!Ð!rcóà—|jjtkrd}n1|jjtkrt	|j¦«}nt‚d|j ¦«›|›|j›dS)NÚúb'ú')	r,ÚopÚOP_NOOPÚOP_BITFIELDÚformat_four_bytesr+r3rr)rÚ	size_exprs  rÚas_field_python_exprzFieldExpr.as_field_python_expr/sp€ØÔÔ ¥GÒ+Ð+؈IˆIØ
Ô
Ô
"¥kÒ
1Ð
1Ý)¨$¬-Ñ8Ô8ˆIˆIå%Ð%øØ"Ô0×@Ò@ÑBÔBÐBØ'˜iØ"œi˜i˜ið)ð	)rN)r"r#r$rrr r=r%rrr'r'sS€€€€€ð+ð+ð+ðNðNðNð"ð"ð"ð	)ð	)ð	)ð	)ð	)rr'có —eZdZd„Zd„Zd„ZdS)ÚStructUnionExprc	óv—||_||_||_||_||_||_||_||_dSr)rÚ
type_indexÚflagsrÚ	alignmentÚcommentÚfirst_field_indexÚc_fields)	rrrArBrrCrDrErFs	         rrzStructUnionExpr.__init__;s?€àˆŒ	Ø$ˆŒØˆŒ
؈Œ	Ø"ˆŒØˆŒØ!2ˆÔØ ˆŒ
ˆ
ˆ
rcóėd|j|j|jfzd|j›d|j›dzd|jt
|j¦«fzz|jr
d|jzndzdzS)Nz  { "%s", %d, %s,z
    rz%d, %d z	/* %s */ r5z},)	rrArBrrCrEr0rFrDrs rrzStructUnionExpr.as_c_exprFs€Ø# t¤y°$´/À4Ä:Ð&NÑNÐNØ&*¤i i i°´°°Ð@ñAà˜tÔ5µs¸4¼=Ñ7IÔ7IÐJÑJñKð26´ÐE; ¤Ñ-Ð-À2ñGðñ	ð	rcóà—t|jt¦«}d„|jD¦«}dt	|j¦«›t	|¦«›|j›dd |¦«›dS)Ncó6—g|]}| ¦«‘ŒSr%)r=)Ú.0Úc_fields  rú
<listcomp>z2StructUnionExpr.as_python_expr.<locals>.<listcomp>Os4€ð5ð5ð5Ø"ð×3Ò3Ñ5Ô5ð5ð5ð5rz(b'ú',ú,ú))ÚevalrBÚG_FLAGSrFr;rArÚjoin)rrBÚfields_exprs   rr zStructUnionExpr.as_python_exprMs}€ÝT”Z¥Ñ)Ô)ˆð5ð5Ø&*¤mð5ñ5ô5ˆˆõ
˜dœoÑ.Ô.Ð.Ý˜eÑ$Ô$Ð$ØŒIˆIˆIØHŠH[Ñ!Ô!Ð!Ð!ð	#ð	#rNr!r%rrr?r?:sA€€€€€ð	!ð	!ð	!ðððð#ð#ð#ð#ð#rr?có —eZdZd„Zd„Zd„ZdS)ÚEnumExprcóL—||_||_||_||_||_dSr©rrArÚsignedÚallenums)rrrArrXrYs      rrzEnumExpr.__init__Xs)€ØˆŒ	Ø$ˆŒØˆŒ	؈ŒØ ˆŒ
ˆ
ˆ
rcóH—d|j|j|j|j|jfzS)Nz1  { "%s", %d, _cffi_prim_int(%s, %s),
    "%s" },rWrs rrzEnumExpr.as_c_expr_s/€ðØ!%¤¨D¬OØ!%¤¨D¬K¸¼ð!HñHð	Irc	óø—tttttt
ttdœ|j|j	f}dt|j¦«›t|¦«›|j›d|j
›dS)N))rr)rr)ér)r\r)ér)r]r)ér)r^rr6z\x00r7)Ú
PRIM_UINT8Ú	PRIM_INT8ÚPRIM_UINT16Ú
PRIM_INT16ÚPRIM_UINT32Ú
PRIM_INT32ÚPRIM_UINT64Ú
PRIM_INT64rrXr;rArrY)rÚ
prim_indexs  rr zEnumExpr.as_python_exprdsr€å­)Ý­*Ý­*Ý­*ð	ðð
Œi˜œÐ$ô&ˆ
ˆ
õ&7°t´Ñ%GÔ%GÐ%GÝ%6°zÑ%BÔ%BÐ%BØ%)¤Y Y Y°´
°
°
ð?ð	?rNr!r%rrrUrUWsD€€€€€ð!ð!ð!ðIðIðIð
	?ð	?ð	?ð	?ð	?rrUcó —eZdZd„Zd„Zd„ZdS)ÚTypenameExprcó"—||_||_dSr©rrA)rrrAs   rrzTypenameExpr.__init__ps€ØˆŒ	Ø$ˆŒˆˆrcó$—d|j|jfzS)Nz  { "%s", %d },rkrs rrzTypenameExpr.as_c_exprts€Ø  D¤I¨t¬Ð#?Ñ?Ð?rcó@—dt|j¦«›|j›dS)Nr6r7)r;rArrs rr zTypenameExpr.as_python_exprws"€€Ý-¨d¬oÑ>Ô>Ð>ÀÄ	À	À	ÐJÐJrNr!r%rrririosI€€€€€ð%ð%ð%ð@ð@ð@ðKðKðKðKðKrricóú—eZdZdZdNd„Zd„Zd„Zd„Zd„Zd„Z	gd	¢Z
d
„ZdOd„Zd
„Z
d„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd „Z d!„Z!dPd#„Z"d$„Z#d%„Z$d&„Z%e%Z&d'„Z'd(„Z(e(Z)d)„Z*e*Z+d*„Z,d+„Z-d,„Z.		dQd.„Z/d/„Z0d0„Z1d1„Z2d2„Z3dPd3„Z4d4„Z5d5„Z6d6„Z7d7„Z8d8„Z9d9„Z:d:„Z;d;„Z<d<„Z=d=„Z>e>xZ?Z@d>„ZAd?„ZBd@„ZCdA„ZDdB„ZEeExZFZGdC„ZHdD„ZIdE„ZJdF„ZKdG„ZLdH„ZMdI„ZNeNZOeNZPdJ„ZQdK„ZRdL„ZSeSZTdM„ZUd"S)RÚ
RecompilerrFcóH—||_||_||_t|_dSr)ÚffiÚmodule_nameÚtarget_is_pythonÚVERSION_BASEÚ_version)rrqrrrss    rrzRecompiler.__init__s$€ØˆŒØ&ˆÔØ 0ˆÔÝ$ˆŒ
ˆ
ˆ
rcó:—t|j|¦«|_dSr)Úmaxru)rÚvers  rÚ
needs_versionzRecompiler.needs_version‡s€Ý˜DœM¨3Ñ/Ô/ˆŒ
ˆ
ˆ
rc
ó—i|_| d¦«t|jt¬¦«}g|_|D]þ}|jrõ|j|J‚t
|j¦«|j|<|j |¦«|jD]Ž}t|tjtjtj
tjtjf¦«sJ‚|j|€t
|j¦«|j|<|j |¦«Œ|j d¦«Œÿ|D]t}|jsk|j|€^t
|j¦«|j|<|j |¦«|jr!|j|j d¦«Œud|j ¦«vsJ‚i|_i|_|D]K}t|tj¦«rd|j|<Œ't|tj¦«r
d|j|<ŒLt/t|jd„¬¦«¦«D]\}}||j|<Œt/t|jd„¬¦«¦«D]\}}||j|<Œ|D]6}t1|d|jjz¦«}|||j|¦«Œ7|jD]}t|t6¦«sJ‚Œt9|j¦«|_dS)NÚcollecttype©ÚkeyÚENDÚLENcó—|jSr©r©Útps rú<lambda>z/Recompiler.collect_type_table.<locals>.<lambda>´ó€°R´W€rcó—|jSrrr‚s rr„z/Recompiler.collect_type_table.<locals>.<lambda>·r…rÚ_emit_bytecode_)Ú
_typesdictÚ	_generateÚsortedÚstrÚ
cffi_typesÚis_raw_functionr0ÚappendÚargsÚ
isinstancerÚVoidTypeÚBasePrimitiveTypeÚPointerTypeÚStructOrUnionOrEnumÚFunctionPtrTypeÚ
is_array_typeÚlengthÚvaluesÚ_struct_unionsÚ_enumsÚ
StructOrUnionÚEnumTypeÚ	enumerateÚgetattrÚ	__class__r"ÚCffiOpÚtuple)rÚ	all_declsrƒÚtp1ÚiÚmethodr8s       rÚcollect_type_tablezRecompiler.collect_type_tableŠsS€ØˆŒØŠ}Ñ%Ô%Ð%å˜4œ?µÐ4Ñ4Ô4ˆ	ðˆŒØð	.ð	.ˆBØÔ!ð

.Ø” rÔ*Ð2Ð2Ð2Ý&)¨$¬/Ñ&:Ô&:” Ñ#Ø”×&Ò& rÑ*Ô*Ð*Øœ7ð0ð0CÝ% c­E¬NÝ,1Ô,CÝ,1Ô,=Ý,1Ô,EÝ,1Ô,Að	,CñDôDðDðDðDð
” sÔ+Ð3Ý/2°4´?Ñ/CÔ/C˜œ¨Ñ,Ø”O×*Ò*¨3Ñ/Ô/Ð/Ð/Ø”×&Ò& uÑ-Ô-Ð-øðð	2ð	2ˆBØÔ%ð
2¨$¬/¸"Ô*=Ð*EÝ&)¨$¬/Ñ&:Ô&:” Ñ#Ø”×&Ò& rÑ*Ô*Ð*ØÔ#ð2¨¬	Ð(=Ø”O×*Ò*¨5Ñ1Ô1Ð1øØ˜4œ?×1Ò1Ñ3Ô3Ð3Ð3Ð3Ð3ð!ˆÔ؈ŒØð	'ð	'ˆBݘ"eÔ1Ñ2Ô2ð
'Ø*.Ô# BÑ'Ð'ݘB¥¤Ñ/Ô/ð
'Ø"&”˜B‘øÝv dÔ&9Ø*<Ð*<ð >ñ >ô >ñ?ô?ð	(ð	(‰EˆAˆrà&'ˆDÔ Ñ#Ð#ݝv d¤kØ*<Ð*<ð >ñ >ô >ñ?ô?ð	 ð	 ‰EˆAˆràˆDŒK˜‰OˆOðð	,ð	,ˆBݘTÐ#4°r´|Ô7LÑ#LÑMÔMˆFØˆF2t” rÔ*Ñ+Ô+Ð+Ð+ð”/ð	*ð	*ˆBݘb¥&Ñ)Ô)Ð)Ð)Ð)Ð)Ý ¤Ñ0Ô0ˆŒˆˆrcó<—|j}| |¦«Sr)rsÚ
enumfields)rrƒÚexpand_anonymous_struct_unions   rÚ_enum_fieldszRecompiler._enum_fieldsÄs#€ð-1Ô,AÐ(AÐ%؏}Š}Ð:Ñ;Ô;Ð;rcó¬—t|tj¦«s1t|t¦«r|D]}| |¦«ŒdS||jvrýd|j|<t|tj¦«r)| | ¦«¦«dSt|tj¦«rg|j	Z||j
jjvrI| 
|¦«D]5\}}}}| | |||¦«¦«Œ2dSdSdS| ¦«D]\}}| |¦«ŒdSdSr)rrÚBaseTypeByIdentityr¡Ú_do_collect_typerˆr•Úas_raw_functionr›ÚfldtypesrqÚ_parserÚ_included_declarationsrªÚ_field_typeÚ
_get_items)rrƒÚxÚname1r£Ú_s      rr­zRecompiler._do_collect_typeÏs‰€Ý˜"eÔ6Ñ7Ô7ð	ݘ"eÑ$Ô$ð
-Øð-ð-AØ×)Ò)¨!Ñ,Ô,Ð,Ð,ØˆFØ
T”_Ð$Ð$Ø"&ˆDŒO˜BÑݘ"eÔ3Ñ4Ô4ð	
-Ø×%Ò% b×&8Ò&8Ñ&:Ô&:Ñ;Ô;Ð;Ð;Ð;ݘB¥Ô 3Ñ4Ô4ð
-Ø”;Ð*Ø $¤(Ô"2Ô"IÐIÐIØ,0×,=Ò,=¸bÑ,AÔ,AðPðPÑ(˜˜s A qØ×-Ò-¨d×.>Ò.>¸rÀ5È#Ñ.NÔ.NÑOÔOÐOÐOð+Ð*ØIÐIðPðPðŸMšM™OœOð-ð-‘DAqØ×)Ò)¨!Ñ,Ô,Ð,Ð,ð%Ð$ð-ð-rcó–—|jjj ¦«}t	|¦«D]•\}\}}| dd¦«\}}	t
|d|›d|›¦«}n #t$rtd|z¦«‚wxYw	||_	|||¦«Œn#t$r}	tj|	|¦«‚d}	~	wwxYwdS)Nr.rÚ_generate_cpy_r¶z"not implemented in recompile(): %r)
rqr°Ú
_declarationsÚitemsrŠÚsplitržÚAttributeErrorrÚ_current_qualsÚ	ExceptionrÚattach_exception_info)
rÚ	step_nameÚlstrrƒÚqualsÚkindÚrealnamer¥Úes
          rr‰zRecompiler._generateâs€ØŒhÔÔ,×2Ò2Ñ4Ô4ˆÝ!'¨¡¤ð
	ð
	ÑˆD‘+2uØ!ŸZšZ¨¨QÑ/Ô/‰NˆD(ð
AÝ   ÀÀÀØ@IÀ	ð(KñLôLøå!ð
Að
Að
AÝ'Ø8¸4Ñ?ñAôAðAð
Aøøøð
Ø&+Ô#ؐr˜8Ñ$Ô$Ð$Ð$øÝð
ð
ð
ÝÔ+¨A¨tÑ4Ô4Ð4Øøøøøð
øøøð
	ð
	s$ÁA,Á,B	Â
B!Â!
CÂ+CÃC)ÚglobalÚfieldÚstruct_unionÚenumÚtypenamecóJ—i|_|jD]}g|j|<Œ
t¦«|_| d¦«| ¦«|jD]C}|j|}|dkr| d„¬¦«t|¦«|j|<ŒD|jd}|j 	¦«D]2\}}|t|¦«ksJ‚||j|jksJ‚Œ3t|¦«t|j¦«ksJ‚|jd}|j 	¦«D]2\}}|t|¦«ksJ‚||j|jksJ‚Œ3t|¦«t|j¦«ksJ‚dS)NÚctxrÇcó—|jSrr)Úentrys rr„z0Recompiler.collect_step_tables.<locals>.<lambda>s€¨5¬:€rr|rÈrÉ)
Ú_lstsÚ	ALL_STEPSÚsetÚ_seen_struct_unionsr‰Ú_add_missing_struct_unionsÚsortr¡r™rºr0rrš)rrÀrÁrƒr¤s     rÚcollect_step_tableszRecompiler.collect_step_tables÷s²€àˆŒ
Øœð	'ð	'ˆIØ$&ˆDŒJyÑ!Ð!Ý#&¡5¤5ˆÔ ØŠuÑÔÐØ×'Ò'Ñ)Ô)Ð)àœð	/ð	/ˆIØ”*˜YÔ'ˆCؘGÒ#Ð#Ø—’Ð5Ð5Ñ6Ô6Ð6Ý$)¨#¡J¤JˆDŒJyÑ!Ð!ðŒj˜Ô(ˆØÔ(×.Ò.Ñ0Ô0ð	*ð	*‰EˆBØ•s˜3‘x”x’<<<<ؐq”6”; "¤'Ò)Ð)Ð)Ð)Ð)ݐ3‰xŒx3˜tÔ2Ñ3Ô3Ò3Ð3Ð3Ð3àŒj˜Ô ˆØ”[×&Ò&Ñ(Ô(ð	*ð	*‰EˆBØ•s˜3‘x”x’<<<<ؐq”6”; "¤'Ò)Ð)Ð)Ð)Ð)ݐ3‰xŒx3˜tœ{Ñ+Ô+Ò+Ð+Ð+Ð+Ð+Ð+rr5có@—|j |dz¦«dS)Nú
)Ú_fÚwrite)rÚwhats  rÚ_prntzRecompiler._prnts €ØŒ
Š
d˜T‘kÑ"Ô"Ð"Ð"Ð"rcó~—|jr|J‚| |¦«dS|€J‚| ||¦«dSr)rsÚwrite_py_source_to_fÚwrite_c_source_to_f)rÚfÚpreambles   rÚwrite_source_to_fzRecompiler.write_source_to_fs[€ØÔ ð	2ØÐ#Ð#Ð#Ø×%Ò% aÑ(Ô(Ð(Ð(Ð(àÐ'Ð'Ð'Ø×$Ò$ Q¨Ñ1Ô1Ð1Ð1Ð1rcóö—ttj tj t
¦«|¦«d¦«}| ¦«}| ¦«|S)NÚr)ÚopenÚosÚpathrRÚdirnameÚ__file__Ú	readlinesÚclose)rÚfilenameÚgÚliness    rÚ_rel_readlineszRecompiler._rel_readlines!sN€Ý•”—’bœgŸošo­hÑ7Ô7¸ÑBÔBÀCÑHÔHˆØ—’‘
”
ˆØ	Š‰	Œ	ˆ	؈rc	óx—||_|j}|jj|d¦«ts|d¦«| d¦«}| d¦«}| d¦«|||dz…<|d |¦«¦«|j 	d¦«d	}|jj|d
|j›d¦«|d¦«| 
|jj¦«|d
¦«|d¦«|d|›¦«|d¦«|d|›¦«|d¦«|d|›¦«|d¦«| d¦«}| d¦«}| d¦«|||dz…<|d |¦«¦«| t¦«|d¦«|¦«||¦«|¦«|d¦«|¦«|d¦«td„|j ¦«D¦«¦«}t!|j¦«D]K\}}d}	||vrd|| ¦«z}	|d|| ¦«|	fz¦«ŒL|js|d¦«|d¦«|¦«t)¦«|_| d¦«i}
|jD]v}|j|}t3|¦«|
|<|
|d krI|d!|›d"|›d#¦«|D]}
||
 ¦«¦«Œ |d¦«|¦«Œw|jjr—|d$¦«|jjD]_}	|jdd%…\}}n)#t8$rt;d&|j›d'|›d(¦«‚wxYw|€t;d)¦«‚|d*|›d+¦«Œ`|d,¦«|d¦«|¦«|d-¦«|d.¦«|jD]+}|
|d kr|d/|z¦«Œ|d0|z¦«Œ,|jD]}|d1kr|d2|
||fz¦«Œ|jjr|d3¦«n|d4¦«|d5t3|j¦«fz¦«d }|jd ks|jj|dz}|d6|z¦«|d¦«|¦«|d7¦«|d8¦«|d¦«|¦«|d¦«|d9¦«|d:|›d;¦«|d<¦«|dzr!|d=¦«|d>¦«|d?¦«|d@|jz¦«|dA¦«|dB¦«|dC¦«|d¦«|dD¦«|dE¦«|dF¦«|dG¦«|dH|›dI¦«|dJ¦«|dK|›dL¦«|dM¦«|dM¦«|d¦«|d9¦«|dN|›dO¦«|d<¦«|dP|j|jfz¦«|dD¦«|d¦«|d9¦«|dQ|›dO¦«|d<¦«|dR|j|jfz¦«|dD¦«|d¦«|¦«|d7¦«|dS¦«|d¦«d|_dS)TNz#define _CFFI_USE_EMBEDDINGz#define _CFFI_NO_LIMITED_APIz_cffi_include.hz#include "parse_c_type.h"
zparse_c_type.hrr5ú.éÿÿÿÿz#define _CFFI_MODULE_NAME  "ú"z1static const char _CFFI_PYTHON_STARTUP_CODE[] = {z0 };z#ifdef PYPY_VERSIONz3# define _CFFI_PYTHON_STARTUP_FUNC  _cffi_pypyinit_z#elif PY_MAJOR_VERSION >= 3z+# define _CFFI_PYTHON_STARTUP_FUNC  PyInit_ú#elsez(# define _CFFI_PYTHON_STARTUP_FUNC  initú#endifz_embedding.hz#include "_cffi_errors.h"
z_cffi_errors.hz>/************************************************************/zstatic void *_cffi_types[] = {có—g|]	\}}||f‘Œ
Sr%r%©rJrƒr¤s   rrLz2Recompiler.write_c_source_to_f.<locals>.<listcomp>Wó €ÐNÐNÐN©7¨B°  2˜wÐNÐNÐNrz // z/* %2d */ %s,%sz  0z};Údeclrzstatic const struct _cffi_z	_s _cffi_zs[] = {z.static const char * const _cffi_includes[] = {r\úffi object ú
 includes ú8, but the latter has not been prepared with set_source()zMnot implemented yet: ffi.include() of a Python-based ffi inside a C-based ffiz  "z",z  NULLz?static const struct _cffi_type_context_s _cffi_type_context = {z  _cffi_types,z  _cffi_%ss,z  NULL,  /* no %ss */rÇz  %d,  /* num_%ss */z  _cffi_includes,z  NULL,  /* no includes */z  %d,  /* num_types */z  %d,  /* flags */z#ifdef __GNUC__z?#  pragma GCC visibility push(default)  /* for -fvisibility= */ÚPyMODINIT_FUNCÚ_cffi_pypyinit_z(const void *p[])Ú{z%    if (((intptr_t)p[0]) >= 0x0A03) {zQ        _cffi_call_python_org = (void(*)(struct _cffi_externpy_s *, char *))p[1];z    }z    p[0] = (const void *)0x%x;z    p[1] = &_cffi_type_context;z#if PY_MAJOR_VERSION >= 3ú    return NULL;Ú}z#  ifdef _MSC_VERz     PyMODINIT_FUNCz#  if PY_MAJOR_VERSION >= 3z     PyInit_z(void) { return NULL; }z#  elsez	     initz
(void) { }z#  endifÚPyInit_ú(void)z5  return _cffi_init("%s", 0x%x, &_cffi_type_context);Úinitz.  _cffi_init("%s", 0x%x, &_cffi_type_context);z#  pragma GCC visibility pop) rØrÛrqÚ
_embeddingÚUSE_LIMITED_APIrîÚindexrRrrr»Ú_print_string_literal_in_arrayryÚVERSION_EMBEDDEDÚdictrˆrºrrŒÚ_get_c_namerrÑÚ_seen_constantsr‰rÐrÏr0Ú_included_ffisÚ_assigned_sourcer¼rÚ
_num_externpyru)rrßràÚprntrír¤Úbase_module_nameÚtypeindex2typer8rDÚnumsrÀrÁrÎÚffi_to_includeÚincluded_module_nameÚincluded_sourcerBs                  rrÞzRecompiler.write_c_source_to_f'sµ	€ØˆŒØŒzˆØŒ8ÔÐ*ØˆDÐ.Ñ/Ô/Ð/Ýð	1ØˆDÐ/Ñ0Ô0Ð0ð×#Ò#Ð$5Ñ6Ô6ˆØKŠKÐ5Ñ6Ô6ˆØ×*Ò*Ð+;Ñ<Ô<ˆˆa!‘ˆe‰ØˆˆRWŠWU‰^Œ^ÑÔÐð Ô+×1Ò1°#Ñ6Ô6°rÔ:ÐØŒ8ÔÑ*ØˆDˆD°dÔ6FÐ6FÐ6FÐHÑIÔIÐIØˆDÐDÑEÔEÐEØ×/Ò/°´Ô0CÑDÔDÐDØˆD‰LŒLˆLØˆDÐ&Ñ'Ô'Ð'ØˆDˆDØ Ð ð#ñ
$ô
$ð
$àˆDÐ.Ñ/Ô/Ð/ØˆDˆDØ Ð ð#ñ
$ô
$ð
$àˆD‰MŒMˆMØˆDˆDØ Ð ð#ñ
$ô
$ð
$àˆD‰NŒNˆNØ×'Ò'¨Ñ7Ô7ˆEØ—’Ð9Ñ:Ô:ˆAØ×.Ò.Ð/?Ñ@Ô@ˆE!Aa‘C%‰LØˆD—’˜‘”Ñ Ô Ð Ø×ÒÕ/Ñ0Ô0Ð0ð	
ˆÐ
MÑNÔNÐNØˆ‰ŒˆØˆˆX‰ŒˆØˆ‰ŒˆØˆÐ
MÑNÔNÐNØˆ‰Œˆð	
ˆÐ
-Ñ.Ô.Ð.ÝÐNÐN°d´o×6KÒ6KÑ6MÔ6MÐNÑNÔNÑOÔOˆÝ˜tœÑ/Ô/ð	Cð	C‰EˆAˆr؈GؐNÐ"Ð"Ø  >°!Ô#4×#@Ò#@Ñ#BÔ#BÑBØˆDÐ" a¨¯ª©¬¸Ð%AÑAÑBÔBÐBÐBØŒð	ØˆD‰KŒKˆKØˆˆT‰
Œ
ˆ
Øˆ‰Œˆõ #™uœuˆÔØŠvÑÔÐðˆØœð		ð		ˆIØ”*˜YÔ'ˆCÝ! #™hœhˆD‰OؐIŒ Ò"Ð"ؐØII˜y˜y˜yð*ñ+ô+ð+à ð,ð,EؐD˜ŸšÑ*Ô*Ñ+Ô+Ð+Ð+ؐT‘
”

ؐ‘”øðŒ8Ô"ð	ØˆDÐAÑBÔBÐBØ"&¤(Ô"9ð

:ð

:ð8à&Ô7¸¸¸Ô;ñ:Ð(¨/¨/øå%ð8ð8ð8Ý+Ð+ð!œH˜H˜H n n nð7ñ8ô8ð8ð8øøøð
#Ð*Ý+ð3ñ4ô4ð4ðÐ"6Ð"6Ð"6Ð8Ñ9Ô9Ð9Ð9ØˆD‰NŒNˆNØˆD‰JŒJˆJØˆD‰FŒFˆFð	
ˆÐ
NÑOÔOÐOØˆÐ
ÑÔÐØœð	:ð	:ˆIؐIŒ Ò"Ð"ؐ^ iÑ/Ñ0Ô0Ð0Ð0àÐ,¨yÑ8Ñ9Ô9Ð9Ð9Øœð	Lð	LˆIؘGÒ#Ð#ؐÐ+¨t°I¬À	Ð.JÑJÑKÔKÐKøØŒ8Ô"ð	/ØˆDÐ$Ñ%Ô%Ð%Ð%àˆDÐ-Ñ.Ô.Ð.ØˆÐ
%­¨T¬_Ñ)=Ô)=Ð(?Ñ
?Ñ@Ô@Ð@؈ØÔ Ò!Ð! T¤XÔ%8Ð%DØQ‰JˆEØˆÐ
! EÑ
)Ñ*Ô*Ð*ØˆˆT‰
Œ
ˆ
Øˆ‰Œˆð	
ˆÐ
ÑÔÐØˆÐ
NÑOÔOÐOØˆˆX‰ŒˆØˆ‰ŒˆØˆÐ
"Ñ#Ô#Ð#ØˆÐ
ÑÔÐØˆˆÐ5EÐ5EÐ5EÐ
GÑHÔHÐHØˆˆS‰	Œ	ˆ	ؐ1‰9ð	ØˆDÐ8Ñ9Ô9Ð9ØˆDðEñ
Fô
Fð
FàˆD‰MŒMˆMØˆÐ
-°´
Ñ
=Ñ>Ô>Ð>ØˆÐ
.Ñ/Ô/Ð/ØˆÐ
(Ñ)Ô)Ð)ØˆÐ
Ñ Ô Ð ØˆˆX‰ŒˆØˆˆS‰	Œ	ˆ	ð	
ˆÐ
 Ñ!Ô!Ð!ØˆÐ
"Ñ#Ô#Ð#ØˆÐ
*Ñ+Ô+Ð+ØˆˆÐ8HÐ8HÐ8HÐ
JÑKÔKÐKØˆˆY‰ŒˆØˆˆÐ(8Ð(8Ð(8Ð
:Ñ;Ô;Ð;ØˆˆZÑÔÐØˆˆZÑÔÐØˆÐ
*Ñ+Ô+Ð+ØˆÐ
ÑÔÐØˆˆÐ"2Ð"2Ð"2Ð
4Ñ5Ô5Ð5ØˆˆS‰	Œ	ˆ	ØˆÐ
DØÔ˜dœmðH-ñ-ñ	.ô	.ð	.àˆˆS‰	Œ	ˆ	ØˆˆW‰
Œ
ˆ
ØˆÐ
ÑÔÐØˆˆÐ/Ð/Ð/Ð
1Ñ2Ô2Ð2ØˆˆS‰	Œ	ˆ	ØˆÐ
=ØÔ˜dœmðA-ñ-ñ	.ô	.ð	.àˆˆS‰	Œ	ˆ	ØˆˆX‰ŒˆØˆ‰ŒˆØˆÐ
ÑÔÐØˆÐ
+Ñ,Ô,Ð,ØˆˆX‰ŒˆØˆŒ
ˆ
ˆ
sÎ7O
Ï
&O0có8‡—t|t¦«rd|›dSt|ttf¦«rOˆfd„|D¦«}t	|¦«dkr| d¦«dd |¦«›dS| ¦«S)	Nr6r7có:•—g|]}‰ |¦«‘ŒSr%)Ú_to_py)rJÚitemrs  €rrLz%Recompiler._to_py.<locals>.<listcomp>Øs%ø€Ð3Ð3Ð3¨4—;’;˜tÑ$Ô$Ð3Ð3Ð3rrr5ú(rNrO)rr‹Úlistr¡r0rŽrRr )rr´Úreps`  rrzRecompiler._to_pyÔsø€ÝaÑÔð	"ð	"ؘa˜a>Ð!ݐa$¥˜Ñ'Ô'ð	-Ø3Ð3Ð3Ð3°Ð3Ñ3Ô3ˆCݐ3‰xŒx˜1Š}ˆ}Ø—
’
˜2‘”øØ ŸXšX c™]œ]˜]˜]Ð,Ð,Ø×ÒÑ!Ô!Ð!rc	óV—||_|j}|d¦«|d¦«t|jjpd¦«}t|¦«D]r}|jj|}	|jdd…\}}n)#t$rtd|j›d|›d¦«‚wxYw|td¦«‚|d	||fz¦«Œs|¦«|d
|j	›d¦«|d|j
fz¦«d|_
t|j¦«|_d
„|jD¦«}|d| 
d |¦«¦«›d¦«td„|j ¦«D¦«¦«}	|jD]M}
|j|
}t|¦«dkr+|
dkr%|d|
›d| 
|¦«›d¦«ŒN|dkr9|dd d„t|¦«D¦«¦«›d¦«|d¦«dS)Nz# auto-generated filezimport _cffi_backendr%r\rùrúrûzMnot implemented yet: ffi.include() of a C-based ffi inside a Python-based ffizfrom %s import ffi as _ffi%dzffi = _cffi_backend.FFI('rMz    _version = 0x%x,có6—g|]}| ¦«‘ŒSr%)r)rJr8s  rrLz3Recompiler.write_py_source_to_f.<locals>.<listcomp>þs$€ÐDÐDÐD¨bR×'Ò'Ñ)Ô)ÐDÐDÐDrz
    _types = r5rNcó—g|]	\}}||f‘Œ
Sr%r%rös   rrLz3Recompiler.write_py_source_to_f.<locals>.<listcomp>r÷rrrÇz    _zs = z    _includes = (rcó—g|]}d|z‘ŒS)z_ffi%dr%©rJr¤s  rrLz3Recompiler.write_py_source_to_f.<locals>.<listcomp>s€ÐEÐEÐE¨A˜8 a™<ÐEÐEÐErz,),rO)rØrÛr0rqrÚranger
r¼rrrrur¡rŒrrRr	rˆrºrÐrÏ)rrßrÚnum_includesr¤rrrÚ	types_lstrrÀrÁs            rrÝzRecompiler.write_py_source_to_fÞs¾€ØˆŒØŒzˆð	
ˆÐ
$Ñ%Ô%Ð%ØˆÐ
#Ñ$Ô$Ð$õ˜4œ8Ô2Ð8°bÑ9Ô9ˆݐ|Ñ$Ô$ð	Mð	MˆAØ!œXÔ4°QÔ7ˆNð
4à"Ô3°B°Q°BÔ7ñ6Ð$ o oøå!ð
4ð
4ð
4Ý'Ð'𜘘 . . .ð3ñ4ô4ð4ð
4øøøð
Ð*Ý'ð4ñ5ô5ð5ð
ˆDÐ/Ð3GÈÐ2KÑKÑLÔLÐLÐLØˆ‰ŒˆØˆˆ°Ô0@Ð0@Ð0@Ð
BÑCÔCÐCØˆÐ
# t¤}Ð&6Ñ
6Ñ7Ô7Ð7؈Œ
õ  ¤Ñ0Ô0ˆŒØDÐD°D´OÐDÑDÔDˆ	Øˆˆ 4§;¢;¨r¯wªw°yÑ/AÔ/AÑ#BÔ#BÐ#BÐ#BÐ
DÑEÔEÐEÝÐNÐN°d´o×6KÒ6KÑ6MÔ6MÐNÑNÔNÑOÔOˆðœð	Gð	GˆIØ”*˜YÔ'ˆCݐ3‰xŒx˜!Š|ˆ| 	¨WÒ 4Ð 4ؐ¨¨¨°D·K²KÀÑ4DÔ4DÐ4DÐ4DÐEÑFÔFÐFøð˜!ÒÐØˆDˆDØ—	’	ÐEÐEµ°|Ñ1DÔ1DÐEÑEÔEÑFÔFÐFÐFðIñ
Jô
Jð
Jð	
ˆˆS‰	Œ	ˆ	ˆ	ˆ	sÁ$A7Á7&Bcó—|j|Sr)rˆ)rÚtypes  rÚ_gettypenumzRecompiler._gettypenums€àŒ˜tÔ$Ð$rc
óÄ—d}t|tj¦«rÌ| ¦«s¸| ¦«r|jdkr
d}d|jz}nˆt|tj¦«rd| d¦«›d}nT| d¦«}d|›d|j dd	¦«›}|d
vr| 	t¦«d}nt|tj¦«r| ||||¦«dSt|tj
¦«st|tj¦«rH| d|| |¦«|fz¦«| d
|z¦«dSt|tj¦«r3d| d¦«z}d| |¦«z}d}nt#|¦«‚| d|›d|›d|›|›d¦«| d|›d| d¦«›d|›d¦«| d
|z¦«dS)Nr5Ú_BoolÚ_cffi_to_c_intz, %srz)_cffi_to_c_doublez)_cffi_to_c_r.r¶©Úchar16_tÚchar32_tz-1z6  if (_cffi_to_c((char *)&%s, _cffi_type(%d), %s) < 0)z    %s;z(%s)_cffi_to_c_pointerz, _cffi_type(%d)ÚNULLú  z = ú);z  if (z == (rOz && PyErr_Occurred()))rrr’Úis_complex_typeÚis_integer_typerÚUnknownFloatTypeÚ
get_c_nameÚreplaceryÚVERSION_CHAR16CHAR32r“Ú"_convert_funcarg_to_c_ptr_or_arrayr”rÛr'r•r3)	rrƒÚfromvarÚtovarÚerrcodeÚextraargÚ	converterÚcnameÚerrvalues	         rÚ_convert_funcarg_to_cz Recompiler._convert_funcarg_to_cs™€ØˆÝb%Ô1Ñ2Ô2ð$	*¸2×;MÒ;MÑ;OÔ;Oð$	*Ø×!Ò!Ñ#Ô#ð
=¨¬°7Ò(:Ð(:Ø,	Ø! B¤GÑ+Ý˜B¥Ô 6Ñ7Ô7ð	
=ð	
=ð8:·}²}ÀRÑ7HÔ7HÐ7HÐ7HÐJ		àŸ
š
 bÑ)Ô)Ø38°5°5Ø35´7·?²?À3ÈÑ3LÔ3LÐ3LðN	àÐ4Ð4Ð4Ø×&Ò&Õ';Ñ<Ô<Ð<؈H‰Hå
˜EÔ-Ñ
.Ô
.ð	*Ø×3Ò3°B¸Ø49¸7ñ
Dô
Dð
DàˆF嘝UÔ6Ñ7Ô7ð	*ݘUÔ4Ñ5Ô5ð	*ð
JŠJÐOØ × 0Ò 0°Ñ 4Ô 4°gÐ>ñ?ñ
@ô
@ð
@àJŠJy 7Ñ*Ñ+Ô+Ð+ØˆFå
˜EÔ1Ñ
2Ô
2ð	*Ø0°2·=²=ÀÑ3DÔ3DÑDˆIØ)¨D×,<Ò,<¸RÑ,@Ô,@Ñ@ˆH؈HˆHõ& bÑ)Ô)Ð)à
Š
ˆ
¨¨¨°	°	°	¸7¸7ÀHÀHÀHÐMÑNÔNÐNØ
Š
ˆ
ØˆEˆE2—=’= Ñ$Ô$Ð$Ð$ h h hð0ñ	1ô	1ð	1à
Š
9˜wÑ&Ñ'Ô'Ð'Ð'Ð'rcó¼—t|tj¦«rA| d¦«| d¦«| d¦«dSdS)NzPy_ssize_t datasizez-struct _cffi_freeme_s *large_args_free = NULLzIif (large_args_free != NULL) _cffi_free_array_arguments(large_args_free);)rrr“Úadd)rrƒÚ	localvarsÚ	freeliness    rÚ_extra_local_variablesz!Recompiler._extra_local_variablesCsu€Ýb%Ô+Ñ,Ô,ð	KØMŠMÐ/Ñ0Ô0Ð0ØMŠMÐIÑJÔJÐJØMŠMðJñ
Kô
Kð
Kð
Kð
Kð	Kð	Krcóô—| d¦«| d| |¦«||fz¦«| d¦«| d|›d| d¦«›d¦«| d| |¦«||fz¦«| d	¦«| d
|z¦«| d¦«dS)Nz1  datasize = _cffi_prepare_pointer_call_argument(z(      _cffi_type(%d), %s, (char **)&%s);z  if (datasize != 0) {z    z  = ((size_t)datasize) <= 640 ? (r5z!)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;z  })rÛr'r4)rrƒr8r9r:s     rr7z-Recompiler._convert_funcarg_to_c_ptr_or_arrayJs€Ø
Š
ÐFÑGÔGÐGØ
Š
Ð=Ø×Ò˜RÑ Ô  '¨5ðA2ñ2ñ	3ô	3ð	3à
Š
Ð+Ñ,Ô,Ð,Ø
Š
ˆ
àˆEˆE2—=’= Ñ$Ô$Ð$Ð$ð&ñ	'ô	'ð	'ð	

Š
ð#Ø&*×&6Ò&6°rÑ&:Ô&:¸GÀUÐ%KñLñ	Mô	Mð	Mà
Š
ÐAÑBÔBÐBØ
Š
; Ñ(Ñ)Ô)Ð)Ø
Š
5ÑÔÐÐÐrcó(—t|tj¦«rÈ| ¦«r|jdkrd|›d|j›dSt|tj¦«rd|›dS|jdkrV| ¦«sB|j dd¦«}|d	vr| t¦«d
|›d|›dSd|| 
|¦«fzSt|tjtjf¦«rd
|| 
|¦«fzSt|tj
¦«r1d
|| 
tj|j¦«¦«fzSt|tj¦«rI|j€(t#d| ¦«›d|›d¦«‚d|| 
|¦«fzSt|tj¦«rd|| 
|¦«fzSt)|¦«‚)Nr)z_cffi_from_c_int(rrOz_cffi_from_c_double(úlong doubler.r¶r+Ú
_cffi_from_c_rz/_cffi_from_c_deref((char *)&%s, _cffi_type(%d))z0_cffi_from_c_pointer((char *)%s, _cffi_type(%d))r7z
' is used as z, but is opaquez0_cffi_from_c_struct((char *)&%s, _cffi_type(%d)))rrr’r2rr3r1r5ryr6r'r“r•Ú	ArrayTyperr›ÚfldnamesÚ	TypeErrorr
rœr3)rrƒÚvarÚcontextr=s     rÚ_convert_expr_from_czRecompiler._convert_expr_from_cXsP€Ýb%Ô1Ñ2Ô2ð	*Ø×!Ò!Ñ#Ô#ð
/¨¬°7Ò(:Ð(:Ð(:Ø58°S°S¸"¼'¸'¸'ÐBÐBݘB¥Ô 6Ñ7Ô7ð	
/ð	
/Ø47°C°CÐ9Ð9Ø”˜MÒ)Ð)°"×2DÒ2DÑ2FÔ2FÐ)ØœŸš¨¨SÑ1Ô1ØÐ4Ð4Ð4Ø×&Ò&Õ';Ñ<Ô<Ð<øØ05°°°s°s°sÐ;Ð;àHؘ×)Ò)¨"Ñ-Ô-ðL/ñ/ð/å
˜UÔ.µÔ0EÐFÑ
GÔ
Gð	*ØEؐT×%Ò% bÑ)Ô)ðI+ñ+ð
+å
˜EœOÑ
,Ô
,ð
	*ØEؐT×%Ò%¥eÔ&7¸¼Ñ&@Ô&@ÑAÔAðICñCð
Cå
˜EÔ/Ñ
0Ô
0ð
	*ØŒ{Ð"ݐiØ—N’NÑ$Ô$Ð$Ð$ g g gð!/ñ0ô0ð0àEؐT×%Ò% bÑ)Ô)ðI+ñ+ð
+å
˜EœNÑ
+Ô
+ð	*ØDؐT×%Ò% bÑ)Ô)ðH+ñ+ð
+õ& bÑ)Ô)Ð)rcó6—| |d|›d¦«S)Nz(*(z *)0))Ú_global_type©rrƒrs   rÚ
_typedef_typezRecompiler._typedef_type{s!€Ø× Ò   °T°T°TÐ%;Ñ<Ô<Ð<rcóX—| | ||¦«¦«dSr)r­rRrQs   rÚ!_generate_cpy_typedef_collecttypez,Recompiler._generate_cpy_typedef_collecttype~s,€Ø×Ò˜d×0Ò0°°TÑ:Ô:Ñ;Ô;Ð;Ð;Ð;rcó—dSrr%rQs   rÚ_generate_cpy_typedef_declz%Recompiler._generate_cpy_typedef_decló€Øˆrcó|—|j|}|jd t||¦«¦«dS)NrÊ)rˆrÏrŽri)rrƒrrAs    rÚ_typedef_ctxzRecompiler._typedef_ctx„s9€Ø”_ RÔ(ˆ
ØŒ
:Ô×%Ò%¥l°4¸Ñ&DÔ&DÑEÔEÐEÐEÐErcóX—| ||¦«}| ||¦«t|dd¦«dkr| ||jd¬¦«dSt|tj¦«r/| |j|jj|j|¬¦«dSdS)NÚoriginÚunknown_type)Ú
approxname)r]Ú	named_ptr)	rRrYržÚ_struct_ctxrrrÚNamedPointerTypeÚtotyperQs   rÚ_generate_cpy_typedef_ctxz$Recompiler._generate_cpy_typedef_ctxˆs¾€Ø
×
Ò
  DÑ
)Ô
)ˆØ×Ò˜"˜dÑ#Ô#Ð#ݐ2x Ñ&Ô&¨.Ò8Ð8Ø×Ò˜R ¤°TÐÑ:Ô:Ð:Ð:Ð:Ý
˜EÔ2Ñ
3Ô
3ð	+Ø×Ò˜RœY¨¬	¬À2Ä7Ø')ð
ñ
+ô
+ð
+ð
+ð
+ð	+ð	+rcó¢—| | ¦«¦«|jr|js| |¦«dSdSdSr)r­r®ÚellipsisrsrQs   rÚ"_generate_cpy_function_collecttypez-Recompiler._generate_cpy_function_collecttype”sd€Ø×Ò˜b×0Ò0Ñ2Ô2Ñ3Ô3Ð3Ø
Œ;ð	&˜tÔ4ð	&Ø×!Ò! "Ñ%Ô%Ð%Ð%Ð%ð	&ð	&ð	&ð	&rc
ó,
—|jrJ‚t|tj¦«sJ‚|jr| ||¦«dS|j}t|j¦«}|dkrd}n|dkrd}nd}g}g}d|z}t|j¦«D]I\}	}
| 
|
 d|	z|¦«¦«| 
d|	z¦«ŒJd	 |¦«}|pd
}|j
r|j
dz}nd}|›d
|›d|›d}
|d|j |
¦«›¦«|d¦«d	 |¦«}d}t|jtj¦«rd}|d|›|›d|›d¦«|d¦«|d¦«|d¦«|d|›d|›d¦«|d¦«d|z}t|j¦«D],\}	}
|
 d|	z|¦«}|d|z¦«Œ-t!¦«}t!¦«}|jD]}
| |
||¦«Œt%|¦«D]}|d|›d¦«Œt|jtj¦«s<d}d|z}d|j d|¦«z}||¦«|d¦«nd}d}t|j¦«dkr’t't|j¦«¦«}|D]}	|d |	z¦«Œ|¦«|d!|t|¦«t|¦«d	 d"„|D¦«¦«fz¦«|d#¦«|¦«t|j¦«D]-\}	}
| |
d$|	zd|	zd%¦«|¦«Œ.|d&¦«|d'¦«d(„t't|j¦«¦«D¦«}d	 |¦«}|d)|›|›d|›d*¦«|d+¦«|d,¦«|¦«|d-¦«|dkr|d.¦«|rG|d/| |jd0d1¦«z¦«|D]}|d|z¦«Œ|d2¦«n)|D]}|d|z¦«Œ|d3¦«|d4¦«|d¦«|d5¦«d6„}d7}g}g}d|z}t|j¦«D]`\}	}
d}||
¦«rd8}d9}|
 d:||	fz|¦«}| 
|¦«| 
d;||	fz¦«Œa|j}||¦«rCd|z}| d<|¦«}| d|¦«tj}d}d=}d9}|rŸd	 |¦«}|pd
}|›d|›d|›d}
|d| |
¦«›¦«|d¦«|r||¦«d	 |¦«}|d)|›|›d|›d*¦«|r|d>¦«|d¦«n|d?|›d@|›¦«|dA¦«|¦«dS)BNrÚnoargrÚarg0rúargument of %sz x%dúx%drÚvoidr.r5Ú_cffi_d_rrOústatic rþzreturn r/r0rz#ifndef PYPY_VERSIONzstatic PyObject *Ú_cffi_f_z(PyObject *self, PyObject *z  %s;ú;z	result = úresult of %sz resultz  PyObject *pyresult;z  PyObject *arg%d;z1  if (!PyArg_UnpackTuple(args, "%s", %d, %d, %s))có—g|]}d|z‘ŒS)z&arg%dr%r!s  rrLz:Recompiler._generate_cpy_function_decl.<locals>.<listcomp>æs€Ð5Ð5Ð5¨A˜8 a™<Ð5Ð5Ð5rrÿzarg%dzreturn NULLz  Py_BEGIN_ALLOW_THREADSz  _cffi_restore_errno();có—g|]}d|z‘ŒS)rjr%r!s  rrLz:Recompiler._generate_cpy_function_decl.<locals>.<listcomp>ñs€ÐAÐAÐA¨˜% !™)ÐAÐAÐArú  { z); }z  _cffi_save_errno();z  Py_END_ALLOW_THREADSz  (void)self; /* unused */z  (void)noarg; /* unused */z  pyresult = %s;Úresultzresult typez  return pyresult;z  Py_INCREF(Py_None);z  return Py_None;rócó’—t|tj¦«p-t|tj¦«o| ¦«Sr)rrr›Ú
PrimitiveTyper1)r&s rÚneed_indirectionz@Recompiler._generate_cpy_function_decl.<locals>.need_indirections@€Ý˜t¥UÔ%8Ñ9Ô9ð-Ý ¥eÔ&9Ñ:Ô:ð,Ø×)Ò)Ñ+Ô+ð
.rFrTz %sx%dz%sx%dz *resultz
*result = z  return result;z#  define _cffi_f_z	 _cffi_d_rô)rsrrr•rdÚ_generate_cpy_constant_declrÛr0rrrŽr4rRÚabirtr‘rÑrDrŠr"r?rNÚinsertÚ	void_type)rrƒrrÚnumargsÚargnameÚ	argumentsÚcall_argumentsrMr¤r&Úrepr_argumentsryÚname_and_argumentsÚresult_codeÚargrBrCrøÚresult_declÚrngÚfreelinerwÚ
differenceÚindirectionÚ	tp_results                          rÚ_generate_cpy_function_declz&Recompiler._generate_cpy_function_decl™sw€ØÔ(Ð(Ð(Ð(ݘ"eÔ3Ñ4Ô4Ð4Ð4Ð4Ø
Œ;ð	ð
×,Ò,¨R°Ñ6Ô6Ð6ØˆFØŒzˆÝb”g‘,”,ˆØaŠ<ˆ<؈GˆGØ
˜Š\ˆ\؈GˆGàˆGðˆ	؈Ø" TÑ)ˆÝ  ¤Ñ)Ô)ð	-ð	-‰GˆAˆtØ×Ò˜TŸ_š_¨V°a©Z¸ÑAÔAÑBÔBÐBØ×!Ò! %¨!¡)Ñ,Ô,Ð,Ð,ØŸš 9Ñ-Ô-ˆØ'Ð1¨6ˆØ
Œ6ð	Ø”&˜3‘,ˆCˆCàˆCØ36°3°3¸¸¸¸n¸n¸nÐMÐØˆˆ˜BœI×0Ò0Ð1CÑDÔDÐDÐ
FÑGÔGÐGØˆˆS‰	Œ	ˆ	ØŸš >Ñ2Ô2ˆØˆÝb”i¥¤Ñ0Ô0ð	؈KØˆˆ˜k˜k¨4¨4¨4°°°Ð
@ÑAÔAÐAØˆˆS‰	Œ	ˆ	àˆÐ
#Ñ$Ô$Ð$àˆÐ
 Ñ!Ô!Ð!Øˆˆ¸4¸4¸4ÀÀÀÐ
IÑJÔJÐJØˆˆS‰	Œ	ˆ	à" TÑ)ˆÝ  ¤Ñ)Ô)ð	 ð	 ‰GˆAˆtØ—/’/ &¨1¡*¨gÑ6Ô6ˆCØˆD˜3‘ÑÔÐÐå‘E”Eˆ	Ý‘E”Eˆ	Ø”Gð	Dð	DˆDØ×'Ò'¨¨i¸ÑCÔCÐCÐCݘ9Ñ%Ô%ð	$ð	$ˆDØˆDˆD˜D˜D˜DÐ"Ñ#Ô#Ð#Ð#å˜"œ)¥U¤^Ñ4Ô4ð	Ø%ˆKØ$ tÑ+ˆGØ! B¤I×$8Ò$8¸ÀGÑ$LÔ$LÑLˆKØˆDÑÔÐØˆDÐ(Ñ)Ô)Ð)Ð)àˆK؈KåˆrŒw‰<Œ<˜!ÒÐݝ˜BœG™œÑ%Ô%ˆCØð
/ð
/ØÐ)¨AÑ-Ñ.Ô.Ð.Ð.ØˆD‰FŒFˆFØˆDÐDØ•c˜#‘h”h¥ C¡¤Ø—	’	Ð5Ð5°Ð5Ñ5Ô5Ñ6Ô6ðH8ñ8ñ
9ô
9ð
9ð
ˆDÐ#Ñ$Ô$Ð$Øˆ‰Œˆå  ¤Ñ)Ô)ð	ð	‰GˆAˆtØ×&Ò& t¨W°q©[¸%À!¹)Ø'4ñ
6ô
6ð
6àˆD‰FŒFˆFˆFàˆÐ
'Ñ(Ô(Ð(ØˆÐ
'Ñ(Ô(Ð(ØAÐA­Uµ3°r´w±<´<Ñ-@Ô-@ÐAÑAÔAˆØŸš >Ñ2Ô2ˆØˆˆ + +¨t¨t¨t°^°^°^Ð
DÑEÔEÐEØˆÐ
$Ñ%Ô%Ð%ØˆÐ
%Ñ&Ô&Ð&Øˆ‰ŒˆàˆÐ
)Ñ*Ô*Ð*ؐaŠ<ˆ<ØˆDÐ.Ñ/Ô/Ð/Øð
	&ØˆDÐ#Ø×*Ò*¨2¬9°hÀ
ÑNÔNñOñ
Pô
Pð
Pà%ð
&ð
&ØT˜H‘_Ñ%Ô%Ð%Ð%ØˆDÐ%Ñ&Ô&Ð&Ð&à%ð
&ð
&ØT˜H‘_Ñ%Ô%Ð%Ð%ØˆDÐ(Ñ)Ô)Ð)ØˆDÐ$Ñ%Ô%Ð%ØˆˆS‰	Œ	ˆ	àˆˆW‰
Œ
ˆ
ð	.ð	.ð	.ðˆ
؈	؈Ø" TÑ)ˆÝ  ¤Ñ)Ô)ð	>ð	>‰GˆAˆt؈KØÐ Ñ%Ô%ð
"Ø!Ø!
Ø—/’/ (¨k¸1Ð-=Ñ"=¸wÑGÔGˆCØ×Ò˜SÑ!Ô!Ð!Ø×!Ò! '¨[¸!Ð,<Ñ"<Ñ=Ô=Ð=Ð=Ø”Iˆ	ØÐ˜IÑ&Ô&ð	Ø$ tÑ+ˆGØ×&Ò& z°7Ñ;Ô;ˆCØ×Ò˜Q Ñ$Ô$Ð$ÝœˆI؈KØ&ˆK؈JØð	CØ!ŸYšY yÑ1Ô1ˆNØ+Ð5¨vˆNØ7:°s°s¸D¸D¸DØ7E°~°~ð"GÐàˆDˆD 	× 4Ò 4Ð5GÑ HÔ HÐ HÐJÑKÔKÐKØˆD‰IŒIˆIØð
"ؐ[Ñ!Ô!Ð!Ø!ŸYšY ~Ñ6Ô6ˆNØˆDˆD k k°4°4°4¸¸¸ÐHÑIÔIÐIØð
)ؐÐ'Ñ(Ô(Ð(ØˆD‰IŒIˆIˆIàˆDˆD°d°d°d¸D¸DÐAÑBÔBÐBàˆˆX‰ŒˆØˆ‰Œˆˆˆrc
ó¦—|jr|js| ||¦«dS|j| ¦«}t|j¦«}|jrt}n#|dkrt}n|dkrt}nt}|jd t|d|zt||¦«d|z¬¦«¦«dS)NrrrÆz
_cffi_f_%sz
_cffi_d_%s)r)rdrsÚ_generate_cpy_constant_ctxrˆr®r0rÚOP_DLOPEN_FUNCÚOP_CPYTHON_BLTN_NÚOP_CPYTHON_BLTN_OÚOP_CPYTHON_BLTN_VrÏrŽrr )rrƒrrAr|Ú	meth_kinds      rÚ_generate_cpy_function_ctxz%Recompiler._generate_cpy_function_ctx;sæ€Ø
Œ;ð	˜tÔ4ð	Ø×+Ò+¨B°Ñ5Ô5Ð5ØˆFØ”_ R×%7Ò%7Ñ%9Ô%9Ô:ˆ
ݐb”g‘,”,ˆØÔ ð	*Ý&ˆIˆIØ
˜Š\ˆ\Ý)ˆIˆIØ
˜Š\ˆ\Ý)ˆIˆIå)ˆIØŒ
8Ô×#Ò#Ýt˜\¨DÑ0ݘi¨Ñ4Ô4Ø(¨4Ñ/ð
1ñ
1ô
1ñ	2ô	2ð	2ð	2ð	2rcóø—t|tj¦«r_|j}|dkr| d¦«}d|›d|›d}| |d|z|j¦«}tj||¦«}|S)Nú...rz_cffi_array_len(((ú)0)->rOú%s[0])rrrIr—r4r²r)rÚ	tp_structÚ
field_nameÚtp_fieldÚ
actual_lengthÚptr_struct_nameÚtp_items       rr²zRecompiler._field_typeQsŠ€Ýh¥¤Ñ0Ô0ð	?Ø$œOˆMØ Ò%Ð%Ø"+×"6Ò"6°sÑ";Ô";à#OO Z Z Zð!1
à×&Ò& y°'¸JÑ2FØ'/¤}ñ6ô6ˆGå” w°
Ñ>Ô>ˆH؈rcóš—| |¦«|jr,| ¦«D]}| |¦«ŒdSdSr)r­rsÚanonymous_struct_fieldsÚ_struct_collecttype)rrƒÚfldtypes   rrŸzRecompiler._struct_collecttype]sg€Ø×Ò˜bÑ!Ô!Ð!ØÔ ð	2à×5Ò5Ñ7Ô7ð
2ð
2Ø×(Ò(¨Ñ1Ô1Ð1Ð1ð	2ð	2ð
2ð
2rc
ó$—|j€dS|j}d|›}|d¦«|d|›d|›d¦«|d¦«|d¦«|d¦«| |¦«D]ÿ\}}}}		| ¦«s|d	kr|d
kr|d|›d|›d
|›d¦«Œ>t	|t
j¦«rJ|j|jdkr8|j}|dz}t	|t
j¦«r|j®-|jdk°8|d| 	dd|z|	¬¦«›d|›d¦«ŒÎ#t$r%}
|dt|
¦«z¦«Yd}
~
οd}
~
wwxYw|d¦«|d|›d|›d¦«|¦«dS)NÚ_cffi_checkfld_Ú_CFFI_UNUSED_FNzstatic void rz *p)rþz8  /* only to generate compile-time warnings or errors */z
  (void)p;rr5z
  (void)((p->z) | 0);  /* check that 'rðz' is an integer */r”z[0]rsz*tmpzfield %r©rÂz = &p->z; (void)tmp; }z
  /* %s */rzstruct _cffi_align_z { char x; z y; };)r¯rÛrªr2rrrIr—rr4rr‹)rrƒr=r]rÚ
checkfuncnameÚfnameÚftyper+ÚfqualrÅs           rÚ_struct_declzRecompiler._struct_declds;€Ø
Œ;ÐØˆFØŒzˆˆØ/9¨zÐ;ˆ
ØˆÐ
ÑÔÐØˆˆ¨
¨
¨
°u°u°uÐ
=Ñ>Ô>Ð>ØˆˆS‰	Œ	ˆ	ØˆÐ
GÑHÔHÐHØˆˆ\ÑÔÐØ-1×->Ò->¸rÑ-BÔ-Bð	,ð	,Ñ)ˆE5˜( Eð
,Ø×(Ò(Ñ*Ô*ð¨h¸!ªm¨mà ’{{ؘ˜Ø05°°°u°u°u¸e¸e¸eðEñFôFðFàõ" %­¬Ñ9Ô9ð*Ø!œLÐ0°E´LÀEÒ4IÐ4IØ!œJEØ! E™MEõ" %­¬Ñ9Ô9ð*Ø!œLÐ0°E´LÀEÒ4IÐ4IðØ×$Ò$ V¨Z¸Ñ-=ÀUÐ$ÑKÔKÐKÐKؐEEðñôððøõ%ð
,ð
,ð
,ؐ\¥C¨¡F¤FÑ*Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+øøøøð
,øøøàˆˆS‰	Œ	ˆ	Øˆˆ¸:¸:¸:ÀuÀuÀuÐ
MÑNÔNÐNØˆ‰ŒˆˆˆsÁ15D7Â'BD7Ä7
E&ÅE!Å!E&Ncóˆ—|j|}d}g}t|tj¦«r| d¦«|j€| d¦«d}||jjjvr|||jjjvrˆ|j€n>|j	s!t| ¦«¦«rn| d¦«|jr:|jdkrt|›d|j›d¦«‚| d¦«n| d	¦«d
}d |¦«pd}g}|€¥t| |¦«¦«}	|	D]\}
}}}
| ||
|¦«}| |d
|j›d|
›d¦«t(}|dkr
t*}d|z}nK|!t|tj¦«r
|j€d}n%d|€| d¦«n|j›d|
›d}||dkrd}n-|d|j›d|
›d}nd| d¦«›d|
›d}| t3|
|||t5||j|¦«¦«¦«Œt7|jd¦«}|jd |¦«|€d}d}d }n'|d!|j›d"}d#}nd$|›d}d%|›d&}d}nd}d'}d'}|}|jd( t=|j|||||||¦«¦«|j  |¦«dS))NÚ
_CFFI_F_UNIONÚ_CFFI_F_OPAQUEÚopaqueÚ_CFFI_F_CHECK_FIELDSrz is declared with 'pack=zi'; only 0 or 1 are supported in API mode (try to use "...;", which does not require a 'pack' declaration)Ú_CFFI_F_PACKEDÚ_CFFI_F_EXTERNALÚexternalú|Ú0zfield 'rðr7rz
%d /* bits */z
(size_t)-1z	sizeof(((rr•rOz((char *)&((z)4096)->z) - (char *)4096z	offsetof(r5rrÇz
(size_t)-2éþÿÿÿÚunnamedz	sizeof(*(z)0)z-1 /* unknown alignment */zsizeof(zoffsetof(struct _cffi_align_z, y)rñrÈ)!rˆrrÚ	UnionTyperŽr¯rqr°r±ÚpartialÚanyržÚpackedr3rRrrªr²Ú_check_not_opaquerr9r:rIr—r4r'r r0rÏÚextendr?rÒrA)rrƒr=r]r^rAÚreason_for_not_expandingrBrFr¨Úfldnamer r+r¨r8rÚoffsetrEÚalignrDs                    rr_zRecompiler._struct_ctx†s€Ø”_ RÔ(ˆ
Ø#'Р؈ݐb%œ/Ñ*Ô*ð	*ØLŠL˜Ñ)Ô)Ð)Ø
Œ;ÐØLŠLÐ)Ñ*Ô*Ð*Ø'/Ð$Ød”hÔ&Ô=Ð=Ð=ØÐ"Ø $¤(Ô"2Ô"IÐIÐIØŒ{Ð"ØØ”ð
5s 2×#=Ò#=Ñ#?Ô#?Ñ@Ô@ð
5Øà—’Ð3Ñ4Ô4Ð4ØŒyð
/Ø”9˜q’==Ý-𘘘RœY˜Y˜Yð(ñ)ô)ð)ð
—’Ð-Ñ.Ô.Ð.øàLŠLÐ+Ñ,Ô,Ð,Ø'1Ð$Ø—’˜‘”Ð& 3ˆØˆØ#Ñ+ݘd×/Ò/°Ñ3Ô3Ñ4Ô4ˆJØ5?ð
Eñ
EÑ1˜ (¨EØ×*Ò*¨2¨w¸Ñ@Ô@Ø×&Ò& w wØ:<¼'¸'¸'À7À7À7Ð'KñMôMðMõØ˜q’==Ý$BØ*¨XÑ5DDؐ]Ý" 7­E¬OÑ<Ô<ð#àœÐ.Ø'DDøð/8Ð.?˜Ÿ
š
 cÑ*Ô*Ð*Ø09´ð?ð?à˜˜ð!Dð= H°¢M MØ)FFØÐ*Ð*à!œ˜˜¨¨¨ð1FFð+ð46·=²=ÀÑ3DÔ3DÐ3DÐ3DÀgÀgÀgÐNFØ—’ݘg v¨t°XÝ$ R¨¬¸Ô)AÑBÔBñDôDñEôEðEñEõ!$ D¤J¨wÔ$7Ñ 8Ô 8ÐØŒJwÔ×&Ò& xÑ0Ô0Ð0àˆ}Ø#ØØ#àÐ(Ð(Ø/8¬~¨~¨~Ð?DØ8EEð)ð,1¨5¨5Ð2DDØDNÀJÀJÐPEؐàˆD؈EØ "ÐØ.ˆGØŒ
>Ô"×)Ò)Ý˜BœG Z°¸¸eÀWØ-¨xñ
9ô
9ñ	:ô	:ð	:ð	
Ô ×$Ò$ RÑ(Ô(Ð(Ð(Ð(rcóæ—t|tj¦«r!|j}t|tj¦«°!t|tj¦«r|j€t
d|z¦«‚dSdS)Nz0%s is of an opaque type (not declared in cdef()))rrrIrr›r¯rK)rrƒÚlocations   rrºzRecompiler._check_not_opaqueÜs€Ý˜Uœ_Ñ-Ô-ð	Ø”ˆBõ˜Uœ_Ñ-Ô-ð	åb%Ô-Ñ.Ô.ð	O°2´;Ð3FÝØBÀXÑMñOôOð
Oð	Oð	OÐ3FÐ3Frcó—t|j ¦«¦«}| d„¬¦«|D]Ë\}}||jvr½|jrt
d|›d¦«‚|j d¦«r1|jdd… 	¦«r|jdd…}nA|jdkr$|j
dkrd}| |d¦«nt
d|›¦«‚| |d|¦«ŒÌdS)	Ncó—|dS)Nrr%)Útp_orders rr„z7Recompiler._add_missing_struct_unions.<locals>.<lambda>és
€ h¨q¤k€rr|zinternal inconsistency: z* is partial but was not seen at this pointú$rÚ_IO_FILEÚFILE)
rr™rºrÔrÒr·r3rÚ
startswithÚisdigitÚ	forcenamerYr_)rrÁrƒÚorderr]s     rrÓz%Recompiler._add_missing_struct_unionsãsJ€õ
4Ô&×,Ò,Ñ.Ô.Ñ/Ô/ˆØŠÐ1Ð1ˆÑ2Ô2Ð2Øð	7ð	7‰IˆBØ˜Ô1Ð1Ð1Ø”:ðDÝ-Ð-à>@¸b¸bð/CñDôDðDð”7×%Ò% cÑ*Ô*ð5¨r¬w°q°r°r¬{×/BÒ/BÑ/DÔ/Dð5Ø!#¤¨¨¨¤JJØ”W 
Ò*Ð*¨r¬|¸vÒ/EÐ/EØ!'JØ×%Ò% b¨&Ñ1Ô1Ð1Ð1å-Ð-Ø/1¨rð/4ñ5ô5ð5à× Ò   T¨:Ñ6Ô6Ð6øð	7ð	7rcó0—| |¦«dSr)rŸrQs   rÚ _generate_cpy_struct_collecttypez+Recompiler._generate_cpy_struct_collecttypeús€Ø× Ò  Ñ$Ô$Ð$Ð$Ð$rcór—| d¦«}d|vr|| dd¦«fS|d|zfS)Nr5r.r¶)r4r5)rrƒr=s   rÚ
_struct_nameszRecompiler._struct_namesþsD€Ø—
’
˜bÑ!Ô!ˆØ%ˆ<ˆ<ؘ%Ÿ-š-¨¨SÑ1Ô1Ð1Ð1à˜# ™+Ð%Ð%rcóH—|j|g| |¦«¢RŽdSr)r©rÏrQs   rÚ_generate_cpy_struct_declz$Recompiler._generate_cpy_struct_decls1€ØˆÔ˜"Ð6˜t×1Ò1°"Ñ5Ô5Ð6Ð6Ð6Ð6Ð6Ð6rcóH—|j|g| |¦«¢RŽdSr)r_rÏrQs   rÚ_generate_cpy_struct_ctxz#Recompiler._generate_cpy_struct_ctx	s1€ØˆÔ˜Ð5˜d×0Ò0°Ñ4Ô4Ð5Ð5Ð5Ð5Ð5Ð5rcó”—t|tj¦«r| ||¦«dS| |¦«dSr)rrrœÚ_generate_cpy_enum_collecttyperŸrQs   rÚ#_generate_cpy_anonymous_collecttypez.Recompiler._generate_cpy_anonymous_collecttypesL€Ýb%œ.Ñ)Ô)ð	)Ø×/Ò/°°DÑ9Ô9Ð9Ð9Ð9à×$Ò$ RÑ(Ô(Ð(Ð(Ð(rcóœ—t|tj¦«r| |¦«dS| ||d|z¦«dS©NÚtypedef_)rrrœÚ_generate_cpy_enum_declr©rQs   rÚ_generate_cpy_anonymous_declz'Recompiler._generate_cpy_anonymous_declsS€Ýb%œ.Ñ)Ô)ð	;Ø×(Ò(¨Ñ,Ô,Ð,Ð,Ð,à×Ò˜b $¨
°TÑ(9Ñ:Ô:Ð:Ð:Ð:rcóž—t|tj¦«r| ||¦«dS| ||d|z¦«dSrØ)rrrœÚ	_enum_ctxr_rQs   rÚ_generate_cpy_anonymous_ctxz&Recompiler._generate_cpy_anonymous_ctxsS€Ýb%œ.Ñ)Ô)ð	:ØNŠN˜2˜tÑ$Ô$Ð$Ð$Ð$à×Ò˜R  z°DÑ'8Ñ9Ô9Ð9Ð9Ð9rÚconstcóB—||f|jvrtd|›d|›d¦«‚|j ||f¦«|j}d|›d|›}|ry|d|z¦«|d¦«|d|›d	¦«|d
|›d|›d¦«|&|d
krd|fz}|d|›d¦«|d¦«|d¦«|d¦«nM|J‚|d|z¦«|d¦«|d| d¦«›d|›d¦«|d¦«|¦«dS)Nzduplicate declaration of z 'r7Ú_cffi_r¶z$static int %s(unsigned long long *o)rþz  int n = (z) <= 0;z  *o = (unsigned long long)((z) | 0);  /* check that z is an integer */rz%dUz  if (!_cffi_check_int(*o, n, z))z    n |= 2;z  return n;rzstatic void %s(char *o)z  *(rz)o = ro)rrrArÛr4)rÚis_intrrƒÚcategoryrrÚfuncnames        rÚ_generate_cpy_constzRecompiler._generate_cpy_const&s½€àdИtÔ3Ð3Ð3Ý#Ð#Ø6>°h°hÀÀÀÐEñGôGð
GàÔ× Ò  (¨DÐ!1Ñ2Ô2Ð2àŒzˆˆØ$, H H¨d¨dÐ3ˆØð	ØˆDÐ7¸(ÑBÑCÔCÐCØˆD‰IŒIˆIØˆDˆD¨4¨4¨4Ð1Ñ2Ô2Ð2ØˆDˆDØ:>¸$¸$ÀÀÀðFñ
Gô
Gð
GàÐ&Ø ’??Ø"'¨;¨.Ñ"8Kؐ¸[¸[¸[ÐJÑKÔKÐKؐ]Ñ#Ô#Ð#ØˆDÑÔÐØˆD‰IŒIˆIˆIàÐ&Ð&Ð&ØˆDÐ*¨XÑ5Ñ6Ô6Ð6ØˆD‰IŒIˆIØˆDˆD R§]¢]°3Ñ%7Ô%7Ð%7Ð%7¸¸¸Ð>Ñ?Ô?Ð?ØˆD‰IŒIˆIØˆ‰Œˆˆˆrcón—| ¦«}|r|jr| |¦«dSdSr)r2rsr­©rrƒrrâs    rÚ"_generate_cpy_constant_collecttypez-Recompiler._generate_cpy_constant_collecttypeDsI€Ø×#Ò#Ñ%Ô%ˆØð	&˜Ô.ð	&Ø×!Ò! "Ñ%Ô%Ð%Ð%Ð%ð	&ð	&rcó\—| ¦«}| |||¦«dSr)r2rårçs    rrxz&Recompiler._generate_cpy_constant_declIs1€Ø×#Ò#Ñ%Ô%ˆØ× Ò  ¨¨rÑ2Ô2Ð2Ð2Ð2rcó2—|js*| ¦«rttd¦«}n3|jrt}nt
}|j|}t||¦«}|jd t|d|z|¦«¦«dS)NrñrÆú_cffi_const_%s)
rsr2r ÚOP_CONSTANT_INTÚOP_DLOPEN_CONSTÚOP_CONSTANTrˆrÏrŽr)rrƒrrÚ
const_kindrAs      rrŒz%Recompiler._generate_cpy_constant_ctxMs¦€ØÔ$ð	5¨×);Ò);Ñ)=Ô)=ð	5ݝ_¨bÑ1Ô1ˆGˆGàÔ$ð
)Ý,

å(
Øœ¨Ô,ˆJݘZ¨Ñ4Ô4ˆGØŒ
8Ô×#Ò#ÝtÐ-°Ñ4°gÑ>Ô>ñ	@ô	@ð	@ð	@ð	@rcó0—| |¦«dSr)r­rQs   rrÕz)Recompiler._generate_cpy_enum_collecttype]s€Ø×Ò˜bÑ!Ô!Ð!Ð!Ð!rcóF—|jD]}| d|¦«ŒdS)NT)Úenumeratorsrå)rrƒrÚ
enumerators    rrÚz"Recompiler._generate_cpy_enum_decl`s6€Øœ.ð	7ð	7ˆJØ×$Ò$ T¨:Ñ6Ô6Ð6Ð6ð	7ð	7rc	óÔ—|j|}ttd¦«}|jr| ¦«t|j|j¦«D]9\}}|jd 	t|d|z||¬¦«¦«Œ:|d|vr|jsd|z}d|z}nn| |jg¦«}	|j 
|	¦«}tt|j |	d¦«¦«dk¦«}d	 |j¦«}
|jd
 	t#|j||||
¦«¦«dS)NrñrÆrë©rrÅz
sizeof(%s)z
((%s)-1) <= 0rrNrÉ)rˆr ÚOP_ENUMrsÚcheck_not_partialÚzipròÚ
enumvaluesrÏrŽrÚbuild_baseinttyperqÚsizeofÚintÚcastrRrUr)rrƒr=rArróÚ	enumvaluerrXÚbasetprYs           rrÝzRecompiler._enum_ctxds{€Ø”_ RÔ(ˆ
ݝ "Ñ%Ô%ˆØÔ ð	#Ø× Ò Ñ"Ô"Ð"Ý%(¨¬¸¼Ñ%GÔ%Gð	3ð	3Ñ!ˆJ˜	ØŒJxÔ ×'Ò'ݘ:Ð'7¸*Ñ'DÀgØ'0ð2ñ2ô2ñ
3ô
3ð
3ð
3ðР¨EÐ!1Ð!1¸$Ô:OÐ!1Ø %Ñ'ˆDØ$ uÑ,ˆFˆFà×)Ò)¨$¬(°BÑ7Ô7ˆFØ”8—?’? 6Ñ*Ô*ˆDݝ˜TœXŸ]š]¨6°2Ñ6Ô6Ñ7Ô7¸!Ò;Ñ<Ô<ˆFØ—8’8˜BœNÑ+Ô+ˆØŒ
6Ô×!Ò!ÝR”W˜j¨$°¸ÑAÔAñ	Cô	Cð	Cð	Cð	CrcóV—| || ¦«¦«dSr)rÝr
rQs   rÚ_generate_cpy_enum_ctxz!Recompiler._generate_cpy_enum_ctxys&€ØŠr˜2Ÿ>š>Ñ+Ô+Ñ,Ô,Ð,Ð,Ð,rcó—dSrr%rQs   rÚ_generate_cpy_macro_collecttypez*Recompiler._generate_cpy_macro_collecttyperWrcóL—|dkrd}n|}| d||¬¦«dS)Nr”Trõ)rå)rrƒrrs    rÚ_generate_cpy_macro_declz#Recompiler._generate_cpy_macro_decl‚s8€Ø
Š;ˆ;؈KˆKàˆKØ× Ò   t¸Ð ÑEÔEÐEÐEÐErcóâ—|dkr|jrtd|›d¦«‚d}n|}ttd¦«}|jd t
|d|z||¬¦«¦«dS)Nr”z(cannot use the syntax '...' in '#define z ...' when using the ABI moderñrÆrërõ)rsrr rìrÏrŽr)rrƒrrrs     rÚ_generate_cpy_macro_ctxz"Recompiler._generate_cpy_macro_ctx‰sž€Ø
Š;ˆ;ØÔ$ð
4Ý'Ð'à,0¨D¨Dð3ñ4ô4ð4ðˆKˆKàˆKݝ¨"Ñ-Ô-ˆØŒ
8Ô×#Ò#ÝtÐ-°Ñ4°gØ#.ð
0ñ
0ô
0ñ	1ô	1ð	1ð	1ð	1rcóƗt|tj¦«rF|j}|dkrd|›d}| |jd|z¦«}tj||¦«}|S)Nr”z_cffi_array_len(rOr–)rrrIr—rPr)rrƒÚglobal_nameršrœs     rrPzRecompiler._global_typešsi€Ýb%œ/Ñ*Ô*ð	9ØœIˆMØ Ò%Ð%Ð%Ø9D¸¸Ð F
Ø×'Ò'¨¬°¸;Ñ1FÑGÔGˆGÝ” ¨-Ñ8Ô8ˆB؈	rcóX—| | ||¦«¦«dSr)r­rPrQs   rÚ"_generate_cpy_variable_collecttypez-Recompiler._generate_cpy_variable_collecttype£s,€Ø×Ò˜d×/Ò/°°DÑ9Ô9Ñ:Ô:Ð:Ð:Ð:rcóZ—|j}| ||¦«}t|tj¦«r|j€
|j}d}nd}d|›d}|d| ||j¬¦«z¦«|d¦«|d|›d	|›d
¦«|d¦«|¦«dS)Nr5ú&z*_cffi_var_rrmr¤rþz	  return rr0r)	rÛrPrrrIr—rr4r½)rrƒrrÚ	ampersandrøs      rÚ_generate_cpy_variable_declz&Recompiler._generate_cpy_variable_decl¦sˀØŒzˆØ
×
Ò
˜r 4Ñ
(Ô
(ˆÝb%œ/Ñ*Ô*ð	¨r¬yÐ/@Ø”ˆB؈IˆIàˆIøð)-¨¨Ð.ˆØˆˆY˜Ÿš t°4Ô3F˜ÑGÔGÑ
GÑHÔHÐHØˆˆS‰	Œ	ˆ	Øˆˆ 9 9 9¨d¨d¨dÐ
3Ñ4Ô4Ð4ØˆˆS‰	Œ	ˆ	Øˆ‰Œˆˆˆrc
óø—| ||¦«}|j|}|jrt}nt}|jd t|d|zt||¦«¦«¦«dS)NrÆz_cffi_var_%s)	rPrˆrsÚ
OP_GLOBAL_VARÚOP_GLOBAL_VAR_FrÏrŽrr )rrƒrrAr8s     rÚ_generate_cpy_variable_ctxz%Recompiler._generate_cpy_variable_ctx½s†€Ø
×
Ò
˜r 4Ñ
(Ô
(ˆØ”_ RÔ(ˆ
ØÔ ð	!݈BˆBå ˆBØŒ
8Ô×#Ò#Ýt˜^¨dÑ2µF¸2¸zÑ4JÔ4JÑKÔKñ	Mô	Mð	Mð	Mð	Mrcóh—t|tj¦«sJ‚| |¦«dSr)rrr•r­rQs   rÚ'_generate_cpy_extern_python_collecttypez2Recompiler._generate_cpy_extern_python_collecttypeÊs5€Ý˜"eÔ3Ñ4Ô4Ð4Ð4Ð4Ø×Ò˜bÑ!Ô!Ð!Ð!Ð!rc	óÔ—|j}t|jtj¦«rd}n$d|z}d|j d|¦«›d}|d|z¦«|d|j›d|›d	|›d
¦«|¦«g}d|z}t|j¦«D]3\}}	|	 d|z|¦«}
| 	|
¦«Œ4d
 
|¦«}|pd}|›d|›d}|jdkrd|z}d„}
tt|j¦«dzd¦«}|
|j¦«rt|d¦«}t|jtj¦«r9d|j d¦«||j d¦«|fz}||›|j |¦«›¦«|d¦«|d|z¦«|d¦«t|j¦«D]o\}}	d|z}
t|	tj¦«s|
|	¦«rd|
z}
tj|	¦«}	|d|	 d¦«|dz|
fz¦«Œp|d|z¦«t|jtj¦«s'|d|j d¦«›d¦«|d ¦«|¦«|xjd!z
c_dS)"Nr³rpz(int)sizeof(r5rOz3static struct _cffi_externpy_s _cffi_externpy__%s =rrðr/z	, 0, 0 };riz a%drrkrÚ	__stdcallz_cffi_stdcall cóL—t|tj¦«o
|jdkS)NrG)rrrvrr‚s rÚmay_need_128_bitsz9Recompiler._extern_python_decl.<locals>.may_need_128_bitsês&€Ý˜r¥5Ô#6Ñ7Ô7ð-Ø”G˜}Ò,ð
.rr^éz!sizeof(%s) > %d ? sizeof(%s) : %drþz
  char a[%s];z  char *p = a;za%dr
z  *(%s)(p + %d) = %s;rz,  _cffi_call_python(&_cffi_externpy__%s, p);z  return *(z)p;rr)rÛrrtrr‘r4rrrrrŽrRryrwr0r›r“r)rrƒrÚ
tag_and_spacerÚsize_of_resultrMr~r¤r&rƒr€rrÚ	size_of_as               rÚ_extern_python_declzRecompiler._extern_python_declÑsl€ØŒzˆÝb”i¥¤Ñ0Ô0ð	4Ø ˆNˆNà$ tÑ+ˆGˆGà”	×$Ò$ R¨Ñ1Ô1Ð1Ð1ð4ˆNàˆÐ
BÀTÑ
IÑJÔJÐJØˆˆØÔÐÐ˜d˜d˜d N N Nð4ñ	5ô	5ð	5àˆ‰Œˆàˆ	Ø" TÑ)ˆÝ  ¤Ñ)Ô)ð	"ð	"‰GˆAˆtØ—/’/ &¨1¡*¨gÑ6Ô6ˆCØ×Ò˜SÑ!Ô!Ð!Ð!àŸš 9Ñ-Ô-ˆØ'Ð1¨6ˆØ)-¨¨¨~¨~¨~Ð>ÐØ
Œ6[Ò Ð Ø!1Ð4FÑ!FÐð	.ð	.ð	.õ˜BœG™œ Q™¨Ñ*Ô*ˆ	ØÐ˜RœYÑ'Ô'ð	+ݘI rÑ*Ô*ˆIݐb”i¥Ô!4Ñ5Ô5ð	5Ø;Ø”	×$Ò$ RÑ(Ô(¨)Ø”	×$Ò$ RÑ(Ô(¨)ð?5ñ5ˆIð	
ˆ}} b¤i×&:Ò&:Ð;MÑ&NÔ&NÐ&NÐ
OÑPÔPÐPØˆˆS‰	Œ	ˆ	Øˆˆ_˜yÑ
(Ñ)Ô)Ð)ØˆÐ
ÑÔÐÝ  ¤Ñ)Ô)ð	Mð	M‰GˆAˆtؘ!‘)ˆCݘ4¥Ô!4Ñ5Ô5ð
/Ø%Ð% dÑ+Ô+ð
/à˜C‘iÝÔ(¨Ñ.Ô.ØˆDÐ(¨D¯OªO¸CÑ,@Ô,@À!ÀAÁ#ÀsÐ+KÑKÑLÔLÐLÐLØˆÐ
;¸dÑ
BÑCÔCÐCݘ"œ)¥U¤^Ñ4Ô4ð	DØˆDˆD r¤y×';Ò';¸CÑ'@Ô'@Ð'@Ð'@ÐBÑCÔCÐCØˆˆS‰	Œ	ˆ	Øˆ‰ŒˆØÐÔ˜aÑÐÔÐÐrcó4—| ||d¦«dS)Nrm©rrQs   rÚ _generate_cpy_extern_python_declz+Recompiler._generate_cpy_extern_python_decls €Ø× Ò   T¨9Ñ5Ô5Ð5Ð5Ð5rcó4—| ||d¦«dS)NzCFFI_DLLEXPORT r rQs   rÚ#_generate_cpy_dllexport_python_declz.Recompiler._generate_cpy_dllexport_python_decl
s!€Ø× Ò   TÐ+<Ñ=Ô=Ð=Ð=Ð=rcó4—| ||d¦«dS)Nr5r rQs   rÚ'_generate_cpy_extern_python_plus_c_declz2Recompiler._generate_cpy_extern_python_plus_c_decl
s €Ø× Ò   T¨2Ñ.Ô.Ð.Ð.Ð.rcó—|jrtd¦«‚|jrtd¦«‚|j|}tt|¦«}|jd t|d|z||¦«¦«dS)Nz,cannot use 'extern "Python"' in the ABI modez$a vararg function is extern "Python"rÆz&_cffi_externpy__%s)
rsrrdr3rˆr ÚOP_EXTERN_PYTHONrÏrŽr)rrƒrrArs     rÚ_generate_cpy_extern_python_ctxz*Recompiler._generate_cpy_extern_python_ctxs¡€ØÔ ð	BÝ#Ø@ñBôBð
Bà
Œ;ð	PÝ%Ð&NÑOÔOÐOØ”_ RÔ(ˆ
ÝÕ)¨:Ñ6Ô6ˆØŒ
8Ô×#Ò#ÝtÐ2°TÑ9¸7ÀDÑIÔIñ	Kô	Kð	Kð	Kð	Krcór—|j}|d¦«t|t¦«s| d¦«}n| d¦«	| d¦«n#t
$rd|z}YnwxYw| d¦«D]¢}|}td¦«turtt|¦«}nt|¦«dd…}|d	|z ¦«¦«d
}|D]+}t|¦«dkr
||¦«d
}|d|fzz
}Œ,||¦«Œ£dS)
Nz=// # NB. this is not a string because of a size limit in MSVCzutf-8Úasciis# -*- encoding: utf8 -*-
Tz//rrñz// r5éLz%d,)
rÛrÚbytesÚencodeÚdecodeÚUnicodeDecodeErrorÚ
splitlinesr&ÚmapÚordr*Úrstripr0)rÚsrÚlinerDÚprinted_lineÚcs       rrz)Recompiler._print_string_literal_in_arraysu€ØŒzˆØˆÐ
LÑMÔMÐMݘ!UÑ#Ô#ð	Ø—’˜Ñ!Ô!ˆAˆAà
HŠHWÑÔÐð	2Ø
HŠHWÑÔÐÐøÝ!ð	2ð	2ð	2Ø-°Ñ1ˆAˆAˆAð	2øøøà—L’L Ñ&Ô&ð	ð	ˆD؈GݐD‰zŒzUÐ"Ð"ݝ3 ‘~”~õ  ™.œ.¨¨2¨Ô.ØˆD%˜'‘/×)Ò)Ñ+Ô+Ñ,Ô,Ð,؈LØð
-ð
-Ý|Ñ$Ô$¨Ò*Ð*ؐD˜Ñ&Ô&Ð&Ø#%LØ ¨¨¡Ñ,ØˆDÑÔÐÐð	ð	sÁA*Á*A<Á;A<cóJ—ttt¦«|j|<dSr)r ÚOP_PRIMITIVEÚ	PRIM_VOIDrŒ©rrƒrs   rÚ_emit_bytecode_VoidTypez"Recompiler._emit_bytecode_VoidType=s€Ý!'­µiÑ!@Ô!@ˆŒ˜ÑÐÐrcód—t|j}tt|¦«|j|<dSr)ÚPRIMITIVE_TO_INDEXrr r9rŒ)rrƒrrgs    rÚ_emit_bytecode_PrimitiveTypez'Recompiler._emit_bytecode_PrimitiveType@s*€Ý'¨¬Ô0ˆ
Ý!'­°jÑ!AÔ!AˆŒ˜ÑÐÐrcóv—d|j›d|j›d|j›d}tt|¦«|j|<dS)Nz_cffi_prim_int(sizeof(z), (
           ((z)-1) | 0 /* check that z' is an integer type */
         ) <= 0)©rr r9rŒ©rrƒrr4s    rÚ!_emit_bytecode_UnknownIntegerTypez,Recompiler._emit_bytecode_UnknownIntegerTypeDsD€€ð$&¤7 7 7¨B¬G¨G¨G°R´W°W°Wð>ˆõ"(­°aÑ!8Ô!8ˆŒ˜ÑÐÐrcóf—d|j›d|j›d}tt|¦«|j|<dS)Nz_cffi_prim_float(sizeof(z) *
           (((z6)1) / 2) * 2 /* integer => 0, float => 1 */
         )rArBs    rÚ_emit_bytecode_UnknownFloatTypez*Recompiler._emit_bytecode_UnknownFloatTypeJs<€€ð œW˜W˜W b¤g g gð/ˆõ"(­°aÑ!8Ô!8ˆŒ˜ÑÐÐrcó
—tt|j|j¦«|j|<|dz
}|jD]h}|j|}||krNt
|tj¦«r| 	||¦«ntt|¦«|j|<|dz
}Œit|j¦«}|j
(|j
dkr|dz}ntd|j
›¦«‚tt|¦«|j|<dS)Nrrr\zabi=)r ÚOP_FUNCTIONrˆrtrŒrrrrvr?r9rürdryr3ÚOP_FUNCTION_END)rrƒrr£Ú	realindexrBs      rÚ_emit_bytecode_RawFunctionTypez)Recompiler._emit_bytecode_RawFunctionTypePs€Ý!'­°T´_ÀRÄYÔ5OÑ!PÔ!PˆŒ˜ÑØ
‰
ˆØ”7ð	ð	ˆCØœ¨Ô,ˆIؘ	Ò!Ð!ݘc¥5Ô#6Ñ7Ô7ðHØ×5Ò5°c¸5ÑAÔAÐAÐAå-3µG¸YÑ-GÔ-GD”O EÑ*ØQ‰JˆEˆEݐB”KÑ Ô ˆØ
Œ6ÐØŒv˜Ò$Ð$ؘ‘
å)Ð)°b´f°fÐ*>Ñ?Ô?Ð?Ý!'­¸Ñ!?Ô!?ˆŒ˜ÑÐÐrcó`—tt|j|j¦«|j|<dSr)r Ú
OP_POINTERrˆrarŒr;s   rÚ_emit_bytecode_PointerTypez%Recompiler._emit_bytecode_PointerTypecs'€Ý!'­
°D´OÀBÄIÔ4NÑ!OÔ!OˆŒ˜ÑÐÐrcó~—| ¦«}tt|j|¦«|j|<dSr)r®r rLrˆrŒ)rrƒrÚraws    rÚ_emit_bytecode_FunctionPtrTypez)Recompiler._emit_bytecode_FunctionPtrTypeis6€Ø× Ò Ñ"Ô"ˆÝ!'­
°D´OÀCÔ4HÑ!IÔ!IˆŒ˜ÑÐÐrcó´—|j|j}|j€tt|¦«|j|<dS|jdkr4t
dt|¦« dd¦«›d¦«‚|j|dzdksJ‚tt|¦«|j|<tdt|j¦«¦«|j|dz<dS)Nr”ztype z/*...*/zb badly placed: the '...' array length can only be used on global arrays or on fields of structuresrr)
rˆrr—r Ú
OP_OPEN_ARRAYrŒrr‹r5ÚOP_ARRAY)rrƒrÚ
item_indexs    rÚ_emit_bytecode_ArrayTypez#Recompiler._emit_bytecode_ArrayTypemsրØ”_ R¤WÔ-ˆ
Ø
Œ9ÐÝ%+­M¸:Ñ%FÔ%FˆDŒO˜EÑ"Ð"Ð"Ø
ŒY˜%Ò
Ð
Ý#Ð#õ˜‘G”G—O’O I¨uÑ5Ô5Ð5Ð5ð8ñ9ô9ð
9ð
”? 5¨1¡9Ô-°Ò6Ð6Ð6Ð6Ý%+­H°jÑ%AÔ%AˆDŒO˜EÑ"Ý)/°µc¸"¼)±n´nÑ)EÔ)EˆDŒO˜E A™IÑ&Ð&Ð&rcóZ—|j|}tt|¦«|j|<dSr)r™r ÚOP_STRUCT_UNIONrŒ)rrƒrÚstruct_indexs    rÚ_emit_bytecode_StructTypez$Recompiler._emit_bytecode_StructType{s+€ØÔ*¨2Ô.ˆÝ!'­¸Ñ!FÔ!FˆŒ˜ÑÐÐrcóZ—|j|}tt|¦«|j|<dSr)ršr rörŒ)rrƒrÚ
enum_indexs    rÚ_emit_bytecode_EnumTypez"Recompiler._emit_bytecode_EnumType€s)€Ø”[ ”_ˆ
Ý!'­°Ñ!<Ô!<ˆŒ˜ÑÐÐr©F)r5r)NrßN)Vr"r#r$rrryr¦rªr­r‰rÐrÕrÛrárîrÞrrÝr'r?rDr7rNrRrTrVrYrbrerŠr’r²rŸr©r_rºrÓrÍÚ_generate_cpy_union_collecttyperÏrÑÚ_generate_cpy_union_declrÓÚ_generate_cpy_union_ctxrÖrÛrÞrårèrxrŒrÕrÚrÝrrrrrPrrrrÚ*_generate_cpy_dllexport_python_collecttypeÚ._generate_cpy_extern_python_plus_c_collecttyperr!r#r%r(Ú"_generate_cpy_dllexport_python_ctxÚ&_generate_cpy_extern_python_plus_c_ctxrr<r?rCrErJrMÚ_emit_bytecode_ConstPointerTypeÚ_emit_bytecode_NamedPointerTyperPrUrYÚ_emit_bytecode_UnionTyper\r%rrroro~sü€€€€€Ø€Mð%ð%ð%ð%ð0ð0ð0ð81ð81ð81ðt	<ð	<ð	<ð-ð-ð-ð&ððð&HÐGÐG€Ið,ð,ð,ð>#ð#ð#ð#ð2ð2ð2ððððkðkðkðZ"ð"ð"ð0ð0ð0ðh%ð%ð%ð+(ð+(ð+(ðZKðKðKðððð*ð*ð*ðF=ð=ð=ð<ð<ð<ð
ð
ð
ðFðFðFð+ð+ð+ð&ð&ð&ð
`ð`ð`ðD2ð2ð2ð,
ð
ð
ð2ð2ð2ð ð ð ðDT)ðT)ðT)ðT)ðlOðOðOð7ð7ð7ð.%ð%ð%à&FÐ#ð&ð&ð&ð7ð7ð7à8Ðð6ð6ð6à6Ðð)ð)ð)ð;ð;ð;ð:ð:ð:ðCJØ(,ððððð<&ð&ð&ð
3ð3ð3ð@ð@ð@ð "ð"ð"ð7ð7ð7ð7ðCðCðCð*-ð-ð-ð
ð
ð
ðFðFðFð1ð1ð1ð"ððð;ð;ð;ðððð.MðMðMð"ð"ð"ð
.ð.Ð.Ø4ð4 ð4 ð4 ðl6ð6ð6ð>ð>ð>ð/ð/ð/ð	Kð	Kð	Kð&ð&Ð&Ø,ðððð<AðAðAðBðBðBð9ð9ð9ð9ð9ð9ð@ð@ð@ð&PðPðPð'AÐ#Ø&@Ð#ðJðJðJðFðFðFðGðGðGð 9Ðð=ð=ð=ð=ð=rro)r	có‡—eZdZˆfd„ZˆxZS)ÚNativeIOc󬕗t|t¦«r| d¦«}tt|¦« |¦«dS)Nr*)rÚunicoder-ÚsuperrirÙ)rr4rŸs  €rrÙzNativeIO.write‰sJø€Ý˜!WÑ%Ô%ð
&Ø—H’H˜WÑ%Ô%Ý•(˜DÑ!Ô!×'Ò'¨Ñ*Ô*Ð*Ð*Ð*r)r"r#r$rÙÚ
__classcell__)rŸs@rririˆs8ø€€€€€ð	+ð	+ð	+ð	+ð	+ð	+ð	+ð	+ð	+rricó"—t|d¦«S)NrÙ)Úhasattr)Ú	maybefiles rÚ
_is_file_likerqŽs€å9˜gÑ&Ô&Ð&rcó¦—|rtd|›¦«t|||du¬¦«}| ¦«| ¦«t	|¦«r| ||¦«dSt
¦«}| ||¦«| ¦«}	t|d¦«5}| 	t|¦«dz¦«|krt‚	ddd¦«n#1swxYwY|rtd¦«dS#t$r©d|tj
¦«fz}	t|	d	¦«5}| |¦«ddd¦«n#1swxYwY	tj|	|¦«n9#t $r,tj|¦«tj|	|¦«YnwxYwYdSwxYw)
Nzgenerating )rsTrãrz(already up-to-date)Fz%s.~%dÚw)Úprintror¦rÕrqráriÚgetvalueräÚreadr0ÚIOErrorråÚgetpidrÙÚrenameÚOSErrorÚunlink)
rqrrràÚtarget_fileÚverboseÚ
recompilerrßÚoutputÚf1Útmp_files
          rÚ_make_c_or_py_sourcer‚’sw€Øð0Ý
ˆ  Ð.Ñ/Ô/Ð/ݘC Ø.6¸$Ð.>ðAñAôA€Jà×!Ò!Ñ#Ô#Ð#Ø×"Ò"Ñ$Ô$Ð$ݐ[Ñ!Ô!ðØ×$Ò$ [°(Ñ;Ô;Ð;؈t݉
Œ
€AØ× Ò   HÑ-Ô-Ð-Ø
ZŠZ‰\Œ\€FðÝ
+˜sÑ
#Ô
#ð	 r؏wŠw•s˜6‘{”{ Q‘Ñ'Ô'¨6Ò1Ð1ݐ
ð2ð	ð	ð	ñ	ô	ð	ð	ð	ð	ð	ð	øøøð	ð	ð	ð	ðð	*ÝÐ(Ñ)Ô)Ð)؈uøÝð	ð	ð	ؘ{­B¬I©K¬KÐ8Ñ8ˆÝ
(˜CÑ
 Ô
 ð	 BØHŠHVÑÔÐð	ð	ð	ñ	ô	ð	ð	ð	ð	ð	ð	øøøð	ð	ð	ð	ð	-ÝŒIh Ñ,Ô,Ð,Ð,øÝð	-ð	-ð	-ÝŒIkÑ"Ô"Ð"ÝŒIh Ñ,Ô,Ð,Ð,Ð,ð	-øøøðˆtˆtð	øøøs~Â1DÃ1C?Ã3DÃ?DÄDÄDÄDÄ2GÅE1Å%GÅ1E5	Å5GÅ8E5	Å9GÅ=FÆGÆ3G	ÇGÇG	Ç	GÇGFcó0—|€J‚t|||||¦«Sr©r‚)rqrrràÚ
target_c_filer}s     rÚ
make_c_sourcer†±s+€ØÐÐÐÝ  [°(¸MØ 'ñ)ô)ð)rcó(—t||d||¦«Srr„)rqrrÚtarget_py_filer}s    rÚmake_py_sourcer‰¶s€Ý  [°$¸Ø 'ñ)ô)ð)rcó—| d¦«}	tjtjj|g|dd…¢Rަ«n#t
$rYnwxYw|dxx|z
cc<tjj|g|¢RŽ|fS)Nrðrñ)r»råÚmakedirsrærRrz)Ú	outputdirÚmodnameÚ	extensionÚpartss    rÚ_modname_to_filerºsœ€ØMŠM˜#ÑÔ€Eð
Ý
Œ•B”G”L Ð8¨U°3°B°3¬ZÐ8Ð8Ð8Ñ9Ô9Ð9Ð9øÝð
ð
ð
Øˆð
øøøà	ˆ"€I€I„IÑ€I€IIÝ
Œ7Œ<˜	Ð* EÐ*Ð*Ð*¨EÐ1Ð1s—1A	Á	
AÁAcóx—t||¦«}| |||f¦«t|||¦«|Sr)ržrŽÚsetattr)Ú	patchlistÚclsrÚnew_methÚolds     rÚ_patch_methr—ÈsC€Ý
#tÑ
Ô
€CØ
×Ґc˜4 Ð%Ñ&Ô&Ð&݈CxÑ Ô Ð Ø€JrcóT—t|¦«D]\}}}t|||¦«ŒdSr)Úreversedr’)r“r”rÚold_meths    rÚ_unpatch_methsr›Îs?€Ý'¨	Ñ2Ô2ð%ð%шˆT8ݐT˜8Ñ$Ô$Ð$Ð$ð%ð%rc󼇗tjdkrddlm}|t	||dd„¦«tjdkrddlm}ˆfd„}t	||d	|¦«ŠdSdS)
Nrr)ÚMSVCCompilerÚ_remove_visual_c_refcó—|Srr%)rÚ
manifest_files  rr„z&_patch_for_embedding.<locals>.<lambda>Ús€°M€rÚdarwin)Ú	CCompilerc󨕗d|jvr=t|j¦«|_|j d¦«}d|j|<‰|g|¢Ri|¤ŽS)Nz-bundlez-dynamiclib)Ú	linker_sorr)rrÚkwdsr¤Úold_link_shared_objects    €rÚmy_link_shared_objectz3_patch_for_embedding.<locals>.my_link_shared_objectßscø€Ø˜DœNÐ*Ð*Ý!% d¤nÑ!5Ô!5”Ø”N×(Ò(¨Ñ3Ô3Ø$1”˜qÑ!Ø)Ð)¨$Ð>°Ð>Ð>Ð>¸Ð>Ð>Ð>rÚlink_shared_object)ÚsysÚplatformÚcffi._shimmed_dist_utilsrr—r¢)r“rr¢r§r¦s    @rÚ_patch_for_embeddingr¬Òs²ø€Ý
„|wÒÐð	:Ð9Ð9Ð9Ð9Ð9ØÐ#Ý˜	 <Ð1GØAÐAñ
Cô
Cð
Cõ„|xÒÐà6Ð6Ð6Ð6Ð6Ð6ð	?ð	?ð	?ð	?ð	?õ"-¨Y¸	Ø-AØ-Bñ"Dô"DÐÐÐð Ðrcóއ—ddlm}‰ d¦«r;‰dd…Štjdkr‰dz
Šntjdkr‰dz
Šn‰d	z
Št||d
ˆfd„¦«dS)Nr)Ú	build_extz.*r´rz.dllr¡z.dylibz.soÚget_ext_filenamecó•—‰Srr%)rÚext_nameÚtargets  €rr„z#_patch_for_target.<locals>.<lambda>÷sø€ v€r)r«r®Úendswithr©rªr—)r“r²r®s ` rÚ_patch_for_targetr´és¢ø€Ø2Ð2Ð2Ð2Ð2Ð2ð‡‚tÑÔðØ˜˜˜”ˆÝŒ<˜7Ò"Ð"ØfÑˆFˆFÝ
Œ\˜XÒ
%Ð
%ØhÑˆFˆFàe‰OˆFݐ	˜9Ð&8Ø-Ð-Ð-Ð-ñ/ô/ð/ð/ð/rrðTú.ccóB—t|t¦«s| d¦«}|jr| |¦«|¦|rt|¦«rt
d¦«‚|jdu}
|
r| |¦«|€0t|||¦«\}}|r|g|z}tjj|Ž}n|}|	€
|
rd|z}	nd}	|rtj||fi|¤Ž}nd}t|||||¬¦«}|rôg}tj¦«}	|
rt#|¦«|	dkrt%||	¦«|r<|dkrd}nd}t'|›d	tj |¦«›¦«tj|¦«tjd|||
¦«}tj|¦«t/|¦«n(#tj|¦«t/|¦«wxYw|S||fS|€t||d
¦«\}}t1||||¬¦«}|r|Sd|fS)Nr*zGWriting to file-like objects is not supported with call_c_compiler=Truez%s.*r)r}rðzthe current directory isz setting the current directory tor.z.py)rr‹r-Ú_windows_unicodeÚ_apply_windows_unicoderqrKrÚ_apply_embedding_fixrrårærRrÚ
get_extensionr†Úgetcwdr¬r´rtÚabspathÚchdirÚcompiler›r‰)rqrrràÚtmpdirÚcall_c_compilerÚc_fileÚsource_extensionÚextradirÚcompiler_verboser²ÚdebugÚuses_ffiplatformr¥Ú	embeddingrÚ
ext_c_fileÚextÚupdatedr“ÚcwdÚmsgÚoutputfilenamer¶s                       rÚ	recompilerÎús³€õk¥3Ñ'Ô'ð2Ø!×(Ò(¨Ñ1Ô1ˆØ
Ôð)Ø×"Ò" 4Ñ(Ô(Ð(ØÑØð	9}¨VÑ4Ô4ð	9Ýð8ñ9ô9ð
9à”^¨4Ð/ˆ	Øð	+Ø×$Ò$ TÑ*Ô*Ð*؈>Ý,¨V°[Ø-=ñ?ô?‰MˆFEàð
+Ø!˜
 UÑ*Ýœœ uÐ-ˆJˆJàˆJàˆ>Øð
Ø +Ñ-ààð	ÝÔ+¨J¸ÐLÐLÀtÐLÐLˆCˆCàˆCÝ  [°(¸FØ(8ð:ñ:ô:ˆàð	 ؈IÝ”)‘+”+ˆCð
*Øð4Ý(¨Ñ3Ô3Ð3ؘS’==Ý% i°Ñ8Ô8Ð8Ø#ðDØ ’}}Ø8˜˜à@˜Ý S S S­"¬'¯/ª/¸&Ñ*AÔ*AÐ*AÐBÑCÔCÐCÝ”˜Ñ Ô Ð Ý!,Ô!4°S¸#Ø5EÀuñ"Nô"Nõ”˜‘
”

ݘyÑ)Ô)Ð)Ð)øõ”˜‘
”

ݘyÑ)Ô)Ð)Ð)øøøØ!Ð!à˜<Ðàˆ>Ý(¨°¸eÑDÔD‰IˆFAÝ   k°6Ø)9ð;ñ;ô;ˆàð	!؈Mà˜=Ð s
ÄBGÇ%G'r])	rðTNrµNrNNT)"rår©Úior5rrÚerrorrÚcffi_opcodertrr6rªÚversion_inforrr'r?rUriroÚStringIOriÚBytesIOrqr‚r†r‰rr—r›r¬r´rÎr%rrú<module>rÕs¬ðØÐÐÐÐÐÐÐÐÐÐÐØ Ð Ð Ð Ð Ð Ð Ð Ø$Ð$Ð$Ð$Ð$Ð$ØÐÐÐà€ØÐØÐà”< 7Ò*ð.¨cÔ.>ÀÒ.Gð.ØÔ# vÒ-ðð1ð1ð1ð1ð1ñ1ô1ð1ð )ð)ð)ð)ð)ñ)ô)ð)ð8#ð#ð#ð#ð#ñ#ô#ð#ð:?ð?ð?ð?ð?ñ?ô?ð?ð0	Kð	Kð	Kð	Kð	Kñ	Kô	Kð	KðD=ðD=ðD=ðD=ðD=ñD=ôD=ðD=ðN(ԐtÒÐØŒ{€H€Hð+ð+ð+ð+ð+2”:ñ+ô+ð+ð'ð'ð'ðððð>)ð)ð)ð)ð
)ð)ð)ð)ð2ð2ð2ðððð%ð%ð%ðDðDðDð./ð/ð/ð"GKØ;?Ø59Ø#ðC!ðC!ðC!ðC!ðC!ðC!r