7¤0ìrÖùPB¨¢±0333333333ê`ä>Ð–R!)‹˜î/ÄÀjÄYò�ÿÇ¾y9ªZGCøÚ±[FÌZ3Ù…0³  ‹âh0 •Ž«`À�¥™”Fi,rFQ1ÆcŒAçF    T6†©u"                   p), PyDateTimeAPI->Timt(PyDateTime_CAPSULE_NAME, 0)

/* Macro for accessetime_CAPI"


/* This block is only used as part oject*);
    PyObject *(*TimeZone_FromTimeZone)(PyOLTA_GET_SECONDS(o)      (((PyDateTime_Delta*)(o))-e_Time*)(o))->data[3] << 16) |           \
     ((Time_TIME_GET_MINUTE(o)      (((PyDateTime_Time*)(e_DATE_GET_MICROSECOND(o)              \
    ((((P            ((PyDateTime_Date*)(o))->data[1])
#defed char data[_PyDateTime_DATETIME_DATASIZE];

type       /* hastzinfo true */


/* All datetime obje * in two ways, with or without a tzinfo member.  ZInfo;


/* The datetime and time types have hashcconds < 1000000 is invariant */
} PyDateTime_Delta bytes for hour, minute, second, and usecond. */
#trnicmp
#define PyOS_stricmp PyOS_mystricmp
#endif */
#ifndef Py_STRCMP_H
#define Py_STRCMP_H

#ifdeFUNC(int) PyUnicodeEncodeError_SetReason(
    PPy_ssize_t);

/* get the value of the reason attri/
PyAPI_FUNC(int) PyUnicodeEncodeError_SetEnd(PyObribute
   return 0 on success, -1 on failure */
Pyg(PyObject *);

/* get the object attribute */
PyAt,
    Py_ssize_t end,
    const char *reason      PyErr_SyntaxLocation(
    const char *filename,  aisable(PyObject *);


/* In signalmodule.c */
PyAhe old API with a call to the new API for code comdowsErrWithFilenameObjects(
    PyObject *,int, Py_SetFromWindowsErrWithFilename(
    int ierr,
    ct *) PyErr_Format(
    PyObject *exception,
    cyExc_ImportWarning;
PyAPI_DATA(PyObject *) PyExc_U_SyntaxWarning;
PyAPI_DATA(PyObject *) PyExc_Runtir;
PyAPI_DATA(PyObject *) PyExc_IsADirectoryError;000
PyAPI_DATA(PyObject *) PyExc_BlockingIOError;
nceError;
PyAPI_DATA(PyObject *) PyExc_SystemErrorAPI_DATA(PyObject *) PyExc_KeyboardInterrupt;
PyAPeration;
PyAPI_DATA(PyObject *) PyExc_GeneratorExixc_BaseExceptionGroup)

/* Predefined exceptions *ss(Py_TYPE(x), Py_TPFLAGS_BASE_EXC_SUBCLASS)

PyAPt *);
PyAPI_FUNC(void) PyException_SetContext(PyObbject**, PyObject**);

/* Traceback manipulation (I_FUNC(PyObject*) PyErr_GetHandledException(void);finitions */

PyAPI_FUNC(void) PyErr_SetNone(PyObjT_H */
#ifndef Py_ERRORS_H
#define Py_ERRORS_H
#ifozenSet_Check(ob) \
    (Py_IS_TYPE((ob), &PyFroze *anyset);

#define PyFrozenSet_CheckExact(ob) Py__CPYTHON_IMPORT_H
#  include "cpython/import.h"
# port_ImportModuleLevel((n), (g), (l), (f), 0)

PyA
    PyObject *fromlist,
    int level
    );
#if mport_ImportModuleNoBlock(
    const char *name   t *co,
    PyObject *pathname,
    PyObject *cpathject *) PyImport_ExecCodeModuleWithPathnames(
    Py_INTRCHECK_H */
/* Module definition and import PyAPI_FUNC(int) PyOS_InterruptOccurred(void);
#ifdPYTHON_UNICODEOBJECT_H
#  include "cpython/unicode Argument tuple or dictionary */
    );

/* Checksed
   - Py_True or Py_False for successful comparistring as
   ISO-8859-1 if it contains non-ASCII cCompare two strings and return -1, 0, 1 for less t PyObject *substr,           /* Substring to count         /* Stop index */
    int direction       iven search direction or -1 if not found. -2 is re str[start:end] at the given tail end, 0
   otherwctionaries or sequences. Unmapped character
   ord    /* Maxsplit count */
    );

/* Translate a st NULL, splitting will be done at all whitespace
  yObject *s,                /* String to split */
 parator.

   At most maxsplit splits will be done.void) PyUnicode_Append(
    PyObject **pleft,     
/* Concat two strings and put the result in *plefndSize(
    const char *s,               /* encodehandler.

   If the string length is known, use PyReturn a bytes object. The string
   cannot contaiead of being decoded. *str* must end with a null chandler (PEP 383) to escape undecodable bytes. If t code_page,              /* code page number */
 PyObject*) PyUnicode_DecodeCodePageStateful(
    ing */
    );

/* --- MBCS codecs for Windows -----are treated as "undefined mapping" and cause an erppings must map Unicode ordinal integers to bytes --

   This codec uses mappings to encode and deco-----------------------

   Only 7-bit ASCII data   /* Unicode object */
    );

/* --- Latin-1 Codeonst char *string,         /* Unicode-Escape encodusing the UTF-16 encoding in native byte
   order.    /* error handling */
    int *byteorder       re checked for a
   BOM mark. If found, the BOM ma error handling. It defaults
   to "strict".

   Ider == 0:  native byte order (writes a BOM mark)
 order,             /* pointer to byteorder to use
NULL, the codec starts in native order mode.

*/

der == -1: little endian
    *byteorder == 0:  nath bytes from a UTF-32 encoded buffer string and reoding (UTF-8) of the
   Unicode object unicode and-- */

PyAPI_FUNC(PyObject*) PyUnicode_DecodeUTF8(deUTF7(
    const char *string,         /* UTF-7 eUnicode_BuildEncodingMap(
    PyObject* string    ode() to encode with rot13 and non-standard codecscodings (except rot13) encode str to bytes.
   UseyAPI_FUNC(PyObject*) PyUnicode_AsDecodedUnicode(
    Use PyCodec_Decode() to decode with rot13 and ng the encoded string s of the
   given size. */

Pg is set by errors which may also be set to NULL
 10000). A ValueError is
   raised in case it is noize is undefined and raises a
   MemoryError. */

d (excluding a
   possibly trailing 0-termination yUnicode_FromWideChar(
    const wchar_t *w,      om the wchar_t buffer w of the given
   size.

   nsible
   for decref'ing the returned objects.

*/eturns NULL in case of an error. The caller is restouched.

   WARNING: The function doesn't check snted as follows: an exception is set, -1
   is retnot be shared, and must not have been hashed yet.
e string into a UCS4 buffer. A new buffer is alloc_ssize_t start,
    Py_ssize_t end);
#endif

#if ! */

/* Similar to PyUnicode_FromUnicode(), but u ACTER ((Py_UCS4) 0xFFFD)

/* === Public API ====== Py_UCS2 are typedefs for the respective
   unicod */
/* #define HAVE_USABLE_WCHAR_T */

/* If the c_UNICODE

#ifndef SIZEOF_WCHAR_T
#error Must defin * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIEStising or publicity pertaining to
 * distribution undh
 *
 * By obtaining, using, and/or copying thi).

Copyright (c) Corporation for National Researctation based on original code by Fredrik Lundh,
mo two
// header files.

#ifndef Py_PYTYPEDEFS_H
#de PyBUF_RECORDS_RO (PyBUF_STRIDES | PyBUF_FORMAT)

 PyBUF_FORMAT 0x0004
#define PyBUF_ND 0x0008
#defi64

/* Flags for getting buffers. Keep these in syy of
   "unsigned bytes" of the given length.

   *view, char fort);

/*Fill the strides array with rst dimension varies the fastest).  If
   fort is e_t len, char order);

/* Copy len bytes of data ftemsize of the data-format area from a
   struct-sll.  It checks
   to make sure object has the requ      pointed to by strides in simple case.*/
    ========
 * Limited API and stable ABI since Pytho Frame object interface */

#ifndef Py_FRAMEOBJECTPE((self), &PyByteArray_Type)

/* Direct API funct bytes.
 * The Python API is that of a sequence;
 #  endif /* uint64_t && uint32_t && aligned */
#en* are available on all platforms and architectures 32 bit platforms
 * should use a smaller cutoff b_t hashsalt;
    } expat;
} _Py_HashSecret_t;
PyAP a different (!) Py_hash_t for small string optimifnv -- two Py_hash_t
 *   k0k0k0k0 k1k1k1k1 ......memory layout on 64 bit systems
 *   cccccccc ccccPrime multiplier used in string and various other n/methodobject.h"
#  undef Py_CPYTHON_METHODOBJECT#ifdef STACKLESS
#  define METH_STACKLESS 0x0100
#s.  These cannot be used for
   functions in modul
/* METH_CLASS and METH_STATIC are a little differ(ML, SELF, MOD) PyCMethod_New((ML), (SELF), (MOD),The C function that implements it */
    int      efined behavior when Python calls it with 2 parameince the second parameter is unused, Py_UNUSED() cETH_O
// calling conventions).
//
// The macro can(op), &PyCFunction_Type)
#define PyCFunction_Check',
   not Python methods in user-defined classes. fer to be
   0-terminated (passing a string with e
PyAPI_FUNC(void) PyBytes_Concat(PyObject **, PyObt *) PyBytes_FromFormatV(const char*, va_list)
   per type.
There is a variant that takes an explicigs with null bytes in them can be represented.  Th  28      /* Interactive mode stopped tokenizationDEDENT         21      /* No matching outer block No error */
#define E_EOF            11      /* Eneter.  This is necessary so we can turn them into clude "descrobject.h"
#include "genericaliasobjectclude "cpython/classobject.h"
#include "fileobjectude "pystate.h"
#include "pyerrors.h"
#include "lo. They are excluded from the
// limited C API of PPython header files included by <Python.h>.

#ifndine _PyIsSelectable_fd(FD) ((unsigned int)(FD) < (eck if a file descriptor can be select()-ed. */
#iystem APIs
   If non-NULL, this is different than  left of it -- see io.py) */

#ifndef Py_FILEOBJECnplace_matrix_multiply 76
#define Py_am_await 77
#e Py_tp_iternext 63
#define Py_tp_methods 64
#define Py_sq_ass_item 39
#define Py_sq_concat 40
#defiace_subtract 23
#define Py_nb_inplace_true_divide file; these numbers are part of the stable ABI. */fine the macros needed if on a UnixWare 7.x systemef clock_t */

/* Define to empty if `const' does  on WASI */
/* #undef _WASI_EMULATED_SIGNAL */

/*FRAMEWORK ""

/* Define to force use of thread-saf* Define on OpenBSD to activate all library featurne WORDS_BIGENDIAN 1
# endif
#else
# ifndef WORDS_hapsody framework (shared
   library plus accessortine-local rather
   than a thread-local context * field _flags. */
/* #undef WINDOW_HAS_FLAGS */

/C TR 24731-2:2010.  */
#ifndef __STDC_WANT_LIB_EXT__
# define __STDC_WANT_IEC_60559_BFP_EXT__ 1
#endnsions on NetBSD.
   Oddly enough, this does nothi compliant socket functions that do not require linsions on Solaris.  */
#ifndef __EXTENSIONS__
# deD_STACK_SIZE */

/* Library needed by timemodule.c SIZEOF_UINTPTR_T 8

/* The size of `void *', as cIZEOF_PTHREAD_KEY_T 4

/* The size of `pthread_t',nd the sign bit when i < 0 */
/* #undef SIGNED_RIGdefine RETSIGTYPE void

/* Define if setpgrp() musV: 2,
   SipHash13: 3, externally defined: 0 */
/*ine PY_SSL_DEFAULT_CIPHERS 1

/* Cipher suite stri
/* Defined if PTHREAD_SCOPE_SYSTEM supported. */
GE_STRING */

/* Define to the one symbol short na
#define MVWDELCH_IS_EXPRESSION 1

/* Define to thtually switches the local timezone in a meaningfuls a wchar.h header file. */
#define HAVE_WCHAR_H 1E_UUID_ENC_BE */

/* Define if uuid_generate_time_UTIMES 1

/* Define to 1 if you have the <utime.h>ou have a useable wchar_t type defined in wchar.h;m_zone' but do have the external array
   `tzname' the `tmpfile' function. */
#define HAVE_TMPFILE 1MPNAM 1

/* Define to 1 if you have the <termios.h 1

/* Define to 1 if you have the <sys/time.h> he/

/* Define to 1 if you have the <sys/termio.h> h

/* Define to 1 if you have the <sys/select.h> heefines `DIR'.
   */
/* #undef HAVE_SYS_NDIR_H */

h> header file. */
/* #undef HAVE_SYS_MEMFD_H */

/* Define to 1 if you have the <sys/loadavg.h> hea header file. */
/* #undef HAVE_SYS_DEVPOLL_H */

E_SYSCONF 1

/* Define to 1 if you have the <sysexve the `sync' function. */
#define HAVE_SYNC 1

/*BIRTHTIME */

/* Define to 1 if `st_blksize' is a _PASSWD_PW_GECOS 1

/* Define to 1 if `pw_passwd' e. */
#define HAVE_STDLIB_H 1

/* Has stdatomic.h ler provides ssize_t */
#define HAVE_SSIZE_T 1

/*as sa_len member */
/* #undef HAVE_SOCKADDR_SA_LENsigtimedwait' function. */
#define HAVE_SIGTIMEDWAthe `sigaltstack' function. */
#define HAVE_SIGALTthe `setsid' function. */
#define HAVE_SETSID 1

/he `setregid' function. */
#define HAVE_SETREGID 1etitimer' function. */
#define HAVE_SETITIMER 1

/HAVE_SENDFILE 1

/* Define if you have the 'sendtoM_TIMEDWAIT 1

/* Define to 1 if you have the `semo 1 if you have the `sched_get_priority_max' functne if you have rl_completion_suppress_append */
/* #undef HAVE_RL_COMPLETION_APPEND_CHARACTER */

/*you have the <readline/readline.h> he the `pwritev' function. */
#define HAVE_PWRITEV 1AD_CONDATTR_SETCLOCK 1

/* Defined for Solaris 2.6 the `preadv' function. */
#define HAVE_PREADV 1

/* Define to 1 if you have the `posix_spawnp' functhe `pipe2' function. */
#define HAVE_PIPE2 1

/* def HAVE_NON_UNICODE_WCHAR_T_REPRESENTATION */

/*eader file. */
#define HAVE_NETPACKET_PACKET_H 1

 `nanosleep' function. */
#define HAVE_NANOSLEEP 1the `mknodat' function. */
#define HAVE_MKNODAT 1
MBRTOWC 1

/* Define if you have the 'memfd_createAVE_LOGIN_TTY 1

/* Define to 1 if the system has he 'listen' function. */
#define HAVE_LISTEN 1

/*> header file. */
#define HAVE_LINUX_RANDOM_H 1

/* Define if compiling using Linux 3.6 or later. */ve the 'link' function. */
#define HAVE_LINK 1

/* if you have the `resolv' library (-lresolv). */
/e the `dl' library (-ldl). */
#define HAVE_LIBDL 1LANGINFO_H 1

/* Defined to enable large file suppave the `kill' function. */
#define HAVE_KILL 1

/he <ieeefp.h> header file. */
/* #undef HAVE_IEEEF  bcopy. */
/* #undef HAVE_GLIBC_MEMMOVE_BUG */

/rvbyport' function. */
#define HAVE_GETSERVBYPORT etresgid' function. */
#define HAVE_GETRESGID 1

/riority' function. */
#define HAVE_GETPRIORITY 1

ERNAME 1

/* Define to 1 if you have the `getpgid'_r(). */
#define HAVE_GETHOSTBYNAME_R_6_ARG 1

/* E_R 1

/* Define this if you have the 3-arg versiohe `getgrnam_r' function. */
#define HAVE_GETGRNAMgdbm.h> header file. */
/* #undef HAVE_GDBM_H */

an use gcc inline assembler to get and set mc68881 the `futimens' function. */
#define HAVE_FUTIMENS the `fseek64' function. */
/* #undef HAVE_FSEEK64 the `fork1' function. */
/* #undef HAVE_FORK1 */
 function. */
#define HAVE_FFI_CLOSURE_ALLOC 1

/*he `fchmod' function. */
#define HAVE_FCHMOD 1

/*o' function. */
#define HAVE_EXPLICIT_BZERO 1

/* e the `erfc' function. */
#define HAVE_ERFC 1

/*  have the '_dyld_shared_cache_contains_path' functucture has a d_type field */
#define HAVE_DIRENT_D device macros. */
#define HAVE_DEVICE_MACROS 1

/you
   don't. */
#define HAVE_DECL_RTLD_LOCAL 1

/don't. */
#define HAVE_DECL_RTLD_DEEPBIND 0

/* DeCURSES_IS_PAD 1

/* Define if you have the 'is_terhe 'ctermid_r' function. */
/* #undef HAVE_CTERMIDf HAVE_CONIO_H */

/* Define if you have the 'connmputed gotos. */
#define HAVE_COMPUTED_GOTOS 1

/*e the `chown' function. */
#define HAVE_CHOWN 1

/if the Posix semaphores do not work on your systemhe new priority. */
#define HAVE_BROKEN_NICE 1

