Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
recompiler.cpython-313.pyc265 linesDownload Raw Back to __pycache__
1�

2��j����4�SSKrSSKrSSKrSSKrSSKJrJr SSKJr SSK	7 Sr3SrSr\RS	:g=(d% \RS4:=(d \RS:�=(a \R"S5(+r"S
S5r"SS5r"SS5r"SS5r"SS5r"SS5r\RS:�a
\R.rO"SS\R25rSrSrS&SjrS&SjrS rS!rS"r S#r!S$r"S'S%jr#g)(�N�)�ffiplatform�model)�VerificationError)�*i&i'i(�win32)�r)r	��Py_GIL_DISABLEDc�*�\rSrSrSSjrSrSrSrg)�5GlobalExpr�c�@�XlX lX0lX@lXPlg�N)�name�address�type_op�size�check_value)�selfrrrrrs      �UD:\code\apps\devtools\python\user_packages\Python313\site-packages\cffi/recompiler.py�__init__�GlobalExpr.__init__s���	������	�&��c	��SUR<SUR<SURR5<SUR<S3	$)N�  { "z", (void *)�, z6, (void *)� },)rrr�	as_c_exprr�rs rr�GlobalExpr.as_c_exprs0���I�I�t�|�|�T�\�\�%;�%;�%=�t�y�y�J�	Jrc�j�SURR5URUR4-$)Nz7b'%s%s',%d)r�as_python_bytesrrr s r�as_python_expr�GlobalExpr.as_python_exprs2���t�|�|�;�;�=�t�y�y�#�/�/�1�1�	1r)rrrrrN)rr��__name__�8__module__�__qualname__�__firstlineno__rrr$�__static_attributes__�rrr
r
s��'�J�1rr
c�,�\rSrSrSrSrSrSrSrg)�	FieldExpr�c�@�XlX lX0lX@lXPlgr)r�field_offset�9field_size�fbitsize�
field_type_op)rrr1r2r3r4s      rr�FieldExpr.__init__s���	�(��$�� �
�*�rc���S[UR5-nSUR<SUR<S3SU<SUR<S3-SU<SURR5<S3-$)N� r�", z,10z     z   r)�lenrr1r2r4r)r�spacess  rr�FieldExpr.as_c_expr&sZ���s�4�9�9�~�%��%)�Y�Y��0A�0A�B�%+�T�_�_�=�>�%+�T�-?�-?�-I�-I�-K�L�M�	Nrc��[er)�NotImplementedErrorr s rr$�FieldExpr.as_python_expr,s��!�!rc��URR[:XaSnO:URR[:Xa[	UR115nO[eSURR5<U<UR<S3$)N��b'�')	r4�op�OP_NOOP�OP_BITFIELD�format_four_bytesr3r=r#r)r�	size_exprs  r�as_field_python_expr�FieldExpr.as_field_python_expr/sj����� � �G�+��I�
�
�
�
"�
"�k�
1�)�$�-�-�8�I�%�%��"�0�0�@�@�B�'�"�i�i�)�	)r)r3r1r2r4rN)	r'r(r)r*rrr$rHr+r,rrr.r.s��+�N�"�	)rr.c�&�\rSrSrSrSrSrSrg)�StructUnionExpr�:c	�d�XlX lX0lX@lXPlX`lXplX�lgr)r�12type_index�flagsr�	alignment�comment�first_field_index�c_fields)	rrrNrOrrPrQrRrSs	         rr�StructUnionExpr.__init__;s+���	�$���13��	�"����!2�� �
rc�.�SURURUR4-SUR<SUR<S3-SUR14[
UR54--UR(aSUR--S-$S-S-$)Nz  { "%s", %d, %s,z15    rz%d, %d z	/* %s */ r@z},)	rrNrOrrPrRr9rSrQr s rr�StructUnionExpr.as_c_exprFs���#�t�y�y�$�/�/�4�:�:�&N�N�&*�i�i����@�A��t�5�5�s�4�=�=�7I�J�J�K�26���;����-�G��	�	�DF�G��	�	rc� �[UR[5nURVs/sHnUR	5PM nnS[UR5<[U5<UR<SSRU5<S3$s snf)Nz(b'�',�,�))	�evalrO�G_FLAGSrSrHrFrNr�join)rrO�c_field�fields_exprs    rr$�StructUnionExpr.as_python_exprMsy���T�Z�Z��)��&*�m�m�5�&3�7��3�3�5�&3�	�5��
�d�o�o�.��e�$��I�I��H�H�[�!�	#�	#��5s�B)rPrSrQrRrOrrrNNr&r,rrrKrK:s��	!��#rrKc�&�\rSrSrSrSrSrSrg)�EnumExpr�Wc�@�XlX lX0lX@lXPlgr�rrNr�signed�allenums)rrrNrrfrgs      rr�EnumExpr.__init__Xs���	�$���	��� �
rc�z�SURURURURUR4-$)Nz1  { "%s", %d, _cffi_prim_int(%s, %s),16    "%s" },rer s rr�EnumExpr.as_c_expr_s9���!%���D�O�O�!%���D�K�K����!H�H�	Irc	��[[[[[[17[[S.URUR4nS[UR5<[U5<UR<SUR<S3$)N))rr)rr)�r)rlr)�r)rmr)�r)rnrrAz\x00rB)�18PRIM_UINT8�	PRIM_INT8�PRIM_UINT16�19PRIM_INT16�PRIM_UINT32�20PRIM_INT32�PRIM_UINT64�21PRIM_INT64rrfrFrNrrg)r�22prim_indexs  rr$�EnumExpr.as_python_exprdsa���)��*��*��*�	�23�i�i����$�&�24�&7�t���%G�%6�z�%B�%)�Y�Y��
�
�?�	?r)rgrrfrrNNr&r,rrrbrbWs��!�I�25	?rrbc�&�\rSrSrSrSrSrSrg)�TypenameExpr�oc��XlX lgr�rrN)rrrNs   rr�TypenameExpr.__init__ps���	�$�rc�8�SURUR4-$)Nz  { "%s", %d },r}r s rr�TypenameExpr.as_c_exprts�� �D�I�I�t���#?�?�?rc�P�S[UR5<UR<S3$)NrArB)rFrNrr s rr$�TypenameExpr.as_python_exprws��-�d�o�o�>��	�	�J�Jrr}Nr&r,rrrzrzos��%�@�Krrzc�26�\rSrSrSrSMSjrSrSrSrSr	Sr27/S	QrS28rSNSjr
SrS
rSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSrSr Sr!S r"SOS"jr#S#r$S$r%S%r&\&r'S&r(S'r)\)r*S(r+\+r,S)r-S*r.S+r/SPS,jr0S-r1S.r2S/r3S0r4SOS1jr5S2r6S3r7S4r8S5r9S6r:S7r;S8r<S9r=S:r>S;r?\?=r@rAS<rBS=rCS>rDS?rES@rF\F=rGrHSArISBrJSCrKSDrLSErMSFrNSGrO\OrP\OrQSHrRSIrSSJrT\TrUSKrVSLrWg!)Q�29Recompiler�~rc�>�XlX lX0l[Ulgr)�ffi�module_name�target_is_python�VERSION_BASE�_version)rr�r�r�s    rr�Recompiler.__init__�s����&�� 0��$��
rc�:�[URU5Ulgr)�maxr�)r�vers  r�
needs_version�Recompiler.needs_version�s���D�M�M�3�/��
rc30�Z�0UlURS5 [UR[S9n/UlUGH?nUR31(dMURUbe[
UR5URU'URRU5 URH�n[U[R[R[R[R[R45(deURUc"[
UR5URU'URRU5 M� URRS5 GMB UH�nUR32(aMURUbM([
UR5URU'URRU5 UR (dMxUR"cM�URRS5 M� SURR%5;de0Ul0UlUHcn[U[R*5(aSUR&U'M3[U[R,5(dMTSUR(U'Me [/[UR&SS95HupBX@R&U'M [/[UR(SS95HupBX@R(U'M UH;n[1USUR2R4-5nU"X RU5 M= URHn[U[65(aMe [9UR5Ulg)N�collecttype��key�END�LENc��UR$r�r��tps r�<lambda>�/Recompiler.collect_type_table.<locals>.<lambda>����R�W�Wrc��UR$rr�r�s rr�r��r�r�_emit_bytecode_)�33_typesdict�	_generate�sorted�str�34cffi_types�is_raw_functionr9�append�args�35isinstancer�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�methodrCs       r�collect_type_table�Recompiler.collect_type_table�s���������}�%��4�?�?��4�	�����B��!�!�!����r�*�2�2�2�&)�$�/�/�&:�����#����&�&�r�*��7�7�C�%�c�E�N�N�,1�,C�,C�,1�,=�,=�,1�,E�,E�,1�,A�,A�	,C�D�D�D�D�36���s�+�3�/2�4�?�?�/C�����,��O�O�*�*�3�/�#����&�&�u�-��"�B��%�%�%�$�/�/�"�*=�*E�&)�$�/�/�&:�����#����&�&�r�*��#�#�#��	�	�(=��O�O�*�*�5�1���4�?�?�1�1�3�3�3�3�!�������B��"�e�1�1�2�2�*.��#�#�B�'��B����/�/�"&����B��	�37�v�d�&9�&9�*<� >�?�E�A�&'����#�?��v�d�k�k�*<� >�?�E�A��K�K��O�?�38�B��T�#4�r�|�|�7L�7L�#L�M�F��2���r�*�+��39�/�/�B��b�&�)�)�)�)�"�����0��rc�F�UR(+nURU5$r)r��40enumfields)rr��expand_anonymous_struct_unions   r�_enum_fields�Recompiler._enum_fields�s#��-1�,A�,A�(A�%��}�}�:�;�;rc���[U[R5(d0[U[5(aUHnUR	U5 M gXR41;GaSUR42U'[U[R5(a UR	UR55 g[U[R5(apURbbXRRR;a>URU5H(up4 nUR	URXU55 M* gggUR5HupRUR	U5 M ggr)r�r�BaseTypeByIdentityr��_do_collect_typer�r��as_raw_functionr��fldtypesr��_parser�_included_declarationsr��_field_type�43_get_items)rr��x�name1r��_s      rr��Recompiler._do_collect_type�s���"�e�6�6�7�7��"�e�$�$��A��)�)�!�,���
�_�_�$�"&�D�O�O�B���"�e�3�3�4�4��%�%�b�&8�&8�&:�;��B�� 3� 3�4�4��;�;�*��(�(�"2�"2�"I�"I�I�,0�,=�,=�b�,A�(��A�q��-�-�d�.>�.>�r�#�.N�O�-B�J�+�44�M�M�O�D�A��)�)�!�,�,�%rc��URRRR5n[	U5H@unupEURSS5upg[
USU<SU<35nXPl	U"XG5 MB g![a [SU-5ef=f![an	[R"X�5 eSn	A	ff=f)Nr7r�_generate_cpy_r�z"not implemented in recompile(): %r)
r�r��
_declarations�itemsr��splitr��AttributeErrorr�_current_quals�	Exceptionr�attach_exception_info)45r�	step_name�lstrr��quals�kind�realnamer��es46          rr��Recompiler._generate�s����h�h���,�,�2�2�4��!'����D�+�2�!�Z�Z��Q�/�N�D�
A� ���@I�(K�L��47
�&+�#��r�$�"-��48"�
A�'�8�4�?�A�A�
A���
��+�+�A�4���
�s$�A?�,B�?B�49C�%B<�<C)�global�field�struct_union�enum�typenamec�j�0UlURHn/URU'M [5UlUR	S5 UR5 URH@nURUnUS:waUR
SS9 [U5URU'MB URSnURR5H4up4U[U5:deX$RUR:XaM4e [U5[UR5:XdeURSnURR5H4up4U[U5:deX$RUR:XaM4e [U5[UR5:Xdeg)N�ctxr�c��UR$rr�)�entrys rr��0Recompiler.collect_step_tables.<locals>.<lambda>s��5�:�:rr�r�r�)
�_lsts�	ALL_STEPS�set�_seen_struct_unionsr��_add_missing_struct_unions�sortr�r�r�r9rr�)rr�r�r�r�s     r�collect_step_tables�Recompiler.collect_step_tables�sj����50����I�$&�D�J�J�y�!�(�#&�5�� ����u���'�'�)����I��*�*�Y�'�C��G�#����5��6�$)�#�J�D�J�J�y�!�	(��j�j��(���(�(�.�.�0�E�B��s�3�x�<��<��6�;�;�"�'�'�)�)�)�1��3�x�3�t�2�2�3�3�3�3��j�j�� ���[�[�&�&�(�E�B��s�3�x�<��<��6�;�;�"�'�'�)�)�)�)��3�x�3�t�{�{�+�+�+�+rc�@�URRUS-5 g)N�51)�_f�write)r�whats  r�_prnt�Recompiler._prnts�����
�
�d�T�k�"rc��UR(aUbeURU5 gUceURX5 gr)r��write_py_source_to_f�write_c_source_to_f)r�f�preambles   r�write_source_to_f�Recompiler.write_source_to_fs?��� � ��#�#�#��%�%�a�(��'�'�'��$�$�Q�1rc���[[RR[RR	[525U5S5nUR
5nUR5 U$)N�r)�open�os�pathr]�dirname�__file__�	readlines�close)r�filename�g�liness    r�_rel_readlines�Recompiler._rel_readlines!sC��������b�g�g�o�o�h�7��B�C�H�����
��	���	��rc	�b
�XlURnURRbU"S5 [(dU"S5 URS5nUR
S5nURS5XEUS-&U"SRU55 URRS5S	nURRb�U"S53UR<S35 U"S5 URURR5 U"S
5 U"S5 U"SU<35 U"S5 U"SU<35 U"S5 U"SU<35 U"S5 URS5nUR
S5nURS5XEUS-&U"SRU55 UR[5 U"S5 U"5 U"U5 U"5 U"S5 U"5 U"S5 [URR5VVs/sHupuXW4PM54 snn5n[!UR"5H<upYSn55XX;aSX�R%5-n56U"SXYR'5U574-5 M> UR"(dU"S5 U"S5 U"5 [)5UlUR-S5 0nUR.HhnUR0Un
[3U
5X�'X�S:�dM)U"S U<S!U<S"35 U
HnU"UR'55 M U"S5 U"5 Mj URR4(ajU"S#5 URR4H1nUR6SS$unnUc[;S(5eU"S)U<S*35 M3 U"S+5 U"S5 U"5 U"S,5 U"S-5 UR.H#nX�S:�a
U"S.U-5 MU"S/U-5 M% UR.HnUS0:wdMU"S1X�U4-5 M URR4(a	U"S25 OU"S35 U"S4[3UR"54-5 SnUR<S:�dURRbUS-nU"S5U-5 U"S5 U"5 U"S65 U"S75 U"S5 U"5 U"S5 U"S85 U"S9U<S:35 U"S;5 US-(aU"S<5 U"S=5 U"S>5 U"S?UR>-5 U"S@5 U"SA5 U"SB5 U"S5 U"SC5 U"SD5 U"SE5 U"SF5 U"SGU<SH35 U"SI5 U"SJU<SK35 U"SL5 U"SL5 U"S5 U"S85 U"SMU<SN35 U"S;5 U"SOURUR>4-5 U"SC5 U"S5 U"S85 U"SPU<SN35 U"S;5 U"SQURUR>4-5 U"SC5 U"S5 U"5 U"S65 U"SR5 U"S5 SUlgs snnf![8a [;S%UR<S&U<S'35ef=f)SNz#define _CFFI_USE_EMBEDDINGz#define _CFFI_NO_LIMITED_APIz_cffi_include.hz#include "parse_c_type.h"58zparse_c_type.hrr@�.�����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"59z_cffi_errors.hz>/************************************************************/zstatic void *_cffi_types[] = {z // z/* %2d */ %s,%sz  0z};�declrzstatic const struct _cffi_z	_s _cffi_zs[] = {z.static const char * const _cffi_includes[] = {rl�ffi object �60 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	     initz61(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�r��62_embedding�USE_LIMITED_APIr�indexr]r�r��_print_string_literal_in_arrayr��VERSION_EMBEDDED�dictr�r�r�r��_get_c_namerr��_seen_constantsr�r�r�r9�_included_ffis�_assigned_sourcer�r�
_num_externpyr�)rr�r�prntrr��base_module_namer��typeindex2typerCrQ�numsr�r�r��ffi_to_include�included_module_name�included_sourcerOs                   rr��Recompiler.write_c_source_to_f'sS�����z�z���8�8���*��.�/����/�0��#�#�$5�6���K�K�5�6���*�*�+;�<���!����R�W�W�U�^�� �+�+�1�1�#�6�r�:���8�8���*��d�6F�6F�H�I��D�E��/�/����0C�0C�D���L��&�'�� �#�
$��.�/�� �#�
$���M�� �#�
$���N��'�'��7�E����9�:�A��.�.�/?�@�E�A�a�C�L������� ����/�0�	
�
M�N����X�����
M�N���	
�
-�.��d�o�o�6K�6K�6M�N�6M�7�B��w�6M�N�O���t���/�E�A��G��"� �>�#4�#@�#@�#B�B���"�a�����%A�A�B�	0�63�����K��T�64��� #�u������v�������I��*�*�Y�'�C�!�#�h�D�O����"���y�*�+� �E�����*�+�!��T�65���(��8�8�"�"��A�B�"&�(�(�"9�"9��8�&�7�7���;�:�(�/�#�*�+�3�4�4��"6�8�9�#:�
��N���J��F�	
�
N�O��
�����I����"��^�i�/�0��,�y�8�9�	(�66���I��G�#��+�t��	�.J�J�K�(��8�8�"�"��$�%��-�.��
%��T�_�_�)=�(?�
?�@�������!�T�X�X�%8�%8�%D��Q�J�E��
!�E�
)�*��T�67���	
�
���
N�O��X�����
"�#��
���5E�
G�H��S�	��1�9��8�9��E�
F���M��
-��
�
�
=�>��
.�/��
(�)��
� ��X���S�	�	
�
 �!��
"�#��
*�+��8H�
J�K��Y���(8�
:�;��Z���Z���
*�+��
���"2�
4�5��S�	��
D����d�m�m�H-�-�	.��S�	��W�
��
���/�
1�2��S�	��
=����d�m�m�A-�-�	.��S�	��X�����
���
+�,��X����
��wO��H&�8�+�!�H�H�n�7�8�8�8�s�Y?68�?Z�)Z.c�F�[U[5(aSU<S3$[U[[45(aVUVs/sHo R	U5PM nn[U5S:XaUR
S5 SSRU5<S3$UR5$s snf)NrArBrr@�(rYrZ)	r�r��listr��_to_pyr9r�r]r$)rr��item�reps    rr9�Recompiler._to_py�s���a�����>�!��a�$���'�'�12�3���;�;�t�$��C�3��3�x�1�}��69�70�2��� �X�X�c�]�,�,����!�!��	4s�Bc71���XlURnU"S5 U"S5 [URR=(d S5n[U5HHnURRUnURSSupgUb[S5eU"S	Xd4-5 MJ U"5 U"S72UR<S35 U"SUR4-5 SUl73[UR5UlURVs/sHo�R5PM n	nU"S
URSRU	55<S35 [!UR"R%5V74Vs/sHup�XJ4PM75 snn765nUR&HKnUR(Un
[U
5S:�dM#US:wdM+U"SU<SURU
5<S35 MM US:�a9U"SSR[U5Vs/sHnSU-PM77 sn5<S35 U"S5 g![a [SUR<SU<S35ef=fs snfs snn78fs snf)Nz# auto-generated filezimport _cffi_backendr,rlrrrzMnot implemented yet: ffi.include() of a C-based ffi inside a Python-based ffizfrom %s import ffi as _ffi%dzffi = _cffi_backend.FFI('rXz    _version = 0x%x,z
    _types = r@rYrr�z    _zs = z    _includes = (rz_ffi%dz,),rZ)r�r�r9r�r+�ranger,r�rr�r�r�r�r#r9r]r(r�r�r�r�)rr�r.�num_includesr�r2r3r4rC�	types_lstr�r0r�r�s              rr��Recompiler.write_py_source_to_f�s&�����z�z��	
�
$�%��
#�$��4�8�8�2�2�8�b�9���|�$�A�!�X�X�4�4�Q�7�N�
4�"�3�3�B�Q�7�6�$��*�'�4�5�5�
�/�3G�2K�K�L�%�	
����0@�0@�
B�C��
#�t�}�}�&6�
6�7���
� ����0���48�O�O�D�O�b�'�'�)�O�	�D��4�;�;�r�w�w�y�/A�#B�
D�E��d�o�o�6K�6K�6M�N�6M�7�B��w�6M�N�O�����I��*�*�Y�'�C��3�x�!�|�	�W� 4���D�K�K��4D�E�F�(��!����	�	��|�1D�E�1D�A�8�a�<�1D�E�F�I�
J�	
�S�	��C"�
4�'����.�3�4�4�
4��"E��N��Fs�3H'�I�-I79�I�')Ic� �URU$r)r�)r�types  r�_gettypenum�Recompiler._gettypenums�����t�$�$rc80��Sn[U[R5(a�UR5(d�UR	5(a"UR81S:waSnSUR82-nO�[U[R5(aSURS5<S3nOPURS5nSU<SUR83RSS	5<3nUS84;aUR[5 SnO�[U[R5(aURXX45 g[U[R5(d[U[R5(a:URSX0RU5U4-5 URS
U-5 g[U[R 5(a+SURS5-nSURU5-nSnO[#U5eURSU<SU<SU<U<S35 URSU<SURS5<SU<S35 URS
U-5 g)Nr@�_Bool�_cffi_to_c_intz, %sr7z)_cffi_to_c_doublez)_cffi_to_c_r7r���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 == (rZz && PyErr_Occurred()))r�rr��is_complex_type�is_integer_typer�UnknownFloatType�85get_c_name�replacer��VERSION_CHAR16CHAR32r��"_convert_funcarg_to_c_ptr_or_arrayr�r�rDr�r=)	rr��fromvar�tovar�errcode�extraarg�	converter�cname�errvalues	         r�_convert_funcarg_to_c� Recompiler._convert_funcarg_to_cs������b�%�1�1�2�2�2�;M�;M�;O�;O��!�!�#�#����7�(:�,�	�!�B�G�G�+���B�� 6� 6�7�7�8:�}�}�R�7H�J�	��
�
�b�)��38�35�7�7�?�?�3��3L�N�	��4�4��&�&�';�<��H�
��E�-�-�
.�
.��3�3�B�49�
D����U�6�6�7�7���U�4�4�5�5�
�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�)�)��86�87��	�7�H�M�N��88�89��2�=�=��$�h�0�	1��90�91�9�w�&�'rc��[U[R5(a4URS5 URS5 URS5 gg)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_variables�!Recompiler._extra_local_variablesCsG���b�%�+�+�,�,��M�M�/�0��M�M�I�J��M�M�J�
K�-rc��URS5 URSURU5X#4-5 URS5 URSU<SURS5<S35 URSURU5X#4-5 URS	5 URS92U-5 URS5 g)Nz1  datasize = _cffi_prepare_pointer_call_argument(z(      _cffi_type(%d), %s, (char **)&%s);z  if (datasize != 0) {z    z  = ((size_t)datasize) <= 640 ? (r@z!)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�rDrR)rr�rVrWrXs     rrU�-Recompiler._convert_funcarg_to_c_ptr_or_arrayJs����93�94�F�G��95�96�=����R� �'�A2�2�	3��97�98�+�,��99�100��2�=�=��$�&�	'�	
�101�102�#�&*�&6�&6�r�&:�G�%K�L�	M��103�104�A�B��105�106�;��(�)��107�108�5�rc�h�[U[R5(a�UR5(a%URS:waSU<SUR<S3$[U[R1095(aSU<S3$URS:waWUR
5(dBURRSS5nUS	;aUR[5 S110U<SU<S3$SX RU54-$[U[R[R45(aS
X RU54-$[U[R5(a3S
X R[R"UR554-$[U[R5(aDUR c"[#SUR%5<SU<S35eSX RU54-$[U[R&5(aSX RU54-$[)U5e)NrGz_cffi_from_c_int(rrZz_cffi_from_c_double(�long doubler7r�rI�
_cffi_from_c_r7z/_cffi_from_c_deref((char *)&%s, _cffi_type(%d))z0_cffi_from_c_pointer((char *)%s, _cffi_type(%d))rBz
' is used as z, but is opaquez0_cffi_from_c_struct((char *)&%s, _cffi_type(%d)))r�rr�rPrrQrOrSr�rTrDr�r��	ArrayTyper:r��fldnames�	TypeErrorr)r�r=)rr��var�contextr[s     r�_convert_expr_from_c�Recompiler._convert_expr_from_cXs����b�%�1�1�2�2��!�!�#�#����7�(:�58�"�'�'�B�B��B�� 6� 6�7�7�47�9�9����M�)�"�2D�2D�2F�2F�������S�1���4�4��&�&�';�<��05�s�;�;�H��)�)�"�-�L/�/�/�
��U�.�.��0E�0E�F�
G�
G�E��%�%�b�)�I+�+�
+�
��E�O�O�
,�
,�E��%�%�e�&7�&7����&@�A�IC�C�
C�
��E�/�/�
0�
0��{�{�"���N�N�$�g�!/�0�0�E��%�%�b�)�I+�+�
+�
��E�N�N�
+�
+�D��%�%�b�)�H+�+�
+�&�b�)�)rc�0�URUSU<S35$)Nz(*(z *)0))�_global_type�rr�rs   r�
_typedef_type�Recompiler._typedef_type{s��� � ��T�%;�<�<rc�D�URURX55 gr)r�rtrss   r�!_generate_cpy_typedef_collecttype�,Recompiler._generate_cpy_typedef_collecttype~s�����d�0�0��:�;rc��grr,rss   r�_generate_cpy_typedef_decl�%Recompiler._generate_cpy_typedef_decl����rc�p�URUnURSR[X#55 g)Nr�)r�r�r�rz)rr�rrNs    r�_typedef_ctx�Recompiler._typedef_ctx�s,���_�_�R�(�111��112�113�:��%�%�l�4�&D�Erc�T�URX5nURX5 [USS5S:XaURXRSS9 g[U[R5(a;URURURRURUS9 gg)N�origin�unknown_type)�114approxname)r��	named_ptr)	rtr~r��_struct_ctxrr�r�NamedPointerType�totyperss   r�_generate_cpy_typedef_ctx�$Recompiler._generate_cpy_typedef_ctx�s���
�
�
��
)�����"�#��2�x��&�.�8����R���T��:�
��E�2�2�
3�
3����R�Y�Y��	�	���2�7�7�')�
�
+�4rc��URUR55 UR(a$UR(dURU5 gggr)r�r��ellipsisr�rss   r�"_generate_cpy_function_collecttype�-Recompiler._generate_cpy_function_collecttype�s=�����b�0�0�2�3�
�;�;�t�4�4��!�!�"�%� 5�;rc
���UR(ae[U[R5(deUR(aURX5 gURn[UR5nUS:XaSnOUS:XaSnOSn/n/nSU-n[UR5H=up�URU115RSU	-U55 URSU	-5 M? S	RU5nU=(d S116nUR(aURS-nOSnU<S
U<SU<S3n
U"SURRU
5<35 U"S5 S	RU5nSn[UR[R5(aSnU"SU<U<SU<S35 U"S5 U"S5 U"S5 U"SU<SU<S35 U"S5 SU-n[UR5H%up�U117RSU	-U5nU"SU-5 M' [!5n[!5nURHn118UR#U119UU5 M [%U5HnU"SU<S35 M [UR[R5(d7SnSU-nSURRSU5-nU"U5 U"S5 OSnSn[UR5S:�a�['[UR55nUHn	U"S U	-5 M U"5 U"S!U[U5[U5S	RUV	s/sHn	S"U	-PM120 sn	54-5 U"S#5 U"5 [UR5H&up�UR)U121S$U	-SU	-S%5 U"5 M( U"S&5 U"S'5 ['[UR55V	s/sHn	SU	-PM122 nn	S	RU5nU"S(U<U<SU<S)35 U"S*5 U"S+5 U"5 U"S,5 US:XaU"S-5 U(aCU"S.UR+URS/S05-5 UHnU"SU-5 M U"S15 O$UHnU"SU-5 M U"S25 U"S35 U"S5 U"S45 S5nS6n/n/nSU-n[UR5HVup�SnU"U1235(aS7nS8nU124RS9UU	4-U5nURU5 URS:UU	4-5 MX URnU"U5(a?SU-nURS;U5nUR-SU5 [R.nSnS<nS8nU(a�S	RU5nU=(d S125nU<SU<SU<S3n
U"SURU
5<35 U"S5 U(aU"U5 S	RU5nU"S(U<U<SU<S)35 U(aU"S=5 U"S5 OU"S>U<S?U<35 U"S@5 U"5 gs sn	fs sn	f)ANr�noargr�arg0r��argument of %sz x%dzx%dr�voidr7r@�_cffi_d_r7rZ�static rzreturn rMrNrz#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))z&arg%drzarg%dzreturn NULLz  Py_BEGIN_ALLOW_THREADSz  _cffi_restore_errno();�  { 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;rc��[U[R5=(d1 [U[R5=(a UR	5$r)r�rr��
PrimitiveTyperO)rCs r�need_indirection�@Recompiler._generate_cpy_function_decl.<locals>.need_indirections=���t�U�%8�%8�9�-���e�&9�&9�:�,��)�)�+�
.rFrTz %sx%dz%sx%dz *resultz126*result = z  return result;z#  define _cffi_f_z	 _cffi_d_r)r�r�rr�r��_generate_cpy_constant_declr�r9r�r�r�rRr]�abir�r�r�rcr�r>r]ro�insert�	void_type)rr�rr.�numargs�argname�	arguments�call_argumentsrnr�rC�repr_argumentsr��name_and_arguments�result_code�argrarbr�result_decl�rng�freeliner��127difference�indirection�	tp_results                          r�_generate_cpy_function_decl�&Recompiler._generate_cpy_function_decl�s����(�(�(�(��"�e�3�3�4�4�4�4�
�;�;�
�,�,�R�6���z�z���b�g�g�,���a�<��G�
��\��G��G��	���"�T�)�� ����)�G�A����T�_�_�V�a�Z��A�B��!�!�%�!�)�,�*����9�-��'�1�6��
�6�6��&�&�3�,�C��C�36��n�M���B�I�I�0�0�1C�D�
F�G��S�	����>�2�����b�i�i����0�0��K��k�4��
@�A��S�	��
#�$��
 �!��4��
I�J��S�	�"�T�)�� ����)�G�A��/�/�&�1�*�g�6�C���3���*��E�	��E�	��G�G�D��'�'��i��C���9�%�D��D�"�#�&��"�)�)�U�^�^�4�4�%�K�$�t�+�G�!�B�I�I�$8�$8��G�$L�L�K�����(�)��K��K��r�w�w�<�!����B�G�G��%�C����)�A�-�.���F��D��c�#�h��C���	�	��5��A�8�a�<��5�6�H8�8�
9�
�#�$��� ����)�G�A��&�&�t�W�q�[�%�!�)�'4�
6��F�*�128	
�
'�(��
'�(�-2�3�r�w�w�<�-@�A�-@��%�!�)�-@��A����>�2���+�t�^�
D�E��
$�%��
%�&����
)�*��a�<��.�/���#��*�*�2�9�9�h�
�N�O�
P�%���T�H�_�%�&��%�&�%���T�H�_�%�&��(�)��$�%��S�	��W�
�	.��129��	���"�T�)�� ����)�G�A��K���%�%�!��!�130��/�/�(�k�1�-=�"=�w�G�C����S�!��!�!�'�[�!�,<�"<�=�*��I�I�	��I�&�&�$�t�+�G��&�&�z�7�;�C����Q��$����I��K�&�K��J��!�Y�Y�y�1�N�+�5�v�N�7:�D�7E�"G���	� 4� 4�5G� H�J�K���I���[�!�!�Y�Y�~�6�N��k�4��H�I���'�(���I��d�D�A�B��X�����g6��Bs�"Y3�=Y8c131��UR(a#UR(dURX5 gURUR	5n[UR5nUR(a[nO US:Xa[nOUS:Xa[nO[nURSR[USU-[XS5SU-S95 g)Nrrr�z132_cffi_f_%sz133_cffi_d_%s)r)r�r��_generate_cpy_constant_ctxr�r�r9r��OP_DLOPEN_FUNC�OP_CPYTHON_BLTN_N�OP_CPYTHON_BLTN_O�OP_CPYTHON_BLTN_Vr�r�r
r�)rr�rrNr��	meth_kinds      r�_generate_cpy_function_ctx�%Recompiler._generate_cpy_function_ctx;s���
�;�;�t�4�4��+�+�B�5���_�_�R�%7�%7�%9�:�134��b�g�g�,��� � �&�I�
��\�)�I�
��\�)�I�)�I��135�136�8��#�#��t�\�D�0��i�4�(�4�/�
1�	2rc��[U[R5(adURnUS:XaUR	S5nSU<SU<S3nURUSU-UR5n[R"Xd5nU$)N�...rz_cffi_array_len(((�)0)->rZ�%s[0])r�rrjr�rRr�r:)r�	tp_struct�137field_name�tp_field�
actual_length�ptr_struct_name�tp_items       rr��Recompiler._field_typeQss���h����0�0�$�O�O�M���%�"+�"6�"6�s�";��#�Z�!1�
��&�&�y�'�J�2F�'/�}�}�6�G����w�>�H��rc��URU5 UR(a)UR5HnURU5 M ggr)r�r��anonymous_struct_fields�_struct_collecttype)rr��fldtypes   rr��Recompiler._struct_collecttype]s?�����b�!�� � ��5�5�7���(�(��1�8�!rc138�H�URcgURnSU<3nU"S5 U"SU<SU<S35 U"S5 U"S5 U"S5 URU5H�upgp�UR5(dUS	:�aUS139:waU"SU<SU<S
U<S35 M?[	U[140R5(anURbURS:XaQURnUS-n[	U[141R5(a!URcM?URS:XaMQU"SURSSU-U	S9<SU<S35 M� U"S5 U"SU<SU<S35 U"5 g![a n142U"S[U1435-5 Sn144A145GM9Sn146A147ff=f)N�_cffi_checkfld_�_CFFI_UNUSED_FNzstatic void r7z *p)rz8  /* only to generate compile-time warnings or errors */z148  (void)p;rr@z
  (void)((p->z) | 0);  /* check that 'rz' is an integer */r�z[0]r�z*tmpzfield %r�r�z = &p->z; (void)tmp; }z149  /* %s */rzstruct _cffi_align_z { char x; z y; };)r�r�r�rPr�rrjr�r:rRrr�)rr�r[r�r.�
checkfuncname�fname�ftyper3�fqualr�s           r�_struct_decl�Recompiler._struct_decldsr��
�;�;����z�z��/9�;�
��
���
�u�
=�>��S�	��
G�H��\��-1�->�->�r�-B�)�E�(�
,��(�(�*�*�h�!�m���{��05�u�e�E�F��"�%����9�9�!�L�L�0�E�L�L�E�4I�!�J�J�E�!�E�M�E�"�%����9�9�!�L�L�0�E�L�L�E�4I���$�$�V�Z��-=�U�$�K����.C�(	
�S�	��:�u�
M�N����	%�
,��\�C��F�*�+�+��
,�s+�*6E7�"A9E7�E7�/#E7�7150F!�F�F!Nc��URUnSn/n[U[R5(aUR	S5 UR151cUR	S5 SnXRRR;a�Ub#X@RRR;a�UR152cOAUR(d[UR55(aOUR	S5 UR(a>URS:�a[U<SUR<S35eUR	S5 OUR	S	5 S153nSRU5=(d Sn/nUGc�[UR!U55n	U	GH#up�p�UR#XU5nUR%US
UR&<SU154<S35 [(nUS:�a[*nSU-nO[Ub,[U[R,5(aUR.cSnO)SUcUR1S5OUR&<SU155<S3nUbUS:�aSnO3UbSUR&<SU156<S3nOSUR1S5<SU157<S3nUR	[3U158UX�[5X�RU555 GM& [7UR8S5nUR8SR;U5 UcSnSnS nO0UbS!UR&<S"3nS#nOS$U<S3nS%U<S&3nSnOSnS'nS'nUnUR8S(R	[=UR&XWUUUUU55 UR>RAU5 g))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 'rrBrz
%d /* bits */z159(size_t)-1z	sizeof(((rr�rZz(size_t)(((char *)&((z)4096)->z) - (char *)4096)z	offsetof(r@rr�z160(size_t)-2������unnamedz	sizeof(*(z)0)z-1 /* unknown alignment */zsizeof(zoffsetof(struct _cffi_align_z, y)rr�)!r�r�r�	UnionTyper�r�r�r�r��partial�anyr��packedr=r]r8r�r��_check_not_opaquerrDrErjr�rRr.r�r9r��extendrKr�r`)rr�r[r�r�rN�reason_for_not_expandingrOrSr��fldnamer�r3r�rCr�offsetrR�alignrQs                    rr��Recompiler._struct_ctx�s-���_�_�R�(�161�#'� ����b�%�/�/�*�*��L�L��)�
�;�;���L�L�)�*�'/�$��h�h�&�&�=�=�=��"��(�(�"2�"2�"I�"I�I��{�{�"�����s�2�#=�#=�#?�@�@�����3�4��y�y��9�9�q�=�-��R�Y�Y�(�)�)�162���-�.���L�L�+�,�'1�$������&�3����#�+��d�/�/��3�4�J�5?�1��(��*�*�2��@���&�&�w�:<�'�'�7�'K�M����q�=�$�B�*�X�5�D��]�"�7�E�O�O�<�<����.�'�D��/8�.?��
�
�c�*�09���?��!�D��=�H��M�)�F��*�!����1�F�+�46�=�=��3D�g�N�F�����g�v�t�$�R����)A�B�D�E�36@�8!$�D�J�J�w�$7� 8���J�J�w��&�&�x�0��}�#����#���(�/8�~�~�?�D�8�E�)�,1�2�D�DN�P�E����D��E� "��.�G��163�164�>�"�)�)��B�G�G�Z��e�W�-�x�
9�	:�	
� � �$�$�R�(rc��[U[R5(a-URn[U[R5(aM-[U[R5(aUR165c[
SU-5egg)Nz0%s is of an opaque type (not declared in cdef()))r�rrjr:r�r�rl)rr��locations   rr��Recompiler._check_not_opaque�sk����U�_�_�-�-����B���U�_�_�-�-��b�%�-�-�.�.�2�;�;�3F��B�X�M�O�
O�4G�.rc�6�[URR55nURSS9 UH�up#X R;dMUR166(a[
SU<S35eURRS5(a2URSSR5(aURSSnODURS:Xa%URS:XaSnURUS5 O[
SU<35eURUSU5 M� g)	Nc��US$)Nrr,)�tp_orders rr��7Recompiler._add_missing_struct_unions.<locals>.<lambda>�s��h�q�krr�zinternal inconsistency: z* is partial but was not seen at this point�$r�_IO_FILE�FILE)
r8r�r�r�r�r�r=r�167startswith�isdigit�	forcenamer~r�)rr�r��orderr�s     rr��%Recompiler._add_missing_struct_unions�s���168�4�&�&�,�,�.�/�����1��2��I�B��1�1�1��:�:�-�>@�/C�D�D��7�7�%�%�c�*�*�r�w�w�q�r�{�/B�/B�/D�/D�!#������J��W�W�169�*�r�|�|�v�/E�!'�J��%�%�b�&�1�-�/1�/4�5�5�� � ��T�:�6�rc�&�URU5 gr)r�rss   r� _generate_cpy_struct_collecttype�+Recompiler._generate_cpy_struct_collecttype�s��� � ��$rc�d�URS5nSU;aX"RSS54$USU-4$)Nr@r7r�)rRrS)rr�r[s   r�
_struct_names�Recompiler._struct_names�s:���
�
�b�!���%�<��-�-��S�1�1�1��#��+�%�%rc�H�UR"U/URU5Q76 gr)r�r�rss   r�_generate_cpy_struct_decl�$Recompiler._generate_cpy_struct_decls �����"�6�t�1�1�"�5�6rc�H�UR"U/URU5Q76 gr)r�r�rss   r�_generate_cpy_struct_ctx�#Recompiler._generate_cpy_struct_ctx	s ������5�d�0�0��4�5rc��[U[R5(aURX5 gUR	U5 gr)r�rr��_generate_cpy_enum_collecttyper�rss   r�#_generate_cpy_anonymous_collecttype�.Recompiler._generate_cpy_anonymous_collecttypes/���b�%�.�.�)�)��/�/��9��$�$�R�(rc��[U[R5(aURU5 gUR	XSU-5 g�N�typedef_)r�rr��_generate_cpy_enum_declr�rss   r�_generate_cpy_anonymous_decl�'Recompiler._generate_cpy_anonymous_decls6���b�%�.�.�)�)��(�(��,����b�170�T�(9�:rc��[U[R5(aURX5 gUR	XSU-5 gr)r�rr��	_enum_ctxr�rss   r�_generate_cpy_anonymous_ctx�&Recompiler._generate_cpy_anonymous_ctxs4���b�%�.�.�)�)��N�N�2�$����R�z�D�'8�9rc��XB4UR;a[SU<SU<S35eURRXB45 URnSU<SU<3nU(afU"SU-5 U"S5 U"SU<S	35 U"S171U<SU<S35 Ub!US
:�aSU4-nU"SU<S35 U"S5 U"S5 U"S5 O@UbeU"SU-5 U"S5 U"SUR	S5<SU<S35 U"S5 U"5 g)Nzduplicate declaration of z 'rB�_cffi_r�z$static int %s(unsigned long long *o)rz  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 = r�)r*rr`r�rR)r�is_intrr��categoryrr.�funcnames        r�_generate_cpy_const�Recompiler._generate_cpy_const&s	����t�3�3�3�#�6>��E�G�
G���� � �(�!1�2��z�z��$,�d�3����7�(�B�C���I��4�1�2��:>��F�
G��&���?�"'�;�.�"8�K��[�J�K��]�#������I��&�&�&��*�X�5�6���I��R�]�]�3�%7��>�?���I��rc�x�UR5nU(aUR(aURU5 ggr)rPr�r��rr�rrs    r�"_generate_cpy_constant_collecttype�-Recompiler._generate_cpy_constant_collecttypeDs.���#�#�%����.�.��!�!�"�%�/rc�H�UR5nURX2U5 gr)rPrrs    rr��&Recompiler._generate_cpy_constant_declIs ���#�#�%��� � ��r�2rc�:�UR(d&UR5(a[[S5nO8UR(a[nO[172nURUn[XE5nURSR[USU-U55 g)Nrr��_cffi_const_%s)173r�rPr��OP_CONSTANT_INT�OP_DLOPEN_CONST�OP_CONSTANTr�r�r�r
)rr�rr�174const_kindrNs      rr��%Recompiler._generate_cpy_constant_ctxMsz���$�$��);�);�)=�)=��_�b�1�G��$�$�,�175�(�176�����,�J��Z�4�G��177�178�8��#�#��t�-��4�g�>�	@rc�&�URU5 gr)r�rss   rr�)Recompiler._generate_cpy_enum_collecttype]s�����b�!rc�N�URHnURSU5 M g)NT)�enumeratorsr)rr�r�179enumerators    rr�"Recompiler._generate_cpy_enum_decl`s ���.�.�J��$�$�T�:�6�)rc180���URUn[[S5nUR(aUR	5 [URUR5H0upVURSR[USU-UUS95 M2 Ub"SU;aUR(dSU-nSU-nOhURUR/5n	URRU	5n[[URRU	S55S:5nS	R!UR5n181URS182R[#UR$X7X�55 g)Nrr�r#�rr�z183sizeof(%s)z
((%s)-1) <= 0rrYr�)r�r��OP_ENUMr��check_not_partial�zipr,�184enumvaluesr�r�r
�build_baseinttyper��sizeof�int�castr]rbr)rr�r[rNrr-�	enumvaluerrf�basetprgs           rr�Recompiler._enum_ctxds,���_�_�R�(�185���"�%��� � �� � �"�%(�������%G�!�J��J�J�x� �'�'��:�'7�*�'D�g�'0�2�
3�&H�186���E�!1�$�:O�:O��%�'�D�$�u�,�F��)�)�$�(�(�B�7�F��8�8�?�?�6�*�D���T�X�X�]�]�6�2�6�7�!�;�<�F��8�8�B�N�N�+���187�188�6��!�!��R�W�W�j��A�	Crc�B�URXR55 gr)rr)rss   r�_generate_cpy_enum_ctx�!Recompiler._generate_cpy_enum_ctxys�����r�>�>�+�,rc��grr,rss   r�_generate_cpy_macro_collecttype�*Recompiler._generate_cpy_macro_collecttyper|rc�:�US:XaSnOUnURSX#S9 g)Nr�Tr0)r)rr�rrs    r�_generate_cpy_macro_decl�#Recompiler._generate_cpy_macro_decl�s&��
��;��K��K�� � ��t� �Erc	���US:Xa$UR(a[SU<S35eSnOUn[[S5nURSR[
USU-UUS95 g)Nr�z(cannot use the syntax '...' in '#define z ...' when using the ABI moderr�r#r0)r�rr�r$r�r�r
)rr�rrrs     r�_generate_cpy_macro_ctx�"Recompiler._generate_cpy_macro_ctx�sm��
��;��$�$�'�,0�3�4�4��K��K���"�-���189�190�8��#�#��t�-��4�g�#.�
0�	1rc���[U[R5(aNURnUS:XaSU<S3nUR	UR191SU-5n[R"XC5nU$)Nr�z_cffi_array_len(rZr�)r�rrjr�rrr:)rr��global_namer�r�s     rrr�Recompiler._global_type�sZ���b�%�/�/�*�*��I�I�M���%�9D� F�
��'�'�����;�1F�G�G�����8�B��	rc�D�URURX55 gr)r�rrrss   r�"_generate_cpy_variable_collecttype�-Recompiler._generate_cpy_variable_collecttype�s�����d�/�/��9�:rc�Z�URnURX5n[U[R5(aUR192cURnSnOSnSU<S3nU"SURXPRS9-5 U"S5 U"SU<S	U<S19335 U"S5 U"5 g)Nr@�&z*_cffi_var_r!r�r�rz	  return r7rNr)	r�rrr�rrjr�r:rRr�)rr�rr.�	ampersandrs      r�_generate_cpy_variable_decl�&Recompiler._generate_cpy_variable_decl�s����z�z��
�
�
�r�
(���b�%�/�/�*�*�r�y�y�/@����B��I��I��)-�.���Y����t�3F�3F��G�
G�H��S�	��9�d�
3�4��S�	��rc194���URX5nURUnUR(a[nO[nUR195SR
[USU-[XC555 g)Nr�z_cffi_var_%s)	rrr�r��
OP_GLOBAL_VAR�OP_GLOBAL_VAR_Fr�r�r
r�)rr�rrNrCs     r�_generate_cpy_variable_ctx�%Recompiler._generate_cpy_variable_ctx�sa��
�
�
�r�
(���_�_�R�(�196�� � ��B� �B��197�198�8��#�#��t�^�d�2�F�2�4J�K�	Mrc�h�[U[R5(deURU5 gr)r�rr�r�rss   r�'_generate_cpy_extern_python_collecttype�2Recompiler._generate_cpy_extern_python_collecttype�s)���"�e�3�3�4�4�4�4����b�!rc	��URn[UR[R5(aSnO&SU-nSURRSU5<S3nU"SU-5 U"SUR<SU<S	U<S19935 U"5 /nSU-n[UR5H+up�U	RSU-U5n200URU2015 M- S
RU5nU=(d SnU<SU<S3nURS:XaSU-nSn
[[UR5S-S5nU
"UR5(a[US5n[UR[R5(a;SURRS5UURRS5U4-nU"U<URRU5<35 U"S5 U"SU-5 U"S5 [UR5Hqup�SU-n202[U	[R5(d
U
"U	5(aSU203-n204[R"U	5n	U"SU	RS5US-U2054-5 Ms U"SU-5 [UR[R5(d&U"SURRS5<S35 U"S 5 U"5 U=R S!-
slg)"Nr�r�z(int)sizeof(r@rZz3static struct _cffi_externpy_s _cffi_externpy__%s =rrr8z	, 0, 0 };r�z a%drr�r7�	__stdcallz_cffi_stdcall c�b�[U[R5=(a URS:H$)Nrh)r�rr�rr�s r�may_need_128_bits�9Recompiler._extern_python_decl.<locals>.may_need_128_bits�s(���r�5�#6�#6�7�-��G�G�}�,�
.rrn�z!sizeof(%s) > %d ? sizeof(%s) : %drz
  char a[%s];z  char *p = a;za%drOz  *(%s)(p + %d) = %s;rz,  _cffi_call_python(&_cffi_externpy__%s, p);z  return *(z)p;rr)r�r�r�rr�rRr�r�r�r�r]r�r�r9r�r�r-)rr�r�
tag_and_spacer.�size_of_resultrnr�r�rCr�r�r�r^�	size_of_as               r�_extern_python_decl�Recompiler._extern_python_decl�s����z�z���b�i�i����0�0� �N�$�t�+�G��	�	�$�$�R��1�4�N��
B�T�
I�J�����d�N�4�	5����	�"�T�)�� ����)�G�A��/�/�&�1�*�g�6�C����S�!�*����9�-��'�1�6��)-�~�>��
�6�6�[� �!1�4F�!F��	.���B�G�G��Q���*�	��R�Y�Y�'�'��I�r�*�I��b�i�i��!4�!4�5�5�;��	�	�$�$�R�(�)��	�	�$�$�R�(�)�?5�5�I�	
�}�b�i�i�&:�&:�;M�&N�
O�P��S�	��_�y�
(�)��
�� ����)�G�A��!�)�C��4��!4�!4�5�5�%�d�+�+��C�i���(�(��.���(�D�O�O�C�,@�!�A�#�s�+K�K�L�
*�	
�
;�d�
B�C��"�)�)�U�^�^�4�4��r�y�y�';�';�C�'@�B�C��S�	������a��rc�(�URXS5 g)Nr��rdrss   r� _generate_cpy_extern_python_decl�+Recompiler._generate_cpy_extern_python_decls��� � ��9�5rc�(�URXS5 g)NzCFFI_DLLEXPORT rgrss   r�#_generate_cpy_dllexport_python_decl�.Recompiler._generate_cpy_dllexport_python_decl206s��� � ��+<�=rc�(�URXS5 g)Nr@rgrss   r�'_generate_cpy_extern_python_plus_c_decl�2Recompiler._generate_cpy_extern_python_plus_c_decl
s��� � ��2�.rc�207�UR(a[S5eUR(a[S5eURUn[[U5nURSR[USU-XB55 g)Nz,cannot use 'extern "Python"' in the ABI modez$a vararg function is extern "Python"r�z&_cffi_externpy__%s)208r�rr�r=r�r��OP_EXTERN_PYTHONr�r�r
)rr�rrNrs     r�_generate_cpy_extern_python_ctx�*Recompiler._generate_cpy_extern_python_ctxsu��� � �#�@�B�
B�
�;�;�%�&N�O�O��_�_�R�(�209��)�:�6���210�211�8��#�#��t�2�T�9�7�I�	Krc��URnU"S5 [U[5(dURS5nOUR	S5 UR	S5 UR
S5H�nUn[S5[La[[U5nO[U5SSnU"S	U-R55 S212nUH%n[U5S:�a213U"U5 S214nUSU4--
nM' U"U5 M� g![215a SU-nN�f=f)
Nz=// # NB. this is not a string because of a size limit in MSVCzutf-8�asciis# -*- encoding: utf8 -*-216Tz//rrz// r@�Lz%d,)
r�r��bytes�encode�decode�UnicodeDecodeError�217splitlinesrC�map�ordru�rstripr9)r�sr.�linerQ�printed_line�cs       rr&�)Recompiler._print_string_literal_in_arrays���z�z���
L�M��!�U�#�#�����!�A�
�H�H�W��	2�
�H�H�W���L�L��&�D��G��D�z�U�"��3��~�� ��.��2�.���%�'�/�)�)�+�,��L����|�$��*���&�#%�L������,��	�218
���'��"�	2�-��1�A�	2�s�C9�9D�219Dc�F�[[[5URU'gr)r��OP_PRIMITIVE�	PRIM_VOIDr��rr�r%s   r�_emit_bytecode_VoidType�"Recompiler._emit_bytecode_VoidType=s��!'��i�!@�����rc�d�[URn[[U5URU'gr)�PRIMITIVE_TO_INDEXrr�r�r�)rr�r%rws    r�_emit_bytecode_PrimitiveType�'Recompiler._emit_bytecode_PrimitiveType@s%��'����0�220�!'��j�!A�����rc��SUR<SUR<SUR<S3n[[U5URU'g)Nz_cffi_prim_int(sizeof(z), (221           ((z)-1) | 0 /* check that z' is an integer type */222         ) <= 0)�rr�r�r��rr�r%rs    r�!_emit_bytecode_UnknownIntegerType�,Recompiler._emit_bytecode_UnknownIntegerTypeDs5��$&�7�7�B�G�G�R�W�W�>��"(��a�!8�����rc�|�SUR<SUR<S3n[[U5URU'g)Nz_cffi_prim_float(sizeof(z) *223           (((z6)1) / 2) * 2 /* integer => 0, float => 1 */224         )r�r�s    r�_emit_bytecode_UnknownFloatType�*Recompiler._emit_bytecode_UnknownFloatTypeJs/�� �W�W�b�g�g�/��"(��a�!8�����rc�F�[[URUR5URU'US-
nUR225HjnURUnX$:waN[
U[R5(aURX25 O[[U5URU'US-
nMl [UR5nURb/URS:XaUS-nO[SUR<35e[[U5URU'g)Nrr\rlzabi=)r��OP_FUNCTIONr�r�r�r�r�rr�r�rDr7r�r�r=�OP_FUNCTION_END)rr�r%r��	realindexrOs      r�_emit_bytecode_RawFunctionType�)Recompiler._emit_bytecode_RawFunctionTypePs���!'��T�_�_�R�Y�Y�5O�!P������
��226���7�7�C�����,�I��!��c�5�#6�#6�7�7��5�5�c�A�-3�G�Y�-G�D�O�O�E�*��Q�J�E���B�K�K� ��
�6�6���v�v��$���227��)�b�f�f�*>�?�?�!'���!?�����rc�l�[[URUR5URU'gr)r��228OP_POINTERr�r�r�r�s   r�_emit_bytecode_PointerType�%Recompiler._emit_bytecode_PointerTypecs$��!'�229�D�O�O�B�I�I�4N�!O�����rc�x�UR5n[[URU5URU'gr)r�r�r�r�r�)rr�r%�raws    r�_emit_bytecode_FunctionPtrType�)Recompiler._emit_bytecode_FunctionPtrTypeis.��� � �"��!'�230�D�O�O�C�4H�!I�����rc���URURnURc[[U5UR231U'gURS:Xa)[
S[U5RSS5<S35eUR232US-S:Xde[[U5UR233U'[S[UR55UR234US-'g)Nr�ztype z/*...*/zb badly placed: the '...' array length can only be used on global arrays or on fields of structuresrr�)235r�r:r�r��
OP_OPEN_ARRAYr�rr�rS�OP_ARRAY)rr�r%�236item_indexs    r�_emit_bytecode_ArrayType�#Recompiler._emit_bytecode_ArrayTypems����_�_�R�W�W�-�237�
�9�9��%+�M�:�%F�D�O�O�E�"�
�Y�Y�%�
�#���G�O�O�I�u�5�8�9�
9�238�?�?�5�1�9�-��6�6�6�%+�H�j�%A�D�O�O�E�"�)/��c�"�)�)�n�)E�D�O�O�E�A�I�&rc�\�URUn[[U5URU'gr)r�r��OP_STRUCT_UNIONr�)rr�r%�struct_indexs    r�_emit_bytecode_StructType�$Recompiler._emit_bytecode_StructType{s'���*�*�2�.��!'���!F�����rc�\�URUn[[U5URU'gr)r�r�r1r�)rr�r%�239enum_indexs    r�_emit_bytecode_EnumType�"Recompiler._emit_bytecode_EnumType�s$���[�[��_�240�!'���!<�����r)
r�r�r�r�r*r�r�r�r�r�r�r�r��F)r@r)N�constN)Xr'r(r)r*r-rr�r�r�r�r�r�r�r�rrr�r9r�rDr]rcrUrortrwrzr~r�r�r�r�r�r�r�r�r�r�r��_generate_cpy_union_collecttyper�r�_generate_cpy_union_declr�_generate_cpy_union_ctxr	rrrrr�r�rrrr=r@rCrFrrrLrQrVrY�*_generate_cpy_dllexport_python_collecttype�._generate_cpy_extern_python_plus_c_collecttyperdrhrkrnrr�"_generate_cpy_dllexport_python_ctx�&_generate_cpy_extern_python_plus_c_ctxr&r�r�r�r�r�r��_emit_bytecode_ConstPointerType�_emit_bytecode_NamedPointerTyper�r�r��_emit_bytecode_UnionTyper�r+r,rrr�r�~s����M�%�0�81�t	<�-�&�&H�I�,�>#�2��k�Z"�0�h%�+(�ZK��*�F=�<�
�F�+�&�241`�D2�,242�2� �DT)�lO�7�.%�&F�#�&�7�8��6�6��)�;�:�CJ�(,��<&�2433�@� "�7�C�*-�
�F�1�"�;��.M�"�244.�.�.�4�4 �l6�>�/�	K�&�&�&�,��<A�B�9�9�@�&P�'A�#�&@�#�J�F�G� 9��=rr�)r	c�(^�\rSrSrU4SjrSrU=r$)�NativeIOi�c�x>�[U[5(aURS5n[[U]U5 g)Nru)r��unicoderx�superr�r�)rrr�s  �rr��NativeIO.write�s-����!�W�%�%��H�H�W�%���(�D�'��*rr,)r'r(r)r*r�r+�
__classcell__)r�s@rr�r��s
���	+�	+rr�c��[US5$)Nr�)�hasattr)�	maybefiles r�
_is_file_liker��s���9�g�&�&rc�P�U(a[SU<35 [XUSLS9nUR5 UR5 [	U5(aURX25 g[
5nURXb5 UR5n[US5nUR[U5S-5U:wa[eSSS5 U(a[S5 g!,(df   N!=f![a� SU[R"54-n	[U	S	5nURU5 SSS5 O!,(df   O=f[R"X�5 O<![ a/ [R""U5 [R"X�5 Of=fgf=f)245Nzgenerating )r�Trrz(already up-to-date)Fz%s.~%d�w)�printr�r�r�r�rr��getvaluer�readr9�IOErrorr�getpidr��rename�OSError�unlink)246r�r�r�target_file�verbose�247recompilerr��output�f1�tmp_files248          r�_make_c_or_py_sourcer��sR���
��.�/��C�.6�$�.>�A�J��!�!�#��"�"�$��[�!�!��$�$�[�;���249�A�� � ��-�
�Z�Z�\�F��
�+�s�
#�r��w�w�s�6�{�Q��'�6�1��
�2�$���(�)��$�
#���	��{�B�I�I�K�8�8��
�(�C�
 �B��H�H�V��!�
 �
 ��	-��I�I�h�,���	-��I�I�k�"��I�I�h�,�	-���	�sf�C2�(C!�C2�!250C/�+C2�20F%�"D=�4	F%�=251E	�F%�E&�%F%�&6F�F%�F�F%�$F%c�&�Uce[XX#U5$r�r�)r�r�r�
target_c_filer�s     r�
make_c_sourcer��s"��������(� '�)�)rc��[XSUU5$rr�)r�r��target_py_filer�s    r�make_py_sourcer��s����$�� '�)�)rc��URS5n[R"[RR"U/USSQ765 US==U-
ss'[RR"U/UQ76U4$![252a N<f=f)Nrr)r�r�makedirsrr]r�)�	outputdir�modname�	extension�partss    r�_modname_to_filer��sz���M�M�#��E�
�253���B�G�G�L�L��8�U�3�B�Z�8�9�254�"�I���I�
�7�7�<�<�	�*�E�*�E�1�1���
��
�s�8A;�;255B�Bc�Z�[X5nURXU45 [XU5 U$r)r�r��setattr)�	patchlist�clsr�new_meth�olds     r�_patch_methr��s.��256�#�257�C�
���c��%�&��C�x� ��Jrc�F�[U5Hupn[XU5 M gr)�reversedr�)r�r�r�old_meths    r�_unpatch_methsr��s ��'�	�2���8���8�$� 3rc�^�[RS:XaSSKJn Ub[	XSS5 [RS:XaSSKJn U4Sjn[	XS	U5mgg)258Nrr)�MSVCCompiler�_remove_visual_c_refc��U$rr,)r�
manifest_files  rr��&_patch_for_embedding.<locals>.<lambda>�s��Mr�darwin)�	CCompilerc��>�SUR;aD[UR5UlURRS5nSURU'T"U/UQ70UD6$)Nz-bundlez-dynamiclib)�	linker_sor8r%)rr��kwdsr��old_link_shared_objects    �r�my_link_shared_object�3_patch_for_embedding.<locals>.my_link_shared_object�sV����D�N�N�*�!%�d�n�n�!5����N�N�(�(��3��$1����q�!�)�$�>��>��>�>r�link_shared_object)�sys�platform�cffi._shimmed_dist_utilsr�r�r�)r�r�r�rr�s    @r�_patch_for_embeddingr�s\���259�|�|�w��	:��#��	�1G�A�
C��|�|�x��6�	?�"-�Y�-A�-B�"D�� rc��^�SSKJn TRS5(a>TSSm[RS:XaTS-
mO[RS:XaTS-
mOTS	-
m[XS260U4Sj5 g)Nr)�	build_extz.*r�rz.dllr�z.dylibz.so�get_ext_filenamec�>�T$rr,)r�ext_name�targets  �rr��#_patch_for_target.<locals>.<lambda>�s���vr)rr�endswithrrr�)r�rrs ` r�_patch_for_targetr�sg���2����t���������<�<�7�"��f��F�
�\�\�X�
%��h��F��e�O�F��	�&8�-�/rc�t�[U[5(dURS5nUR(aUR	U5 UGb�U(a[U5(a[
S5eURSLn
U
(aURU5 Uc9[X1U5up^U(aU/U-n[RR"U6nOUnU	cU
(aSU-n	OSn	U(a[R"X�40UD6nOSn[XX%US9nU(a�/n[R "5nU
(a[#U5 U	S:wa[%UU	5 U(a:US:XaSnOSn['U<S	[RR)U5<35 [R*"U5 [R,"SUX�5n[R*"U5 [/U5 U$UU4$Uc[X1S2615unn[1XUUS9nU(aU$SU4$![R*"U5 [/U5 f=f)NruzGWriting to file-like objects is not supported with call_c_compiler=Truez%s.*r)r�rzthe current directory isz setting the current directory tor7z.py)r�r�rx�_windows_unicode�_apply_windows_unicoder�rlr#�_apply_embedding_fixr�rrr]r�
get_extensionr��getcwdrrr��abspath�chdir�compiler�r�)r�r�r�tmpdir�call_c_compiler�c_file�source_extension�extradir�compiler_verboser�debug�uses_ffiplatformr��	embeddingr��262ext_c_file�ext�updatedr��cwd�msg�outputfilenamer�s                       r�	recompiler(�s����k�3�'�'�!�(�(��1��263����"�"�4�(����}�V�4�4��8�9�
9��^�^�4�/�	���$�$�T�*��>�,�V�-=�?�M�F��!�264�U�*�������u�-�J��J��>���+�-������+�+�J�L�t�L�C��C���(�(8�:����I��)�)�+�C�
*��(��3��S�=�%�i��8�#���}�8��@���S�"�'�'�/�/�&�*A�B�C����� �!,�!4�!4�S�#�5E�"N������
��y�)�!�!���<���>�(��e�D�I�F�A� ��6�)9�;����M���=� ������
��y�)�s
�0BH�#H7r�)	rTNz.cNrNNT)$�iorr�	sysconfigr@rr�errorr�cffi_opcoder�r'rTr�version_info�get_config_varr$r
r.rKrbrzr��StringIOr��BytesIOr�r�r�r�r�r�r�rrr(r,rr�<module>r1s!���� �$���������L�L�G�+�.�s�/?�/?�&�/H�.��#�#�v�-�C� �/�/�0A�B�B��1�1� )�)�8#�#�:?�?�0	K�	K�D=�D=�N(���t���{�{�H�+�2�:�:�+�'��>)�265)�2��%�D�./�"GK�;?�59�#�C!r
codekingpro/portable-devtools · Team Ai