/*ne to 1 if you have the <bluetooth/bluetooth.h> heemory access is required */
/* #undef HAVE_ALIGNEDas getpgrp(0). */
/* #undef GETPGRP_HAVE_ARG */

/fine if C doubles are 64-bit IEEE 754 binary forma

/* The normal alignment of `long', in bytes. */
/* pyconfig.h.in.  Generated from configure.ac by *value);

/* isinstance(object, typeorclass) */
Py  where each item is a tuple containing a key-valuMapping_HasKey(PyObject *o, PyObject *key);

/* Onif the mapping object 'o' has the key 'key',
   antring(O, K) PyObject_DelItemString((O), (K))

/* Iy_ssize_t count);


/* === Mapping protocol ======ence 'o' by 'count', in-place when possible. Retur some of the above Sequence functions --- */

/* A 1, otherwise return 0. On error, return -1.

   T         : ((PyTupleObject *)(sf))->ob_item)

/* Rce 'o', assuming that 'o' was returned by
   PySeqequence_Fast_GET_ITEM to access the members of thi the sequence 'o' as a list on success, and NULL oySequence_DelItem(PyObject *o, Py_ssize_t i);

/* size_t i1, Py_ssize_t i2);

/* Assign object 'v' tult of repeating sequence object 'o' 'count' timesL compatibility */
#undef PySequence_Length
PyAPI_ 0b, 0o or 0x prefixed if applicable.

   If n is /
PyAPI_FUNC(PyObject *) PyNumber_InPlaceAnd(PyObj*/
PyAPI_FUNC(PyObject *) PyNumber_InPlaceLshift(Pbject *o3);

/* Returns the result of left shiftin equivalent of the Python expression: o1 /= o2. */ult of dividing o1 by o2 giving an integral resultAPI_FUNC(PyObject *) PyNumber_InPlaceMultiply(PyObf (some of) the above number protocol functions --type to return.  If it is NULL, then the
   overflject 'o' converted to a Python int, or NULL with a Returns the result of bitwise or on o1 and o2 on 2. */
PyAPI_FUNC(PyObject *) PyNumber_Rshift(PyObj;

/* Returns the positive of o on sucn: pow(o1, o2, o3),
   where o3 is optional. */
Pyo2. */
PyAPI_FUNC(PyObject *) PyNumber_TrueDivide(
PyAPI_FUNC(PyObject *) PyNumber_FloorDivide(PyObjeturns the result of subtracting o2 from o1, or NUyielded value. */
PyAPI_FUNC(PySendResult) PyIter_
   - PYGEN_ERROR (-1) if exception was raised.
  turning the next value.

   If the iterator is exhor for it.
   This is typically a new iterator butult of calling
   obj.__format__(format_spec). */
y set in case no error
   occurs. Otherwise, -1 isory
   location which can contain arbitrary data.
uccess.  buffer and buffer_len are only set in cas must support the (character, single segment)
   bng for the object 'key' from the object 'o'.
   Reobject 'key' to the value 'v' into 'o'.

   Raise sequence size is returned.

   On error, -1 is retject, o, is considered to be true, 0 if o is
   coargs[0] with arguments in args[1..nargsf-1]. */
Py *callable, PyObject *tuple, PyObject *dict);

#if inline
 * function in cpython/abstract.h)
 */
PyA     ...);

/* Call the method named 'name' of objth a variable number of C
   arguments. The C argurovided.

   Returns the result of the call on sucre described by a mkvalue format string.

   The f The format may be NULL, indicating that no argumeCall a callable Python object 'callable', with arge 'args' and keywords arguments given by the dictiy the str() and print() built-in functions. */


/ct *PyObject_Repr(PyObject *o);

   Compute the stmented as a macro:

   int PyObject_DelAttrString(r_name, for object 'o',
   to the value 'v'. Raisethe Python expression: hasattr(o,attr_name).

   Ttrieve an attributed named attr_name form object ons 1 if object 'o' has the attribute attr_name, anhanks to Jim Fulton) */

#ifndef Py_ABSTRACTOBJECTLL for expat < 2.7.2 */
    XML_Bool (*SetAllocTrar start);
    enum XML_Status (*SetEncoding)(XML_Parser parser, XML_StartNamespaceDeclHandler start,rDataHandler handler);
    void (*SetCommentHandleode)(XML_Parser parser);
    XML_Size (*GetErrorCoe! */

#define PyExpat_CAPI_MAGIC  "pyexpat.expat_*) PyMemoryView_GetContiguous(PyObject *base,
    /* !Py_DTRACE_H */
/* Memory view object. In Pythotatic inline int PyDTrace_INSTANCE_NEW_DONE_ENABLEyDTrace_AUDIT(const char *arg0, void *arg1) {}

stonst char *arg0, const char *arg1, int arg2) {}
stDTrace_FUNCTION_ENTRY(f);
*/

#else

/* Without DTobes.h"

/* pydtrace_probes.h, on systems with DTrdefine PyWeakref_CheckProxy(op) \
        (Py_IS_T objects for Python. */

#ifndef Py_WEAKREFOBJECT_AL_SYMBOL
    #endif
#endif

#endif /* Py_EXPORTS_BOL __attribute__ ((visibility ("default")))
     orm way to determine if visibility is supported. Hned(Py_ENABLE_SHARED)
        #define Py_IMPORTED_t *);
PyAPI_FUNC(PyObject *) PyTuple_GetSlice(PyObeady have been exposed to Python code.

*** WARNIN
/*
Another generally useful object type is a tupl;
  freefunc m_free;
};


// Internal C API
#ifdef+0 >= 0x030c0000
#  define Py_mod_multiple_interpr set by _PyImport_FixupExtensionObject(). */
  PyOeterState.modules_by_index for more info.)
     It is only set for legacy (single-phase init) extensLIMITED_API
PyAPI_FUNC(void) _PyModule_Clear(PyObjng */
    );
PyAPI_FUNC(PyObject *) PyModule_GetDi/sysmodule.h"
#  undef Py_CPYTHON_SYSMODULE_H
#endPyAPI_FUNC(PyObject *) PySys_GetXOptions(void);

#rintf, 1, 2)));
PyAPI_FUNC(void) PySys_FormatStdous: -L${libdir} 
Cflags: -I${includedir}/python3.12# See: man pkg-config
prefix=/usr
exec_prefix=${prres:
Version: 3.12
Libs.private: -ldl 
Libs: -L${l                              4             GNU) 16.2.0             GNU   À                xœm�1
AEó3ûÃ.èË`!ë9,ìeÁ^,¼„z½†xñ â%ÄÆÌ€VÜWºì	šû’ílš	ŠÜÐ°^äýI¹Ìõ¿ /ªÜ‘–dCeæ~NÇ´u.S-functoolsmodule.o/
symtablemodule.o/
getbuildinfo.ortlib_util _Py_M__importlib_machinery _Py_M__runpeeze_Fini _Py_Deepfreeze_Init _Py_next_func_versio__sitebuiltins_toplevel _Py_get_genericpath_toplevbufferedreader_spec bufferediobase_spec _PyIncremeble _PyIOBase_check_writable rawiobase_spec iobasePyAtExit_Init _PyAtExit_Fini _PyAtExit_Call PyInitate _PyGC_Init PyInit_gc PyGC_Enable PyGC_Disable h_and_size _Py_normpath _Py_wgetcwd _Py_abspath _Pt _Py_wstat _Py_stat _Py_get_inheritable _Py_set_i_with_underscores PyOS_double_to_string _Py_strhexdent _Py_WriteIndentedMargin _Py_DisplaySourceLineThread_release_lock _PyThread_at_fork_reinit PyThrs_SetArgvEx PySys_SetArgv PySys_WriteStdout PySys_OptionUnicode PySys_AddWarnOption PySys_HasWarnOptyST_GetScope _PyST_IsFunctionLike _Py_Mangle _Py_Mime_GetMonotonicClockWithInfo _PyTime_GetPerfCountdsObject _PyTime_AsSecondsDouble _PyTime_AsNanosecx PyErr_Print _PyRun_InteractiveLoopObject PyRun_I_DeleteExceptMain _PyInterpreterState_Clear _PyThrte_GetInterpreterStateUnsafe PyGILState_GetThisThr_GetID PyThreadState_SetAsyncExc _PyThreadState_UnrState_IDIncref _PyInterpreterState_RequiresIDRef Py_NewInterpreter Py_AtExit Py_Exit Py_FdIsInteracget _Py_SetLocaleFromEnv _Py_CoerceLegacyLocale _Pw _PyArena_Free _PyArena_Malloc _PyArena_AddPyObjeoding _Py_HasFileSystemDefaultEncodeErrors Py_FileConfig_GetGlobalModuleSearchPath _Py_path_config _Marshal_WriteLongToFile PyMarshal_ReadShortFromFilgsAsDict Py_UTF8Mode _Py_DumpPathConfig _PyInstrumConfig_Write Py_IsolatedFlag Py_BytesWarningFlag PmEncoding _Py_ClearArgcArgv Py_GetArgcArgv PyConfiPyImport_InitDefaultImportFunc _PyImport_IsDefaultyImport_FixupBuiltin PyImport_ExtendInittab PyImport_ResolveNameWithPackageContext pkgcontext _PyImpwIterKeys _PyHamt_NewIterValues _Py_hashtable_compAcquireLock PyEval_AcquireThread _PyEval_ReInitThrl _PyEval_GetSwitchInterval _PyEval_ThreadsInitialg_VaParseTupleAndKeywordsFast_SizeT PyArg_ValidatePy_FrozenMain _PyFuture_FromAST PyArg_Parse _PyArgyErr_ChainExceptions _PyErr_FormatNote PyErr_NewExring PyErr_Restore PyErr_Clear PyErr_BadArgument P PyErr_Occurred PyErr_GivenExceptionMatches _PyErrype PyContextVar_Type _PyContext_NewHamtForTests Pdec_EncodeText _PyCodec_DecodeText PyCodec_IncremeFuncName PyEval_GetFuncDesc _PyEval_SliceIndex _PyPyEval_GetAsyncGenFinalizer _PyEval_GetFrame PyEvat Py_SetRecursionLimit _Py_CheckRecursiveCall _Py__MatchSequence _PyAST_MatchMapping _PyAST_MatchClaST_Try _PyAST_TryStar _PyAST_Assert _PyAST_Import Def _PyAST_Return _PyAST_Delete _PyAST_Assign _PyApe _PyWeakref_CallableProxyType _PyWeakref_ProxyTycode_IsAlpha _PyUnion_Type _Py_union_type_or _Py_uicode_ClearInterned _PyUnicode_InitEncodings _PyUnFSDecoder PyUnicode_DecodeCharmap PyUnicode_Translde_DecodeUTF32 PyUnicode_DecodeUTF16Stateful PyUniicode_Splitlines _PyUnicode_Equal PyUnicode_Comparcode_AsEncodedString PyUnicode_EncodeFSDefault PyUUTF8Ex _Py_DecodeUTF8_surrogateescape _Py_EncodeUT4 PyUnicode_AsUCS4Copy PyUnicode_AsWideChar PyUnicec typevar_spec typevartuple_spec paramspec_spec p_slot_tp_getattro _Py_slot_tp_getattr_hook _Py_typySuper_Type PyType_GetFlags PyType_SUPPORTS_WEAKRETuple_GetItem PyTuple_SetItem _PyTuple_MaybeUntracice_ConsumeRefs _PySlice_FromIndices PySlice_GetIne PyRangeIter_Type PyRange_Type PyFrozenSet_Type PlAlloc _PyObject_VirtualFree PyMem_RawMalloc PyMem _PyMem_ArenaFree _PyMem_SetDefaultAllocator _PyObGenericSetAttr _PyObject_GenericGetAttrWithDict _PObject_IsTrue PyObject_Not PyCallable_Check _PyObjce_Type _PyNamespace_New _Py_NoneStruct _Py_NotImpitialized PyModule_Create2 PyModule_GetName PyModuault PyDict_MergeFromSeq2 PyODictItems_Type PyODictributes _PyObject_VisitManagedDict _PyObject_CleaPyDictView_New PyDictValues_Type _PyDict_NewKeysFo_Type PyDictRevIterValue_Type PyDictIterItem_Type PyLong_Lshift _PyLong_GCD _PyLong_DivmodNear PyLonLong_AsByteArray PyLong_FromVoidPtr PyLong_AsVoidPyList_GetSlice PyList_SetSlice _PyList_Extend PyLiNewWithQualName _PyFunction_GetVersionForCurrentSthError PyFrame_FastToLocals _PyFrame_LocalsToFast loat_ExactDealloc PyFloat_AsDouble _PyFloat_InitStPyFile_GetLine PyFile_WriteObject PyFile_WriteStriPyExc_StopAsyncIteration PyExc_BaseException _Py_Gr PyExc_FloatingPointError PyExc_ArithmeticError PtState PyExc_BrokenPipeError PyExc_ChildProcessErritTypes _PyExc_InitGlobalObjects _PyExc_InitState eError_SetStart PyUnicodeEncodeError_GetEnd PyUnicr_New PyReversed_Type PyEnum_Type PyExc_TypeError yMethodWrapper_Type PyDictProxy_Type PyProperty_TyewEmpty _PyLineTable_InitAddressRange _PyCode_InityCapsule_GetDestructor PyCapsule_GetContext PyCapsod _PyObject_CallMethodId _PyStack_UnpackDict_FreemFormatV PyBytes_FromFormat _PyBytes_Repeat _Py_Chrray_Concat PyByteArray_Size PyByteArray_AsString __ _Py_index__doc__ _Py_find__doc__ _Py_maketrans_quence_Index PyIter_Send _Py_FreeCharPArray _PySeqbject_LengthHint PyMapping_Length PyMapping_GetItePyNumber_Index PyNumber_AsSsize_t PyNumber_Multiplower _PyNumber_InPlacePowerNoMod PyNumber_Negativeo PyBuffer_Release PyObject_CheckReadBuffer PyObjeng _PyParser_ASTFromFile PyOS_StdioReadline _PyOS_Pegen_joined_str _PyPegen_decoded_constant_from_toyPegen_class_def_decorators _PyPegen_keyword_or_stown_location _PyPegen_raise_error _Pypegen_tokenizahead_with_int _PyPegen_lookahead _PyPegen_expect__gitversion _Py_gitidentifier Py_GetBuildInfo _PyTì@<ì@<ì@<ð,ð•lõ$xúÔû…Hû…Hû…Hþ¢|þ¢|þ¢··········ºøpºøpºø¤…¤…¤…¤…¤…¤…¤…¤…§�,§�,¨!8¨!8¨!œ�Üœ�Üœ�Üœ�Üœ�Üœ�Üœ�Üœ�Üœ�Üœ�Ü¡@˜¡@˜¡@~×~×~×~×~×~×²X²XÉLÉLñññq¤|q¤|q¤|q¤|q¤|q¤|q¤|uqÐuqÐwÞ”wÞ”wÞ”zfVŒpVŒpVŒpVŒp[[�@[�[«H[«H[«H[Ã¬[Ã¬[LÖLÖLÖLÖLÖLÖLÖLÖLÖLÖQUpQUpQU ÐÀ´VÐVÐVÐ�Ôppç´"˜°%Úl%Úl%íƒð íƒð íƒð íƒð íƒð íƒð íƒð ô	œ ô	œ ô	œ ö°( ö°( ö° »uœ »uœ »uœ »uœ »uœ »uœ ÌEH ÌE­&l ­&l ­&l ­&l ­&l ­&l ­&l ­&l ­&l ­&l ²	  ²	  ²	œÚ„ œÚ„ œÚ„ œÚ„ œÚ„ œÚ„ œÚ„ œÚ„ œÚ„  ;   ;   ÇÜ  Ç”g ™û€ ™û€ ™û€ ™û€ ™û€ ™û€ ™û€ ™û€ ™û€ œÚ„ œÚ„ œÚ lhd lhd lhd lhd lhd lhd lhd lhd lhd lhd p"ð p"ð pe! e! e! e! e! e! e! e! e! e! gÚ gÚ gÚE-ˆ E-ˆ E-ˆ E-ˆ E-ˆ E-ˆ E-ˆ E-ˆ E-ˆ E-ˆ JÁ4 JÁ4 JÁ;º  ;º  ;º  ;º  ;º  ;º  ;º  ;º  ;º  ;º  ?^ô ?^ô ?^ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ ˆ  wT  w =$ =$ =$ g¨ g¨ g¨ g¨ g¨ g¨ g¨ ,T ,T  0);
}

extern void _PyStructSequence_FiniBuiltin(quence_NewType(
    PyStructSequence_Desc *desc,
 TERNAL_TIME_H */
#ifndef Py_INTERNAL_STRUCTSEQ_H
#nt _PyPathConfig_ComputeSysPath0(
    const PyWideBuffer *buffer)
{
    Py_CLEAR(buffer->list);
}

#block);
        }
        // the last block
            block = PyList_GET_ITEM(buffer->list, 0);
  ize_t avail_out)
{
    return buffer->allocated - Py_ssize_t
_BlocksOutputBuffer_GetDataSize(_BlocksAndSize(NULL, block_size);
    if (b == NULL) {
  tBuffer_Grow().");
        return -1;
    }

    /ck_size;

    // ensure no gaps in the data
    ifring(PyExc_MemoryError, unable_allocate_msg);
    lock size, then init_size should <= it.

   On sucer->allocated = block_size;
    buffer->max_length assert(buffer->list == NULL);

    // get block socated size (>=0)
   On failure, return -1
*/
stat   9   77.34 MB    +32 MB
    10  109.34 MB   +32 nst Py_ssize_t BUFFER_BLOCK_SIZE[] =
    { 32*KB, uffer_Finish()

   6, Clean up the buffer when an tBuffer_InitWithSize()

   3, If (avail_out == 0),TERNAL_CONTEXT_H */
/*
   _BlocksOutputBuffer is uect *var_cached;
    uint64_t var_cached_tsid;
   LIST > 0
    // List of free PyContext objects
   ferWrapper_Type;

PyObject *
_PySuper_Lookup(PyTypetDict(type) != NULL;
}

PyObject *
_Py_type_getatPyType_Ready() must be called if _PyType_IsReady()tp_flags & Py_TPFLAGS_HEAPTYPE);
    PyHeapTypeObj_. Since that's a static property, it is
   appropsed to store slots with the
   same __name__.  TheObject *tp_weaklist;
} static_builtin_state;

stru_dict can probably be statically allocated,
    //e _PyType_Lookup().
struct type_cache_entry {
    e _Py_MAX_GLOBAL_TYPE_VERSION_TAG (_Py_TYPE_BASE_V
            .fd = -1, \
        }, \
    }


#ifd       faulthandler_thread() is interrupted beforeVE_SIGACTION


#ifdef FAULTHANDLER_USER
struct faucan be handled by the process, and these signals cERNAL_SIGNAL_H
#ifndef Py_INTERNAL_FAULTHANDLER_H
 to HANDLE everywhere "sigint_event" is used. */
       It isn't so we must cast to SOCKET where appensure that PyErr_SetInterrupt is async-signal-safSIG as 32: it doesn't include
   // realtime signaFECYCLE_H */
// Define Py_NSIG constant for signalPyObject*) _PyErr_WriteUnraisableDefaultHook(PyObjterp);

PyAPI_FUNC(void) _PyGC_DumpShutdownStats(Poc_Fini(void);
extern void _PyWarnings_Fini(PyInteint _PySignal_Init(int install_signal_handlers);
ent) _Py_IsLocaleCoercionTarget(const char *ctype_lf

PyAPI_FUNC(void) _Py_ClearStandardStreamEncodin args, kw) \
    (meth)((self), (args), (kw))
#endlineCall(meth, self, args) \
    _PyCFunctionWithKan
 * incompatible type.
 *
 * Bad fpcasts are an t ** _PyObject_ComputedDictPointer(PyObject *);
ext
_PyDictOrValues_IsValues(PyDictOrValues dorv)
{
tValues */
    char *values;
} PyDictOrValues;

ste: assert(_Py_CheckSlotResult(obj, "__getitem__", t
_PyObject_IS_GC(PyObject *obj)
{
    return (PyT end of runtime finalization.
 *
 * If the weaklis path is used.
 * Consequently, static types shoulject *)op)->tp_flags & _Py_TPFLAGS_STATIC_BUILTIN)turned pointer should not be used to change the heerState_FinalizeRefTotal(PyInterpreterState *);
exros to accept any type for the parameter, and to a, next);
    _PyGCHead_SET_PREV(next, prev);
    gct_GC_UnTrack() which accept an object which is
 *     (gc->_gc_prev & _PyGC_PREV_MASK_COLLECTING) =bject_GC_TRACK(
// The preprocessor removes _PyObj(op, size);
}


/* Tell the GC to track this objec= NULL);
    Py_SET_TYPE(op, typeobj);
    if (_Pyrence(PyObject *op);

// Fast inlined version of Py(PyObject *mp, int check_content);

/* Update they_TRACE_REFS
        _Py_ForgetReference(op);
#end _Py_ClearImmortal(PyObject *op)
{
    if (op) {
      assert(PyUnicode_CHECK_INTERNED(op) == SSTATEop->ob_refcnt += n;

    // Although the ref countine _Py_DEC_REFTOTAL(interp) \
    interp->object_d) _Py_NO_RETURN _Py_FatalRefcountErrorFunc(
    cializers in object.h then Extensions without desigAD_INIT to avoid
   designated initializer conflicTERNAL_CORECONFIG_H */
#ifndef Py_INTERNAL_OBJECT_g *config,
    struct pyruntimestate *runtime);
exmpatibility with Python 3.6 and 3.7 */
    _PyConfonfig);
extern PyStatus _PyPreConfig_InitFromPreCoCmdline *cmdline,
    const PyPreConfig *preconfig   /* "-X value" option */
    int isolated;      oid) _Py_get_env_flag(
    int use_environment,
  (PyStatus) _PyArgv_AsWstrList(const _PyArgv *args,{.length = 0, .items = NULL}

#ifndef NDEBUG
PyAPIPyStatus_IS_EXIT(err) \
    ((err)._type == _PyStalse
#  define _PyStatus_GET_FUNC() __func__
#endif tls_entries[PTHREAD_KEYS_MAX];
    } stubs;
#endi   void *value;
};
#endif

struct _pythread_runtimE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC)
// moy that we're running on an ia64 system instead
   ndif


#ifndef _POSIX_THREADS
/* This means pthrea   case 215: \
    case 216: \
    case 217: \
      case 198: \
    case 199: \
    case 200: \
   UP_CLEANUP",
    [SETUP_WITH] = "SETUP_WITH",
    UMENTED_END_FOR",
    [INSTRUMENTED_END_SEND] = "IUNCTION_EX",
    [INSTRUMENTED_JUMP_FORWARD] = "IN6>",
    [INSTRUMENTED_LOAD_SUPER_ATTR] = "INSTRUM = "<198>",
    [199] = "<199>",
    [200] = "<200_INTRINSIC_1",
    [CALL_INTRINSIC_2] = "CALL_INEN",
    [169] = "<169>",
    [170] = "<170>",
   AST] = "STORE_FAST__LOAD_FAST",
    [FORMAT_VALUE]D_CLEAR] = "LOAD_FAST_AND_CLEAR",
    [EXTENDED_ARIF_NONE] = "POP_JUMP_IF_NONE",
    [RAISE_VARARGS]_GLOBAL",
    [IS_OP] = "IS_OP",
    [CONTAINS_OP]BUILD_TUPLE",
    [BUILD_LIST] = "BUILD_LIST",
   EXCEPT] = "POP_EXCEPT",
    [STORE_NAME] = "STORE_D_ATTR_INSTANCE_VALUE",
    [LOAD_ASSERTION_ERROR]YIELD_FROM_ITER",
    [LOAD_ATTR_CLASS] = "LOAD_ATSCR] = "DELETE_SUBSCR",
    [FOR_ITER_LIST] = "FORO_KW_LIST_APPEND] = "CALL_NO_KW_LIST_APPEND",
    CH_SEQUENCE",
    [MATCH_KEYS] = "MATCH_KEYS",
   ASS] = "CALL_BUILTIN_CLASS",
    [GET_LEN] = "GET_ARY_OP_MULTIPLY_INT",
    [UNARY_INVERT] = "UNARY_Y_OP_ADD_FLOAT",
    [BINARY_OP_ADD_INT] = "BINARYSEQUENCE,
    [UNPACK_SEQUENCE_TWO_TUPLE] = UNPACKE_SUBSCR] = STORE_SUBSCR,
    [STORE_SUBSCR_DICT] T_NONE,
    [POP_JUMP_IF_TRUE] = POP_JUMP_IF_TRUE,    [MAP_ADD] = MAP_ADD,
    [MATCH_CLASS] = MATCH= LOAD_FROM_DICT_OR_GLOBALS,
    [LOAD_GLOBAL] = LD_CONST__LOAD_FAST] = LOAD_CONST,
    [LOAD_DEREF] [LOAD_ATTR_GETATTRIBUTE_OVERRIDDEN] = LOAD_ATTR,
ETURN_CONST,
    [INSTRUMENTED_RETURN_VALUE] = INSMENTED_FOR_ITER,
    [INSTRUMENTED_INSTRUCTION] = E] = IMPORT_NAME,
    [INSTRUMENTED_CALL] = INSTRUETE_ATTR,
    [DELETE_DEREF] = DELETE_DEREF,
    [_EG_MATCH] = CHECK_EG_MATCH,
    [CHECK_EXC_MATCH]_FAST_WITH_KEYWORDS] = CALL,
    [CALL_NO_KW_BUILT   [CACHE] = CACHE,
    [CALL] = CALL,
    [CALL_BARY_OP_SUBTRACT_INT] = BINARY_OP,
    [BINARY_SLIC[FOR_ITER] = 1,
    [STORE_ATTR] = 4,
    [LOAD_AT[9];

extern const uint8_t _PyOpcode_Caches[256];
ouble rounding, and we don't have any mechanism avfall back to standard code.  This
// means that reND
#endif


//--- _PY_SHORT_FLOAT_REPR macro -----e ("fmove.l %0,%%fpcr" : : "g" (new_fpcr));\
         __asm__ ("fmove.l %%fpcr,%0" : "=g" (old_fpcr)hile (0)
#define _Py_SET_53BIT_PRECISION_END                       &out_387controlword, NULL);      d
    // We use the __control87_2 function to set le (0)
#endif

// Get and set x87 control word for   if (new_387controlword != old_387controlword) {
    unsigned short old_387controlword, new_387concros:
//
// * _Py_SET_53BIT_PRECISION_HEADER: any t the FPU
// rounding mode is round-half-to-even, o = 0;
    }
}


//--- HAVE_PY_SET_53BIT_PRECISIONtem sets errno to ERANGE, so we check for that tooar errno. (B) If it looks like the
 * platform libsult(s) (_Py_ADJUST_ERANGE2 is useful
 * for funct(bitindex & MASK_LOW_LOG_BITS)) & 1;
    }
    elsE_FAST__STORE_FAST)


#define LOG_BITS_PER_INT 5
#ETURN_VALUE || \
         (opcode) == RETURN_CONST) == JUMP_FORWARD || \
         (opcode) == JUMP_BCODE(opcode) \
        ((opcode) == SETUP_FINALLY DE_UTILS_H
#define Py_INTERNAL_OPCODE_UTILS_H
#ifd);
extern PyObject *_PyTuple_FromArraySteal(PyObjeth its first item
       (ob_item[0]) pointing to  // We are using a freelist for tuples.
#  ifndef yTuple_NFREELISTS 0
#  undef PyTuple_MAXSAVESIZE
#PyTuple_CAST() */


/* runtime lifecycle */

exters = PERF_STATUS_NO_INIT, \
        .extra_code_indpreter can handle signals: see
       _Py_ThreadCaY_HAVE_PERF_TRAMPOLINE
struct code_arena_st;

stru     // Perf trampoline is ready to be executed
} lock;
    /* Request for running pending calls. */p), &Py_GenericAliasType)
extern PyObject *_Py_sub      (uintptr_t)tstate->thread_id);
    }
}

#ifdomic_load_relaxed(&runtime->_finalizing_id);
}

sttate_GetFinalizing(_PyRuntimeState *runtime) {
   untimeState;


/* other API */

PyAPI_DATA(_PyRuntmeState pointer fields are populated when
       nue to use for sys.path[0] in new subinterpreters.
ltiple times.
    Py_OpenCodeHookFunction open_codt tstate. */
    Py_tss_t trashTSSkey;

    PyWidethreads;
    struct _signals_runtime_state signalsID
           indicates an error occurred.  The ma of the runtime.  It is also often the only
      s it directly. */
    _Py_atomic_address _finalizize()? */
    int preinitializing;

    /* Is Pytho void *userData;
} _Py_AuditHookEntry;

/* Full Pysers;
};

/* GIL state */

struct _gilstate_runtimcore_object_state.h"    // struct _py_object_runtih"    // struct _faulthandler_runtime_state
#incluINTERNAL_GC_H */
#ifndef Py_INTERNAL_RUNTIME_H
#de*interp);
extern void _PyList_ClearFreeList(PyInte    int collecting;
    /* list of uncollectable oeration0;
    /* a permanent generation which won'llections;
    /* total number of collected objectch returns
   the CURRENT tracking status of the oll generations),
   the collector will untrack anyction it is determined whether any surviving tuplecollector. Untracking these
   objects reduces thePyGC_Head *gc = _Py_AS_GC(op);
    _PyGCHead_SET_Fd_SET_FINALIZED(PyGC_Head *gc) {
    gc->_gc_prev line void _PyGCHead_SET_NEXT(PyGC_Head *gc, PyGC_Hine _PyGC_PREV_MASK_FINALIZED  (1)
/* Bit 1 is set

/* True if the object may be tracked by the GC iject_GC_IS_TRACKED(PyObject *op) {
    PyGC_Head *    int ncallbacks;
    int callback_len;
};


#ifcallback;

    // XXX The rest of the state could efine NEXITFUNCS 32
    atexit_callbackfunc callba  assert(0 <= _asdl_i && _asdl_i < (S)->size); \
 VALUE((S)->elements[(I)])
#define asdl_seq_GET(S, > (SIZE_MAX / sizeof(void *))))) { \
        PyErr\
{ \
    asdl_ ## NAME ## _seq *seq = NULL; \
   void *typed_elements[1];
} asdl_generic_seq;

typet would be nice if the code generated by asdl_c.py      IS_UNCONDITIONAL_JUMP_OPCODE(last->i_opcode)uction *last = _PyCfg_BasicblockLastInstr(b);
    ock *b);
int _PyCfg_OptimizeCodeUnit(_PyCfgBuildern(_PyCfgBasicblock *block, int pos, _PyCfgInstructby the cold-detection algorithm to mark blocks whi  int b_ialloc;
    /* Used by add_checks_for_loadhe next
       block reached by normal control flojump target, -1 otherwise */
    _PyCfgJumpTargetLcation i_loc;
    struct _PyCfgBasicblock_ *i_targt_CheckSubinterpIncompatibleExtensionAllowed(
    BuiltinModuleNames(void);

struct _module_alias {
bject *module);


extern PyStatus _PyImport_Init(vte *interp,
        const char *loader_name);
exte*interp);
extern void _PyImport_ClearModules(PyInttNextModuleIndex(void);
extern const char * _PyImpnostic info in PyImport_ImportModuleLevelObject() ly in PyState_AddModule(), which is also
       whue of
       a global counter (see _PyRuntimeState this process (i.e. imported
       in this interp_imp.find_extension(). */
        _Py_hashtable_t pe_lock mutex;
        /* The actual cache of (fil       // _PyTime_t


struct _import_runtime_statealizeAllocatedBlocks(PyInterpreterState *);


#ifdloc_global_state {
    int dump_debug_stats;
    Pe
    arena_map_bot_t arena_map_root;
#endif
};

# arena_coverage_t arenas[MAP_BOT_LENGTH];
} arena_ See arena_map_mark_used() for the
 * meaning of tBOT_INDEX(p) ((AS_UINT(p) >> MAP_BOT_SHIFT) & MAP_TS INTERIOR_BITS
#define MAP_TOP_LENGTH (1 << MAP_ers of the radix tree */
#define USE_INTERIOR_NODEe
 * radix tree.  Setting this to zero is the safea
   ----
     64

   64-bit pointers, IGNORE_BITS MAP_MID_BITS
     14 -> MAP_BOT_BITS
     20 -> i_t narenas_currently_allocated;

    /* Total numb-linked, NULL-terminated at each end, list of
    f there is no arena with
nfp free pools in usable_arenas
    that could be freed.

Note that an aren
    allocated arenas first (ascending order baseda(), and are pushed on the head of the list in
   agement.

`arenas` is a vector of arena_objects.  SIZE_CLASSES + 7) / 8) * 8)

struct _obmalloc_poolbe to
minimize the amount of cache required to holers
immediately follow a pool_header's first two m in the maxnextoffset member when a
pool is initiactually needed.

So long as a pool is in the used ol->freeblock points to
the start of a singly-linkempty == all the pool's blocks are currently availt's linked in at the front of the appropriate used_header's nextpool and prevpool members.
    If alt one
    block in the pool is not currently allocved.  For an index i, usedpools[i+i] is the headerine POOL_OVERHEAD   _Py_SIZE_ROUND_UP(sizeof(strucusable_arenas` list, which is maintained in
     *    * arena, the nextarena member is used to link rd keeping for arenas. */
struct arena_object {
  block size class index        */
    uint nextoffstruct pool_header {
    union { pymem_block *_paddfine POOL_SIZE_MASK          (POOL_SIZE - 1)

#if   (1 << ARENA_BITS)
#define ARENA_SIZE_MASK       ocates <Big> blocks of memory (called arenas) aligfine USE_LARGE_ARENAS
#if WITH_PYMALLOC_RADIX_TREESYSTEM_PAGE_SIZE        (4 * 1024)

/*
 * Maximum or most systems.
 * It is probably better if this his value according to your application behaviour ust be 2^N */
#define ALIGNMENT_SHIFT         4
#e=======*/

/*
 * -- Main tunable settings section   64                       7
 *       65-72       ll-sized blocks.
 *
 * For small requests we have  we share dynamically the
 * reserved space betweeator
 * for each size class. Free pools are sharedan SMALL_REQUEST_THRESHOLD bytes are routed to thefor small blocks, to be used
   on top of a genera| <-- Secondary storage (swap) --> |

*/
/*=======_________
   [    Underlying general-purpose alloc -----> | <-- Non-object memory --> |
    ________t pymem_uint


/* An object allocator for Python.
ERNAL_NAMESPACE_H
#ifndef Py_INTERNAL_OBMALLOC_H
# ERROR_NOT_READY:
        case ERROR_BAD_NET_NAME:nformationByName_init = 1;
            } else {
    ULONG FileInfoBufferSize
) {
    static PGetFile_Py_GetFileInformationByName(
    PCWSTR FileName,e;
    LARGE_INTEGER EndOfFile;
    ULONG FileAttrn int _PyOS_GetOpt(Py_ssize_t argc, wchar_t * cons_INTERNAL_PYGETOPT_H

#ifndef Py_BUILD_CORE
#  err
_Py_Instrumentation_GetLine(PyCodeObject *code, iUNIT *instr);

extern int
_Py_cal int event,
    _PyInterpreterFrame *frame, _Py_COol IDs */

/* These are defined in PEP 669 for conT_PY_RESUME 1
#define PY_MONITORING_EVENT_PY_RETURe "pycore_bitutils.h"      // _Py_popcount32
#incle() for either of them.
   It is stored in ste_sym (2<<9)    /* this name is a type parameter */
#de   /* name is used */
#define DEF_FREE (2<<4)     ern void _PySymtable_Free(struct symtable *);

extType)

extern long _PyST_GetSymbol(PySTEntryObjectcol_offset;      /* offset of first line of block ed ste_needs_class_closure : 1; /* for class scope ste_coroutine : 1;   /* true if namespace is a cosigned ste_child_free : 1;  /* true if a child bloect *ste_symbols;   /* dict: variable names to fla         consistency with the corresponding
      ruct _symtable_entry *st_top; /* symbol table entr blocks cannot bind names and are not evaluated.
 NAL_SYMTABLE_H
#define Py_INTERNAL_SYMTABLE_H
#ifdPYOBJ_ALLOC, \
    }
#endif

#define _pymem_alloca_DebugRealloc, _PyMem_DebugFree}
#define PYDBGOBJ_ PYDBGRAW_ALLOC(runtime) \
    {&(runtime).allocatd _PyObject_Free(void *, void *);
extern void* _Py(void *, size_t);
extern void * _PyMem_RawCalloc(vuse scheme to save calls to malloc and free */
    PyDict_MAXFREELIST 80
#endif

#define DICT_MAX_WA/* !Py_INTERNAL_AST_H */
#ifndef Py_INTERNAL_DICT_ena* arena, int mode);
int PyAST_Check(PyObject* oyArena *arena);
type_param_ty _PyAST_TypeVar(ident                      * kwd_patterns, int dl_identifier_seq * kwd_attrs, asdl_pattern_seq
  a *arena);
pattern_ty _PyAST_MatchSingleton(consta(expr_ty context_expr, expr_ty optional_vars,
    ;
arg_ty _PyAST_arg(identifier arg, expr_ty annotayAST_ExceptHandler(expr_ty type, identifier name,
ena);
comprehension_ty _PyAST_comprehension(expr_tt(asdl_expr_seq * elts, expr_context_ty ctx, int ly value, expr_ty slice, expr_context_ty ctx, int
 _PyAST_Constant(constant value, string kind, int l_PyAST_Compare(expr_ty left, asdl_int_seq * ops, aena);
expr_ty _PyAST_YieldFrom(expr_ty value, int ion_seq *
                        generators, int _ListComp(expr_ty elt, asdl_comprehension_seq * gePyAST_IfExp(expr_ty test, expr_ty body, expr_ty ore, int lineno, int
                         col_ofarena);
expr_ty _PyAST_BoolOp(boolop_ty op, asdl_e int end_lineno, int end_col_offset, PyArena
     om(identifier module, asdl_alias_seq * names, int tmt_seq * orelse, asdl_stmt_seq * finalbody, int
         PyArena *arena);
stmt_ty _PyAST_Raise(exprfset, int end_lineno, int
                  end_coST_While(expr_ty test, asdl_stmt_seq * body, asdl_y target, expr_ty iter, asdl_stmt_seq * body,
       type_comment, int lineno, int col_offset, int esign(asdl_expr_seq * targets, expr_ty value, strin             end_lineno, int end_col_offset, PyAre  type_params, int lineno, int col_offset, int
             *arena);
stmt_ty _PyAST_FunctionDef(iden
        } TypeVarTuple;

    } v;
    int lineno;pe_ignore_kind {TypeIgnore_kind=1};
struct _type_iasdl_pattern_seq *patterns;
            asdl_identstruct _match_case {
    pattern_ty pattern;
    e*defaults;
};

struct _arg {
    identifier arg;
 posonlyargs;
    asdl_arg_seq *args;
    arg_ty vat;
    expr_ty iter;
    asdl_expr_seq *ifs;
    i    expr_context_ty ctx;
        } Subscript;

   sdl_expr_seq *comparators;
        } Compare;

   sion_seq *generators;
        } GeneratorExp;

   asdl_comprehension_seq *generators;
        } List      unaryop_ty op;
            expr_ty operand;
       FormattedValue_kind=18, JoinedStr_kind=19, offset;
};

enum _expr_kind {BoolOp_kind=1, NamedE     asdl_alias_seq *names;
        } Import;

   asdl_match_case_seq *cases;
        } Match;

           struct {
            asdl_withitem_seq *ite expr_ty target;
            operator_ty op;
     asdl_expr_seq *targets;
            expr_ty value;r_ty returns;
            string type_comment;
         identifier name;
            arguments_ty ar  asdl_expr_seq *argtypes;
            expr_ty ret  asdl_stmt_seq *body;
            asdl_type_ignor1];
} asdl_type_param_seq;

asdl_type_param_seq *_               *arena);

typedef struct {
    _ASDments[1];
} asdl_keyword_seq;

asdl_keyword_seq *_thandler_seq;

asdl_excepthandler_seq *_Py_asdl_exdl_expr_seq_new(Py_ssize_t size, PyArena *arena);
  _ASDL_SEQ_HEAD
    mod_ty typed_elements[1];
} axpr_context_ty;

typedef enum _boolop { And=1, Or= "this header requires Py_BUILD_CORE define"
#endi_ctype_toupper[256];

#define Py_TOLOWER(c) (_Py_c(c)  (_Py_ctype_table[Py_CHARMASK(c)] & PY_CTF_ALPCompile_OpcodeStackEffect(int opcode, int oparg);
atement */
} PyFutureFeatures;

#define FUTURE_NESoffset;
} _PyCompilerSrcLocation;

#define SRC_LOC  PyCF_TYPE_COMMENTS | PyCF_DONT_IMPLY_DEDENT | \
URE_ constants use bits starting at 0x20000. */
#dUTURE_DIVISION | CO_FUTURE_ABSOLUTE_IMPORT | \
   yList_SET_ITEM(PyObject *op, Py_ssize_t index, PyOout);

/* Cast argument to PyListObject* type. */
iants:
     *     0 <= ob_size <= allocated
     *terFrame *frame);

/* Returns a byte ofsset into tof the frame (strong reference).
 * Does not raiserame);

PyAPI_FUNC(PyObject *) PyFrame_GetGeneratoPyType_Unwatch(int watcher_id, PyObject *type);

/
#define TYPE_MAX_WATCHERS 8

typedef int(*PyType_ersion 3.11 and
 * will be removed in the future.
         _PyTrash_end(_tstate); \
        } \
    
/* Python 3.10 private API, invoked by the Py_TRAon the tp_dealloc
of the actual class being dealloof the deallocator is run directly without
further  So long
as this counter is small, the body of tht untrack first
    Py_TRASHCAN_BEGIN(p, mytype_deays return 1. The return value is just here to be ect is inconsistent.

   If check_content is zero,)

/* Declare and define _PyObject_AssertFailed() ERT_FROM(obj, expr, msg, filename, lineno, func) \ing if NDEBUG is defined.

   However, before aborct_ASSERT_FROM(), _PyObject_ASSERT_WITH_MSG() and        memcpy(_tmp_dst_ptr, &_tmp_src, sizeof(PyOb   do { \
        _Py_TYPEOF(dst)* _tmp_dst_ptr = y_TYPEOF(dst) _tmp_old_dst = (*_tmp_dst_ptr); \
   side-effect of `dst` getting torn down no longer 
 * The safe way is:
 *
 *      Py_SETREF(dst, srcCallFinalizerFromDealloc(PyObject *);

/* Same as 1 and set *result == NULL if an error other than ANC(int) PyObject_Print(PyObject *, FILE *, int);
Png the old name.
#define _PyObject_LookupSpecial _yObject *) _PyType_LookupId(PyTypeObject *, _Py_Idence; /* as_sequence comes after as_mapping,
     as_async;
    PyNumberMethods as_number;
    PyMapgetitem_version is meaningless.
    // - If getitetruct _specialization_cache {
    // In order to aeaklist; /* not used for static builtin types */
 ssize_t tp_weaklistoffset;

    /* Iterators */
  as_buffer;

    /* Flags to define presence of opttp_str;
    getattrofunc tp_getattro;
    setattrosetattrfunc tp_setattr;
    PyAsyncMethods *tp_as_objargproc mp_ass_subscript;
} PyMappingMethods;

place_concat;
    ssizeargfunc sq_inplace_repeat;
nc nb_inplace_or;

    binaryfunc nb_floor_divide;;
    binaryfunc nb_or;
    unaryfunc nb_int;
     *both*
       arguments for proper type and impleD_CORE
// For now we are keeping _Py_IDENTIFIER foeleased.

   Alternatively, _Py_static_string alloseful as debugging aids when chasing down refleaksject *tb_frame;
    int tb_lasti;
    int tb_linenterState *, atexit_datacallbackfunc, void *);
#ifnds = 1, \
        .allow_daemon_threads = 0, \
   rpreterConfig_INIT \
    { \
        .use_main_obmFUNC(int) _PyOS_URandomNonblock(void *buffer, Py_s11) PyAPI_FUNC(void) _Py_SetProgramFullPath(const zeFromBytesArgs(
    const PyPreConfig *src_configtatus) Py_PreInitialize(
    const PyPreConfig *sr= (maxpos) && (args) != NULL) ? (args) : \
     _P_PyArg_UnpackKeywords(args, nargs, kwargs, kwnames_PyArg_Parser *parser,
        int minpos, int maxStack_SizeT
#define _PyArg_ParseStackAndKeywords              /* maximal number of positional argume struct _PyArg_Parser {
    int initialized;
    cg_NoKeywords((funcname), (kwargs)))
#define _PyArgFUNC(int) _PyArg_NoKwnames(const char *funcname, Pifdef PY_SSIZE_T_CLEAN
#define _Py_VaBuildStack   dvanced String Formatting). */
extern int _PyComplPy_complex) _Py_c_prod(Py_complex, Py_complex);
Pydouble real;
    double imag;
} Py_complex;

/* Opject_CAST(od), (key))
#define PyODict_Contains(od,ypeObject) PyODictValues_Type;

#define PyODict_ChRun_FileFlags(fp, p, s, g, l, flags) \
    PyRun_Foop(f, p) PyRun_InteractiveLoopFlags((f), (p), NULlags((fp), (name), (closeit), NULL)
#define PyRun_n_SimpleFileEx(FILE *f, const char *p, int c);
PyAhich defines
    macros below. On Windows, for exapileStringExFlags((str), (p), (s), (f), -1)


PyAP  int closeit,
    PyCompilerFlags *flags);


PyAPbject *) PyRun_StringFlags(const char *, int, PyOblags *flags);
PyAPI_FUNC(int) PyRun_InteractiveOneUNC(int) PyRun_AnyFileExFlags(
    FILE *fp,
    cmat(PyObject *obj, int base);

/* For use by the g big enough to hold the full mathematical value ed and there's nothing special about bit 0x80 of t little_endian is 1/true, store the MSB at bytes[n
   If is_signed is 0/false, view the bytes as a nto the nearest even integer
   in the case of a tinot be NULL, and must be a normalized long.
   (si.0 if and only if the input is 0 (in which case, eid *);

/* _PyLong_Frexp returns a double x and an  // !Py_LIMITED_API
#ifndef Py_CPYTHON_LONGOBJECT_CAST(PyInstanceMethodObject*, meth))

/* Static ine PyObject* PyMethod_GET_SELF(PyObject *meth) {
  _PyMethod_CAST(meth) \
    (assert(PyMethod_Check  /* The callable object implementing the method *truct wrapperbase *, void *);
PyAPI_FUNC(int) PyDe This can be any function pointer */
} PyWrapperDealname;
} PyDescrObject;

#define PyDescr_COMMON P debug mode. */
PyAPI_FUNC(void) PyMem_SetupDebugHfilled with the byte 0xCB, freed memory is filled
ator
   functions:

   - PyMem_RawMalloc(), PyMem_em_GetAllocator(PyMemAllocatorDomain domain,
      block */
    void* (*realloc) (void *ctx, void *pf WITH_PYMALLOC
    PYMEM_ALLOCATOR_PYMALLOC = 5,
const char*) _PyMem_GetCurrentAllocatorName(void); *) PyMem_RawRealloc(void *ptr, size_t new_size);
(int) pthread_key_create(pthread_key_t *key,
     attr_t *attr, clockid_t clock_id);

// pthread
PyA            pthread_mutex_t *restrict mutex);
PyAPC(int) pthread_cond_init(pthread_cond_t *restrict f struct { unsigned __attr; } pthread_attr_t;
#endcondattr_t 1
#  define __NEED_pthread_mutex_t 1
# HON_PTRHEAD_STUBS_H

#if !defined(HAVE_PTHREAD_STUint) PyFloat_Pack2(double x, char *p, int le);
PyA(int) _PyCrossInterpreterData_RegisterClass(PyTypeeterData *);

PyAPI_FUNC(int) _PyObject_GetCrossInt *obj,
        xid_newobjectfunc new_object);
PyAreter use, so it must be freed when
    // _PyCross are never re-used, so
    // each one will alwaycrossinterpdatafunc", is responsible for
    // en was derived.  This
    // is non-NULL only if theonst PyConfig*) _Py_GetConfig(void);


/* cross-innterpreterState_SetConfig(
    const struct PyConfhon must be preinitialized to call this method.
  ialize 'config', using PyConfig_InitPythonConfig()_PyFrameEvalFunction)(PyThreadState *tstate, strucn't use unless you know what you are doing! */
PyA PyGILState_Check(void);

/* Get the single PyInteate);

// Reset tracing and profiling: enable themate_Get(), but don't issue a fatal error
 * if it _ADDRESS_SANITIZER)
#    define C_RECURSION_LIMIT me;
};

/* WASI has limited call stack. Python's rcation during init.
       The data is exposed thr After the tstate is unlinked, release_sentinel ise simplest
     * of C code can be allowed to run e thread's life:
     * if the thread holds the la which the
     * macro PY_HAVE_THREAD_NATIVE_ID id long thread_id; /* Thread id where this tstate wal_EvalFrameDefault. */
    _PyCFrame *cframe;

  it;

    int c_recursion_remaining;
    int recurs     /* Has been unbound from its OS thread. */
  ate *next;
    PyInterpreterState *interp;

    st   *
     * This is used as an entry on the except*/
    /* Pointer to the currently executing frameuct _PyCFrame {
    /* This struct will be threadeace_C_EXCEPTION 5
#define PyTrace_C_RETURN 6
#defieterState *, int);

PyAPI_FUNC(PyObject *) _PyInterpreter. */
#define Py_RTFLAGS_USE_MAIN_OBMALLOC (hare obmalloc runtime state
   with the main intere native threads. See https://bugs.python.org/issuective.
    */
#   define NATIVE_TSS_KEY_T     unscess.
   Reset the lock to the unlocked state.
   (3.12) PyAPI_DATA(int) Py_HashRandomizationFlag;
P2) PyAPI_DATA(int) Py_IgnoreEnvironmentFlag;
Py_DE PyObject_GET_WEAKREFS_LISTPTR(PyObject *op);

PyAfferent _PyGC_FINALIZED() macro. */
#ifndef Py_BUIObjectArenaAllocator *allocator);

/* Set the arent);

       op->ob_field = value;
       ...
      and shows the important
   distinction between twsize_t _PyObject_VAR_SIZE(PyTypeObject *type, Py_sTIC_CAST(size_t, type->tp_basicsize);
}

/* _PyObjturn PyUnstable_Eval_RequestCodeExtraIndex(f);
}

PyEval_MergeCompilerFlags(PyCompilerFlags *cf);

Pnt) _PyEval_SetTrace(PyThreadState *tstate, Py_traI_FUNC(void) PyEval_SetProfile(Py_tracefunc, PyObj
    #undef PY_DEF_EVENT
} PyDict_WatchEvent;

// ine PY_DEF_EVENT(EVENT) PyDict_EVENT_##EVENT,
    ce
   of a key wins, if override is 2, a KeyError (int) _PyDict_HasOnlyStringKeys(PyObject *mp);
PyAeck(op));
    mp = _Py_CAST(PyDictObject*, op);
  *key, PyObject *defaultobj);
PyAPI_FUNC(int) _PyDiyAPI_FUNC(PyObject *) _PyDict_GetItem_KnownHash(Py3.12) uint64_t ma_version_tag;
#endif

    PyDictKKeysObject;
typedef struct _dictvalues PyDictValue
    const char *module, PyObject *registry,
    cint) PyFunction_ClearWatcher(int watcher_id);

#ifns with an exception set, it must return -1. Other *
 * The callback is invoked with a borrowed refet *);

#define PY_FOREACH_FUNC_EVENT(V) \
    V(CRT(func)->func_closure;
}
#define PyFunction_GET_CLGET_DEFAULTS(PyObject *func) {
    return _PyFunct   Type checks are *not* done, so use with care. *I_FUNC(PyObject *) PyFunction_GetAnnotations(PyObjt *);
PyAPI_FUNC(int) PyFunction_SetDefaults(PyObjode_GetNumFree(func_code) == 0).
     */
} PyFunct     * Will be set to zero if any of these change:  _Py_COMMON_FIELDS(func_)
    PyObject *func_doc;ion of some
 * source code lines.  There is one co  /* NULL or a tuple */ \
    PyObject *PREFIX ## LIMITED_API
#ifndef Py_FUNCOBJECT_H
#define Py_FUNct *) PyPickleBuffer_FromObject(PyObject *);
/* Geformat,
    ...);

extern PyObject *_PyErr_SetImpool_offset,
    int end_lineno,
    int end_col_off_PyErr_CheckSignals(void);

/* Support for adding );

/* Like PyErr_Format(), but saves current excePyErr_StackItem*) _PyErr_GetTopmostException(PyThr
    PyObject *filename2;
#ifdef MS_WINDOWS
    Py PyImportErrorObject;

typedef struct {
    PyExcebject *end_lineno;
    PyObject *end_offset;
    P#endif

/* Error objects */

/* PyException_HEAD d    Py_ssize_t argc,
    char * const *argv);
PyAPConfig_SetBytesString(
    PyConfig *config,
    wthe "main" phase.
    int _init_main;

    // If n_max_str_digits;

    /* --- Path configuration ino;
    int buffered_stdio;
    wchar_t *stdio_encoloc_stats;
    wchar_t *filesystem_encoding;
    wConfig(PyPreConfig *config);


/* --- PyConfig --- and PYTHONUTF8=0.

       If equals to -1, it is default), inherit
       Py_LegacyWindowsFSEncodind be enabled or not. */
    int coerce_c_locale_waSet to 0 by PYTHONCOERCECLOCALE=0. Set to 1 by PYT     Set to 1 by the -I command line option. If se) PyWideStringList_Insert(PyWideStringList *list,
I_FUNC(int) PyStatus_Exception(PyStatus err);
PyAPR=1,
        _PyStatus_TYPE_EXIT=2
    } _type;
  nt) _PySet_Update(PyObject *set, PyObject *iterablmalltable for small tables
     * or to additional    /* Number active entries */

    /* The table ucture is shared by set and frozenset objects.

In == NULL and hash == 0
2. Dummy:   key == dummy anInittab(struct _inittab *newtab);

struct _frozen mport_AcquireLock(PyInterpreterState *interp);
PyAr *name);
PyAPI_FUNC(int) _PyImport_SetModule(PyOb

PyAPI_FUNC(int) _PyUnicode_WideCharString_Conver       || Py_UNICODE_ISNUMERIC(ch));
}


/* === MiCODE_ISDECIMAL(ch) _PyUnicode_IsDecimalDigit(ch)
#ICODE_ISUPPER(ch) _PyUnicode_IsUppercase(ch)
#defi.
PyAPI_DATA(const unsigned char) _Py_ascii_whites);

PyAPI_FUNC(double) _PyUnicode_ToNumeric(
    PC(int) _PyUnicode_ToUpperFull(
    Py_UCS4 ch,    */ PyAPI_FUNC(Py_UCS4) _PyUnicode_ToLowercase(
   API_FUNC(int) _PyUnicode_IsWhitespace(
    const Pse(
    Py_UCS4 ch       /* Unicode character */
 Strip(
    PyObject *self,
    int striptype,
    /* Test whether a unicode is equal to ASCII stringherwise.  The right argument must be ASCII identif parsers.
   Transforms code points that have decirror) are left untouched and
   are copied as-is.
bject by applying a character mapping table to
   ------- */

/* Variant of PyUnicode_DecodeRawUnicor **first_invalid_escape  /* on return, points to  errors is not NULL. */
// Export for binary compaeEscape that detects invalid escape
   chars. */
Pde_DecodeUnicodeEscape that supports partial decod In the other two modes, no BOM mark is
   prependns a Python string object holding the UTF-16 encodde,
    const char *errors);

/* --- UTF-32 Codecse_AsUTF8 to
   support the previous internal funct/* Format the object based on the format_spec, as cate memory of a writer (clear its internal buffern */
    );

/* Append a latin1-encoded byte strin);

/* Append a substring of a Unicode string.
   NC(int)
_PyUnicodeWriter_PrepareKindInternal(_PyUnh, Py_UCS4 maxchar);

/* Prepare the buffer to hav(WRITER), (LENGTH), (MAXCHAR))))

/* Don't call th attributes to control
 * the allocation of the bue modified)
       and size is set to 0. */
    unbject *buffer;
    void *data;
    int kind;
    Pg from a buffer of ASCII characters.
   WARNING: Dicode_Fill(): don't check arguments and so may craare invalid (e.g. if the output string
   is too smber of written character, or return -1 and raise ject*) _PyUnicode_Copy(
    PyObject *unicode
    gle memory
   block.  Objects created using this fis is the recommended way to allocate a new unicodAST(unicode), (index))

/* Return a maximum characex)
{
    int kind;

    assert(index >= 0);
    /
   cache kind and use PyUnicode_READ instead. */
urn _Py_STATIC_CAST(const Py_UCS2*, data)[index];
 data, index, value) \
    PyUnicode_WRITE(_Py_STA   if (kind == PyUnicode_1BYTE_KIND) {
        ass->length;
}
#define PyUnicode_GET_LENGTH(op) PyUniATA(op) _Py_STATIC_CAST(Py_UCS1*, PyUnicode_DATA(o}
    return _PyUnicode_NONCOMPACT_DATA(op);
}
#deObject *op) {
    if (PyUnicode_IS_ASCII(op)) {
  KIND = 4
};

// PyUnicode_KIND(): Return one of thNo type checks or Ready calls are performed. */
steturn true if the string contains only ASCII charaD_MORTAL 1
#define SSTATE_INTERNED_IMMORTAL 2
#defect;

PyAPI_FUNC(int) _PyUnicode_CheckConsistency(Object _base;
    union {
        void *any;
      through PyUnicode_New use the
   PyCompactUnicodeuse
           one block for the PyUnicodeObject s00-U+FFFF

           - PyUnicode_4BYTE_KIND (4):
     * all characters are in the range U+0000-U+00        /* If interned is non-zero, the two refereby subclasses of Unicode.

       See also _PyUnic * kind = PyUnicode_1BYTE_KIND, PyUnicode_2BYTE_KIPyASCIIObject
         * test: PyUnicode_IS_COMPACtrings:

       - compact ascii:

         * strucrrogate = bottom 10 bits added to 0xDC00.
// The c0 <= ch && ch <= 0xDFFF);
}

// Join two surrogatenline int Py_UNICODE_IS_SURROGATE(Py_UCS4 ch) {
  e changed in future minor versions if the underlyifor the
 * convenience of debuggers, profilers and(self) PyByteArray_GET_SIZE(_PyObject_CAST(self))
PyByteArray_CAST(op);
    if (Py_SIZE(self)) {
   How many bytes allocated in ob_bytes */
    char *);
    if (func->m_ml->ml_flags & METH_METHOD) {
 PyCFunction_GET_FUNCTION(_PyObject_CAST(func))

stctions for direct access to these values.
   Type ; /* The __module__ attribute, can be anything */
yAPI_FUNC(void*) _PyBytesWriter_WriteBytes(_PyByteLL on error.

   Note: size must be greater than td size to the writer minimum size (min_size attribsWriter *writer,
    void *str);

/* Deallocate meo, overallocate the buffer (default: 0).
       ThPyBytesWriter_Prepare() */
    Py_ssize_t min_sizeNG(op) PyBytes_AS_STRING(_PyObject_CAST(op))

statnctions, trading safety for speed */
#define _PyByint use_bytearray);
PyAPI_FUNC(PyObject*) _PyBytesval contains space for 'ob_size+1' elements.
     ts previous value.
   Returns 0 on success, -1 on , it will point to:

   - default_value, if not NUContext_CopyCurrent(void);

PyAPI_FUNC(int) PyContdef struct _pycontextvarobject PyContextVar;

PyAPgetsWithSize(char *, int, FILE*, PyObject *, size_

PyAPI_FUNC(char *) Py_UniversalNewlineFgets(charI_DATA(PyTypeObject) _PyAsyncGenAThrow_Type;

PyAP) _PyGen_FetchStopIterationValue(PyObject **);
PyAObject) PyGen_Type;

#define PyGen_Check(op) PyObj
    PyObject *prefix##_origin_or_finalizer;                 \
    /* List of weak reference. */     coroutine objects. */
#define _PyGenObject_HEAD(pime_t *t,
    _Py_clock_info_t *info);


// Creatermation of the function used to get the time.

   he local time zone.
   Return 0 on success, raise ards.
   The clock is not affected by system clockow, silently ignore the overflow and clamp the clo].

   Use _PyTime_GetSystemClockWithInfo() to cheation;
    int monotonic;
    int adjustable;
    n overflow.
   On overflow, clamp tv_sec to _PyTimmTimespec(_PyTime_t *tp, struct timespec *ts);

/*TimevalTime_t(
    _PyTime_t t,
    time_t *secs,
me_AsTimeval() but don't raise an exception on oveeate a timestamp from a timeval structure.
   RaisTime_t t);

/* Convert timestamp to a number of miPyTime_round_t round);

/* Convert a timestamp to p to [_PyTime_MIN; _PyTime_MAX] on overflow. */
PyAPI_FUNC(_PyTime_t) _PyTime_FromSeconds(int second a number of seconds, int or float, to a timespec t. */
PyAPI_FUNC(int) _PyTime_ObjectToTime_t(
           the timeout sign as expected. select.poll(tt least" N seconds. */
    _PyTime_ROUND_CEILING=1and so indirectly a date (related to another date,eration is used to convert a clock
// value exprese OverflowError. Conversion to a
// resolution wor * nanoseconds (10^-9 seconds)
// * timeval struct
// The _PyTime_t API is written to use timestamp add_one_to_index_C(int nd, Py_ssize_t *index,
    _FUNC(char *const *) _PySequence_BytesToCharpArray_COUNT    1
#define PY_ITERSEARCH_INDEX    2
#defi return a non-negative value, then return the defarcallMethodId(name, args, nargsf, _Py_NULL);
}

Pyt *obj,
    _Py_Identifier *name,
    ...);

stati                                            ...);
CallMethod(), but expect a _Py_Identifier*
   as tt *) _PyObject_FastCall(
    PyObject *func,
    Pts are passed as
   dict, which may be NULL if theturn n & ~PY_VECTORCALL_ARGUMENTS_OFFSET;
}

PyAPI
   except that nargs is plainly the number of argeckFunctionResult(
    PyThreadState *tstate,
       The size is chosen to not abuse the C stack andting
   arguments is responsible to check if all k    return _PyMemoryView_CAST(op)->view.obj;
}
#deew's private copy of the exporter's buffer. */
sta0  /* Disallow new references to the memoryview's t buffer obtained from the original exporter */
} ) _PyManagedBuffer_Type;

/* The structs are declaNE_LINE1 = 11,
    PY_CODE_LOCATION_INFO_ONE_LINE2t to getattr(code, 'co_freevars') in Python. */
PyRNALLY(3.12) static inline int
_PyCode_SetExtra(Pyze_t index, void **extra);
PyAPI_FUNC(int) PyUnstape. It is used to make sure types are not coerced ternal use only */
struct _opaque {
    int comput(*PyCode_WatchCallback)(
  PyCodeEvent event,
  Pyop,
    PY_FOREACH_CODE_EVENT(PY_DEF_EVENT)
    #u

/* Return the line number associated with the sp       a, b, c, d, e, f, g, h, i, j, k, l, m, n, oode_New(
        int a, int b, int c, int d, int ene _PyCode_CODE(CO) _Py_RVALUE((_Py_CODEUNIT *)(COe_Type)

static inline Py_ssize_t PyCode_GetNumFreRE_GENERATOR_STOP  0x800000
#define CO_FUTURE_ANNO. CO_FUTURE_ and PyCF_
   constants must be kept uCALS    0x0002
#define CO_VARARGS      0x0004
#defweakreflist;     /* to support weakrefs to code ob_qualname;        /* unicode (qualname, for refere   uint32_t co_version;          /* version number   /* number of local + cell + free variables */ \t co_kwonlyargcount;        /* #keyword only argum    \
    int co_flags;                  /* CO_... \
    /* These fields are set with provided value               \
     * - co_localsplusnames      comparisons      \
     *       , all PyCodeObject members are
// defined in this s;
    /* Information to support line events */
  */
    _Py_LocalMonitors local_monitors;
    /* Mord, opcode) _py_set_opcode(&(word), (opcode))


tyode;
        uint8_t arg;
    } op;
} _Py_CODEUNITS];
} _Py_GlobalMonitors;

/* Each instruction in */
    uint8_t tools[_PY_MONITORING_UNGROUPED_EVENall local monitoring events */
#define  _PY_MONITO*, ref_obj);
    obj = ref->wr_object;
    // Expl
    PyWeakReference *wr_next;
    vectorcallfunc is pointer.
     */
    PyObject *wr_object;

    y_PYFPE_H */
#ifndef Py_CPYTHON_FILEUTILS_H
#  errvoid) _PyTuple_DebugMallocStats(FILE *out);
#ifndeAST(op);
    tuple->ob_item[index] = value;
}
#def_CAST(PyTupleObject*, (op)))

// Macros and staticirectly"
#endif

typedef struct {
    PyObject_VARsert(PyUnstable_Long_IsCompact(op));
    sign = 1 ct *) _PyLong_New(Py_ssize_t);

/* Return a copy o; /* Number of digits, sign and flags */
    digit of allocating extra memory
   so that ob_digit[0]igit; /* signed variant of digit */
typedef unsign 30
#define _PyLong_DECIMAL_SHIFT   9 /* max(e suc_SHIFT is a multiple of 15

   - NSMALLNEGINTS andg_{As,From}ByteArray require that PyLong_SHIFT be uld be able to hold 2*PyLong_BASE-1, and type 'twoI_FUNC(size_t) _PySys_GetSizeOf(PyObject *);

type error "this header file must not be included direObject* PyCell_GET(PyObject *op) {
    PyCellObjec
static const char catchall_NULL[] = "curses functif (! ((int (*)(void))PyCurses_API[1]) () ) returnine PyCurses_CAPSULE_NAME "_curses._C_API"


#ifdeefined(WINDOW_HAS_FLAGS) && !(NCURSES_OPAQUE+0)
#d

/* On FreeBSD, [n]curses.h and stdlib.h/wchar.h t *) PySeqIter_New(PyObject *);


#define PyCallIt
extern PyTypeObject _PyAnextAwaitable_Type;
#endiport list[int] etc.
#ifndef Py_GENERICALIASOBJECT_dif /* !Py_LISTOBJECT_H */
#ifndef Py_COMPILE_H
#de_t, PyObject *);
PyAPI_FUNC(int) PyList_Append(Py if it is *not* inserted in the list.
   Similarlyt_SetItem does not increment the new item's referequence_GET_ITEM(op, i) PyTuple_GET_ITEM((op), (i))tructSequence_Desc *desc);
PyAPI_FUNC(int) PyStrucect *) PyFrame_GetCode(PyFrameObject *frame);

#ifxecuting. */
PyAPI_FUNC(int) PyFrame_GetLineNumbere_CAST(op) \
    (assert(PyType_Check(op)), _Py_CAndif
    return ((flags & feature) != 0);
}

#defiurrent practice is already confusing).  Consider
ibjects, such as PyTuple_SetItem() and
PyList_SetItrmally return a pointer return NULL for failure, f don't check for nil
arguments, but they do check \
        case Py_GE: if ((val1) >= (val2)) Py_RETRETURN_TRUE; Py_RETURN_FALSE;  \
        case Py_Lypedef enum {
    PYGEN_RETURN = 0,
    PYGEN_ERRO implemented for a given type combination.
*/
PyAP#define Py_None (&_Py_NoneStruct)

// Test if an o return obj;
}

static inline PyObject* _Py_XNewReEF(op) Py_XINCREF(_PyObject_CAST(op))
#endif

stat in case the object pointer can be NULL: */
static(_tmp_old_op != NULL) { \
            *_tmp_op_ptrariables,
 * and so avoid type punning. Otherwise,elies on that
 * Python integers aren't currently _ decref'ing, so that any code
 * triggered as a sibly including finalizers (like __del__ methods or*
 *     Py_XDECREF(op);
 *     op = NULL;
 *
 * Tfcnt == 0) {
        _Py_Dealloc(op);
    }
}
#defst char *filename, int lineno, PyObject *op)
{
   TAT_INC();
#ifdef Py_REF_DEBUG
    _Py_INCREF_IncR;
#  else
    Py_IncRef(op);
#  endif
#else
    //_INCREF() as a function call on limited C API
    / Similar to Py_IncRef() and Py_DecRef() but the aCREF_DecRefTotal(void);
#endif  // Py_REF_DEBUG &&bject
is not considered to be a reference to the te counts to 1, and
in special builds (Py_REF_DEBUG_DECREF(op) are used to increment or decrement
refions across
 * feature releases of Python is not s Py_TPFLAGS_DICT_SUBCLASS        (1UL << 29)
#defiitional subpattern to match against the
// subjecte preserved for Stackless Python, next after this onal in Python 3.8
#define _Py_TPFLAGS_HAVE_VECTORPE (1UL << 10)

/* Set if the type implements the /* Set if instances of the type object are treatedlistoffset.
 */
#define Py_TPFLAGS_MANAGED_WEAKREFof the flag bit positions will need to be coordina* Pickle support. */
#ifndef Py_LIMITED_API
PyAPI_t locals.  In this case, if there are
   no curren;
#endif
PyAPI_FUNC(Py_hash_t) PyObject_Hash(PyObj *);
PyAPI_FUNC(PyObject *) PyObject_GetAttr(PyObjpeObject *);

/* Generic operations on objects */
ct) PyBaseObject_Type; /* built-in 'object' */
PyAeObject*, PyObject*, PyType_Spec*, PyObject*);
PyA(void *) PyType_GetModuleState(PyTypeObject *);
#est char* name;
    int basicsize;
    int itemsize           size_t nargsf, PyObject *kwnames);
#end *, int);
typedef PyObject *(*getiterfunc) (PyObje *, visitproc, void *);


typedef void (*freefunc)PyObject *);
typedef PyObject * (*binaryfunc)(PyObe optional, a
nil pointer meaning that particular ssert(ob->ob_base.ob_type != &PyLong_Type);
    asreturn;
    }
    ob->ob_refcnt = refcnt;
}
#if !d {
    // This immortal check is for code that is MORTAL_REFCNT;
#endif
}
#define _Py_IsImmortal(op)line Py_ssize_t Py_SIZE(PyObject *ob) {
    assertinline Py_ssize_t Py_REFCNT(PyObject *ob) {
    re
    union {
       Py_ssize_t ob_refcnt;
#if SIZEdif
#ifdef _MSC_VER
    // Ignore MSC warning C420y actually
 * has room for ob_size elements.  Note    _PyObject_EXTRA_INIT     \
        { 1 },     E
#define PyObject_HEAD_INIT(type)    \
    {      immortal by setting all of the
lower 30 bits of t Py_INCREF and Py_DECREF to safely
increase and de count field, which is equal to: 0xFFFFFFFF

Usingf

/* PyObject_HEAD defines the initial segment of a doubly-linked list of all live heap objects. */that can only be accessed after casting the pointee so a reference to an
object can be simply a poinaddress.  Objects that must hold variable-size datt possible to have heap-allocated type objects toomust be
accessed through special macros and functi/

/* Version as a single 4-byte hex number, e.g. fine PY_MINOR_VERSION        12
#define PY_MICRO_Vpport.h.
*/

/* Values for PY_RELEASE_LEVEL */
#derface */

PyAPI_FUNC(int) PyTraceBack_Here(PyFrame;

/* Signals */
typedef void (*PyOS_sighandler_t)r_t *) Py_GetPath(void);
Py_DEPRECATED(3.11) PyAPI(const wchar_t *);
PyAPI_FUNC(wchar_t *) Py_GetPro>= 0x03060000
PyAPI_FUNC(int) Py_FinalizeEx(void);he Python runtime */

#ifndef Py_PYLIFECYCLE_H
#dene Py_DTSF_SIGN      0x01 /* always add the sign *ee to free the buffer
   that's is returned. */
Pyuble) PyOS_string_to_double(const char *str,
      *exc);

/* replace the unicode encode error with  registered under the given
   name. As a special ing callback registry API */

/* Register the errors
       );

/* Get a StreamWriter factory functimentalEncoder object for the given encoding. */

PrementalDecoder(
       PyObject *codec_info,
    UNC(PyObject *) _PyCodec_LookupTextEncoding(
      operation.

   Please note that these APIs are int *) PyCodec_Encode(
       PyObject *object,
    ect is passed through the encoder function found fp through this mechanism
   effectively case-insention
       );

/* Unregister a codec search functrch_function's refcount is incremented by this fun------

   Python Codec Registry and support functndSpec2((module), (spec), PYTHON_ABI_VERSION)
#elsfAndSpec2 PyModule_FromDefAndSpec2TraceRefs
#endif; changes to the limited API
   must be performed s time :-)

   7-Nov-1995   GvR     Keyword argume2  GvR     1012    Changes to string object struct The error message is intended to
   explain the ce Py_CLEANUP_SUPPORTED 0x20000

#define PYTHON_API /* Py_LIMITED_API */

#define PyModule_AddIntMacrddObjectRef(PyObject *mod, const char *name, PyObjkTuple(PyObject *, const char *, Py_ssize_t, Py_ssC(int) PyArg_Parse(PyObject *, const char *, ...);              _PyArg_VaParse_SizeT
#define PyArg_V/* !Py_COMPLEXOBJECT_H */

#ifndef Py_MODSUPPORT_Hdouble) PyComplex_RealAsDouble(PyObject *op);
PyAPn-zero if the type is signed, return zero if it's reams.\n" \
        "https://xkcd.com/2200")
#elifan unreachable state.\n\n" \
        "I could give Py_UNREACHABLE() \
    Py_FatalError( \
        ")
/* Check if pointer "p" is aligned to "a"-bytes tr_t)(p) & ~(uintptr_t)((a) - 1)))
/* Round pointe PyDoc_VAR(name) = PyDoc_STR(str)
#ifdef WITH_DOC_  Written by Rusty Russell, public domain, http://ne Py_BUILD_ASSERT_EXPR(cond) \
    (sizeof(char [sion.

   Your compile will fail if the condition STRINGIFY(x) #x

/* Convert the argument to a striRSION__) \
     && __STDC_VERSION__ >= 201112L && 1 _Static_assert keyword is in gcc >= 4.6.
//
// M#ifdef USE_STACKCHECK
/* Check that we aren't overff with no proper home (yet) */
PyAPI_DATA(int) (*) Py_CompileString(const char *, const char *, int char *, char **, int);

/* These aren't really paunsigned long long) PyLong_AsUnsignedLongLong(PyOb_PARSE_UINTPTR "k"
#elif defined(SIZEOF_LONG_LONG)SIZEOF_PID_T == SIZEOF_LONG
#define _Py_PARSE_PID t *obj)
{
    int overflow;
    long result = PyLot *) PyLong_GetInfo(void);

/* It may be useful in), Py_TPFLAGS_LONG_SUBCLASS)
#define PyLong_CheckEprecision) integer object interface */

// PyLong_\
    ((*(slicelen) = PySlice_AdjustIndices((lengte_GetIndices(PyObject *r, Py_ssize_t length,
     _PySlice_GetLongIndices(PySliceObject *self, PyObj *step;      /* not NULL */
} PySliceObject;
#endi_Py_EllipsisObject; /* Don't use this directly */
 /* Py_PYPORT_H */
#ifndef Py_INTERPRETERIDOBJECT_#  if __has_feature(thread_sanitizer)
#    if !defne _Py_MEMORY_SANITIZER
#    endif
#  endif
#  if e _Py__has_builtin(x) 0
#endif

// _Py_TYPEOF(exprefault(),
   // Py_DecodeLocale() and Py_Encode as the locale encoding, ignore the LC_CTYPE localined(ALT_SOABI) && defined(Py_TRACE_REFS)
#  error_CORE
#    ifdef HAVE_THREAD_LOCAL
#      error "Hs macro used to tell whether Python was built withith endianness of the platform. WORDS_BIGENDIAN is __attribute__(x)
#endif

/*
 * Specify alignment  waiting for integer multiplication to trigger bogusplus */
#endif

/* limits.h constants that may bPyMODINIT_FUNC Py_EXPORTED_SYMBOL PyObject*
#       /* module init functions outside the core must b*/
#               else /* Py_BUILD_CORE */
      fine PyAPI_FUNC(RTYPE) Py_EXPORTED_SYMBOL RTYPE
# BLE_SHARED) || defined(__CYGWIN__)
#       if defis public Python data and its type
  PyMODINIT_FUNC) iswalpha(btowc(c))
#undef islower
#define isloweracter set rather than single byte code points onlefined(HAVE_SYS_TERMIO_H) && !defined(__hpux)
#incototypes that are missing from the standard includ_inline))
#elif defined(_MSC_VER)
#  define Py_ALWned(__clang__) || defined(__INTEL_COMPILER)
#  definline function with Py_ALWAYS_INLINE can result iNUC__) \
    && ((__GNUC__ >= 5) || (__GNUC__ == 4can have a
 * negative effect on performance. OnlyP_DIAG_IGNORE_DEPR_DECLS __pragma(warning(disable:) && (__GNUC_MINOR__ >= 6))
#define _Py_COMP_DIAG_e _Py_DEPRECATED_EXTERNALLY(VERSION_UNUSED)
#else
 * Usage:
 *    Py_DEPRECATED(3.3) extern int old_#ifdef Py_DEBUG
#  define Py_SAFE_DOWNCAST(VALUE, on:
 *    I may be evaluated more than once.
 */
#and strictly less than the number of bits in the
 tension:
 * Py_ARITHMETIC_RIGHT_SHIFT(TYPE, I, J)
efine S_ISDIR(x) (((x) & S_IFMT) == S_IFDIR)
#endi*******/

#ifdef HAVE_SYS_TIME_H
#include <sys/tim_API+0 < 0x030b0000
#  define Py_MEMCPY memcpy
#enSVC */
#  define Py_LOCAL(type) static type __fastRMAT_SIZE_T "z"
#endif

/* Py_LOCAL can be used indef size_t Py_uhash_t;

/* Now PY_SSIZE_T_CLEAN isZE_MAX
#elif SIZEOF_VOID_P == SIZEOF_SIZE_T
typedesize_t is a signed integral type such that sizeof( PYLONG_BITS_IN_DIGIT describes the number of bitsg long is required. Ensure HAVE_LONG_LONG is definis universally implemented, this is the only way
 **************************
Symbols and macros to sLD_CORE
#endif
#if defined(Py_BUILD_CORE_MODULE) & Py_BUILD_CORE: Build Python core. Give access to e _Py_STATIC_CAST(type, expr) ((type)(expr))
#endi */
#ifndef Py_PYPORT_H
#define Py_PYPORT_H

#incl _Py_WRITE_RESTRICTED   4 // Deprecated, no-op. Dogned int */
/* unsigned variants: */
#define Py_T_size_t offset;
    int flags;
    const char *doc; An array of PyMemberDef structures defines the na;

struct PyGetSetDef {
    const char *name;
    scriptors */
#ifndef Py_DESCROBJECT_H
#define Py_D(p, n)       PyMem_Realloc((p), (n))
#define PyMemizeof(type)) ) )

/*
 * The value of (p) is always_New(type, n) \
  ( ((size_t)(n) > PY_SSIZE_T_MAX  *) PyMem_Calloc(size_t nelem, size_t elsize);
PyAese APIs.
*/

/*
 * Raw memory interface
 * ======  calloc/free.  For example, on Windows different tibility across Python versions.
   Because the PyRETURN_FALSE return Py_False

/* Function to retur(PyLongObject) _Py_TrueStruct;

/* Use these macrodif


// PyBool_Type is declared by object.h

#defFUNC(PyStatus) _PyTraceMalloc_Init(void);

/* StartObjectTraceback(PyObject *obj);

/* Initialize tr.
   Do nothing if the block was not tracked.

    an allocated memory block in the tracemalloc modudouble);

/* Extract C double from Python float.  } while(0)

PyAPI_FUNC(double) PyFloat_GetMax(voidine Py_RETURN_NAN return PyFloat_FromDouble(Py_NAN */

/*
PyFloatObject represents a (double precisiT
#define T_ULONG     Py_T_ULONG
#define T_STRING_on.h and must be included individually.
 */

#inclhis header is deprecated: new code should not use I_FUNC(long) PyMarshal_ReadLongFromFile(FILE *);
Pt *) PyMarshal_ReadObjectFromString(const char *,
le (0)
#define _Py_DECREF_STAT_INC() do { if (_py_I_DATA(PyStats *) _py_stats;

extern void _Py_Statlist;
    uint64_t new_values;
    uint64_t dict_mOpcodeStats;

typedef struct _call_stats {
    uinNCTION_VECTORCALL 4
#define EVAL_CALL_BUILD_CLASS  thread.  Note that the main thread always has sucTATE);

/* Helper/diagnostic function - get the cu passed to
   PyGILState_Release() to ensure Pythots
   thread lock.  This may be called as many timte);
#endif

typedef
    enum {PyGILState_LOCKED, tate_UncheckedGet() and _PyThreadState_GET(). */
Ptate.

   When the current thread state is NULL, tnot return NULL.

   The caller must hold the GIL.FUNC(PyInterpreterState *) PyInterpreterState_New(PYTHON_PYTHREAD_H
#  include "cpython/pythread.h"
pedef struct _Py_tss_t Py_tss_t;  /* opaque */

Pyoid) PyThread_delete_key_value(int key);

/* Cleanread Specific Storage (TSS) API.

   The existing  The caller may reattempt to acquire the
   lock.
 up to the specified duration.
   If microseconds (LLONG_MAX / 1000)
#elif defined (NT_THREADS)
   /ead_acquire_lock_timed() below).
   PY_TIMEOUT_MAXvoid);
#endif

PyAPI_FUNC(PyThread_type_lock) PyThnit_thread(void);
PyAPI_FUNC(unsigned long) PyThreNG_DOUBLE 16
#else
# define ALIGNOF_MAX_ALIGN_T 8
2-bit
     * mode that depends on the compilation efine SIZEOF__BOOL         1
#        endif
#     __)
#        define VA_LIST_IS_ARRAY 1
#    endif
IS_BIG_ENDIAN_IEEE754
# undef DOUBLE_IS_LITTLE_ENDelow aren't configure-time constant but
      * onUNC(int) PyCapsule_SetName(PyObject *capsule, cons *name,
    PyCapsule_Destructor destructor);

PyAher.

   For more information, please see "c-api/c                          \
    } while (0)

#ifnd To use this macro, the tp_traverse function must ect.
 *
 * See also private _PyObject_GC_UNTRACK()      ( (type *) _PyObject_GC_Resize(_PyVarObject_d */
#define PyType_IS_GC(t) PyType_HasFeature((t)he callback ends iteration, returning
 * 1 allows bject_NewVar((typeobj), (n)) )

// Alias to PyObje_NEW() called directly
// PyObject_MALLOC() with _PyObject_Init(_PyObject_CAST(op), (typeobj))
#defiliases only kept for backward compatibility.
// Py_FUNC(void *) PyObject_Malloc(size_t size);
#if !don-NULL pointer if possible.

   PyObject_Realloc(   designed for fast, cache-conscious allocation ogarbage collection and you have to make sure that m of memory management is needed (for example, if ted for an object.  It does not
   run a destructow(type, typeobj) allocates memory for a new objectntation is free to change internal details, and
  n is
 * undefined and normally not relevant, but eif

/* Py_HUGE_VAL should always be the same as Pyis an infinity, else 0.
#define Py_IS_INFINITY(X) os to supply platform-independent interfaces to ma     \
        }            \
        static_var ## _annotator() {       READS_END();
    return res;
  }
  /* Apply _Py_ANnction return non-zero:
    - Use environment varieturn non-zero value if running under valgrind.

 e, int line, int enable);
void AnnotateNoOp(const olatile void *mu);
void AnnotateTraceMemory(const  char *description);
void AnnotateBenignRace(const      long size);
void AnnotateUnpublishMemoryRangile void *barrier);
void AnnotateCondVarWait(constBarrierWaitAfter(const char *file, int line,
      const volatile void *lock);
void AnnotateRWLockAc/* DYNAMIC_ANNOTATIONS_ENABLED */

/* Use the macrPy_ANNOTATE_BENIGN_RACE_SIZED(address, size, descry_ANNOTATE_BENIGN_RACE(address, description) /* emANNOTATE_PUBLISH_MEMORY_RANGE(address, size) /* emNNOTATE_RWLOCK_RELEASED(lock, is_w) /* empty */
#dy_ANNOTATE_EXPECT_RACE(address, description) \
   STROY(barrier) \
    AnnotateBarrierDestroy(__FILEPy_ANNOTATE_BARRIER_INIT(barrier, count, reinitialnot
     normally needed by modules that merely usNOTATE_RWLOCK_DESTROY(lock) \
    AnnotateRWLockDet. */

  /* Report that a lock has been created atf program execution, e.g. during initialization. *=0) or disable (enable==0) race detection for all _IGNORE_READS_AND_WRITES_END() \
    do {\
      __IGNORE_WRITES_BEGIN() \
    AnnotateIgnoreWritesB   until _Py_ANNOTATE_IGNORE_READS_END is called.
oint
     where the race happens.  See also _Py_ANnotatePCQGet(__FILE__, __LINE__, pcq)

  /* ------e at address "pcq" is about to be destroyed. */
#drieved from a free list and
     is about to be reing memory allocators, or when memory that
     wae.
     This annotation makes sense only for hybriNOTATE_PUBLISH_MEMORY_RANGE(pointer, size) to
    ne _Py_ANNOTATE_CONDVAR_SIGNAL(cv) \
    AnnotateC_LINE__, cv, lock)

  /* Report that wait on the c       delete this;
       }
     }

     Example ) {
       _Py_ANNOTATE_HAPPENS_BEFORE(&refcount_)------
     Annotations useful when implementing cr-case
   (e.g., _Py_ANNOTATE_NEW_MEMORY).

   Acttations that should be used by users are macros inl macros renamed to
 * start with _Py_ to avoid co
 * this software without specific prior written pright
 * notice, this list of conditions and the f(_save); \
                 }

/* Masks and valuesState *tstate);

#define Py_BEGIN_ALLOW_THREADS { read(PyThreadState *);

Py_DEPRECATED(3.9) PyAPI_FOSError);
        return NULL;
    }
    Py_UNBLOCPy_BLOCK_THREADS before the return, e.g.

    if (ject *f, int exc);

/* Interface for threads.

   n addition, the "overflowed" flag is automaticallyrow the recursion limit while processing the
     dPendingCall(int (*func)(void *), void *arg);
PyAP ...);

PyAPI_FUNC(PyObject *) PyEval_GetBuiltins(nce they are officially part of the
 * stable ABI                           PyObject *globals,
     (PyObject *) PyEval_EvalCodeEx(PyObject *co,
     yDictKeys_Check(op) || PyDictItems_Check(op))

/* ) PyObject_GenericGetDict(PyObject *, void *);
#en *dp, const char *key);
PyAPI_FUNC(int) PyDict_Setf override is true,
   the last occurrence of a ket *other);

/* PyDict_Merge updates/merges from a ject *) PyDict_GetItemWithError(PyObject *mp, PyObPI_DATA(PyTypeObject) PyDict_Type;

#define PyDict "C" {
#endif

/* Dictionary object type -- mappinint) PyErr_WarnExplicit(
    PyObject *category,
 HLEN PATH_MAX
#else
#define MAXPATHLEN 1024
#endifgth */
#ifdef __hpux
#include <sys/param.h>
#incluBLE_SPECIALIZATION 1

#define IS_PSEUDO_OPCODE(op)_FLOOR_DIVIDE                 15
#define NB_INPLAC               3
#define NB_MATRIX_MULTIPLY       OAD_ZERO_SUPER_ATTR) \
    || ((op) == STORE_FAST_             148
#define STORE_ATTR_WITH_HINT     e LOAD_FAST__LOAD_CONST                   86
#defi           66
#define LOAD_SUPER_ATTR_METHOD                       56
#define COMPARE_OP_FLOAT      ne CALL_NO_KW_METHOD_DESCRIPTOR_FAST       44
#def      24
#define CALL_BOUND_METHOD_EXACT_ARGS             8
#define BINARY_OP_INPLACE_ADD_UNICODE   e MIN_PSEUDO_OPCODE                      256
#defie INSTRUMENTED_CALL_FUNCTION_EX          244
#defi 238
#define INSTRUMENTED_POP_JUMP_IF_NOT_NONE    efine BUILD_CONST_KEY_MAP                    156
#                     149
#define YIELD_VALUE            133
#define JUMP_BACKWARD_NO_INTERRUPT                             123
#define LOAD_FAST                     110
#define POP_JUMP_IF_FALSE                             105
#define LOAD_ATTR                                91
#define UNPACK_SEQUEN_ANNOTATIONS                       85
#define LOAD                           55
#define STORE_SUBSCR                   31
#define MATCH_SEQUENCE                         17
#define BINARY_SUBSCR       ruction opcodes for compiled code */
#define CACHEsents an integer range.  This is an immutable objeDateType), (args))

#endif   /* !defined(_PY_DATETine PyDelta_FromDSU(days, seconds, useconds) \
   me((year), (month), (day), (hour), \
        (min)ine PyDate_FromDate(year, month, day) \
    PyDate((op), PyDateTimeAPI->DateTimeType)

#define PyTimateTimeAPI->TimeZone_UTC

/* Macros for type checkt *(*DateTime_FromDateAndTimeAndFold)(int, int, int *offset, PyObject *name);

    /* constructors f *DeltaType;
    PyTypeObject *TZInfoType;

    /*teTime_TIME_GET_TZINFO(o)      (_PyDateTime_HAS_TZinfo : Py_None)

/* Apply for time instances. */
#       (((PyDateTime_DateTime*)(o))->data[4])
#def[2])
#define PyDateTime_GET_DAY(o)      (((PyDateTme_DATETIMEHEAD
} _PyDateTime_BaseDateTime;     /*jects are of PyDateTime_DateTimeType, but that can    \
    _PyTZINFO_HEAD              \
    unsignsh_t hashcode;         \
    char hastzinfo;       struct
{
    PyObject_HEAD
    Py_hash_t hashcodeine _PyDateTime_DATE_DATASIZE 4

/* # of bytes forchar *);

#ifdef MS_WINDOWS
#define PyOS_strnicmp     Py_GCC_ATTRIBUTE((format(printf, 3, 0)));

#ifstr, size_t size, const char  *format, ...)
      (PyObject *) PyUnicodeEncodeError_GetReason(PyObjeize_t *);

/* assign a new value to the end attribeEncodeError_SetStart(PyObject *, Py_ssize_t);
PyA);

/* get the value of the start attribute (the ilineno);

/* The following functions are used to ccoding */
    int lineno,
    int col_offset);
PyA() _PyErr_BadInternalCall(__FILE__, __LINE__)

/* r_BadInternalCall(const char *filename, int lineno PyErr_SetExcFromWindowsErr(PyObject *, int);
#endUNC(PyObject *) PyErr_SetFromWindowsErr(int);
PyAPame(
    PyObject *exc,
    const char *filename  oid);
PyAPI_FUNC(PyObject *) PyErr_NoMemory(void);PyObject *) PyExc_PendingDeprecationWarning;
PyAPIeoutError;
#endif


/* Compatibility aliases */
PyAPI_DATA(PyObject *) PyExc_ConnectionAbortedError;PyExc_SyntaxError;
PyAPI_DATA(PyObject *) PyExc_In_DATA(PyObject *) PyExc_ModuleNotFoundError;
#endiPyAPI_DATA(PyObject *) PyExc_AttributeError;
PyAPIbject_CAST(Py_TYPE(x))

#define _PyBaseExceptionGr PyExceptionInstance_Check(x)                    \ation (PEP 3134) */
PyAPI_FUNC(PyObject *) PyExcep(void) _Py_NO_RETURN Py_FatalError(const char *mesif

/* Defined in Python/pylifecycle.c

   The Py_oid) PyErr_SetString(
    PyObject *exception,
   dif

#include <stdarg.h>               // va_list
Type_IsSubtype(Py_TYPE(ob), &PySet_Type) || \
    PyFrozenSet_New(PyObject *);

PyAPI_FUNC(int) PySenterface */

#ifndef Py_SETOBJECT_H
#define Py_SET(PyObject *) PyImport_Import(PyObject *name);
PyAPect *locals,
    PyObject *fromlist,
    int level0
PyAPI_FUNC(PyObject *) PyImport_AddModuleObject(t char *cpathname       /* decoded from the filesyyImport_ExecCodeModule(
    const char *name,     yAPI_FUNC(const char *) PyImport_GetMagicTag(void)Parent(void);
PyAPI_FUNC(void) PyOS_AfterFork_ChilPyObject *s);

/* === Characters Type APIs ======= Checks whether element is contained in container     /* Operation: Py_EQ, Py_NE, Py_GT, etc. */
   Object *left,
    const char *right           /* A*/
    PyObject *right             /* Right string occurrences of substr in str with replstr
   and  *str,
    Py_UCS4 ch,
    Py_ssize_t start,
    Py_ssize_t start,           /* Start index */
   ze_t) PyUnicode_Tailmatch(
    PyObject *str,     aracter).

   Mapping tables may be dictionaries ostring. If negative,
   no limit is set.

   Separ);

/* Partition a string using a given separator,e break. Line breaks are not
   included in the rebject *sep,              /* String separator */
  op the right object
   (sets *pleft to NULL on err  These are capable of handling Unicode objects anthon filesystem encoding and error handler.
   Ret(int) PyUnicode_FSConverter(PyObject*, void*);

/*r *errors
    );
#endif

/* --- File system encodit cannot
   contain embedded null characters. */

030000
/* Decode a string from the current locale ndif /* MS_WINDOWS */

/* --- Locale encoding ----(
    int code_page,              /* code page numyObject *mapping           /* encoding mapping */

   ordinals (ones which cause a LookupError) as w
   integers in the range from 0 to 255 or None.  xpected. All other codes generate errors.

*/

PyArresponds to the first 256 Unicode ordinals. */

PawUnicodeEscapeString(
    PyObject *unicode      ode object */
    );

/* --- Unicode-Escape Codecs order. The string always starts with a BOM mark.             0=native;-1=LE,1=BE; updated on
      at the end of input data.

   If byteorder is NULL non-NULL, the decoder starts decoding using the
 mark)
   byteorder == 1:  big endian

   If byteor                     exit */
    Py_ssize_t *consu*errors,         /* error handling */
    int *bytn, *byteorder is set to the
   current byte order   when the unicodeobject is deallocated.
*/

#if ! *consumed        /* bytes consumed */
    );

PyAode_DecodeUTF8Stateful(
    const char *string,   
    Py_ssize_t length,          /* size of string codecs
   that encode from str to str. */

Py_DEPndling */
    );

/* Encodes a Unicode object and */
    const char *encoding,       /* encoding */
D. The only supported standard encoding is rot13.
esult as Python
   object.

   This API is DEPRECAaultEncoding(void);

/* --- Generic Codecs ------- handling defined for the codec. Default
   error */

/* Create a Unicode Object from the given Unicbuffer allocated by PyMem_Malloc() (use PyMem_Freeicode,          /* Unicode object */
    wchar_t *_ssize_t size             /* size of buffer */
      );

/* --- wchar_t support for platforms which rmat,   /* ASCII-encoded string  */
    va_list vaing */
    const char *errors          /* error ha may not be a
            string in canonical repr create a new string.

   Error handling is implemet the length of the Unicode object. */

P
    PyObject *unicode,
    Py_UCS4* buffer,
    PObject*) PyUnicode_Substring(
    PyObject *str,
    /* UTF-8 encoded string */
    Py_ssize_t size his Unicode character will be used as replacement eIter_Type;

#define PyUnicode_Check(op) \
    PyT= 4
#define Py_UNICODE_WIDE
#endif

/* Set these f--------- */

/* Python 3.x requires unicode */
#d permission.
 *
 * SECRET LABS AB AND THE AUTHOR Dmentation, and that the name of Secret Labs
 * AB will comply with the following terms and condition--------

 * Yet another Unicode string type for P _frame PyFrameObject;

typedef struct _ts PyThreare them at the same place since redefining typedefendif /* Py_BUFFER_H */
// Forward declarations ofine PyBUF_INDIRECT (0x0100 | PyBUF_STRIDES)

#defi PyBUF_SIMPLE 0
#define PyBUF_WRITABLE 0x0001

#ifess and -1 (with raising an error) on error. */
PyData(PyObject *dest, PyObject *src);

/* Copy the ', then the data will be copied into the array
   t) PyBuffer_FromContiguous(const Py_buffer *view,        int flags);

/* Get the memory area pointed
} Py_buffer;

typedef int (*getbufferproc)(PyObjeBI.
 *
 */

typedef struct {
    void *buf;
    Py Public Py_buffer API */

#ifndef Py_BUFFER_H
#defct.h"
#  undef Py_CPYTHON_BYTEARRAYOBJECT_H
#endifeArray_Type;
PyAPI_DATA(PyTypeObject) PyByteArrayI unsigned char pointer.
 */

/* Type object */
PyAlse
#    define Py_HASH_ALGORITHM Py_HASH_FNV
#  eut __declspec() for extern PyHash_FuncDef.
 */
#dent safety margin.
 */
#ifndef Py_HASH_CUTOFF
#  deh function definition */
typedef struct {
    Py_hHash24 */
    struct {
        uint64_t k0;
        siphash -- two uint64_t (*)
 *   ........ ......S 61
#else
#  define _PyHASH_BITS 31
#endif

#defiameters used for the numeric hash implementation. t) _Py_HashPointer(const void*);
// Similar to _Pys PyCMethodObject instead of PyCFunctionObject.
 *  slot like sq_contains. */

#define METH_COEXIST S and METH_O must not be combined with the flags aPyCFunction_NewEx(PyMethodDef *, PyObject *,
     ethod */
    PyCFunction ml_meth;    /* The C funcine _PyCFunction_CAST(func) \
    _Py_CAST(PyCFuncrameters. The macro first casts the function to th be used to prevent compiler warnings if the first*const *, Py_ssize_t);
typedef PyObject *(*PyCFunc. */

PyAPI_DATA(PyTypeObject) PyCFunction_Type;

e or NULL */
    );

#ifndef Py_LIMITED_API
#  defBytes_DecodeEscape(const char *, Py_ssize_t,
     _BYTES_SUBCLASS)
#define PyBytes_CheckExact(op) Py     PyType_FastSubclass(Py_TYPE(op), Py_TPFLAGS_BThere are functions to create new bytes objects, tNT       25      /* Unexpected characters after a of memory */
#define E_DONE           16      /* Pser than when passed from the parser to the interpendif /* !Py_PYTHON_H */
#ifndef Py_ERRCODE_H
#defh"
#include "modsupport.h"
#include "compile.h"
#iude "pyframe.h"
#include "traceback.h"
#include "s
#include "bytesobject.h"
#include "unicodeobject.      // memcpy()
#endif
#ifndef MS_WINDOWS
#  include "pyconfig.h"
#include "pymacconfig.h"

#if dethon C API.
// C extensions should only #include <ATED(3.12) PyAPI_DATA(const char *) Py_FileSystemDct *);

/* The default encoding used by the platfoPyObject *) PyFile_FromFd(int, const char *, const= 0x03050000
/* New in 3.5 */
#define Py_tp_finaliefine Py_tp_dealloc 52
#define Py_tp_del 53
#definq_length 45
#define Py_sq_repeat 46
#define Py_tp_power 20
#define Py_nb_inplace_remainder 21
#defin /* Don't use ncurses extensions */
#endif

#endifefine as a signed integer type capable of holding ine to `int' if <sys/types.h> doesn't define. */
/Define to activate Unix95-and-earlier features */
es not define that. */
/* #undef _POSIX_THREADS */

/* This must be set to 64 on some systems to enatel). */
#if defined AC_APPLE_UNIVERSAL_BUILD
# ifobject freelists optimization */
#define WITH_FREEyou want documentation strings in extension moduleef _XOPEN_SOURCE
# define _XOPEN_SOURCE 700
#endifEnable extensions specified by ISO/IEC TS 18661-4:fndef __STDC_WANT_IEC_60559_ATTRIBS_EXT__
# defineo 1 if needed for POSIX-compatible behavior.  */
# linking
   with -lxnet on HP-UX 11.11.  */
#ifndeC_SOURCE 1
#endif
/* Enable general extensions on om thread stack size depending on chosen sanitizerfine SIZEOF_VOID_P 8

/* The size of `wchar_t', as
/* The size of `pthread_key_t', as computed by sid by sizeof. */
#define SIZEOF_LONG 8

/* The sizedef Py_TRACE_REFS */

/* assume C89 semantics that build an interpreter with many run-time checks. *penSSL defaults untouched, 0: custom string */
#de

/* enabled builtin hash modules */
#define PY_BUion of this package. */
/* #undef PACKAGE_VERSION to the address where bug reports for this package e the `wmemcmp' function. */
#define HAVE_WMEMCMP e HAVE_WAITPID 1

/* Define if the compiler providme_safe() exists. */
/* #undef HAVE_UUID_GENERATE_e the `utimes' function. */
#define HAVE_UTIMES 1
   wchar_t must be an unsigned type with at least eprecated, use
   `HAVE_STRUCT_TM_TM_ZONE' insteade to 1 if your `struct tm' has `tm_zone'. Deprecate the `tempnam' function. */
#define HAVE_TEMPNAM e <sys/types.h> header file. */
#define HAVE_SYS_TALL_H 1

/* Define to 1 if you have the <sys/sysma header file. */
#define HAVE_SYS_SOUNDCARD_H 1

/idfd.h> header file. */
/* #undef HAVE_SYS_PIDFD_H/

/* Define to 1 if you have the <sys/ndir.h> heale.h> header file. */
#define HAVE_SYS_FILE_H 1

/oll.h> header file. */
#define HAVE_SYS_EPOLL_H 1
/* Define to 1 if you have the <sys/audioio.h> hea have the `sysconf' function. */
#define HAVE_SYSCct stat'. */
/* #undef HAVE_STRUCT_STAT_ST_BIRTHTIr of `struct passwd'. */
#define HAVE_STRUCT_PASSWomic.h with atomic_int and atomic_uintptr_t */
#dee struct stat.st_mtim.tv_nsec */
#define HAVE_STAT

/* struct sockaddr_storage (sys/socket.h) */
#de function. */
#define HAVE_SIGINTERRUPT 1

/to 1 if `si_band' is a member of `siginfo_t'. */
# the `shm_open' function. */
#define HAVE_SHM_OPENsetresuid' function. */
#define HAVE_SETRESUID 1

the `setpgid' function. */
#define HAVE_SETPGID 1
tgroups' function. */
#define HAVE_SETGROUPS 1

/*kwait' function. */
/* #undef HAVE_SEM_CLOCKWAIT *e the <sched.h> header file. */
#define HAVE_SCHEDve readline 4.0 */
/* #undef HAVE_RL_PRE_INPUT_HOOif you can turn off readline's signal handling. */linkat' function. */
#define HAVE_READLINKAT 1

/* platform requires stubbed pthreads support */
/*  in pthread header. */
/* #undef HAVE_PTHREAD_DEST to 1 if you have the `pthread_condattr_setclock' e' function. */
#define HAVE_POSIX_FALLOCATE 1

/*e the `pathconf' function. */
#define HAVE_PATHCONf wchar_t in non-Unicode locales is not
   Unicode

/* Define to 1 if you have the <netinet/in.h> heses.h> header file. */
#define HAVE_NCURSES_H 1

/e the `mkfifo' function. */
#define HAVE_MKFIFO 1
 the makedev macro. */
#define HAVE_MAKEDEV 1

/*  the type `long double'. */
#define HAVE_LONG_DOUBe the `lockf' function. */
#define HAVE_LOCKF 1

//memfd.h> header file. */
#define HAVE_LINUX_MEMFD* Define to 1 if you have the <linux/limits.h> heaan.h> header file. */
#define HAVE_LINUX_CAN_H 1

you have the `sendfile' library (-lsendfile). */
/if you want to build _blake2 module with libb2 */
 Linux, the necessary defines are already defined./* Define if gcc has the ipa-pure-const bug. */
/*t_aton' function. */
#define HAVE_INET_ATON 1

/* IFY_SOURCE wrappers for memmove and
   bcopy. */
/AVE_GETRUSAGE 1

/* Define if you have the 'getser 1 if the getrandom() function is available */
#de 1

/* Define if you have the 'getprotobyname' fun`getpgrp' function. */
#define HAVE_GETPGRP 1

/* ostbyname_r(). */
/* #undef HAVE_GETHOSTBYNAME_R_5efine this if you have some version of gethostbyna`geteuid' function. */
#define HAVE_GETEUID 1

/* e the `getegid' function. */
#define HAVE_GETEGID e HAVE_GCC_ASM_FOR_X64 1

/* Define if we can use  the `ftime' function. */
#define HAVE_FTIME 1

/*statvfs' function. */
#define HAVE_FSTATVFS 1

/* `forkpty' function. */
#define HAVE_FORKPTY 1

/* _FEXECVE 1

/* Define if you have the 'ffi_closuree the `fchownat' function. */
#define HAVE_FCHOWNA if you have the `explicit_memset' function. */
/*oll_create' function. */
#define HAVE_EPOLL 1

/* Defined when any dynamic module loading is enablednt.h> header file, and it defines `DIR'.
   */
#deif you don't.
   */
/* #undef HAVE_DECL_TZNAME */
 0 if you
   don't. */
#define HAVE_DECL_RTLD_NODEve the declaration of `RTLD_GLOBAL', and to 0 if yM 1

/* Define if you have the 'resize_term' functer' function. */
#define HAVE_CURSES_FILTER 1

/* ypt.h> header file. */
#define HAVE_CRYPT_H 1

/* e if the C compiler supports computed gotos. */
#dthe `clock' function. */
#define HAVE_CLOCK 1

/* tomic_store_n() functions */
#define HAVE_BUILTIN_ header file. */
/* #undef HAVE_BLUETOOTH_H */

/*

/* Define if you have the 'bind' function. */
#d to 1 if you have the <alloca.h> header file. */
##define HAVE_ACCEPT 1

/* Define to 1 if you have t, stored with the most
   significant byte first build system. */
/* #undef AIX_BUILDDATE */

/* DeG_H
#define Py_PYCONFIG_H


/* Define if building t *object, PyObject *typeorclass);

/* issubclass(

/* Return element of 'o' corresponding to the st On success, return a list or tuple of the values ivalent to the Python statement: del o[key]. */
#d Remove the mapping for the string 'key' from the t) PyMapping_Size(PyObject *o);

/* For DLL compaturn the
   resulting object, which could be 'o1', bject *value);


/* --- In-place versions of some  is not in the sequence
   'seq'; -1 on error.

  s, return
   the number of keys for which o[key] =ZE(o) \
    (PyList_Check(o) ? PyList_GET_SIZE(o) bject does not support iteration, raises a
   Typect *v);

/* Delete the slice in sequence objec'i'-th element of the sequence 'v'. Returns -1 on d return -1 on failure; return 0 on success.

   T*o, Py_ssize_t count);

/* Return the ith element _t) PySequence_Length(PyObject *o);
#define PySequReturn 1 if the object provides sequence protocol,/
PyAPI_FUNC(PyObject *) PyNumber_InPlaceXor(PyObjReturns the result of bitwise and of o1 and o2, po1 to the power of o2, possibly in-place,
   or NULo1 by o2 giving a float result, possibly
   in-pla PyObject *o2);

#if !de Returns the result of multiplying o1 by o2, possiing o2 to o1, possibly in-place, or NULL
   on faian overflow error occurs while converting the int  of the
   tp_as_number structure filled in), and 2);

/* Returns the bitwise exclusive or of o1 by shifting o1 by o2 on success, or NULL on
   failur *o);

/* Returns the absolute value of 'o', or NU);

/* See the built-in function pow. Returns NULL Returns the remainder of dividing o1 by o2, or NUression: o1 // o2. */
PyAPI_FUNC(PyObject *) PyNum) PyNumber_Add(PyObject *o1, PyObject *o2);

/* Rebject *, PyObject **);
#endif


/* === Number Protf generator has returned.
     'result' parameter therwise.

   This function always succeeds. */
Pybut if the argument is an iterator, this
   returnC(int) PyObject_AsWriteBuffer(PyObject *obj,
          Py_ssize_t *buffer_len);

/* Takes an arbitra buffer interface and returns a pointer to a read-returned and an exception set. */
Py_DEPRECATED(3. for backwards compatibility we will implement theUNC(int) PyObject_DelItemString(PyObject *o, constt *) PyObject_GetItem(PyObject *o, PyObject *key); *o);


/* Return the size of object 'o'.  If the ct_IsTrue(PyObject *o);

   Returns 1 if the objecendif

/* Implemented elsewhere:

   Py_hash_t PyOObject *callable,
    PyObject *const *args,
    sFUNC(Py_ssize_t) PyVectorcall_NARGS(size_t nargsf)n expression:
   callable(arg1, arg2, ...). */
PyAments are provided as PyObject* values, terminatedect *) _PyObject_CallFunction_SizeT(PyObject *callobject 'obj' with a variable number of
   C argume can be NULL.

   Returns the result of the call o     PyObject *args, PyObject *kwargs);


/* Call able Python object without any arguments */
PyAPI_e string representation of object, o.  Returns the(o).

   Called by the repr() built-in function. *thon statement: del o.attr_name. */
#define PyObje. Raise an exception and return -1 on failure; rettribute value on success, or NULL on failure.

   his is the equivalent of the Python expression: o.ame, and 0 otherwise.

   This is equivalent to th======== */

/* Implemented elsewhere:

   int PyOarser, unsigned long long activationThresholdBytesSetUnknownEncodingHandler)(
        XML_Parser parser parser, XML_DefaultHandler handler);
    void eate_MM)(
        const XML_Char *encoding, const N;
    int MICRO_VERSION;
    /* pointers to selecer modules, such as cElementTree. */

/* note: youITED_API) || Py_LIMITED_API+0 >= 0x03030000
PyAPI_ck(op) Py_IS_TYPE((op), &PyMemoryView_Type)

PyAPI inline int PyDTrace_IMPORT_FIND_LOAD_START_ENABLE_ENABLED(void) { return 0; }
static inline int PyDPyDTrace_INSTANCE_DELETE_START(int arg0) {}
static to nothing. */

static inline void PyDTrace_LINE( include "cpython/weakrefobject.h"
#  undef Py_CPY(PyObject *) PyWeakref_NewRef(PyObject *ob,
      Object_TypeCheck((op), &_PyWeakref_RefType)
#definle(
    const char *arg,
    size_t *size);

PyAPI compilers.
    #endif
    #if (defined(__GNUC__) .
 */
    #ifndef __has_attribute
      #define __
#  define Py_CPYTHON_TUPLEOBJECT_H
#  include "cp;

#define PyTuple_Check(op) \
                 Pynt the reference count of the item it replaces,
ifNUMOBJECT_H */
/* Tuple object interface */

#ifndif

#ifdef __cplusplus
}
#endif
#endif /* !Py_MODUrs 3
#endif

#ifndef Py_LIMITED_API
#define _Py_mo \
    0,        /* m_index */      \
    _Py_NULL  Py_ssize_t m_index;
  /* A copy of the module's duleDef*);
PyAPI_DATA(PyTypeObject) PyModuleDef_TyDict(PyObject *);
PyAPI_FUNC(int) _PyModuleSpec_IsNewObject(
    PyObject *name
    );
#endif
PyAPI_H
#define Py_MODULEOBJECT_H
#ifdef __cplusplus
ext#if !defined(Py_LIMITED_API)
typedef struct {
    t(const char *format, ...);
PyAPI_FUNC(void) PySyslus
extern "C" {
#endif

PyAPI_FUNC(PyObject *) Pyx=${prefix}
libdir=${exec_prefix}/lib
includedir=$nclude

Name: Python
Description: Embed Python int                 e             §       u                zR x�                          0              xœÓa```b dpœ;    þ   -÷iÉƒ—ì|Ê¡9âw¥Œ?%—Êåø†€üçF¦¢×^ÙTÄpÿE      100644  6104      `
ELF          >       fobject.o/
Python-tokenize.o/
dynamic_annotations.mport_FrozenBootstrap _Py_M____hello__ _Py_M____ph___ham_toplevel _Py_get___phello___ham_eggs_toplevy_get_importlib__bootstrap_external_toplevel _Py_g_tracemalloc PyInit__codecs PyInit__collections PyyFaulthandler_Fini PyOS_BeforeFork PyOS_AfterFork_ect_GC_NewWithExtraData _PyObject_GC_Resize PyObjepolineActive _PyPerfTrampoline_GetCallbacks _PyPercoding _Py_GetLocaleEncodingObject _Py_device_encotoa _PyUnicode_FormatAdvancedWriter _PyLong_FormatMalloc_GetTraceback _PyTraceMalloc_IsTracing _PyTrThread_tss_get PyThread_get_stacksize PyThread_setPyThread_exit_thread PyThread_allocate_lock PyThree_PerfMapState_Fini _PySys_ReadPreinitWarnOptions r _Py_Specialize_Send PyMember_GetOne PyMember_Seticroseconds _PyTime_AsMilliseconds _PyTime_AsTimevime_FromNanosecondsObject _PyTime_FromTimespec _PyPyRun_SimpleStringFlags PyRun_FileExFlags Py_Compiate_MustExit _Py_HandleSystemExit _PyErr_Display Pk PyGILState_Ensure _PyCrossInterpreterData_Init _mes _PyThread_CurrentExceptions _PyGILState_Init _dState_DeleteCurrent _PyThreadState_GetDict PyThre _PyOS_mystrnicmp_hack _Py_get_387controlword _Py_reInitialize _Py_PreInitializeFromConfig Py_Initia _PyRuntime_Finalize _Py_IsFinalizing _Py_IsCoreIn_PyPreCmdline_SetConfig _PyPreConfig_InitCompatConPyPathConfig_ClearGlobal _PyPathConfig_ReadGlobal l_to_ssize_t Py_BuildValue _Py_BuildValue_SizeT Py_Py_call_instrumentation_instruction _PyMonitoringyConfig_FromDict _PyConfig_InitImportConfig _PyConeption _PyErr_SetFromPyStatus _PyWideStringList_ClImport_FiniExternal _PyImport_GetModuleAttr _PyImpmport_ImportFrozenModule _PyImport_GetImportlibLoayImport_SetDLOpenFlags _PyImport_ClearExtension _Pt_ReleaseLock _PyImport_ReInitLock _PyImport_InitMInitThreads PyEval_SaveThread PyEval_RestoreThreadrg_UnpackKeywordsWithVararg _PyArg_CheckPositionalPyArg_VaParseTupleAndKeywords_SizeT _PyArg_ParseTuame_GetCode PyUnstable_InterpreterFrame_GetLasti PPyErr_RangedSyntaxLocationObject PyErr_ProgramTextilenameObject PyErr_SetFromErrnoWithFilename PyErr_SetHandledException PyErr_GetExcInfo PyErr_SetExcPyContextTokenMissing_Type _PyErr_SetRaisedExceptits PyCodec_NameReplaceErrors _PyOpcode_Jump _PyOpcPyCodecInfo_GetIncrementalEncoder PyCodec_Registerde PyEval_EvalCodeEx PyThreadState_EnterTracing Pyy_asdl_int_seq_new _PyAssemble_MakeCodeObject _PyA_PyAST_Name _PyAST_List _PyAST_Tuple _PyAST_Slice h _PyAST_AsyncWith _PyAST_Match _PyAST_Raise _PyAS_PyAST_Interactive _PyAST_Expression _PyAST_Functi _PyAST_Fini _Py_asdl_mod_seq_new _Py_asdl_stmt_seicode_IsXidContinue _PyUnicode_ToDecimalDigit _PyUyUnicode_IsLinebreak _PyUnicode_ToTitlecase _PyUnincodedObject PyUnicode_DecodeFSDefaultAndSize PyUnnicode_FromFormat PyUnicode_DecodeUTF7Stateful PyUriter_Init _PyUnicodeWriter_PrepareInternal _PyUniPyUnicode_AsLatin1String _PyUnicode_AsASCIIString ode_AsUTF16String PyUnicode_AsUnicodeEscapeString encoding PyUnicode_EncodeLocale PyUnicode_DecodeLo_RichCompare PyUnicode_Contains _PyUnicode_InternePyType_FromSpec _PyType_Lookup _PyObject_LookupSpePyType_AddWatcher PyType_ClearWatcher PyType_Watchype _PyStaticType_GetState _PyType_GetDict PyType_ce_InitBuiltinWithFlags PyStructSequence_InitType2 _Py_GetGlobalAllocatedBlocks _PyDebugAllocatorStaObject_Free _PyInterpreterState_GetAllocatedBlocksem_RawRealloc _PyMem_RawFree _PyMem_DebugRawMallocef PyObject_GenericSetDict PyObject_SetAttrString  _PyTypes_FiniTypes _Py_NewReference _PyObject_NewninitializedSubmodule _Py_module_getattro_impl _PyNameObject PyModule_AddFunctions _PyModule_CreateIict_SetItemString _PyObject_StoreInstanceAttributeDelItemId PyDict_DelItemString PyDict_Clear _PyDicysForClass _PyObject_InitializeDict _PyObject_MakePyDict_DebugMallocStats _PyDict_CheckConsistency PAsLongLongAndOverflow _PyLong_UnsignedShort_ConveromUnsignedLongLong PyLong_FromDouble PyLong_AsLongID_New _PyInterpreterState_GetIDObject _PyIntMethod_New PyStaticMethod_Type _PyInterpreterID_Ty _PyEval_BuiltinsFromGlobals PyFrame_New PyFunctioat_GetMax PyFloat_GetMin PyFloat_FromDouble PyFloar _PyLong_FileDescriptor_Converter _Py_UniversalNerror PyExc_NotImplementedError PyExc_RecursionErroor PyExc_AssertionError PyExc_UnicodeEncodeError Pc_MemoryError PyExc_ResourceWarning PyExc_EncodingError _PyUnicodeTranslateError_Create PyExc_UnicodUnicodeDecodeError_GetObject PyUnicodeTranslateErrrror PyExc_OSError PyException_GetTraceback PyExceyMethodDescr_Type PyDescr_NewClassMethod PyClassMee _PyCode_New PyCode_Type PyUnstable_Code_NewWithPType PyInstanceMethod_Type PyMethod_Function PyMetll PyCFunction_Call PyEval_CallObjectWithKeywords Object_VectorcallMethod PyObject_CallMethodObjArgsIter_Type PyBytes_Type PyBytes_FromStringAndSize Py_isspace__doc__ _PyByteArray_empty_string PyByteA_FromLong _Py_FalseStruct PyBool_Type _Py_bytes_isIsInstance _PyObject_RealIsSubclass PyIter_Check PObject_GetItem PySequence_GetSlice PySequence_SetIeMatrixMultiply PyNumber_InPlaceFloorDivide PyNumbObject_Type _PyObject_HasLen PyObject_CheckBuffer dline PyOS_ReadlineFunctionPointer _PyTokenizer_Frn_get_expr_name _PyPegen_get_last_comprehension_it_arguments _PyPegen_augoperator _PyPegen_function_yPegen_seq_count_dots _PyPegen_alias_for_star _PyPonnwhitespace_token _PyPegen_new_identifier _PyPegnteractive_exit _PyPegen_byte_offset_to_character_G_øG_øG_øG_øG_øG_øG_ø|ÝD|ÝD|ÝD~I ~I ~I¿�¿�¿�¿d”¿d”¿d”Âä€Âä€Âä€Âä€Ä”dÄ”dÄ”­aÌ­aÌ­aÌ­aÌ­aÌ­aÌ­aÌ­aÌ­aÌ­aÌ´‡¨´‡¨´‡�žx�žx�žx�žx�žx�žx�žx�žx�žx�žxœ�Üœ�Üœ�€¼€€¼€€¼ƒ4�ƒ4�ƒ4�ƒ4�ƒzLƒzLƒzLƒ�°ƒ�°ƒ›,kç`kç`kç`kç`kç`kç`kç`kç`kç`kç`q¤|q¤|q¤cäcäcäcäcäcäcäcäcäcäc_¸c_¸c_IGôIGôIGôIGôIGôIGôIGôIGôIGôIGôLÖLÖLÖ,H,H,H,H,H,H,H,H,H,H8çÜ8çÜ8çüL üL üL üL üL üL üL üL üL üL Ð Ð ÌEH ÌEH ÌEH ÌEH ÌEH ÌEH ÌEH ÌEH ÌEH ÌEH Ñ!4 Ñ!4 Ñ!·Ä° ·Ä° ·Ä° ·Ä° ·Ä° ·Ä° ·Ä° ·Ä° ·Ä° ·Ä° »uœ »uœ »u ÇÜ  ÇÜ  ÇÜ  ÇÜ  ÇÜ  ÇÜ  ÇÜ  ÇÜ  ÇÜ  ÇÜ ¥eø ¥eø ¥eµ4 †µ4 †µ4 �g° �g° �g° �g° �g° �g° �g° �g° ”g ”gwøl wøl wøl wøl wøl wøl wøl wøl wøl wøl }t� }t� }t`‡H `‡H `‡H `‡H `‡H `‡H `‡H `‡H `‡H `‡H e! e! e!M÷` M÷` M÷` M÷` M÷` M÷` M÷` M÷` RÂÜ RÂÜ U{