An annotated version of the translation unit with minimal whitespace. Indentation is according to the depth of the #include stack. Line numbers are linked to the original source code.
Highlighted filenames take you forward to the next occasion in the include graph of the file being pre-processed, in this case: /Users/paulross/dev/Python-3.6.2/Objects/dictobject.c
Return to Index
# Starting FILE: /Users/paulross/dev/Python-3.6.2/Objects/dictobject.c # Holding FILE: /Users/paulross/dev/Python-3.6.2/Objects/dictobject.c .# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /usr/include/stdio.h ..# Holding FILE: /usr/include/stdio.h ...# Starting FILE: /usr/include/_types.h ...# Holding FILE: /usr/include/_types.h ....# Starting FILE: /usr/include/sys/_types.h ....# Holding FILE: /usr/include/sys/_types.h .....# Starting FILE: /usr/include/machine/_types.h .....# Holding FILE: /usr/include/machine/_types.h ......# Starting FILE: /usr/include/i386/_types.h .......[ 37]: typedef __signed char __int8_t; .......[ 41]: typedef unsigned char __uint8_t; .......[ 42]: typedef short __int16_t; .......[ 43]: typedef unsigned short __uint16_t; .......[ 44]: typedef int __int32_t; .......[ 45]: typedef unsigned int __uint32_t; .......[ 46]: typedef long long __int64_t; .......[ 47]: typedef unsigned long long __uint64_t; .......[ 49]: typedef long __darwin_intptr_t; .......[ 50]: typedef unsigned int __darwin_natural_t; .......[ 70]: typedef int __darwin_ct_rune_t; .......[ 76]: typedef union { .......[ 77]: char __mbstate8[128]; .......[ 78]: long long _mbstateL; .......[ 79]: } __mbstate_t; .......[ 81]: typedef __mbstate_t __darwin_mbstate_t; .......[ 88]: typedef int __darwin_ptrdiff_t; .......[ 94]: typedef unsigned long __darwin_size_t; .......[ 98]: typedef __builtin_va_list __darwin_va_list; .......[ 106]: typedef __darwin_ct_rune_t __darwin_wchar_t; .......[ 109]: typedef __darwin_wchar_t __darwin_rune_t; .......[ 114]: typedef __darwin_ct_rune_t __darwin_wint_t; .......[ 117]: typedef unsigned long __darwin_clock_t; .......[ 118]: typedef __uint32_t __darwin_socklen_t; .......[ 119]: typedef long __darwin_ssize_t; .......[ 120]: typedef long __darwin_time_t; .......# Ending FILE: /usr/include/i386/_types.h ......# Ending FILE: /usr/include/machine/_types.h .....# Back in FILE: /usr/include/sys/_types.h .....[ 55]: typedef __int64_t __darwin_blkcnt_t; .....[ 56]: typedef __int32_t __darwin_blksize_t; .....[ 57]: typedef __int32_t __darwin_dev_t; .....[ 58]: typedef unsigned int __darwin_fsblkcnt_t; .....[ 59]: typedef unsigned int __darwin_fsfilcnt_t; .....[ 60]: typedef __uint32_t __darwin_gid_t; .....[ 61]: typedef __uint32_t __darwin_id_t; .....[ 62]: typedef __uint64_t __darwin_ino64_t; .....[ 64]: typedef __darwin_ino64_t __darwin_ino_t; .....[ 68]: typedef __darwin_natural_t __darwin_mach_port_name_t; .....[ 69]: typedef __darwin_mach_port_name_t __darwin_mach_port_t; .....[ 70]: typedef __uint16_t __darwin_mode_t; .....[ 71]: typedef __int64_t __darwin_off_t; .....[ 72]: typedef __int32_t __darwin_pid_t; .....[ 73]: typedef __uint32_t __darwin_sigset_t; .....[ 74]: typedef __int32_t __darwin_suseconds_t; .....[ 75]: typedef __uint32_t __darwin_uid_t; .....[ 76]: typedef __uint32_t __darwin_useconds_t; .....[ 77]: typedef unsigned char __darwin_uuid_t[16]; .....[ 78]: typedef char __darwin_uuid_string_t[37]; ....# Holding FILE: /usr/include/sys/_types.h .....# Starting FILE: /usr/include/sys/_pthread/_pthread_types.h ......[ 57]: struct __darwin_pthread_handler_rec { ......[ 58]: void (*__routine)(void *); ......[ 59]: void *__arg; ......[ 60]: struct __darwin_pthread_handler_rec *__next; ......[ 61]: }; ......[ 63]: struct _opaque_pthread_attr_t { ......[ 64]: long __sig; ......[ 65]: char __opaque[36]; ......[ 66]: }; ......[ 68]: struct _opaque_pthread_cond_t { ......[ 69]: long __sig; ......[ 70]: char __opaque[24]; ......[ 71]: }; ......[ 73]: struct _opaque_pthread_condattr_t { ......[ 74]: long __sig; ......[ 75]: char __opaque[4]; ......[ 76]: }; ......[ 78]: struct _opaque_pthread_mutex_t { ......[ 79]: long __sig; ......[ 80]: char __opaque[40]; ......[ 81]: }; ......[ 83]: struct _opaque_pthread_mutexattr_t { ......[ 84]: long __sig; ......[ 85]: char __opaque[8]; ......[ 86]: }; ......[ 88]: struct _opaque_pthread_once_t { ......[ 89]: long __sig; ......[ 90]: char __opaque[4]; ......[ 91]: }; ......[ 93]: struct _opaque_pthread_rwlock_t { ......[ 94]: long __sig; ......[ 95]: char __opaque[124]; ......[ 96]: }; ......[ 98]: struct _opaque_pthread_rwlockattr_t { ......[ 99]: long __sig; ......[ 100]: char __opaque[12]; ......[ 101]: }; ......[ 103]: struct _opaque_pthread_t { ......[ 104]: long __sig; ......[ 105]: struct __darwin_pthread_handler_rec *__cleanup_stack; ......[ 106]: char __opaque[4088]; ......[ 107]: }; ......[ 109]: typedef struct _opaque_pthread_attr_t __darwin_pthread_attr_t; ......[ 110]: typedef struct _opaque_pthread_cond_t __darwin_pthread_cond_t; ......[ 111]: typedef struct _opaque_pthread_condattr_t __darwin_pthread_condattr_t; ......[ 112]: typedef unsigned long __darwin_pthread_key_t; ......[ 113]: typedef struct _opaque_pthread_mutex_t __darwin_pthread_mutex_t; ......[ 114]: typedef struct _opaque_pthread_mutexattr_t __darwin_pthread_mutexattr_t; ......[ 115]: typedef struct _opaque_pthread_once_t __darwin_pthread_once_t; ......[ 116]: typedef struct _opaque_pthread_rwlock_t __darwin_pthread_rwlock_t; ......[ 117]: typedef struct _opaque_pthread_rwlockattr_t __darwin_pthread_rwlockattr_t; ......[ 118]: typedef struct _opaque_pthread_t *__darwin_pthread_t; ......# Ending FILE: /usr/include/sys/_pthread/_pthread_types.h .....# Ending FILE: /usr/include/sys/_types.h ....# Back in FILE: /usr/include/_types.h ....[ 39]: typedef int __darwin_nl_item; ....[ 40]: typedef int __darwin_wctrans_t; ....[ 44]: typedef unsigned long __darwin_wctype_t; ....# Ending FILE: /usr/include/_types.h ..# Holding FILE: /usr/include/stdio.h ...# Starting FILE: /usr/include/sys/_types/_va_list.h ....# Back in FILE: /usr/include/sys/_types/_va_list.h ....[ 31]: typedef __darwin_va_list va_list; ....# Ending FILE: /usr/include/sys/_types/_va_list.h ..# Holding FILE: /usr/include/stdio.h ...# Starting FILE: /usr/include/sys/_types/_size_t.h ....# Back in FILE: /usr/include/sys/_types/_size_t.h ....[ 30]: typedef __darwin_size_t size_t; ....# Ending FILE: /usr/include/sys/_types/_size_t.h ..# Holding FILE: /usr/include/stdio.h ...# Starting FILE: /usr/include/sys/stdio.h ....# Back in FILE: /usr/include/sys/stdio.h ....[ 39]: int renameat(int, __const char *, int, __const char *) ; ....# Ending FILE: /usr/include/sys/stdio.h ...# Back in FILE: /usr/include/stdio.h ...[ 77]: typedef __darwin_off_t fpos_t; ...[ 88]: struct __sbuf { ...[ 89]: unsigned char *_base; ...[ 90]: int _size; ...[ 91]: }; ...[ 94]: struct __sFILEX; ...[ 122]: typedef struct __sFILE { ...[ 123]: unsigned char *_p; ...[ 124]: int _r; ...[ 125]: int _w; ...[ 126]: short _flags; ...[ 127]: short _file; ...[ 128]: struct __sbuf _bf; ...[ 129]: int _lbfsize; ...[ 132]: void *_cookie; ...[ 133]: int (*_close)(void *); ...[ 134]: int (*_read) (void *, char *, int); ...[ 135]: fpos_t (*_seek) (void *, fpos_t, int); ...[ 136]: int (*_write)(void *, __const char *, int); ...[ 139]: struct __sbuf _ub; ...[ 140]: struct __sFILEX *_extra; ...[ 141]: int _ur; ...[ 144]: unsigned char _ubuf[3]; ...[ 145]: unsigned char _nbuf[1]; ...[ 148]: struct __sbuf _lb; ...[ 151]: int _blksize; ...[ 152]: fpos_t _offset; ...[ 153]: } FILE; ...[ 156]: extern FILE *__stdinp; ...[ 157]: extern FILE *__stdoutp; ...[ 158]: extern FILE *__stderrp; ...[ 231]: void clearerr(FILE *); ...[ 232]: int fclose(FILE *); ...[ 233]: int feof(FILE *); ...[ 234]: int ferror(FILE *); ...[ 235]: int fflush(FILE *); ...[ 236]: int fgetc(FILE *); ...[ 237]: int fgetpos(FILE * , fpos_t *); ...[ 238]: char *fgets(char * , int, FILE *); ...[ 240]: FILE *fopen(__const char * , __const char * ) __asm("_" "x" "$DARWIN_EXTSN"); ...[ 244]: int fprintf(FILE * , __const char * , ...) __attribute__((__format__ (__printf__, 2, 3))); ...[ 245]: int fputc(int, FILE *); ...[ 246]: int fputs(__const char * , FILE * ) __asm("_" "x" "$UNIX2003"); ...[ 247]: size_t fread(void * , size_t, size_t, FILE * ); ...[ 248]: FILE *freopen(__const char * , __const char * , ...[ 249]: FILE * ) __asm("_" "x" "$UNIX2003"); ...[ 250]: int fscanf(FILE * , __const char * , ...) __attribute__((__format__ (__scanf__, 2, 3))); ...[ 251]: int fseek(FILE *, long, int); ...[ 252]: int fsetpos(FILE *, __const fpos_t *); ...[ 253]: long ftell(FILE *); ...[ 254]: size_t fwrite(__const void * , size_t, size_t, FILE * ) __asm("_" "x" "$UNIX2003"); ...[ 255]: int getc(FILE *); ...[ 256]: int getchar(void); ...[ 257]: char *gets(char *); ...[ 258]: void perror(__const char *); ...[ 259]: int printf(__const char * , ...) __attribute__((__format__ (__printf__, 1, 2))); ...[ 260]: int putc(int, FILE *); ...[ 261]: int putchar(int); ...[ 262]: int puts(__const char *); ...[ 263]: int remove(__const char *); ...[ 264]: int rename (__const char *, __const char *); ...[ 265]: void rewind(FILE *); ...[ 266]: int scanf(__const char * , ...) __attribute__((__format__ (__scanf__, 1, 2))); ...[ 267]: void setbuf(FILE * , char * ); ...[ 268]: int setvbuf(FILE * , char * , int, size_t); ...[ 269]: int sprintf(char * , __const char * , ...) __attribute__((__format__ (__printf__, 2, 3))); ...[ 270]: int sscanf(__const char * , __const char * , ...) __attribute__((__format__ (__scanf__, 2, 3))); ...[ 271]: FILE *tmpfile(void); ...[ 274]: __attribute__((deprecated)) ...[ 276]: char *tmpnam(char *); ...[ 277]: int ungetc(int, FILE *); ...[ 278]: int vfprintf(FILE * , __const char * , va_list) __attribute__((__format__ (__printf__, 2, 0))); ...[ 279]: int vprintf(__const char * , va_list) __attribute__((__format__ (__printf__, 1, 0))); ...[ 280]: int vsprintf(char * , __const char * , va_list) __attribute__((__format__ (__printf__, 2, 0))); ...[ 296]: char *ctermid(char *); ...[ 300]: FILE *fdopen(int, __const char *) __asm("_" "x" "$DARWIN_EXTSN"); ...[ 304]: int fileno(FILE *); ...[ 315]: int pclose(FILE *); ...[ 317]: FILE *popen(__const char *, __const char *) __asm("_" "x" "$DARWIN_EXTSN"); ...[ 337]: int __srget(FILE *); ...[ 338]: int __svfscanf(FILE *, __const char *, va_list) __attribute__((__format__ (__scanf__, 2, 0))); ...[ 339]: int __swbuf(int, FILE *); ...[ 374]: void flockfile(FILE *); ...[ 375]: int ftrylockfile(FILE *); ...[ 376]: void funlockfile(FILE *); ...[ 377]: int getc_unlocked(FILE *); ...[ 378]: int getchar_unlocked(void); ...[ 379]: int putc_unlocked(int, FILE *); ...[ 380]: int putchar_unlocked(int); ...[ 384]: int getw(FILE *); ...[ 385]: int putw(int, FILE *); ...[ 389]: __attribute__((deprecated)) ...[ 391]: char *tempnam(__const char *, __const char *) __asm("_" "x" "$UNIX2003"); ..# Holding FILE: /usr/include/stdio.h ...# Starting FILE: /usr/include/sys/_types/_off_t.h ....[ 30]: typedef __darwin_off_t off_t; ....# Ending FILE: /usr/include/sys/_types/_off_t.h ...# Back in FILE: /usr/include/stdio.h ...[ 414]: int fseeko(FILE *, off_t, int); ...[ 415]: off_t ftello(FILE *); ...[ 421]: int snprintf(char * , size_t, __const char * , ...) __attribute__((__format__ (__printf__, 3, 4))); ...[ 422]: int vfscanf(FILE * , __const char * , va_list) __attribute__((__format__ (__scanf__, 2, 0))); ...[ 423]: int vscanf(__const char * , va_list) __attribute__((__format__ (__scanf__, 1, 0))); ...[ 424]: int vsnprintf(char * , size_t, __const char * , va_list) __attribute__((__format__ (__printf__, 3, 0))); ...[ 425]: int vsscanf(__const char * , __const char * , va_list) __attribute__((__format__ (__scanf__, 2, 0))); ..# Holding FILE: /usr/include/stdio.h ...# Starting FILE: /usr/include/sys/_types/_ssize_t.h ....[ 30]: typedef __darwin_ssize_t ssize_t; ....# Ending FILE: /usr/include/sys/_types/_ssize_t.h ...# Back in FILE: /usr/include/stdio.h ...[ 439]: int dprintf(int, __const char * , ...) __attribute__((__format__ (__printf__, 2, 3))) ; ...[ 440]: int vdprintf(int, __const char * , va_list) __attribute__((__format__ (__printf__, 2, 0))) ; ...[ 441]: ssize_t getdelim(char ** , size_t * , int, FILE * ) ; ...[ 442]: ssize_t getline(char ** , size_t * , FILE * ) ; ...[ 452]: extern __const int sys_nerr; ...[ 453]: extern __const char *__const sys_errlist[]; ...[ 455]: int asprintf(char ** , __const char * , ...) __attribute__((__format__ (__printf__, 2, 3))); ...[ 456]: char *ctermid_r(char *); ...[ 457]: char *fgetln(FILE *, size_t *); ...[ 458]: __const char *fmtcheck(__const char *, __const char *); ...[ 459]: int fpurge(FILE *); ...[ 460]: void setbuffer(FILE *, char *, int); ...[ 461]: int setlinebuf(FILE *); ...[ 462]: int vasprintf(char ** , __const char * , va_list) __attribute__((__format__ (__printf__, 2, 0))); ...[ 463]: FILE *zopen(__const char *, __const char *, int); ...[ 469]: FILE *funopen(__const void *, ...[ 470]: int (*)(void *, char *, int), ...[ 471]: int (*)(void *, __const char *, int), ...[ 472]: fpos_t (*)(void *, fpos_t, int), ...[ 473]: int (*)(void *)); ..# Holding FILE: /usr/include/stdio.h ...# Starting FILE: /usr/include/secure/_stdio.h ....[ 42]: extern int __sprintf_chk (char * , int, size_t, ....[ 43]: __const char * , ...); ....[ 52]: extern int __snprintf_chk (char * , size_t, int, size_t, ....[ 53]: __const char * , ...); ....[ 61]: extern int __vsprintf_chk (char * , int, size_t, ....[ 62]: __const char * , va_list); ....[ 70]: extern int __vsnprintf_chk (char * , size_t, int, size_t, ....[ 71]: __const char * , va_list); ....# Ending FILE: /usr/include/secure/_stdio.h ...# Ending FILE: /usr/include/stdio.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /usr/include/string.h ...# Back in FILE: /usr/include/string.h ...[ 70]: void *memchr(__const void *, int, size_t); ...[ 71]: int memcmp(__const void *, __const void *, size_t); ...[ 72]: void *memcpy(void *, __const void *, size_t); ...[ 73]: void *memmove(void *, __const void *, size_t); ...[ 74]: void *memset(void *, int, size_t); ...[ 75]: char *strcat(char *, __const char *); ...[ 76]: char *strchr(__const char *, int); ...[ 77]: int strcmp(__const char *, __const char *); ...[ 78]: int strcoll(__const char *, __const char *); ...[ 79]: char *strcpy(char *, __const char *); ...[ 80]: size_t strcspn(__const char *, __const char *); ...[ 81]: char *strerror(int) __asm("_" "x" "$UNIX2003"); ...[ 82]: size_t strlen(__const char *); ...[ 83]: char *strncat(char *, __const char *, size_t); ...[ 84]: int strncmp(__const char *, __const char *, size_t); ...[ 85]: char *strncpy(char *, __const char *, size_t); ...[ 86]: char *strpbrk(__const char *, __const char *); ...[ 87]: char *strrchr(__const char *, int); ...[ 88]: size_t strspn(__const char *, __const char *); ...[ 89]: char *strstr(__const char *, __const char *); ...[ 90]: char *strtok(char *, __const char *); ...[ 91]: size_t strxfrm(char *, __const char *, size_t); ...[ 104]: char *strtok_r(char *, __const char *, char **); ...[ 116]: int strerror_r(int, char *, size_t); ...[ 117]: char *strdup(__const char *); ...[ 118]: void *memccpy(void *, __const void *, int, size_t); ...[ 130]: char *stpcpy(char *, __const char *); ...[ 131]: char *stpncpy(char *, __const char *, size_t) ; ...[ 132]: char *strndup(__const char *, size_t) ; ...[ 133]: size_t strnlen(__const char *, size_t) ; ...[ 134]: char *strsignal(int sig); ..# Holding FILE: /usr/include/string.h ...# Starting FILE: /usr/include/sys/_types/_rsize_t.h ....[ 30]: typedef __darwin_size_t rsize_t; ....# Ending FILE: /usr/include/sys/_types/_rsize_t.h ..# Holding FILE: /usr/include/string.h ...# Starting FILE: /usr/include/sys/_types/_errno_t.h ....# Back in FILE: /usr/include/sys/_types/_errno_t.h ....[ 30]: typedef int errno_t; ....# Ending FILE: /usr/include/sys/_types/_errno_t.h ...# Back in FILE: /usr/include/string.h ...[ 145]: errno_t memset_s(void *, rsize_t, int, rsize_t) ; ...[ 155]: void *memmem(__const void *, size_t, __const void *, size_t) ; ...[ 156]: void memset_pattern4(void *, __const void *, size_t) ; ...[ 157]: void memset_pattern8(void *, __const void *, size_t) ; ...[ 158]: void memset_pattern16(void *, __const void *, size_t) ; ...[ 160]: char *strcasestr(__const char *, __const char *); ...[ 161]: char *strnstr(__const char *, __const char *, size_t); ...[ 162]: size_t strlcat(char *, __const char *, size_t); ...[ 163]: size_t strlcpy(char *, __const char *, size_t); ...[ 164]: void strmode(int, char *); ...[ 165]: char *strsep(char **, __const char *); ...[ 168]: void swab(__const void * , void * , ssize_t); ..# Holding FILE: /usr/include/string.h ...# Starting FILE: /usr/include/strings.h ....[ 70]: int bcmp(__const void *, __const void *, size_t) ; ....[ 71]: void bcopy(__const void *, void *, size_t) ; ....[ 72]: void bzero(void *, size_t) ; ....[ 73]: char *index(__const char *, int) ; ....[ 74]: char *rindex(__const char *, int) ; ....[ 77]: int ffs(int); ....[ 78]: int strcasecmp(__const char *, __const char *); ....[ 79]: int strncasecmp(__const char *, __const char *, size_t); ....[ 85]: int ffsl(long) ; ....[ 86]: int ffsll(long long) ; ....[ 87]: int fls(int) ; ....[ 88]: int flsl(long) ; ....[ 89]: int flsll(long long) ; ....# Ending FILE: /usr/include/strings.h ...# Ending FILE: /usr/include/string.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /usr/include/errno.h ..# Holding FILE: /usr/include/errno.h ...# Starting FILE: /usr/include/sys/errno.h ....# Back in FILE: /usr/include/sys/errno.h ....[ 80]: extern int * __error(void); ....# Ending FILE: /usr/include/sys/errno.h ...# Ending FILE: /usr/include/errno.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /usr/include/stdlib.h ..# Holding FILE: /usr/include/stdlib.h ...# Starting FILE: /usr/include/sys/wait.h ....# Back in FILE: /usr/include/sys/wait.h ....[ 79]: typedef enum { ....[ 80]: P_ALL, ....[ 81]: P_PID, ....[ 82]: P_PGID ....[ 83]: } idtype_t; ...# Holding FILE: /usr/include/sys/wait.h ....# Starting FILE: /usr/include/sys/_types/_pid_t.h .....[ 30]: typedef __darwin_pid_t pid_t; .....# Ending FILE: /usr/include/sys/_types/_pid_t.h ...# Holding FILE: /usr/include/sys/wait.h ....# Starting FILE: /usr/include/sys/_types/_id_t.h .....# Back in FILE: /usr/include/sys/_types/_id_t.h .....[ 30]: typedef __darwin_id_t id_t; .....# Ending FILE: /usr/include/sys/_types/_id_t.h ...# Holding FILE: /usr/include/sys/wait.h ....# Starting FILE: /usr/include/sys/signal.h ....# Holding FILE: /usr/include/sys/signal.h .....# Starting FILE: /usr/include/machine/signal.h .....# Holding FILE: /usr/include/machine/signal.h ......# Starting FILE: /usr/include/i386/signal.h .......# Back in FILE: /usr/include/i386/signal.h .......[ 39]: typedef int sig_atomic_t; .......# Ending FILE: /usr/include/i386/signal.h ......# Ending FILE: /usr/include/machine/signal.h ....# Holding FILE: /usr/include/sys/signal.h .....# Starting FILE: /usr/include/machine/_mcontext.h .....# Holding FILE: /usr/include/machine/_mcontext.h ......# Starting FILE: /usr/include/i386/_mcontext.h ......# Holding FILE: /usr/include/i386/_mcontext.h .......# Starting FILE: /usr/include/mach/i386/_structs.h ........# Back in FILE: /usr/include/mach/i386/_structs.h ........[ 43]: struct __darwin_i386_thread_state ........[ 44]: { ........[ 45]: unsigned int __eax; ........[ 46]: unsigned int __ebx; ........[ 47]: unsigned int __ecx; ........[ 48]: unsigned int __edx; ........[ 49]: unsigned int __edi; ........[ 50]: unsigned int __esi; ........[ 51]: unsigned int __ebp; ........[ 52]: unsigned int __esp; ........[ 53]: unsigned int __ss; ........[ 54]: unsigned int __eflags; ........[ 55]: unsigned int __eip; ........[ 56]: unsigned int __cs; ........[ 57]: unsigned int __ds; ........[ 58]: unsigned int __es; ........[ 59]: unsigned int __fs; ........[ 60]: unsigned int __gs; ........[ 61]: }; ........[ 89]: struct __darwin_fp_control ........[ 90]: { ........[ 91]: unsigned short __invalid :1, ........[ 92]: __denorm :1, ........[ 93]: __zdiv :1, ........[ 94]: __ovrfl :1, ........[ 95]: __undfl :1, ........[ 96]: __precis :1, ........[ 97]: :2, ........[ 98]: __pc :2, ........[ 104]: __rc :2, ........[ 111]: :1, ........[ 112]: :3; ........[ 113]: }; ........[ 114]: typedef struct __darwin_fp_control __darwin_fp_control_t; ........[ 147]: struct __darwin_fp_status ........[ 148]: { ........[ 149]: unsigned short __invalid :1, ........[ 150]: __denorm :1, ........[ 151]: __zdiv :1, ........[ 152]: __ovrfl :1, ........[ 153]: __undfl :1, ........[ 154]: __precis :1, ........[ 155]: __stkflt :1, ........[ 156]: __errsumm :1, ........[ 157]: __c0 :1, ........[ 158]: __c1 :1, ........[ 159]: __c2 :1, ........[ 160]: __tos :3, ........[ 161]: __c3 :1, ........[ 162]: __busy :1; ........[ 163]: }; ........[ 164]: typedef struct __darwin_fp_status __darwin_fp_status_t; ........[ 191]: struct __darwin_mmst_reg ........[ 192]: { ........[ 193]: char __mmst_reg[10]; ........[ 194]: char __mmst_rsrv[6]; ........[ 195]: }; ........[ 210]: struct __darwin_xmm_reg ........[ 211]: { ........[ 212]: char __xmm_reg[16]; ........[ 213]: }; ........[ 232]: struct __darwin_i386_float_state ........[ 233]: { ........[ 234]: int __fpu_reserved[2]; ........[ 235]: struct __darwin_fp_control __fpu_fcw; ........[ 236]: struct __darwin_fp_status __fpu_fsw; ........[ 237]: __uint8_t __fpu_ftw; ........[ 238]: __uint8_t __fpu_rsrv1; ........[ 239]: __uint16_t __fpu_fop; ........[ 240]: __uint32_t __fpu_ip; ........[ 241]: __uint16_t __fpu_cs; ........[ 242]: __uint16_t __fpu_rsrv2; ........[ 243]: __uint32_t __fpu_dp; ........[ 244]: __uint16_t __fpu_ds; ........[ 245]: __uint16_t __fpu_rsrv3; ........[ 246]: __uint32_t __fpu_mxcsr; ........[ 247]: __uint32_t __fpu_mxcsrmask; ........[ 248]: struct __darwin_mmst_reg __fpu_stmm0; ........[ 249]: struct __darwin_mmst_reg __fpu_stmm1; ........[ 250]: struct __darwin_mmst_reg __fpu_stmm2; ........[ 251]: struct __darwin_mmst_reg __fpu_stmm3; ........[ 252]: struct __darwin_mmst_reg __fpu_stmm4; ........[ 253]: struct __darwin_mmst_reg __fpu_stmm5; ........[ 254]: struct __darwin_mmst_reg __fpu_stmm6; ........[ 255]: struct __darwin_mmst_reg __fpu_stmm7; ........[ 256]: struct __darwin_xmm_reg __fpu_xmm0; ........[ 257]: struct __darwin_xmm_reg __fpu_xmm1; ........[ 258]: struct __darwin_xmm_reg __fpu_xmm2; ........[ 259]: struct __darwin_xmm_reg __fpu_xmm3; ........[ 260]: struct __darwin_xmm_reg __fpu_xmm4; ........[ 261]: struct __darwin_xmm_reg __fpu_xmm5; ........[ 262]: struct __darwin_xmm_reg __fpu_xmm6; ........[ 263]: struct __darwin_xmm_reg __fpu_xmm7; ........[ 264]: char __fpu_rsrv4[14*16]; ........[ 265]: int __fpu_reserved1; ........[ 266]: }; ........[ 269]: struct __darwin_i386_avx_state ........[ 270]: { ........[ 271]: int __fpu_reserved[2]; ........[ 272]: struct __darwin_fp_control __fpu_fcw; ........[ 273]: struct __darwin_fp_status __fpu_fsw; ........[ 274]: __uint8_t __fpu_ftw; ........[ 275]: __uint8_t __fpu_rsrv1; ........[ 276]: __uint16_t __fpu_fop; ........[ 277]: __uint32_t __fpu_ip; ........[ 278]: __uint16_t __fpu_cs; ........[ 279]: __uint16_t __fpu_rsrv2; ........[ 280]: __uint32_t __fpu_dp; ........[ 281]: __uint16_t __fpu_ds; ........[ 282]: __uint16_t __fpu_rsrv3; ........[ 283]: __uint32_t __fpu_mxcsr; ........[ 284]: __uint32_t __fpu_mxcsrmask; ........[ 285]: struct __darwin_mmst_reg __fpu_stmm0; ........[ 286]: struct __darwin_mmst_reg __fpu_stmm1; ........[ 287]: struct __darwin_mmst_reg __fpu_stmm2; ........[ 288]: struct __darwin_mmst_reg __fpu_stmm3; ........[ 289]: struct __darwin_mmst_reg __fpu_stmm4; ........[ 290]: struct __darwin_mmst_reg __fpu_stmm5; ........[ 291]: struct __darwin_mmst_reg __fpu_stmm6; ........[ 292]: struct __darwin_mmst_reg __fpu_stmm7; ........[ 293]: struct __darwin_xmm_reg __fpu_xmm0; ........[ 294]: struct __darwin_xmm_reg __fpu_xmm1; ........[ 295]: struct __darwin_xmm_reg __fpu_xmm2; ........[ 296]: struct __darwin_xmm_reg __fpu_xmm3; ........[ 297]: struct __darwin_xmm_reg __fpu_xmm4; ........[ 298]: struct __darwin_xmm_reg __fpu_xmm5; ........[ 299]: struct __darwin_xmm_reg __fpu_xmm6; ........[ 300]: struct __darwin_xmm_reg __fpu_xmm7; ........[ 301]: char __fpu_rsrv4[14*16]; ........[ 302]: int __fpu_reserved1; ........[ 303]: char __avx_reserved1[64]; ........[ 304]: struct __darwin_xmm_reg __fpu_ymmh0; ........[ 305]: struct __darwin_xmm_reg __fpu_ymmh1; ........[ 306]: struct __darwin_xmm_reg __fpu_ymmh2; ........[ 307]: struct __darwin_xmm_reg __fpu_ymmh3; ........[ 308]: struct __darwin_xmm_reg __fpu_ymmh4; ........[ 309]: struct __darwin_xmm_reg __fpu_ymmh5; ........[ 310]: struct __darwin_xmm_reg __fpu_ymmh6; ........[ 311]: struct __darwin_xmm_reg __fpu_ymmh7; ........[ 312]: }; ........[ 402]: struct __darwin_i386_exception_state ........[ 403]: { ........[ 404]: __uint16_t __trapno; ........[ 405]: __uint16_t __cpu; ........[ 406]: __uint32_t __err; ........[ 407]: __uint32_t __faultvaddr; ........[ 408]: }; ........[ 422]: struct __darwin_x86_debug_state32 ........[ 423]: { ........[ 424]: unsigned int __dr0; ........[ 425]: unsigned int __dr1; ........[ 426]: unsigned int __dr2; ........[ 427]: unsigned int __dr3; ........[ 428]: unsigned int __dr4; ........[ 429]: unsigned int __dr5; ........[ 430]: unsigned int __dr6; ........[ 431]: unsigned int __dr7; ........[ 432]: }; ........[ 454]: struct __darwin_x86_thread_state64 ........[ 455]: { ........[ 456]: __uint64_t __rax; ........[ 457]: __uint64_t __rbx; ........[ 458]: __uint64_t __rcx; ........[ 459]: __uint64_t __rdx; ........[ 460]: __uint64_t __rdi; ........[ 461]: __uint64_t __rsi; ........[ 462]: __uint64_t __rbp; ........[ 463]: __uint64_t __rsp; ........[ 464]: __uint64_t __r8; ........[ 465]: __uint64_t __r9; ........[ 466]: __uint64_t __r10; ........[ 467]: __uint64_t __r11; ........[ 468]: __uint64_t __r12; ........[ 469]: __uint64_t __r13; ........[ 470]: __uint64_t __r14; ........[ 471]: __uint64_t __r15; ........[ 472]: __uint64_t __rip; ........[ 473]: __uint64_t __rflags; ........[ 474]: __uint64_t __cs; ........[ 475]: __uint64_t __fs; ........[ 476]: __uint64_t __gs; ........[ 477]: }; ........[ 509]: struct __darwin_x86_float_state64 ........[ 510]: { ........[ 511]: int __fpu_reserved[2]; ........[ 512]: struct __darwin_fp_control __fpu_fcw; ........[ 513]: struct __darwin_fp_status __fpu_fsw; ........[ 514]: __uint8_t __fpu_ftw; ........[ 515]: __uint8_t __fpu_rsrv1; ........[ 516]: __uint16_t __fpu_fop; ........[ 519]: __uint32_t __fpu_ip; ........[ 520]: __uint16_t __fpu_cs; ........[ 522]: __uint16_t __fpu_rsrv2; ........[ 525]: __uint32_t __fpu_dp; ........[ 526]: __uint16_t __fpu_ds; ........[ 528]: __uint16_t __fpu_rsrv3; ........[ 529]: __uint32_t __fpu_mxcsr; ........[ 530]: __uint32_t __fpu_mxcsrmask; ........[ 531]: struct __darwin_mmst_reg __fpu_stmm0; ........[ 532]: struct __darwin_mmst_reg __fpu_stmm1; ........[ 533]: struct __darwin_mmst_reg __fpu_stmm2; ........[ 534]: struct __darwin_mmst_reg __fpu_stmm3; ........[ 535]: struct __darwin_mmst_reg __fpu_stmm4; ........[ 536]: struct __darwin_mmst_reg __fpu_stmm5; ........[ 537]: struct __darwin_mmst_reg __fpu_stmm6; ........[ 538]: struct __darwin_mmst_reg __fpu_stmm7; ........[ 539]: struct __darwin_xmm_reg __fpu_xmm0; ........[ 540]: struct __darwin_xmm_reg __fpu_xmm1; ........[ 541]: struct __darwin_xmm_reg __fpu_xmm2; ........[ 542]: struct __darwin_xmm_reg __fpu_xmm3; ........[ 543]: struct __darwin_xmm_reg __fpu_xmm4; ........[ 544]: struct __darwin_xmm_reg __fpu_xmm5; ........[ 545]: struct __darwin_xmm_reg __fpu_xmm6; ........[ 546]: struct __darwin_xmm_reg __fpu_xmm7; ........[ 547]: struct __darwin_xmm_reg __fpu_xmm8; ........[ 548]: struct __darwin_xmm_reg __fpu_xmm9; ........[ 549]: struct __darwin_xmm_reg __fpu_xmm10; ........[ 550]: struct __darwin_xmm_reg __fpu_xmm11; ........[ 551]: struct __darwin_xmm_reg __fpu_xmm12; ........[ 552]: struct __darwin_xmm_reg __fpu_xmm13; ........[ 553]: struct __darwin_xmm_reg __fpu_xmm14; ........[ 554]: struct __darwin_xmm_reg __fpu_xmm15; ........[ 555]: char __fpu_rsrv4[6*16]; ........[ 556]: int __fpu_reserved1; ........[ 557]: }; ........[ 560]: struct __darwin_x86_avx_state64 ........[ 561]: { ........[ 562]: int __fpu_reserved[2]; ........[ 563]: struct __darwin_fp_control __fpu_fcw; ........[ 564]: struct __darwin_fp_status __fpu_fsw; ........[ 565]: __uint8_t __fpu_ftw; ........[ 566]: __uint8_t __fpu_rsrv1; ........[ 567]: __uint16_t __fpu_fop; ........[ 570]: __uint32_t __fpu_ip; ........[ 571]: __uint16_t __fpu_cs; ........[ 573]: __uint16_t __fpu_rsrv2; ........[ 576]: __uint32_t __fpu_dp; ........[ 577]: __uint16_t __fpu_ds; ........[ 579]: __uint16_t __fpu_rsrv3; ........[ 580]: __uint32_t __fpu_mxcsr; ........[ 581]: __uint32_t __fpu_mxcsrmask; ........[ 582]: struct __darwin_mmst_reg __fpu_stmm0; ........[ 583]: struct __darwin_mmst_reg __fpu_stmm1; ........[ 584]: struct __darwin_mmst_reg __fpu_stmm2; ........[ 585]: struct __darwin_mmst_reg __fpu_stmm3; ........[ 586]: struct __darwin_mmst_reg __fpu_stmm4; ........[ 587]: struct __darwin_mmst_reg __fpu_stmm5; ........[ 588]: struct __darwin_mmst_reg __fpu_stmm6; ........[ 589]: struct __darwin_mmst_reg __fpu_stmm7; ........[ 590]: struct __darwin_xmm_reg __fpu_xmm0; ........[ 591]: struct __darwin_xmm_reg __fpu_xmm1; ........[ 592]: struct __darwin_xmm_reg __fpu_xmm2; ........[ 593]: struct __darwin_xmm_reg __fpu_xmm3; ........[ 594]: struct __darwin_xmm_reg __fpu_xmm4; ........[ 595]: struct __darwin_xmm_reg __fpu_xmm5; ........[ 596]: struct __darwin_xmm_reg __fpu_xmm6; ........[ 597]: struct __darwin_xmm_reg __fpu_xmm7; ........[ 598]: struct __darwin_xmm_reg __fpu_xmm8; ........[ 599]: struct __darwin_xmm_reg __fpu_xmm9; ........[ 600]: struct __darwin_xmm_reg __fpu_xmm10; ........[ 601]: struct __darwin_xmm_reg __fpu_xmm11; ........[ 602]: struct __darwin_xmm_reg __fpu_xmm12; ........[ 603]: struct __darwin_xmm_reg __fpu_xmm13; ........[ 604]: struct __darwin_xmm_reg __fpu_xmm14; ........[ 605]: struct __darwin_xmm_reg __fpu_xmm15; ........[ 606]: char __fpu_rsrv4[6*16]; ........[ 607]: int __fpu_reserved1; ........[ 608]: char __avx_reserved1[64]; ........[ 609]: struct __darwin_xmm_reg __fpu_ymmh0; ........[ 610]: struct __darwin_xmm_reg __fpu_ymmh1; ........[ 611]: struct __darwin_xmm_reg __fpu_ymmh2; ........[ 612]: struct __darwin_xmm_reg __fpu_ymmh3; ........[ 613]: struct __darwin_xmm_reg __fpu_ymmh4; ........[ 614]: struct __darwin_xmm_reg __fpu_ymmh5; ........[ 615]: struct __darwin_xmm_reg __fpu_ymmh6; ........[ 616]: struct __darwin_xmm_reg __fpu_ymmh7; ........[ 617]: struct __darwin_xmm_reg __fpu_ymmh8; ........[ 618]: struct __darwin_xmm_reg __fpu_ymmh9; ........[ 619]: struct __darwin_xmm_reg __fpu_ymmh10; ........[ 620]: struct __darwin_xmm_reg __fpu_ymmh11; ........[ 621]: struct __darwin_xmm_reg __fpu_ymmh12; ........[ 622]: struct __darwin_xmm_reg __fpu_ymmh13; ........[ 623]: struct __darwin_xmm_reg __fpu_ymmh14; ........[ 624]: struct __darwin_xmm_reg __fpu_ymmh15; ........[ 625]: }; ........[ 751]: struct __darwin_x86_exception_state64 ........[ 752]: { ........[ 753]: __uint16_t __trapno; ........[ 754]: __uint16_t __cpu; ........[ 755]: __uint32_t __err; ........[ 756]: __uint64_t __faultvaddr; ........[ 757]: }; ........[ 771]: struct __darwin_x86_debug_state64 ........[ 772]: { ........[ 773]: __uint64_t __dr0; ........[ 774]: __uint64_t __dr1; ........[ 775]: __uint64_t __dr2; ........[ 776]: __uint64_t __dr3; ........[ 777]: __uint64_t __dr4; ........[ 778]: __uint64_t __dr5; ........[ 779]: __uint64_t __dr6; ........[ 780]: __uint64_t __dr7; ........[ 781]: }; ........# Ending FILE: /usr/include/mach/i386/_structs.h .......# Back in FILE: /usr/include/i386/_mcontext.h .......[ 38]: struct __darwin_mcontext32 .......[ 39]: { .......[ 40]: struct __darwin_i386_exception_state __es; .......[ 41]: struct __darwin_i386_thread_state __ss; .......[ 42]: struct __darwin_i386_float_state __fs; .......[ 43]: }; .......[ 46]: struct __darwin_mcontext_avx32 .......[ 47]: { .......[ 48]: struct __darwin_i386_exception_state __es; .......[ 49]: struct __darwin_i386_thread_state __ss; .......[ 50]: struct __darwin_i386_avx_state __fs; .......[ 51]: }; .......[ 76]: struct __darwin_mcontext64 .......[ 77]: { .......[ 78]: struct __darwin_x86_exception_state64 __es; .......[ 79]: struct __darwin_x86_thread_state64 __ss; .......[ 80]: struct __darwin_x86_float_state64 __fs; .......[ 81]: }; .......[ 84]: struct __darwin_mcontext_avx64 .......[ 85]: { .......[ 86]: struct __darwin_x86_exception_state64 __es; .......[ 87]: struct __darwin_x86_thread_state64 __ss; .......[ 88]: struct __darwin_x86_avx_state64 __fs; .......[ 89]: }; .......[ 118]: typedef struct __darwin_mcontext32 *mcontext_t; .......# Ending FILE: /usr/include/i386/_mcontext.h ......# Ending FILE: /usr/include/machine/_mcontext.h ....# Holding FILE: /usr/include/sys/signal.h .....# Starting FILE: /usr/include/sys/_pthread/_pthread_attr_t.h ......# Back in FILE: /usr/include/sys/_pthread/_pthread_attr_t.h ......[ 30]: typedef __darwin_pthread_attr_t pthread_attr_t; ......# Ending FILE: /usr/include/sys/_pthread/_pthread_attr_t.h ....# Holding FILE: /usr/include/sys/signal.h .....# Starting FILE: /usr/include/sys/_types/_sigaltstack.h ......# Back in FILE: /usr/include/sys/_types/_sigaltstack.h ......[ 36]: struct __darwin_sigaltstack ......[ 37]: { ......[ 38]: void *ss_sp; ......[ 39]: __darwin_size_t ss_size; ......[ 40]: int ss_flags; ......[ 41]: }; ......[ 42]: typedef struct __darwin_sigaltstack stack_t; ......# Ending FILE: /usr/include/sys/_types/_sigaltstack.h ....# Holding FILE: /usr/include/sys/signal.h .....# Starting FILE: /usr/include/sys/_types/_ucontext.h ......# Back in FILE: /usr/include/sys/_types/_ucontext.h ......[ 34]: struct __darwin_ucontext ......[ 35]: { ......[ 36]: int uc_onstack; ......[ 37]: __darwin_sigset_t uc_sigmask; ......[ 38]: struct __darwin_sigaltstack uc_stack; ......[ 39]: struct __darwin_ucontext *uc_link; ......[ 40]: __darwin_size_t uc_mcsize; ......[ 41]: struct __darwin_mcontext32 *uc_mcontext; ......[ 45]: }; ......[ 48]: typedef struct __darwin_ucontext ucontext_t; ......# Ending FILE: /usr/include/sys/_types/_ucontext.h ....# Holding FILE: /usr/include/sys/signal.h .....# Starting FILE: /usr/include/sys/_types/_sigset_t.h ......# Back in FILE: /usr/include/sys/_types/_sigset_t.h ......[ 30]: typedef __darwin_sigset_t sigset_t; ......# Ending FILE: /usr/include/sys/_types/_sigset_t.h ....# Holding FILE: /usr/include/sys/signal.h .....# Starting FILE: /usr/include/sys/_types/_uid_t.h ......# Back in FILE: /usr/include/sys/_types/_uid_t.h ......[ 30]: typedef __darwin_uid_t uid_t; ......# Ending FILE: /usr/include/sys/_types/_uid_t.h .....# Back in FILE: /usr/include/sys/signal.h .....[ 158]: union sigval { .....[ 160]: int sival_int; .....[ 161]: void *sival_ptr; .....[ 162]: }; .....[ 168]: struct sigevent { .....[ 169]: int sigev_notify; .....[ 170]: int sigev_signo; .....[ 171]: union sigval sigev_value; .....[ 172]: void (*sigev_notify_function)(union sigval); .....[ 173]: pthread_attr_t *sigev_notify_attributes; .....[ 174]: }; .....[ 177]: typedef struct __siginfo { .....[ 178]: int si_signo; .....[ 179]: int si_errno; .....[ 180]: int si_code; .....[ 181]: pid_t si_pid; .....[ 182]: uid_t si_uid; .....[ 183]: int si_status; .....[ 184]: void *si_addr; .....[ 185]: union sigval si_value; .....[ 186]: long si_band; .....[ 187]: unsigned long __pad[7]; .....[ 188]: } siginfo_t; .....[ 269]: union __sigaction_u { .....[ 270]: void (*__sa_handler)(int); .....[ 271]: void (*__sa_sigaction)(int, struct __siginfo *, .....[ 272]: void *); .....[ 273]: }; .....[ 276]: struct __sigaction { .....[ 277]: union __sigaction_u __sigaction_u; .....[ 278]: void (*sa_tramp)(void *, int, int, siginfo_t *, void *); .....[ 279]: sigset_t sa_mask; .....[ 280]: int sa_flags; .....[ 281]: }; .....[ 286]: struct sigaction { .....[ 287]: union __sigaction_u __sigaction_u; .....[ 288]: sigset_t sa_mask; .....[ 289]: int sa_flags; .....[ 290]: }; .....[ 331]: typedef void (*sig_t)(int); .....[ 348]: struct sigvec { .....[ 349]: void (*sv_handler)(int); .....[ 350]: int sv_mask; .....[ 351]: int sv_flags; .....[ 352]: }; .....[ 367]: struct sigstack { .....[ 368]: char *ss_sp; .....[ 369]: int ss_onstack; .....[ 370]: }; .....[ 390]: void (*signal(int, void (*)(int)))(int); .....# Ending FILE: /usr/include/sys/signal.h ...# Holding FILE: /usr/include/sys/wait.h ....# Starting FILE: /usr/include/sys/resource.h ....# Holding FILE: /usr/include/sys/resource.h .....# Starting FILE: /usr/include/stdint.h .....# Holding FILE: /usr/include/stdint.h ......# Starting FILE: /usr/include/sys/_types/_int8_t.h .......# Back in FILE: /usr/include/sys/_types/_int8_t.h .......[ 30]: typedef __signed char int8_t; .......# Ending FILE: /usr/include/sys/_types/_int8_t.h .....# Holding FILE: /usr/include/stdint.h ......# Starting FILE: /usr/include/sys/_types/_int16_t.h .......# Back in FILE: /usr/include/sys/_types/_int16_t.h .......[ 30]: typedef short int16_t; .......# Ending FILE: /usr/include/sys/_types/_int16_t.h .....# Holding FILE: /usr/include/stdint.h ......# Starting FILE: /usr/include/sys/_types/_int32_t.h .......# Back in FILE: /usr/include/sys/_types/_int32_t.h .......[ 30]: typedef int int32_t; .......# Ending FILE: /usr/include/sys/_types/_int32_t.h .....# Holding FILE: /usr/include/stdint.h ......# Starting FILE: /usr/include/sys/_types/_int64_t.h .......# Back in FILE: /usr/include/sys/_types/_int64_t.h .......[ 30]: typedef long long int64_t; .......# Ending FILE: /usr/include/sys/_types/_int64_t.h .....# Holding FILE: /usr/include/stdint.h ......# Starting FILE: /usr/include/_types/_uint8_t.h .......# Back in FILE: /usr/include/_types/_uint8_t.h .......[ 31]: typedef unsigned char uint8_t; .......# Ending FILE: /usr/include/_types/_uint8_t.h .....# Holding FILE: /usr/include/stdint.h ......# Starting FILE: /usr/include/_types/_uint16_t.h .......# Back in FILE: /usr/include/_types/_uint16_t.h .......[ 31]: typedef unsigned short uint16_t; .......# Ending FILE: /usr/include/_types/_uint16_t.h .....# Holding FILE: /usr/include/stdint.h ......# Starting FILE: /usr/include/_types/_uint32_t.h .......# Back in FILE: /usr/include/_types/_uint32_t.h .......[ 31]: typedef unsigned int uint32_t; .......# Ending FILE: /usr/include/_types/_uint32_t.h .....# Holding FILE: /usr/include/stdint.h ......# Starting FILE: /usr/include/_types/_uint64_t.h .......# Back in FILE: /usr/include/_types/_uint64_t.h .......[ 31]: typedef unsigned long long uint64_t; .......# Ending FILE: /usr/include/_types/_uint64_t.h ......# Back in FILE: /usr/include/stdint.h ......[ 29]: typedef int8_t int_least8_t; ......[ 30]: typedef int16_t int_least16_t; ......[ 31]: typedef int32_t int_least32_t; ......[ 32]: typedef int64_t int_least64_t; ......[ 33]: typedef uint8_t uint_least8_t; ......[ 34]: typedef uint16_t uint_least16_t; ......[ 35]: typedef uint32_t uint_least32_t; ......[ 36]: typedef uint64_t uint_least64_t; ......[ 40]: typedef int8_t int_fast8_t; ......[ 41]: typedef int16_t int_fast16_t; ......[ 42]: typedef int32_t int_fast32_t; ......[ 43]: typedef int64_t int_fast64_t; ......[ 44]: typedef uint8_t uint_fast8_t; ......[ 45]: typedef uint16_t uint_fast16_t; ......[ 46]: typedef uint32_t uint_fast32_t; ......[ 47]: typedef uint64_t uint_fast64_t; .....# Holding FILE: /usr/include/stdint.h ......# Starting FILE: /usr/include/sys/_types/_intptr_t.h .......[ 30]: typedef __darwin_intptr_t intptr_t; .......# Ending FILE: /usr/include/sys/_types/_intptr_t.h .....# Holding FILE: /usr/include/stdint.h ......# Starting FILE: /usr/include/sys/_types/_uintptr_t.h .......# Back in FILE: /usr/include/sys/_types/_uintptr_t.h .......[ 30]: typedef unsigned long uintptr_t; .......# Ending FILE: /usr/include/sys/_types/_uintptr_t.h .....# Holding FILE: /usr/include/stdint.h ......# Starting FILE: /usr/include/_types/_intmax_t.h .......# Back in FILE: /usr/include/_types/_intmax_t.h .......[ 37]: typedef long long int intmax_t; .......# Ending FILE: /usr/include/_types/_intmax_t.h .....# Holding FILE: /usr/include/stdint.h ......# Starting FILE: /usr/include/_types/_uintmax_t.h .......# Back in FILE: /usr/include/_types/_uintmax_t.h .......[ 37]: typedef long long unsigned int uintmax_t; .......# Ending FILE: /usr/include/_types/_uintmax_t.h ......# Ending FILE: /usr/include/stdint.h ....# Holding FILE: /usr/include/sys/resource.h .....# Starting FILE: /usr/include/sys/_types/_timeval.h ......# Back in FILE: /usr/include/sys/_types/_timeval.h ......[ 30]: struct timeval ......[ 31]: { ......[ 32]: __darwin_time_t tv_sec; ......[ 33]: __darwin_suseconds_t tv_usec; ......[ 34]: }; ......# Ending FILE: /usr/include/sys/_types/_timeval.h .....# Back in FILE: /usr/include/sys/resource.h .....[ 89]: typedef __uint64_t rlim_t; .....[ 152]: struct rusage { .....[ 153]: struct timeval ru_utime; .....[ 154]: struct timeval ru_stime; .....[ 163]: long ru_maxrss; .....[ 165]: long ru_ixrss; .....[ 166]: long ru_idrss; .....[ 167]: long ru_isrss; .....[ 168]: long ru_minflt; .....[ 169]: long ru_majflt; .....[ 170]: long ru_nswap; .....[ 171]: long ru_inblock; .....[ 172]: long ru_oublock; .....[ 173]: long ru_msgsnd; .....[ 174]: long ru_msgrcv; .....[ 175]: long ru_nsignals; .....[ 176]: long ru_nvcsw; .....[ 177]: long ru_nivcsw; .....[ 180]: }; .....[ 192]: typedef void *rusage_info_t; .....[ 194]: struct rusage_info_v0 { .....[ 195]: uint8_t ri_uuid[16]; .....[ 196]: uint64_t ri_user_time; .....[ 197]: uint64_t ri_system_time; .....[ 198]: uint64_t ri_pkg_idle_wkups; .....[ 199]: uint64_t ri_interrupt_wkups; .....[ 200]: uint64_t ri_pageins; .....[ 201]: uint64_t ri_wired_size; .....[ 202]: uint64_t ri_resident_size; .....[ 203]: uint64_t ri_phys_footprint; .....[ 204]: uint64_t ri_proc_start_abstime; .....[ 205]: uint64_t ri_proc_exit_abstime; .....[ 206]: }; .....[ 208]: struct rusage_info_v1 { .....[ 209]: uint8_t ri_uuid[16]; .....[ 210]: uint64_t ri_user_time; .....[ 211]: uint64_t ri_system_time; .....[ 212]: uint64_t ri_pkg_idle_wkups; .....[ 213]: uint64_t ri_interrupt_wkups; .....[ 214]: uint64_t ri_pageins; .....[ 215]: uint64_t ri_wired_size; .....[ 216]: uint64_t ri_resident_size; .....[ 217]: uint64_t ri_phys_footprint; .....[ 218]: uint64_t ri_proc_start_abstime; .....[ 219]: uint64_t ri_proc_exit_abstime; .....[ 220]: uint64_t ri_child_user_time; .....[ 221]: uint64_t ri_child_system_time; .....[ 222]: uint64_t ri_child_pkg_idle_wkups; .....[ 223]: uint64_t ri_child_interrupt_wkups; .....[ 224]: uint64_t ri_child_pageins; .....[ 225]: uint64_t ri_child_elapsed_abstime; .....[ 226]: }; .....[ 228]: struct rusage_info_v2 { .....[ 229]: uint8_t ri_uuid[16]; .....[ 230]: uint64_t ri_user_time; .....[ 231]: uint64_t ri_system_time; .....[ 232]: uint64_t ri_pkg_idle_wkups; .....[ 233]: uint64_t ri_interrupt_wkups; .....[ 234]: uint64_t ri_pageins; .....[ 235]: uint64_t ri_wired_size; .....[ 236]: uint64_t ri_resident_size; .....[ 237]: uint64_t ri_phys_footprint; .....[ 238]: uint64_t ri_proc_start_abstime; .....[ 239]: uint64_t ri_proc_exit_abstime; .....[ 240]: uint64_t ri_child_user_time; .....[ 241]: uint64_t ri_child_system_time; .....[ 242]: uint64_t ri_child_pkg_idle_wkups; .....[ 243]: uint64_t ri_child_interrupt_wkups; .....[ 244]: uint64_t ri_child_pageins; .....[ 245]: uint64_t ri_child_elapsed_abstime; .....[ 246]: uint64_t ri_diskio_bytesread; .....[ 247]: uint64_t ri_diskio_byteswritten; .....[ 248]: }; .....[ 250]: struct rusage_info_v3 { .....[ 251]: uint8_t ri_uuid[16]; .....[ 252]: uint64_t ri_user_time; .....[ 253]: uint64_t ri_system_time; .....[ 254]: uint64_t ri_pkg_idle_wkups; .....[ 255]: uint64_t ri_interrupt_wkups; .....[ 256]: uint64_t ri_pageins; .....[ 257]: uint64_t ri_wired_size; .....[ 258]: uint64_t ri_resident_size; .....[ 259]: uint64_t ri_phys_footprint; .....[ 260]: uint64_t ri_proc_start_abstime; .....[ 261]: uint64_t ri_proc_exit_abstime; .....[ 262]: uint64_t ri_child_user_time; .....[ 263]: uint64_t ri_child_system_time; .....[ 264]: uint64_t ri_child_pkg_idle_wkups; .....[ 265]: uint64_t ri_child_interrupt_wkups; .....[ 266]: uint64_t ri_child_pageins; .....[ 267]: uint64_t ri_child_elapsed_abstime; .....[ 268]: uint64_t ri_diskio_bytesread; .....[ 269]: uint64_t ri_diskio_byteswritten; .....[ 270]: uint64_t ri_cpu_time_qos_default; .....[ 271]: uint64_t ri_cpu_time_qos_maintenance; .....[ 272]: uint64_t ri_cpu_time_qos_background; .....[ 273]: uint64_t ri_cpu_time_qos_utility; .....[ 274]: uint64_t ri_cpu_time_qos_legacy; .....[ 275]: uint64_t ri_cpu_time_qos_user_initiated; .....[ 276]: uint64_t ri_cpu_time_qos_user_interactive; .....[ 277]: uint64_t ri_billed_system_time; .....[ 278]: uint64_t ri_serviced_system_time; .....[ 279]: }; .....[ 281]: typedef struct rusage_info_v3 rusage_info_current; .....[ 325]: struct rlimit { .....[ 326]: rlim_t rlim_cur; .....[ 327]: rlim_t rlim_max; .....[ 328]: }; .....[ 353]: struct proc_rlimit_control_wakeupmon { .....[ 354]: uint32_t wm_flags; .....[ 355]: int32_t wm_rate; .....[ 356]: }; .....[ 383]: int getpriority(int, id_t); .....[ 385]: int getiopolicy_np(int, int) ; .....[ 387]: int getrlimit(int, struct rlimit *) __asm("_" "x" "$UNIX2003"); .....[ 388]: int getrusage(int, struct rusage *); .....[ 389]: int setpriority(int, id_t, int); .....[ 391]: int setiopolicy_np(int, int, int) ; .....[ 393]: int setrlimit(int, __const struct rlimit *) __asm("_" "x" "$UNIX2003"); .....# Ending FILE: /usr/include/sys/resource.h ...# Holding FILE: /usr/include/sys/wait.h ....# Starting FILE: /usr/include/machine/endian.h ....# Holding FILE: /usr/include/machine/endian.h .....# Starting FILE: /usr/include/i386/endian.h .....# Holding FILE: /usr/include/i386/endian.h ......# Starting FILE: /usr/include/sys/_endian.h ......# Holding FILE: /usr/include/sys/_endian.h .......# Starting FILE: /usr/include/libkern/_OSByteOrder.h .......# Holding FILE: /usr/include/libkern/_OSByteOrder.h ........# Starting FILE: /usr/include/libkern/i386/_OSByteOrder.h .........# Back in FILE: /usr/include/libkern/i386/_OSByteOrder.h .........[ 44]: static __inline__ .........[ 45]: __uint16_t .........[ 46]: _OSSwapInt16( .........[ 47]: __uint16_t _data .........[ 48]: ) .........[ 49]: { .........[ 50]: return ((__uint16_t)((_data << 8) | (_data >> 8))); .........[ 51]: } .........[ 53]: static __inline__ .........[ 54]: __uint32_t .........[ 55]: _OSSwapInt32( .........[ 56]: __uint32_t _data .........[ 57]: ) .........[ 58]: { .........[ 62]: __asm__ ("bswap %0" : "+r" (_data)); .........[ 63]: return _data; .........[ 65]: } .........[ 91]: static __inline__ .........[ 92]: __uint64_t .........[ 93]: _OSSwapInt64( .........[ 94]: __uint64_t _data .........[ 95]: ) .........[ 96]: { .........[ 97]: __asm__ ("bswap %0" : "+r" (_data)); .........[ 98]: return _data; .........[ 99]: } .........# Ending FILE: /usr/include/libkern/i386/_OSByteOrder.h ........# Ending FILE: /usr/include/libkern/_OSByteOrder.h .......# Ending FILE: /usr/include/sys/_endian.h ......# Ending FILE: /usr/include/i386/endian.h .....# Ending FILE: /usr/include/machine/endian.h ....# Back in FILE: /usr/include/sys/wait.h ....[ 194]: union wait { ....[ 195]: int w_status; ....[ 199]: struct { ....[ 201]: unsigned int w_Termsig:7, ....[ 202]: w_Coredump:1, ....[ 203]: w_Retcode:8, ....[ 204]: w_Filler:16; ....[ 212]: } w_T; ....[ 218]: struct { ....[ 220]: unsigned int w_Stopval:8, ....[ 221]: w_Stopsig:8, ....[ 222]: w_Filler:16; ....[ 229]: } w_S; ....[ 230]: }; ....[ 248]: pid_t wait(int *) __asm("_" "x" "$UNIX2003"); ....[ 249]: pid_t waitpid(pid_t, int *, int) __asm("_" "x" "$UNIX2003"); ....[ 251]: int waitid(idtype_t, id_t, siginfo_t *, int) __asm("_" "x" "$UNIX2003"); ....[ 254]: pid_t wait3(int *, int, struct rusage *); ....[ 255]: pid_t wait4(pid_t, int *, int, struct rusage *); ....# Ending FILE: /usr/include/sys/wait.h ..# Holding FILE: /usr/include/stdlib.h ...# Starting FILE: /usr/include/alloca.h ....# Back in FILE: /usr/include/alloca.h ....[ 32]: void *alloca(size_t); ....# Ending FILE: /usr/include/alloca.h ..# Holding FILE: /usr/include/stdlib.h ...# Starting FILE: /usr/include/sys/_types/_ct_rune_t.h ....# Back in FILE: /usr/include/sys/_types/_ct_rune_t.h ....[ 31]: typedef __darwin_ct_rune_t ct_rune_t; ....# Ending FILE: /usr/include/sys/_types/_ct_rune_t.h ..# Holding FILE: /usr/include/stdlib.h ...# Starting FILE: /usr/include/sys/_types/_rune_t.h ....# Back in FILE: /usr/include/sys/_types/_rune_t.h ....[ 30]: typedef __darwin_rune_t rune_t; ....# Ending FILE: /usr/include/sys/_types/_rune_t.h ..# Holding FILE: /usr/include/stdlib.h ...# Starting FILE: /usr/include/sys/_types/_wchar_t.h ....# Back in FILE: /usr/include/sys/_types/_wchar_t.h ....[ 33]: typedef __darwin_wchar_t wchar_t; ....# Ending FILE: /usr/include/sys/_types/_wchar_t.h ...# Back in FILE: /usr/include/stdlib.h ...[ 82]: typedef struct { ...[ 83]: int quot; ...[ 84]: int rem; ...[ 85]: } div_t; ...[ 87]: typedef struct { ...[ 88]: long quot; ...[ 89]: long rem; ...[ 90]: } ldiv_t; ...[ 93]: typedef struct { ...[ 94]: long long quot; ...[ 95]: long long rem; ...[ 96]: } lldiv_t; ...[ 117]: extern int __mb_cur_max; ...[ 128]: void abort(void) __attribute__((noreturn)); ...[ 129]: int abs(int) __attribute__((__const)); ...[ 130]: int atexit(void (*)(void)); ...[ 131]: double atof(__const char *); ...[ 132]: int atoi(__const char *); ...[ 133]: long atol(__const char *); ...[ 135]: long long ...[ 136]: atoll(__const char *); ...[ 138]: void *bsearch(__const void *, __const void *, size_t, ...[ 139]: size_t, int (*)(__const void *, __const void *)); ...[ 140]: void *calloc(size_t, size_t); ...[ 141]: div_t div(int, int) __attribute__((__const)); ...[ 142]: void exit(int) __attribute__((noreturn)); ...[ 143]: void free(void *); ...[ 144]: char *getenv(__const char *); ...[ 145]: long labs(long) __attribute__((__const)); ...[ 146]: ldiv_t ldiv(long, long) __attribute__((__const)); ...[ 148]: long long ...[ 149]: llabs(long long); ...[ 150]: lldiv_t lldiv(long long, long long); ...[ 152]: void *malloc(size_t); ...[ 153]: int mblen(__const char *, size_t); ...[ 154]: size_t mbstowcs(wchar_t * , __const char * , size_t); ...[ 155]: int mbtowc(wchar_t * , __const char * , size_t); ...[ 156]: int posix_memalign(void **, size_t, size_t) ; ...[ 157]: void qsort(void *, size_t, size_t, ...[ 158]: int (*)(__const void *, __const void *)); ...[ 159]: int rand(void); ...[ 160]: void *realloc(void *, size_t); ...[ 161]: void srand(unsigned); ...[ 162]: double strtod(__const char *, char **) __asm("_" "x" "$UNIX2003"); ...[ 163]: float strtof(__const char *, char **) __asm("_" "x" "$UNIX2003"); ...[ 164]: long strtol(__const char *, char **, int); ...[ 165]: long double ...[ 166]: strtold(__const char *, char **); ...[ 168]: long long ...[ 169]: strtoll(__const char *, char **, int); ...[ 171]: unsigned long ...[ 172]: strtoul(__const char *, char **, int); ...[ 174]: unsigned long long ...[ 175]: strtoull(__const char *, char **, int); ...[ 177]: int system(__const char *) __asm("_" "x" "$UNIX2003") ; ...[ 178]: size_t wcstombs(char * , __const wchar_t * , size_t); ...[ 179]: int wctomb(char *, wchar_t); ...[ 182]: void _Exit(int) __attribute__((noreturn)); ...[ 183]: long a64l(__const char *); ...[ 184]: double drand48(void); ...[ 185]: char *ecvt(double, int, int *, int *); ...[ 186]: double erand48(unsigned short[3]); ...[ 187]: char *fcvt(double, int, int *, int *); ...[ 188]: char *gcvt(double, int, char *); ...[ 189]: int getsubopt(char **, char * __const *, char **); ...[ 190]: int grantpt(int); ...[ 192]: char *initstate(unsigned, char *, size_t); ...[ 196]: long jrand48(unsigned short[3]); ...[ 197]: char *l64a(long); ...[ 198]: void lcong48(unsigned short[7]); ...[ 199]: long lrand48(void); ...[ 200]: char *mktemp(char *); ...[ 201]: int mkstemp(char *); ...[ 202]: long mrand48(void); ...[ 203]: long nrand48(unsigned short[3]); ...[ 204]: int posix_openpt(int); ...[ 205]: char *ptsname(int); ...[ 206]: int putenv(char *) __asm("_" "x" "$UNIX2003"); ...[ 207]: long random(void); ...[ 208]: int rand_r(unsigned *); ...[ 210]: char *realpath(__const char * , char * ) __asm("_" "x" "$DARWIN_EXTSN"); ...[ 214]: unsigned short ...[ 215]: *seed48(unsigned short[3]); ...[ 216]: int setenv(__const char *, __const char *, int) __asm("_" "x" "$UNIX2003"); ...[ 218]: void setkey(__const char *) __asm("_" "x" "$UNIX2003"); ...[ 222]: char *setstate(__const char *); ...[ 223]: void srand48(long); ...[ 225]: void srandom(unsigned); ...[ 229]: int unlockpt(int); ...[ 231]: int unsetenv(__const char *) __asm("_" "x" "$UNIX2003"); ..# Holding FILE: /usr/include/stdlib.h ...# Starting FILE: /usr/include/machine/types.h ...# Holding FILE: /usr/include/machine/types.h ....# Starting FILE: /usr/include/i386/types.h .....[ 81]: typedef unsigned char u_int8_t; .....[ 82]: typedef unsigned short u_int16_t; .....[ 83]: typedef unsigned int u_int32_t; .....[ 84]: typedef unsigned long long u_int64_t; .....[ 89]: typedef int32_t register_t; .....[ 97]: typedef u_int64_t user_addr_t; .....[ 98]: typedef u_int64_t user_size_t; .....[ 99]: typedef int64_t user_ssize_t; .....[ 100]: typedef int64_t user_long_t; .....[ 101]: typedef u_int64_t user_ulong_t; .....[ 102]: typedef int64_t user_time_t; .....[ 103]: typedef int64_t user_off_t; .....[ 111]: typedef u_int64_t syscall_arg_t; .....# Ending FILE: /usr/include/i386/types.h ....# Ending FILE: /usr/include/machine/types.h ..# Holding FILE: /usr/include/stdlib.h ...# Starting FILE: /usr/include/sys/_types/_dev_t.h ....# Back in FILE: /usr/include/sys/_types/_dev_t.h ....[ 30]: typedef __darwin_dev_t dev_t; ....# Ending FILE: /usr/include/sys/_types/_dev_t.h ..# Holding FILE: /usr/include/stdlib.h ...# Starting FILE: /usr/include/sys/_types/_mode_t.h ....# Back in FILE: /usr/include/sys/_types/_mode_t.h ....[ 30]: typedef __darwin_mode_t mode_t; ....# Ending FILE: /usr/include/sys/_types/_mode_t.h ...# Back in FILE: /usr/include/stdlib.h ...[ 243]: u_int32_t arc4random(void); ...[ 244]: void arc4random_addrandom(unsigned char * , int ); ...[ 245]: void arc4random_buf(void * , size_t ) ; ...[ 246]: void arc4random_stir(void); ...[ 247]: u_int32_t ...[ 248]: arc4random_uniform(u_int32_t ) ; ...[ 256]: char *cgetcap(char *, __const char *, int); ...[ 257]: int cgetclose(void); ...[ 258]: int cgetent(char **, char **, __const char *); ...[ 259]: int cgetfirst(char **, char **); ...[ 260]: int cgetmatch(__const char *, __const char *); ...[ 261]: int cgetnext(char **, char **); ...[ 262]: int cgetnum(char *, __const char *, long *); ...[ 263]: int cgetset(__const char *); ...[ 264]: int cgetstr(char *, __const char *, char **); ...[ 265]: int cgetustr(char *, __const char *, char **); ...[ 267]: int daemon(int, int) __asm("_" "x" "$1050") ; ...[ 268]: char *devname(dev_t, mode_t); ...[ 269]: char *devname_r(dev_t, mode_t, char *buf, int len); ...[ 270]: char *getbsize(int *, long *); ...[ 271]: int getloadavg(double [], int); ...[ 272]: __const char ...[ 273]: *getprogname(void); ...[ 275]: int heapsort(void *, size_t, size_t, ...[ 276]: int (*)(__const void *, __const void *)); ...[ 281]: int mergesort(void *, size_t, size_t, ...[ 282]: int (*)(__const void *, __const void *)); ...[ 287]: void psort(void *, size_t, size_t, ...[ 288]: int (*)(__const void *, __const void *)) ; ...[ 293]: void psort_r(void *, size_t, size_t, void *, ...[ 294]: int (*)(void *, __const void *, __const void *)) ; ...[ 299]: void qsort_r(void *, size_t, size_t, void *, ...[ 300]: int (*)(void *, __const void *, __const void *)); ...[ 301]: int radixsort(__const unsigned char **, int, __const unsigned char *, ...[ 302]: unsigned); ...[ 303]: void setprogname(__const char *); ...[ 304]: int sradixsort(__const unsigned char **, int, __const unsigned char *, ...[ 305]: unsigned); ...[ 306]: void sranddev(void); ...[ 307]: void srandomdev(void); ...[ 308]: void *reallocf(void *, size_t); ...[ 310]: long long ...[ 311]: strtoq(__const char *, char **, int); ...[ 312]: unsigned long long ...[ 313]: strtouq(__const char *, char **, int); ...[ 315]: extern char *suboptarg; ...[ 316]: void *valloc(size_t); ...# Ending FILE: /usr/include/stdlib.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /usr/include/unistd.h ..# Holding FILE: /usr/include/unistd.h ...# Starting FILE: /usr/include/sys/unistd.h ....# Back in FILE: /usr/include/sys/unistd.h ....[ 132]: struct accessx_descriptor { ....[ 133]: unsigned int ad_name_offset; ....[ 134]: int ad_flags; ....[ 135]: int ad_pad[2]; ....[ 136]: }; ....[ 185]: int getattrlistbulk(int, void *, void *, size_t, uint64_t) ; ...# Holding FILE: /usr/include/sys/unistd.h ....# Starting FILE: /usr/include/sys/_types/_gid_t.h .....[ 30]: typedef __darwin_gid_t gid_t; .....# Ending FILE: /usr/include/sys/_types/_gid_t.h ....# Back in FILE: /usr/include/sys/unistd.h ....[ 203]: int faccessat(int, __const char *, int, int) ; ....[ 204]: int fchownat(int, __const char *, uid_t, gid_t, int) ; ....[ 205]: int linkat(int, __const char *, int, __const char *, int) ; ....[ 206]: ssize_t readlinkat(int, __const char *, char *, size_t) ; ....[ 207]: int symlinkat(__const char *, int, __const char *) ; ....[ 208]: int unlinkat(int, __const char *, int) ; ....[ 209]: int getattrlistat(int, __const char *, void *, void *, size_t, unsigned long) ; ....# Ending FILE: /usr/include/sys/unistd.h ..# Holding FILE: /usr/include/unistd.h ...# Starting FILE: /usr/include/sys/_types/_useconds_t.h ....# Back in FILE: /usr/include/sys/_types/_useconds_t.h ....[ 30]: typedef __darwin_useconds_t useconds_t; ....# Ending FILE: /usr/include/sys/_types/_useconds_t.h ...# Back in FILE: /usr/include/unistd.h ...[ 429]: void _exit(int) __attribute__((noreturn)); ...[ 430]: int access(__const char *, int); ...[ 431]: unsigned int ...[ 432]: alarm(unsigned int); ...[ 433]: int chdir(__const char *); ...[ 434]: int chown(__const char *, uid_t, gid_t); ...[ 436]: int close(int) __asm("_" "x" "$UNIX2003"); ...[ 438]: int dup(int); ...[ 439]: int dup2(int, int); ...[ 440]: int execl(__const char *, __const char *, ...) ; ...[ 441]: int execle(__const char *, __const char *, ...) ; ...[ 442]: int execlp(__const char *, __const char *, ...) ; ...[ 443]: int execv(__const char *, char * __const *) ; ...[ 444]: int execve(__const char *, char * __const *, char * __const *) ; ...[ 445]: int execvp(__const char *, char * __const *) ; ...[ 446]: pid_t fork(void) ; ...[ 447]: long fpathconf(int, int); ...[ 448]: char *getcwd(char *, size_t); ...[ 449]: gid_t getegid(void); ...[ 450]: uid_t geteuid(void); ...[ 451]: gid_t getgid(void); ...[ 453]: int getgroups(int, gid_t []) __asm("_" "x" "$DARWIN_EXTSN"); ...[ 457]: char *getlogin(void); ...[ 458]: pid_t getpgrp(void); ...[ 459]: pid_t getpid(void); ...[ 460]: pid_t getppid(void); ...[ 461]: uid_t getuid(void); ...[ 462]: int isatty(int); ...[ 463]: int link(__const char *, __const char *); ...[ 464]: off_t lseek(int, off_t, int); ...[ 465]: long pathconf(__const char *, int); ...[ 467]: int pause(void) __asm("_" "x" "$UNIX2003"); ...[ 469]: int pipe(int [2]); ...[ 471]: ssize_t read(int, void *, size_t) __asm("_" "x" "$UNIX2003"); ...[ 473]: int rmdir(__const char *); ...[ 474]: int setgid(gid_t); ...[ 475]: int setpgid(pid_t, pid_t); ...[ 476]: pid_t setsid(void); ...[ 477]: int setuid(uid_t); ...[ 479]: unsigned int ...[ 480]: sleep(unsigned int) __asm("_" "x" "$UNIX2003"); ...[ 482]: long sysconf(int); ...[ 483]: pid_t tcgetpgrp(int); ...[ 484]: int tcsetpgrp(int, pid_t); ...[ 485]: char *ttyname(int); ...[ 488]: int ttyname_r(int, char *, size_t) __asm("_" "x" "$UNIX2003"); ...[ 493]: int unlink(__const char *); ...[ 495]: ssize_t write(int, __const void *, size_t) __asm("_" "x" "$UNIX2003"); ...[ 506]: size_t confstr(int, char *, size_t) __asm("_" "x" "$UNIX2003"); ...[ 508]: int getopt(int, char * __const [], __const char *) __asm("_" "x" "$UNIX2003"); ...[ 510]: extern char *optarg; ...[ 511]: extern int optind, opterr, optopt; ...[ 536]: __attribute__((deprecated)) ...[ 538]: void *brk(__const void *); ...[ 539]: int chroot(__const char *) ; ...[ 542]: char *crypt(__const char *, __const char *); ...[ 549]: void encrypt(char *, int) __asm("_" "x" "$UNIX2003"); ...[ 553]: int fchdir(int); ...[ 554]: long gethostid(void); ...[ 555]: pid_t getpgid(pid_t); ...[ 556]: pid_t getsid(pid_t); ...[ 560]: int getdtablesize(void) ; ...[ 561]: int getpagesize(void) __attribute__((__const)) ; ...[ 562]: char *getpass(__const char *) ; ...[ 567]: char *getwd(char *) ; ...[ 570]: int lchown(__const char *, uid_t, gid_t) __asm("_" "x" "$UNIX2003"); ...[ 572]: int lockf(int, int, off_t) __asm("_" "x" "$UNIX2003"); ...[ 574]: int nice(int) __asm("_" "x" "$UNIX2003"); ...[ 576]: ssize_t pread(int, void *, size_t, off_t) __asm("_" "x" "$UNIX2003"); ...[ 578]: ssize_t pwrite(int, __const void *, size_t, off_t) __asm("_" "x" "$UNIX2003"); ...[ 585]: __attribute__((deprecated)) ...[ 587]: void *sbrk(int); ...[ 591]: pid_t setpgrp(void) __asm("_" "x" "$UNIX2003"); ...[ 596]: int setregid(gid_t, gid_t) __asm("_" "x" "$UNIX2003"); ...[ 598]: int setreuid(uid_t, uid_t) __asm("_" "x" "$UNIX2003"); ...[ 600]: void swab(__const void * , void * , ssize_t); ...[ 601]: void sync(void); ...[ 602]: int truncate(__const char *, off_t); ...[ 603]: useconds_t ualarm(useconds_t, useconds_t); ...[ 604]: int usleep(useconds_t) __asm("_" "x" "$UNIX2003"); ...[ 605]: pid_t vfork(void) ; ...[ 608]: int fsync(int) __asm("_" "x" "$UNIX2003"); ...[ 610]: int ftruncate(int, off_t); ...[ 611]: int getlogin_r(char *, size_t); ...[ 624]: int fchown(int, uid_t, gid_t); ...[ 625]: int gethostname(char *, size_t); ...[ 626]: ssize_t readlink(__const char * , char * , size_t); ...[ 627]: int setegid(gid_t); ...[ 628]: int seteuid(uid_t); ...[ 629]: int symlink(__const char *, __const char *); ..# Holding FILE: /usr/include/unistd.h ...# Starting FILE: /usr/include/sys/select.h ...# Holding FILE: /usr/include/sys/select.h ....# Starting FILE: /usr/include/sys/_types/_fd_def.h .....[ 46]: typedef struct fd_set { .....[ 47]: __int32_t fds_bits[((((1024) % ( (sizeof(__int32_t) * 8))) == 0) ? ((1024) / ( (sizeof(__int32_t) * 8))) : (((1024) / ( \ ..... (sizeof(__int32_t) * 8))) + 1))]; .....[ 48]: } fd_set; .....[ 52]: static __inline int .....[ 53]: __darwin_fd_isset(int _n, __const struct fd_set *_p) .....[ 54]: { .....[ 55]: return (_p->fds_bits[(unsigned long)_n/(sizeof(__int32_t) * 8)] & ((__int32_t)(1<<((unsigned long)_n % (sizeof\ ..... (__int32_t) * 8))))); .....[ 56]: } .....# Ending FILE: /usr/include/sys/_types/_fd_def.h ...# Holding FILE: /usr/include/sys/select.h ....# Starting FILE: /usr/include/sys/_types/_timespec.h .....# Back in FILE: /usr/include/sys/_types/_timespec.h .....[ 30]: struct timespec .....[ 31]: { .....[ 32]: __darwin_time_t tv_sec; .....[ 33]: long tv_nsec; .....[ 34]: }; .....# Ending FILE: /usr/include/sys/_types/_timespec.h ...# Holding FILE: /usr/include/sys/select.h ....# Starting FILE: /usr/include/sys/_types/_time_t.h .....# Back in FILE: /usr/include/sys/_types/_time_t.h .....[ 30]: typedef __darwin_time_t time_t; .....# Ending FILE: /usr/include/sys/_types/_time_t.h ...# Holding FILE: /usr/include/sys/select.h ....# Starting FILE: /usr/include/sys/_types/_suseconds_t.h .....# Back in FILE: /usr/include/sys/_types/_suseconds_t.h .....[ 30]: typedef __darwin_suseconds_t suseconds_t; .....# Ending FILE: /usr/include/sys/_types/_suseconds_t.h ....# Back in FILE: /usr/include/sys/select.h ....[ 114]: int pselect(int, fd_set * , fd_set * , ....[ 115]: fd_set * , __const struct timespec * , ....[ 116]: __const sigset_t * ) ....[ 118]: __asm("_" "x" "$DARWIN_EXTSN" ) ....[ 126]: ; ...# Holding FILE: /usr/include/sys/select.h ....# Starting FILE: /usr/include/sys/_select.h .....[ 39]: int select(int, fd_set * , fd_set * , .....[ 40]: fd_set * , struct timeval * ) .....[ 42]: __asm("_" "x" "$DARWIN_EXTSN" ) .....[ 50]: ; .....# Ending FILE: /usr/include/sys/_select.h ....# Ending FILE: /usr/include/sys/select.h ..# Holding FILE: /usr/include/unistd.h ...# Starting FILE: /usr/include/sys/_types/_uuid_t.h ....# Back in FILE: /usr/include/sys/_types/_uuid_t.h ....[ 30]: typedef __darwin_uuid_t uuid_t; ....# Ending FILE: /usr/include/sys/_types/_uuid_t.h ...# Back in FILE: /usr/include/unistd.h ...[ 645]: void _Exit(int) __attribute__((noreturn)); ...[ 646]: int accessx_np(__const struct accessx_descriptor *, size_t, int *, uid_t); ...[ 647]: int acct(__const char *); ...[ 648]: int add_profil(char *, size_t, unsigned long, unsigned int) ; ...[ 649]: void endusershell(void); ...[ 650]: int execvP(__const char *, __const char *, char * __const *) ; ...[ 651]: char *fflagstostr(unsigned long); ...[ 652]: int getdomainname(char *, int); ...[ 653]: int getgrouplist(__const char *, int, int *, int *); ..# Holding FILE: /usr/include/unistd.h ...# Starting FILE: /usr/include/gethostuuid.h ....[ 39]: int gethostuuid(uuid_t, __const struct timespec *) ; ....# Ending FILE: /usr/include/gethostuuid.h ...# Back in FILE: /usr/include/unistd.h ...[ 663]: mode_t getmode(__const void *, mode_t); ...[ 664]: int getpeereid(int, uid_t *, gid_t *); ...[ 665]: int getsgroups_np(int *, uuid_t); ...[ 666]: char *getusershell(void); ...[ 667]: int getwgroups_np(int *, uuid_t); ...[ 668]: int initgroups(__const char *, int); ...[ 669]: int iruserok(unsigned long, int, __const char *, __const char *); ...[ 670]: int iruserok_sa(__const void *, int, int, __const char *, __const char *); ...[ 671]: int issetugid(void); ...[ 672]: char *mkdtemp(char *); ...[ 673]: int mknod(__const char *, mode_t, dev_t); ...[ 674]: int mkpath_np(__const char *path, mode_t omode) ; ...[ 675]: int mkstemp(char *); ...[ 676]: int mkstemps(char *, int); ...[ 677]: char *mktemp(char *); ...[ 678]: int nfssvc(int, void *); ...[ 679]: int profil(char *, size_t, unsigned long, unsigned int); ...[ 680]: int pthread_setugid_np(uid_t, gid_t); ...[ 681]: int pthread_getugid_np( uid_t *, gid_t *); ...[ 682]: int rcmd(char **, int, __const char *, __const char *, __const char *, int *); ...[ 683]: int rcmd_af(char **, int, __const char *, __const char *, __const char *, int *, ...[ 684]: int); ...[ 685]: int reboot(int); ...[ 686]: int revoke(__const char *); ...[ 687]: int rresvport(int *); ...[ 688]: int rresvport_af(int *, int); ...[ 689]: int ruserok(__const char *, int, __const char *, __const char *); ...[ 690]: int setdomainname(__const char *, int); ...[ 691]: int setgroups(int, __const gid_t *); ...[ 692]: void sethostid(long); ...[ 693]: int sethostname(__const char *, int); ...[ 695]: void setkey(__const char *) __asm("_" "x" "$UNIX2003"); ...[ 699]: int setlogin(__const char *); ...[ 700]: void *setmode(__const char *) __asm("_" "x" "$UNIX2003"); ...[ 701]: int setrgid(gid_t); ...[ 702]: int setruid(uid_t); ...[ 703]: int setsgroups_np(int, __const uuid_t); ...[ 704]: void setusershell(void); ...[ 705]: int setwgroups_np(int, __const uuid_t); ...[ 706]: int strtofflags(char **, unsigned long *, unsigned long *); ...[ 707]: int swapon(__const char *); ...[ 708]: int syscall(int, ...) ; ...[ 709]: int ttyslot(void); ...[ 710]: int undelete(__const char *); ...[ 711]: int unwhiteout(__const char *); ...[ 712]: void *valloc(size_t); ...[ 714]: extern char *suboptarg; ...[ 715]: int getsubopt(char **, char * __const *, char **); ...[ 727]: int fgetattrlist(int,void*,void*,size_t,unsigned long) ; ...[ 728]: int fsetattrlist(int,void*,void*,size_t,unsigned long) ; ...[ 729]: int getattrlist(__const char*,void*,void*,size_t,unsigned long) __asm("_" "x" "$UNIX2003"); ...[ 730]: int setattrlist(__const char*,void*,void*,size_t,unsigned long) __asm("_" "x" "$UNIX2003"); ...[ 731]: int exchangedata(__const char*,__const char*,unsigned long) ; ...[ 732]: int getdirentriesattr(int,void*,void*,size_t,unsigned long*,unsigned long*,unsigned long*,unsigned long) ; ...[ 736]: struct fssearchblock; ...[ 737]: struct searchstate; ...[ 739]: int searchfs(__const char *, struct fssearchblock *, unsigned long *, unsigned int, unsigned int, struct searchstate \ ... *) ; ...[ 740]: int fsctl(__const char *,unsigned long,void*,unsigned int); ...[ 741]: int ffsctl(int,unsigned long,void*,unsigned int) ; ...[ 746]: int fsync_volume_np(int, int) ; ...[ 747]: int sync_volume_np(__const char *, int) ; ...[ 749]: extern int optreset; ...# Ending FILE: /usr/include/unistd.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /usr/include/assert.h ...# Back in FILE: /usr/include/assert.h ...[ 76]: void __assert_rtn(__const char *, __const char *, int, __const char *) __attribute__((noreturn)); ...# Ending FILE: /usr/include/assert.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/pyport.h ..# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/pyport.h ...# Starting FILE: /usr/include/inttypes.h ....# Back in FILE: /usr/include/inttypes.h ....[ 235]: extern intmax_t ....[ 236]: imaxabs(intmax_t j); ....[ 239]: typedef struct { ....[ 240]: intmax_t quot; ....[ 241]: intmax_t rem; ....[ 242]: } imaxdiv_t; ....[ 245]: extern imaxdiv_t ....[ 246]: imaxdiv(intmax_t __numer, intmax_t __denom); ....[ 250]: extern intmax_t ....[ 251]: strtoimax(__const char * __nptr, ....[ 252]: char ** __endptr, ....[ 253]: int __base); ....[ 256]: extern uintmax_t ....[ 257]: strtoumax(__const char * __nptr, ....[ 258]: char ** __endptr, ....[ 259]: int __base); ....[ 263]: extern intmax_t ....[ 264]: wcstoimax(__const wchar_t * __nptr, ....[ 265]: wchar_t ** __endptr, ....[ 266]: int __base); ....[ 269]: extern uintmax_t ....[ 270]: wcstoumax(__const wchar_t * __nptr, ....[ 271]: wchar_t ** __endptr, ....[ 272]: int __base); ....# Ending FILE: /usr/include/inttypes.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/pyport.h ...[ 76]: typedef uintptr_t Py_uintptr_t; ...[ 77]: typedef intptr_t Py_intptr_t; ...[ 84]: typedef ssize_t Py_ssize_t; ...[ 93]: typedef Py_ssize_t Py_hash_t; ...[ 96]: typedef size_t Py_uhash_t; ...[ 102]: typedef int Py_ssize_clean_t; ..# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/pyport.h ...# Starting FILE: /usr/include/math.h ....[ 44]: typedef float float_t; ....[ 45]: typedef double double_t; ....[ 111]: extern int __math_errhandling(void); ....[ 144]: extern int __fpclassifyf(float); ....[ 145]: extern int __fpclassifyd(double); ....[ 146]: extern int __fpclassifyl(long double); ....[ 188]: extern __inline __attribute__ ((__always_inline__)) int __inline_isfinitef(float); ....[ 189]: extern __inline __attribute__ ((__always_inline__)) int __inline_isfinited(double); ....[ 190]: extern __inline __attribute__ ((__always_inline__)) int __inline_isfinitel(long double); ....[ 191]: extern __inline __attribute__ ((__always_inline__)) int __inline_isinff(float); ....[ 192]: extern __inline __attribute__ ((__always_inline__)) int __inline_isinfd(double); ....[ 193]: extern __inline __attribute__ ((__always_inline__)) int __inline_isinfl(long double); ....[ 194]: extern __inline __attribute__ ((__always_inline__)) int __inline_isnanf(float); ....[ 195]: extern __inline __attribute__ ((__always_inline__)) int __inline_isnand(double); ....[ 196]: extern __inline __attribute__ ((__always_inline__)) int __inline_isnanl(long double); ....[ 197]: extern __inline __attribute__ ((__always_inline__)) int __inline_isnormalf(float); ....[ 198]: extern __inline __attribute__ ((__always_inline__)) int __inline_isnormald(double); ....[ 199]: extern __inline __attribute__ ((__always_inline__)) int __inline_isnormall(long double); ....[ 200]: extern __inline __attribute__ ((__always_inline__)) int __inline_signbitf(float); ....[ 201]: extern __inline __attribute__ ((__always_inline__)) int __inline_signbitd(double); ....[ 202]: extern __inline __attribute__ ((__always_inline__)) int __inline_signbitl(long double); ....[ 204]: extern __inline __attribute__ ((__always_inline__)) int __inline_isfinitef(float __x) { ....[ 205]: return __x == __x && __builtin_fabsf(__x) != __builtin_inff(); ....[ 206]: } ....[ 207]: extern __inline __attribute__ ((__always_inline__)) int __inline_isfinited(double __x) { ....[ 208]: return __x == __x && __builtin_fabs(__x) != __builtin_inf(); ....[ 209]: } ....[ 210]: extern __inline __attribute__ ((__always_inline__)) int __inline_isfinitel(long double __x) { ....[ 211]: return __x == __x && __builtin_fabsl(__x) != __builtin_infl(); ....[ 212]: } ....[ 213]: extern __inline __attribute__ ((__always_inline__)) int __inline_isinff(float __x) { ....[ 214]: return __builtin_fabsf(__x) == __builtin_inff(); ....[ 215]: } ....[ 216]: extern __inline __attribute__ ((__always_inline__)) int __inline_isinfd(double __x) { ....[ 217]: return __builtin_fabs(__x) == __builtin_inf(); ....[ 218]: } ....[ 219]: extern __inline __attribute__ ((__always_inline__)) int __inline_isinfl(long double __x) { ....[ 220]: return __builtin_fabsl(__x) == __builtin_infl(); ....[ 221]: } ....[ 222]: extern __inline __attribute__ ((__always_inline__)) int __inline_isnanf(float __x) { ....[ 223]: return __x != __x; ....[ 224]: } ....[ 225]: extern __inline __attribute__ ((__always_inline__)) int __inline_isnand(double __x) { ....[ 226]: return __x != __x; ....[ 227]: } ....[ 228]: extern __inline __attribute__ ((__always_inline__)) int __inline_isnanl(long double __x) { ....[ 229]: return __x != __x; ....[ 230]: } ....[ 231]: extern __inline __attribute__ ((__always_inline__)) int __inline_signbitf(float __x) { ....[ 232]: union { float __f; unsigned int __u; } __u; ....[ 233]: __u.__f = __x; ....[ 234]: return (int)(__u.__u >> 31); ....[ 235]: } ....[ 236]: extern __inline __attribute__ ((__always_inline__)) int __inline_signbitd(double __x) { ....[ 237]: union { double __f; unsigned long long __u; } __u; ....[ 238]: __u.__f = __x; ....[ 239]: return (int)(__u.__u >> 63); ....[ 240]: } ....[ 242]: extern __inline __attribute__ ((__always_inline__)) int __inline_signbitl(long double __x) { ....[ 243]: union { ....[ 244]: long double __ld; ....[ 245]: struct{ unsigned long long __m; unsigned short __sexp; } __p; ....[ 246]: } __u; ....[ 247]: __u.__ld = __x; ....[ 248]: return (int)(__u.__p.__sexp >> 15); ....[ 249]: } ....[ 257]: extern __inline __attribute__ ((__always_inline__)) int __inline_isnormalf(float __x) { ....[ 258]: return __inline_isfinitef(__x) && __builtin_fabsf(__x) >= __FLT_MIN__; ....[ 259]: } ....[ 260]: extern __inline __attribute__ ((__always_inline__)) int __inline_isnormald(double __x) { ....[ 261]: return __inline_isfinited(__x) && __builtin_fabs(__x) >= __DBL_MIN__; ....[ 262]: } ....[ 263]: extern __inline __attribute__ ((__always_inline__)) int __inline_isnormall(long double __x) { ....[ 264]: return __inline_isfinitel(__x) && __builtin_fabsl(__x) >= __LDBL_MIN__; ....[ 265]: } ....[ 322]: extern float acosf(float); ....[ 323]: extern double acos(double); ....[ 324]: extern long double acosl(long double); ....[ 326]: extern float asinf(float); ....[ 327]: extern double asin(double); ....[ 328]: extern long double asinl(long double); ....[ 330]: extern float atanf(float); ....[ 331]: extern double atan(double); ....[ 332]: extern long double atanl(long double); ....[ 334]: extern float atan2f(float, float); ....[ 335]: extern double atan2(double, double); ....[ 336]: extern long double atan2l(long double, long double); ....[ 338]: extern float cosf(float); ....[ 339]: extern double cos(double); ....[ 340]: extern long double cosl(long double); ....[ 342]: extern float sinf(float); ....[ 343]: extern double sin(double); ....[ 344]: extern long double sinl(long double); ....[ 346]: extern float tanf(float); ....[ 347]: extern double tan(double); ....[ 348]: extern long double tanl(long double); ....[ 350]: extern float acoshf(float); ....[ 351]: extern double acosh(double); ....[ 352]: extern long double acoshl(long double); ....[ 354]: extern float asinhf(float); ....[ 355]: extern double asinh(double); ....[ 356]: extern long double asinhl(long double); ....[ 358]: extern float atanhf(float); ....[ 359]: extern double atanh(double); ....[ 360]: extern long double atanhl(long double); ....[ 362]: extern float coshf(float); ....[ 363]: extern double cosh(double); ....[ 364]: extern long double coshl(long double); ....[ 366]: extern float sinhf(float); ....[ 367]: extern double sinh(double); ....[ 368]: extern long double sinhl(long double); ....[ 370]: extern float tanhf(float); ....[ 371]: extern double tanh(double); ....[ 372]: extern long double tanhl(long double); ....[ 374]: extern float expf(float); ....[ 375]: extern double exp(double); ....[ 376]: extern long double expl(long double); ....[ 378]: extern float exp2f(float); ....[ 379]: extern double exp2(double); ....[ 380]: extern long double exp2l(long double); ....[ 382]: extern float expm1f(float); ....[ 383]: extern double expm1(double); ....[ 384]: extern long double expm1l(long double); ....[ 386]: extern float logf(float); ....[ 387]: extern double log(double); ....[ 388]: extern long double logl(long double); ....[ 390]: extern float log10f(float); ....[ 391]: extern double log10(double); ....[ 392]: extern long double log10l(long double); ....[ 394]: extern float log2f(float); ....[ 395]: extern double log2(double); ....[ 396]: extern long double log2l(long double); ....[ 398]: extern float log1pf(float); ....[ 399]: extern double log1p(double); ....[ 400]: extern long double log1pl(long double); ....[ 402]: extern float logbf(float); ....[ 403]: extern double logb(double); ....[ 404]: extern long double logbl(long double); ....[ 406]: extern float modff(float, float *); ....[ 407]: extern double modf(double, double *); ....[ 408]: extern long double modfl(long double, long double *); ....[ 410]: extern float ldexpf(float, int); ....[ 411]: extern double ldexp(double, int); ....[ 412]: extern long double ldexpl(long double, int); ....[ 414]: extern float frexpf(float, int *); ....[ 415]: extern double frexp(double, int *); ....[ 416]: extern long double frexpl(long double, int *); ....[ 418]: extern int ilogbf(float); ....[ 419]: extern int ilogb(double); ....[ 420]: extern int ilogbl(long double); ....[ 422]: extern float scalbnf(float, int); ....[ 423]: extern double scalbn(double, int); ....[ 424]: extern long double scalbnl(long double, int); ....[ 426]: extern float scalblnf(float, long int); ....[ 427]: extern double scalbln(double, long int); ....[ 428]: extern long double scalblnl(long double, long int); ....[ 430]: extern float fabsf(float); ....[ 431]: extern double fabs(double); ....[ 432]: extern long double fabsl(long double); ....[ 434]: extern float cbrtf(float); ....[ 435]: extern double cbrt(double); ....[ 436]: extern long double cbrtl(long double); ....[ 438]: extern float hypotf(float, float); ....[ 439]: extern double hypot(double, double); ....[ 440]: extern long double hypotl(long double, long double); ....[ 442]: extern float powf(float, float); ....[ 443]: extern double pow(double, double); ....[ 444]: extern long double powl(long double, long double); ....[ 446]: extern float sqrtf(float); ....[ 447]: extern double sqrt(double); ....[ 448]: extern long double sqrtl(long double); ....[ 450]: extern float erff(float); ....[ 451]: extern double erf(double); ....[ 452]: extern long double erfl(long double); ....[ 454]: extern float erfcf(float); ....[ 455]: extern double erfc(double); ....[ 456]: extern long double erfcl(long double); ....[ 461]: extern float lgammaf(float); ....[ 462]: extern double lgamma(double); ....[ 463]: extern long double lgammal(long double); ....[ 465]: extern float tgammaf(float); ....[ 466]: extern double tgamma(double); ....[ 467]: extern long double tgammal(long double); ....[ 469]: extern float ceilf(float); ....[ 470]: extern double ceil(double); ....[ 471]: extern long double ceill(long double); ....[ 473]: extern float floorf(float); ....[ 474]: extern double floor(double); ....[ 475]: extern long double floorl(long double); ....[ 477]: extern float nearbyintf(float); ....[ 478]: extern double nearbyint(double); ....[ 479]: extern long double nearbyintl(long double); ....[ 481]: extern float rintf(float); ....[ 482]: extern double rint(double); ....[ 483]: extern long double rintl(long double); ....[ 485]: extern long int lrintf(float); ....[ 486]: extern long int lrint(double); ....[ 487]: extern long int lrintl(long double); ....[ 489]: extern float roundf(float); ....[ 490]: extern double round(double); ....[ 491]: extern long double roundl(long double); ....[ 493]: extern long int lroundf(float); ....[ 494]: extern long int lround(double); ....[ 495]: extern long int lroundl(long double); ....[ 500]: extern long long int llrintf(float); ....[ 501]: extern long long int llrint(double); ....[ 502]: extern long long int llrintl(long double); ....[ 504]: extern long long int llroundf(float); ....[ 505]: extern long long int llround(double); ....[ 506]: extern long long int llroundl(long double); ....[ 509]: extern float truncf(float); ....[ 510]: extern double trunc(double); ....[ 511]: extern long double truncl(long double); ....[ 513]: extern float fmodf(float, float); ....[ 514]: extern double fmod(double, double); ....[ 515]: extern long double fmodl(long double, long double); ....[ 517]: extern float remainderf(float, float); ....[ 518]: extern double remainder(double, double); ....[ 519]: extern long double remainderl(long double, long double); ....[ 521]: extern float remquof(float, float, int *); ....[ 522]: extern double remquo(double, double, int *); ....[ 523]: extern long double remquol(long double, long double, int *); ....[ 525]: extern float copysignf(float, float); ....[ 526]: extern double copysign(double, double); ....[ 527]: extern long double copysignl(long double, long double); ....[ 529]: extern float nanf(__const char *); ....[ 530]: extern double nan(__const char *); ....[ 531]: extern long double nanl(__const char *); ....[ 533]: extern float nextafterf(float, float); ....[ 534]: extern double nextafter(double, double); ....[ 535]: extern long double nextafterl(long double, long double); ....[ 537]: extern double nexttoward(double, long double); ....[ 538]: extern float nexttowardf(float, long double); ....[ 539]: extern long double nexttowardl(long double, long double); ....[ 541]: extern float fdimf(float, float); ....[ 542]: extern double fdim(double, double); ....[ 543]: extern long double fdiml(long double, long double); ....[ 545]: extern float fmaxf(float, float); ....[ 546]: extern double fmax(double, double); ....[ 547]: extern long double fmaxl(long double, long double); ....[ 549]: extern float fminf(float, float); ....[ 550]: extern double fmin(double, double); ....[ 551]: extern long double fminl(long double, long double); ....[ 553]: extern float fmaf(float, float, float); ....[ 554]: extern double fma(double, double, double); ....[ 555]: extern long double fmal(long double, long double, long double); ....[ 565]: extern float __inff(void) ; ....[ 566]: extern double __inf(void) ; ....[ 567]: extern long double __infl(void) ; ....[ 569]: extern float __nan(void) ; ....[ 577]: extern float lgammaf_r(float, int *) ; ....[ 578]: extern double lgamma_r(double, int *) ; ....[ 579]: extern long double lgammal_r(long double, int *) ; ....[ 597]: extern float __exp10f(float) ; ....[ 598]: extern double __exp10(double) ; ....[ 604]: extern __inline __attribute__ ((__always_inline__)) void __sincosf(float __x, float *__sinp, float *__cosp); ....[ 605]: extern __inline __attribute__ ((__always_inline__)) void __sincos(double __x, double *__sinp, double *__cosp); ....[ 614]: extern float __cospif(float) ; ....[ 615]: extern double __cospi(double) ; ....[ 616]: extern float __sinpif(float) ; ....[ 617]: extern double __sinpi(double) ; ....[ 618]: extern float __tanpif(float) ; ....[ 619]: extern double __tanpi(double) ; ....[ 645]: extern __inline __attribute__ ((__always_inline__)) void __sincospif(float __x, float *__sinp, float *__cosp); ....[ 646]: extern __inline __attribute__ ((__always_inline__)) void __sincospi(double __x, double *__sinp, double *__cosp\ .... ); ....[ 653]: struct __float2 { float __sinval; float __cosval; }; ....[ 654]: struct __double2 { double __sinval; double __cosval; }; ....[ 656]: extern struct __float2 __sincosf_stret(float); ....[ 657]: extern struct __double2 __sincos_stret(double); ....[ 658]: extern struct __float2 __sincospif_stret(float); ....[ 659]: extern struct __double2 __sincospi_stret(double); ....[ 661]: extern __inline __attribute__ ((__always_inline__)) void __sincosf(float __x, float *__sinp, float *__cosp) { ....[ 662]: __const struct __float2 __stret = __sincosf_stret(__x); ....[ 663]: *__sinp = __stret.__sinval; *__cosp = __stret.__cosval; ....[ 664]: } ....[ 666]: extern __inline __attribute__ ((__always_inline__)) void __sincos(double __x, double *__sinp, double *__cosp) { ....[ 667]: __const struct __double2 __stret = __sincos_stret(__x); ....[ 668]: *__sinp = __stret.__sinval; *__cosp = __stret.__cosval; ....[ 669]: } ....[ 671]: extern __inline __attribute__ ((__always_inline__)) void __sincospif(float __x, float *__sinp, float *__cosp) { ....[ 672]: __const struct __float2 __stret = __sincospif_stret(__x); ....[ 673]: *__sinp = __stret.__sinval; *__cosp = __stret.__cosval; ....[ 674]: } ....[ 676]: extern __inline __attribute__ ((__always_inline__)) void __sincospi(double __x, double *__sinp, double *__cosp\ .... ) { ....[ 677]: __const struct __double2 __stret = __sincospi_stret(__x); ....[ 678]: *__sinp = __stret.__sinval; *__cosp = __stret.__cosval; ....[ 679]: } ....[ 687]: extern double j0(double) ; ....[ 688]: extern double j1(double) ; ....[ 689]: extern double jn(int, double) ; ....[ 690]: extern double y0(double) ; ....[ 691]: extern double y1(double) ; ....[ 692]: extern double yn(int, double) ; ....[ 693]: extern double scalb(double, double); ....[ 694]: extern int signgam; ....[ 751]: extern long int rinttol(double) ; ....[ 753]: extern long int roundtol(double) ; ....[ 755]: extern double drem(double, double) ; ....[ 757]: extern int finite(double) ; ....[ 759]: extern double gamma(double) ; ....[ 761]: extern double significand(double) ; ....[ 764]: struct exception { ....[ 765]: int type; ....[ 766]: char *name; ....[ 767]: double arg1; ....[ 768]: double arg2; ....[ 769]: double retval; ....[ 770]: }; ....[ 772]: extern int matherr(struct exception *) ; ....# Ending FILE: /usr/include/math.h ..# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/pyport.h ...# Starting FILE: /usr/include/sys/time.h ...# Holding FILE: /usr/include/sys/time.h ....# Starting FILE: /usr/include/sys/_types/_timeval64.h .....# Back in FILE: /usr/include/sys/_types/_timeval64.h .....[ 31]: struct timeval64 .....[ 32]: { .....[ 33]: __int64_t tv_sec; .....[ 34]: __int64_t tv_usec; .....[ 35]: }; .....# Ending FILE: /usr/include/sys/_types/_timeval64.h ....# Back in FILE: /usr/include/sys/time.h ....[ 91]: struct itimerval { ....[ 92]: struct timeval it_interval; ....[ 93]: struct timeval it_value; ....[ 94]: }; ....[ 129]: struct timezone { ....[ 130]: int tz_minuteswest; ....[ 131]: int tz_dsttime; ....[ 132]: }; ....[ 172]: struct clockinfo { ....[ 173]: int hz; ....[ 174]: int tick; ....[ 175]: int tickadj; ....[ 176]: int stathz; ....[ 177]: int profhz; ....[ 178]: }; ...# Holding FILE: /usr/include/sys/time.h ....# Starting FILE: /usr/include/time.h ....# Holding FILE: /usr/include/time.h .....# Starting FILE: /usr/include/sys/_types/_clock_t.h ......[ 30]: typedef __darwin_clock_t clock_t; ......# Ending FILE: /usr/include/sys/_types/_clock_t.h .....# Back in FILE: /usr/include/time.h .....[ 73]: struct tm { .....[ 74]: int tm_sec; .....[ 75]: int tm_min; .....[ 76]: int tm_hour; .....[ 77]: int tm_mday; .....[ 78]: int tm_mon; .....[ 79]: int tm_year; .....[ 80]: int tm_wday; .....[ 81]: int tm_yday; .....[ 82]: int tm_isdst; .....[ 83]: long tm_gmtoff; .....[ 84]: char *tm_zone; .....[ 85]: }; .....[ 96]: extern char *tzname[]; .....[ 99]: extern int getdate_err; .....[ 101]: extern long timezone __asm("_" "x" "$UNIX2003"); .....[ 103]: extern int daylight; .....[ 106]: char *asctime(__const struct tm *); .....[ 107]: clock_t clock(void) __asm("_" "x" "$UNIX2003"); .....[ 108]: char *ctime(__const time_t *); .....[ 109]: double difftime(time_t, time_t); .....[ 110]: struct tm *getdate(__const char *); .....[ 111]: struct tm *gmtime(__const time_t *); .....[ 112]: struct tm *localtime(__const time_t *); .....[ 113]: time_t mktime(struct tm *) __asm("_" "x" "$UNIX2003"); .....[ 114]: size_t strftime(char * , size_t, __const char * , __const struct tm * ) __asm("_" "x" "$UNIX2003"); .....[ 115]: char *strptime(__const char * , __const char * , struct tm * ) __asm("_" "x" "$UNIX2003"); .....[ 116]: time_t time(time_t *); .....[ 119]: void tzset(void); .....[ 123]: char *asctime_r(__const struct tm * , char * ); .....[ 124]: char *ctime_r(__const time_t *, char *); .....[ 125]: struct tm *gmtime_r(__const time_t * , struct tm * ); .....[ 126]: struct tm *localtime_r(__const time_t * , struct tm * ); .....[ 129]: time_t posix2time(time_t); .....[ 131]: char *timezone(int, int); .....[ 133]: void tzsetwall(void); .....[ 134]: time_t time2posix(time_t); .....[ 135]: time_t timelocal(struct tm * __const); .....[ 136]: time_t timegm(struct tm * __const); .....[ 140]: int nanosleep(__const struct timespec *, struct timespec *) __asm("_" "x" "$UNIX2003"); .....# Ending FILE: /usr/include/time.h ....# Back in FILE: /usr/include/sys/time.h ....[ 189]: int adjtime(__const struct timeval *, struct timeval *); ....[ 190]: int futimes(int, __const struct timeval *); ....[ 191]: int lutimes(__const char *, __const struct timeval *) ; ....[ 192]: int settimeofday(__const struct timeval *, __const struct timezone *); ....[ 195]: int getitimer(int, struct itimerval *); ....[ 196]: int gettimeofday(struct timeval * , void * ); ....[ 200]: int setitimer(int, __const struct itimerval * , ....[ 201]: struct itimerval * ); ....[ 202]: int utimes(__const char *, __const struct timeval *); ....# Ending FILE: /usr/include/sys/time.h ..# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/pyport.h ...# Starting FILE: /usr/include/sys/stat.h ...# Holding FILE: /usr/include/sys/stat.h ....# Starting FILE: /usr/include/sys/_types/_blkcnt_t.h .....# Back in FILE: /usr/include/sys/_types/_blkcnt_t.h .....[ 30]: typedef __darwin_blkcnt_t blkcnt_t; .....# Ending FILE: /usr/include/sys/_types/_blkcnt_t.h ...# Holding FILE: /usr/include/sys/stat.h ....# Starting FILE: /usr/include/sys/_types/_blksize_t.h .....# Back in FILE: /usr/include/sys/_types/_blksize_t.h .....[ 30]: typedef __darwin_blksize_t blksize_t; .....# Ending FILE: /usr/include/sys/_types/_blksize_t.h ...# Holding FILE: /usr/include/sys/stat.h ....# Starting FILE: /usr/include/sys/_types/_ino_t.h .....# Back in FILE: /usr/include/sys/_types/_ino_t.h .....[ 30]: typedef __darwin_ino_t ino_t; .....# Ending FILE: /usr/include/sys/_types/_ino_t.h ...# Holding FILE: /usr/include/sys/stat.h ....# Starting FILE: /usr/include/sys/_types/_ino64_t.h .....# Back in FILE: /usr/include/sys/_types/_ino64_t.h .....[ 30]: typedef __darwin_ino64_t ino64_t; .....# Ending FILE: /usr/include/sys/_types/_ino64_t.h ...# Holding FILE: /usr/include/sys/stat.h ....# Starting FILE: /usr/include/sys/_types/_nlink_t.h .....# Back in FILE: /usr/include/sys/_types/_nlink_t.h .....[ 30]: typedef __uint16_t nlink_t; .....# Ending FILE: /usr/include/sys/_types/_nlink_t.h ....# Back in FILE: /usr/include/sys/stat.h ....[ 110]: struct ostat { ....[ 111]: __uint16_t st_dev; ....[ 112]: ino_t st_ino; ....[ 113]: mode_t st_mode; ....[ 114]: nlink_t st_nlink; ....[ 115]: __uint16_t st_uid; ....[ 116]: __uint16_t st_gid; ....[ 117]: __uint16_t st_rdev; ....[ 118]: __int32_t st_size; ....[ 119]: struct timespec st_atimespec; ....[ 120]: struct timespec st_mtimespec; ....[ 121]: struct timespec st_ctimespec; ....[ 122]: __int32_t st_blksize; ....[ 123]: __int32_t st_blocks; ....[ 124]: __uint32_t st_flags; ....[ 125]: __uint32_t st_gen; ....[ 126]: }; ....[ 182]: struct stat { dev_t st_dev; mode_t st_mode; nlink_t st_nlink; __darwin_ino64_t st_ino; uid_t st_uid; gid_t st_gid; \ .... dev_t st_rdev; struct timespec st_atimespec; struct timespec st_mtimespec; struct timespec st_ctimespec; struct \ .... timespec st_birthtimespec; off_t st_size; blkcnt_t st_blocks; blksize_t st_blksize; __uint32_t st_flags; __uint32_t \ .... st_gen; __int32_t st_lspare; __int64_t st_qspare[2]; }; ....[ 352]: int chmod(__const char *, mode_t) __asm("_" "x" "$UNIX2003"); ....[ 353]: int fchmod(int, mode_t) __asm("_" "x" "$UNIX2003"); ....[ 354]: int fstat(int, struct stat *) __asm("_" "x" "$INODE64"); ....[ 355]: int lstat(__const char *, struct stat *) __asm("_" "x" "$INODE64"); ....[ 356]: int mkdir(__const char *, mode_t); ....[ 357]: int mkfifo(__const char *, mode_t); ....[ 358]: int stat(__const char *, struct stat *) __asm("_" "x" "$INODE64"); ....[ 359]: int mknod(__const char *, mode_t, dev_t); ....[ 360]: mode_t umask(mode_t); ....[ 363]: int fchmodat(int, __const char *, mode_t, int) ; ....[ 364]: int fstatat(int, __const char *, struct stat *, int) __asm("_" "x" "$INODE64") ; ....[ 365]: int mkdirat(int, __const char *, mode_t) ; ...# Holding FILE: /usr/include/sys/stat.h ....# Starting FILE: /usr/include/sys/_types/_filesec_t.h .....[ 30]: struct _filesec; .....[ 31]: typedef struct _filesec *filesec_t; .....# Ending FILE: /usr/include/sys/_types/_filesec_t.h ....# Back in FILE: /usr/include/sys/stat.h ....[ 372]: int chflags(__const char *, __uint32_t); ....[ 373]: int chmodx_np(__const char *, filesec_t); ....[ 374]: int fchflags(int, __uint32_t); ....[ 375]: int fchmodx_np(int, filesec_t); ....[ 376]: int fstatx_np(int, struct stat *, filesec_t) __asm("_" "x" "$INODE64"); ....[ 377]: int lchflags(__const char *, __uint32_t) ; ....[ 378]: int lchmod(__const char *, mode_t) ; ....[ 379]: int lstatx_np(__const char *, struct stat *, filesec_t) __asm("_" "x" "$INODE64"); ....[ 380]: int mkdirx_np(__const char *, filesec_t); ....[ 381]: int mkfifox_np(__const char *, filesec_t); ....[ 382]: int statx_np(__const char *, struct stat *, filesec_t) __asm("_" "x" "$INODE64"); ....[ 383]: int umaskx_np(filesec_t) ; ....# Ending FILE: /usr/include/sys/stat.h ..# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/pyport.h ...# Starting FILE: /usr/include/termios.h ...# Holding FILE: /usr/include/termios.h ....# Starting FILE: /usr/include/sys/termios.h .....# Back in FILE: /usr/include/sys/termios.h .....[ 263]: typedef unsigned long tcflag_t; .....[ 264]: typedef unsigned char cc_t; .....[ 265]: typedef unsigned long speed_t; .....[ 267]: struct termios { .....[ 268]: tcflag_t c_iflag; .....[ 269]: tcflag_t c_oflag; .....[ 270]: tcflag_t c_cflag; .....[ 271]: tcflag_t c_lflag; .....[ 272]: cc_t c_cc[20]; .....[ 273]: speed_t c_ispeed; .....[ 274]: speed_t c_ospeed; .....[ 275]: }; .....[ 331]: speed_t cfgetispeed(__const struct termios *); .....[ 332]: speed_t cfgetospeed(__const struct termios *); .....[ 333]: int cfsetispeed(struct termios *, speed_t); .....[ 334]: int cfsetospeed(struct termios *, speed_t); .....[ 335]: int tcgetattr(int, struct termios *); .....[ 336]: int tcsetattr(int, int, __const struct termios *); .....[ 337]: int tcdrain(int) __asm("_" "x" "$UNIX2003"); .....[ 338]: int tcflow(int, int); .....[ 339]: int tcflush(int, int); .....[ 340]: int tcsendbreak(int, int); .....[ 343]: void cfmakeraw(struct termios *); .....[ 344]: int cfsetspeed(struct termios *, speed_t); ....# Holding FILE: /usr/include/sys/termios.h .....# Starting FILE: /usr/include/sys/ttycom.h ......[ 83]: struct winsize { ......[ 84]: unsigned short ws_row; ......[ 85]: unsigned short ws_col; ......[ 86]: unsigned short ws_xpixel; ......[ 87]: unsigned short ws_ypixel; ......[ 88]: }; ......# Ending FILE: /usr/include/sys/ttycom.h .....# Ending FILE: /usr/include/sys/termios.h ....# Back in FILE: /usr/include/termios.h ....[ 32]: pid_t tcgetsid(int); ....# Ending FILE: /usr/include/termios.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/pyport.h ...[ 531]: extern int openpty(int *, int *, char *, struct termios *, struct winsize *); ...[ 532]: extern pid_t forkpty(int *, char *, struct termios *, struct winsize *); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/pyport.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/pymath.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/pymath.h ...[ 32]: extern double fmod (double, double); ...[ 33]: extern double frexp (double, int *); ...[ 34]: extern double ldexp (double, int); ...[ 35]: extern double modf (double, double *); ...[ 36]: extern double pow(double, double); ...[ 83]: unsigned short _Py_get_387controlword(void); ...[ 84]: void _Py_set_387controlword(unsigned short); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/pymath.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/pytime.h ..# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/pytime.h ...# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/object.h ....# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/object.h ....[ 106]: typedef struct _object { ....[ 107]: struct _object *_ob_next; struct _object *_ob_prev; ....[ 108]: Py_ssize_t ob_refcnt; ....[ 109]: struct _typeobject *ob_type; ....[ 110]: } PyObject; ....[ 112]: typedef struct { ....[ 113]: PyObject ob_base; ....[ 114]: Py_ssize_t ob_size; ....[ 115]: } PyVarObject; ....[ 142]: typedef struct _Py_Identifier { ....[ 143]: struct _Py_Identifier *next; ....[ 144]: __const char* string; ....[ 145]: PyObject *object; ....[ 146]: } _Py_Identifier; ....[ 169]: typedef PyObject * (*unaryfunc)(PyObject *); ....[ 170]: typedef PyObject * (*binaryfunc)(PyObject *, PyObject *); ....[ 171]: typedef PyObject * (*ternaryfunc)(PyObject *, PyObject *, PyObject *); ....[ 172]: typedef int (*inquiry)(PyObject *); ....[ 173]: typedef Py_ssize_t (*lenfunc)(PyObject *); ....[ 174]: typedef PyObject *(*ssizeargfunc)(PyObject *, Py_ssize_t); ....[ 175]: typedef PyObject *(*ssizessizeargfunc)(PyObject *, Py_ssize_t, Py_ssize_t); ....[ 176]: typedef int(*ssizeobjargproc)(PyObject *, Py_ssize_t, PyObject *); ....[ 177]: typedef int(*ssizessizeobjargproc)(PyObject *, Py_ssize_t, Py_ssize_t, PyObject *); ....[ 178]: typedef int(*objobjargproc)(PyObject *, PyObject *, PyObject *); ....[ 182]: typedef struct bufferinfo { ....[ 183]: void *buf; ....[ 184]: PyObject *obj; ....[ 185]: Py_ssize_t len; ....[ 186]: Py_ssize_t itemsize; ....[ 188]: int readonly; ....[ 189]: int ndim; ....[ 190]: char *format; ....[ 191]: Py_ssize_t *shape; ....[ 192]: Py_ssize_t *strides; ....[ 193]: Py_ssize_t *suboffsets; ....[ 194]: void *internal; ....[ 195]: } Py_buffer; ....[ 197]: typedef int (*getbufferproc)(PyObject *, Py_buffer *, int); ....[ 198]: typedef void (*releasebufferproc)(PyObject *, Py_buffer *); ....[ 235]: typedef int (*objobjproc)(PyObject *, PyObject *); ....[ 236]: typedef int (*visitproc)(PyObject *, void *); ....[ 237]: typedef int (*traverseproc)(PyObject *, visitproc, void *); ....[ 240]: typedef struct { ....[ 245]: binaryfunc nb_add; ....[ 246]: binaryfunc nb_subtract; ....[ 247]: binaryfunc nb_multiply; ....[ 248]: binaryfunc nb_remainder; ....[ 249]: binaryfunc nb_divmod; ....[ 250]: ternaryfunc nb_power; ....[ 251]: unaryfunc nb_negative; ....[ 252]: unaryfunc nb_positive; ....[ 253]: unaryfunc nb_absolute; ....[ 254]: inquiry nb_bool; ....[ 255]: unaryfunc nb_invert; ....[ 256]: binaryfunc nb_lshift; ....[ 257]: binaryfunc nb_rshift; ....[ 258]: binaryfunc nb_and; ....[ 259]: binaryfunc nb_xor; ....[ 260]: binaryfunc nb_or; ....[ 261]: unaryfunc nb_int; ....[ 262]: void *nb_reserved; ....[ 263]: unaryfunc nb_float; ....[ 265]: binaryfunc nb_inplace_add; ....[ 266]: binaryfunc nb_inplace_subtract; ....[ 267]: binaryfunc nb_inplace_multiply; ....[ 268]: binaryfunc nb_inplace_remainder; ....[ 269]: ternaryfunc nb_inplace_power; ....[ 270]: binaryfunc nb_inplace_lshift; ....[ 271]: binaryfunc nb_inplace_rshift; ....[ 272]: binaryfunc nb_inplace_and; ....[ 273]: binaryfunc nb_inplace_xor; ....[ 274]: binaryfunc nb_inplace_or; ....[ 276]: binaryfunc nb_floor_divide; ....[ 277]: binaryfunc nb_true_divide; ....[ 278]: binaryfunc nb_inplace_floor_divide; ....[ 279]: binaryfunc nb_inplace_true_divide; ....[ 281]: unaryfunc nb_index; ....[ 283]: binaryfunc nb_matrix_multiply; ....[ 284]: binaryfunc nb_inplace_matrix_multiply; ....[ 285]: } PyNumberMethods; ....[ 287]: typedef struct { ....[ 288]: lenfunc sq_length; ....[ 289]: binaryfunc sq_concat; ....[ 290]: ssizeargfunc sq_repeat; ....[ 291]: ssizeargfunc sq_item; ....[ 292]: void *was_sq_slice; ....[ 293]: ssizeobjargproc sq_ass_item; ....[ 294]: void *was_sq_ass_slice; ....[ 295]: objobjproc sq_contains; ....[ 297]: binaryfunc sq_inplace_concat; ....[ 298]: ssizeargfunc sq_inplace_repeat; ....[ 299]: } PySequenceMethods; ....[ 301]: typedef struct { ....[ 302]: lenfunc mp_length; ....[ 303]: binaryfunc mp_subscript; ....[ 304]: objobjargproc mp_ass_subscript; ....[ 305]: } PyMappingMethods; ....[ 307]: typedef struct { ....[ 308]: unaryfunc am_await; ....[ 309]: unaryfunc am_aiter; ....[ 310]: unaryfunc am_anext; ....[ 311]: } PyAsyncMethods; ....[ 313]: typedef struct { ....[ 314]: getbufferproc bf_getbuffer; ....[ 315]: releasebufferproc bf_releasebuffer; ....[ 316]: } PyBufferProcs; ....[ 319]: typedef void (*freefunc)(void *); ....[ 320]: typedef void (*destructor)(PyObject *); ....[ 326]: typedef int (*printfunc)(PyObject *, FILE *, int); ....[ 328]: typedef PyObject *(*getattrfunc)(PyObject *, char *); ....[ 329]: typedef PyObject *(*getattrofunc)(PyObject *, PyObject *); ....[ 330]: typedef int (*setattrfunc)(PyObject *, char *, PyObject *); ....[ 331]: typedef int (*setattrofunc)(PyObject *, PyObject *, PyObject *); ....[ 332]: typedef PyObject *(*reprfunc)(PyObject *); ....[ 333]: typedef Py_hash_t (*hashfunc)(PyObject *); ....[ 334]: typedef PyObject *(*richcmpfunc) (PyObject *, PyObject *, int); ....[ 335]: typedef PyObject *(*getiterfunc) (PyObject *); ....[ 336]: typedef PyObject *(*iternextfunc) (PyObject *); ....[ 337]: typedef PyObject *(*descrgetfunc) (PyObject *, PyObject *, PyObject *); ....[ 338]: typedef int (*descrsetfunc) (PyObject *, PyObject *, PyObject *); ....[ 339]: typedef int (*initproc)(PyObject *, PyObject *, PyObject *); ....[ 340]: typedef PyObject *(*newfunc)(struct _typeobject *, PyObject *, PyObject *); ....[ 341]: typedef PyObject *(*allocfunc)(struct _typeobject *, Py_ssize_t); ....[ 346]: typedef struct _typeobject { ....[ 347]: PyVarObject ob_base; ....[ 348]: __const char *tp_name; ....[ 349]: Py_ssize_t tp_basicsize, tp_itemsize; ....[ 353]: destructor tp_dealloc; ....[ 354]: printfunc tp_print; ....[ 355]: getattrfunc tp_getattr; ....[ 356]: setattrfunc tp_setattr; ....[ 357]: PyAsyncMethods *tp_as_async; ....[ 359]: reprfunc tp_repr; ....[ 363]: PyNumberMethods *tp_as_number; ....[ 364]: PySequenceMethods *tp_as_sequence; ....[ 365]: PyMappingMethods *tp_as_mapping; ....[ 369]: hashfunc tp_hash; ....[ 370]: ternaryfunc tp_call; ....[ 371]: reprfunc tp_str; ....[ 372]: getattrofunc tp_getattro; ....[ 373]: setattrofunc tp_setattro; ....[ 376]: PyBufferProcs *tp_as_buffer; ....[ 379]: unsigned long tp_flags; ....[ 381]: __const char *tp_doc; ....[ 385]: traverseproc tp_traverse; ....[ 388]: inquiry tp_clear; ....[ 392]: richcmpfunc tp_richcompare; ....[ 395]: Py_ssize_t tp_weaklistoffset; ....[ 398]: getiterfunc tp_iter; ....[ 399]: iternextfunc tp_iternext; ....[ 402]: struct PyMethodDef *tp_methods; ....[ 403]: struct PyMemberDef *tp_members; ....[ 404]: struct PyGetSetDef *tp_getset; ....[ 405]: struct _typeobject *tp_base; ....[ 406]: PyObject *tp_dict; ....[ 407]: descrgetfunc tp_descr_get; ....[ 408]: descrsetfunc tp_descr_set; ....[ 409]: Py_ssize_t tp_dictoffset; ....[ 410]: initproc tp_init; ....[ 411]: allocfunc tp_alloc; ....[ 412]: newfunc tp_new; ....[ 413]: freefunc tp_free; ....[ 414]: inquiry tp_is_gc; ....[ 415]: PyObject *tp_bases; ....[ 416]: PyObject *tp_mro; ....[ 417]: PyObject *tp_cache; ....[ 418]: PyObject *tp_subclasses; ....[ 419]: PyObject *tp_weaklist; ....[ 420]: destructor tp_del; ....[ 423]: unsigned int tp_version_tag; ....[ 425]: destructor tp_finalize; ....[ 435]: } PyTypeObject; ....[ 438]: typedef struct{ ....[ 439]: int slot; ....[ 440]: void *pfunc; ....[ 441]: } PyType_Slot; ....[ 443]: typedef struct{ ....[ 444]: __const char* name; ....[ 445]: int basicsize; ....[ 446]: int itemsize; ....[ 447]: unsigned int flags; ....[ 448]: PyType_Slot *slots; ....[ 449]: } PyType_Spec; ....[ 451]: PyObject* PyType_FromSpec(PyType_Spec*); ....[ 453]: PyObject* PyType_FromSpecWithBases(PyType_Spec*, PyObject*); ....[ 456]: void* PyType_GetSlot(PyTypeObject*, int); ....[ 461]: typedef struct _heaptypeobject { ....[ 464]: PyTypeObject ht_type; ....[ 465]: PyAsyncMethods as_async; ....[ 466]: PyNumberMethods as_number; ....[ 467]: PyMappingMethods as_mapping; ....[ 468]: PySequenceMethods as_sequence; ....[ 473]: PyBufferProcs as_buffer; ....[ 474]: PyObject *ht_name, *ht_slots, *ht_qualname; ....[ 475]: struct _dictkeysobject *ht_cached_keys; ....[ 477]: } PyHeapTypeObject; ....[ 485]: int PyType_IsSubtype(PyTypeObject *, PyTypeObject *); ....[ 489]: extern PyTypeObject PyType_Type; ....[ 490]: extern PyTypeObject PyBaseObject_Type; ....[ 491]: extern PyTypeObject PySuper_Type; ....[ 493]: unsigned long PyType_GetFlags(PyTypeObject*); ....[ 499]: int PyType_Ready(PyTypeObject *); ....[ 500]: PyObject * PyType_GenericAlloc(PyTypeObject *, Py_ssize_t); ....[ 501]: PyObject * PyType_GenericNew(PyTypeObject *, ....[ 502]: PyObject *, PyObject *); ....[ 504]: PyObject * _PyType_Lookup(PyTypeObject *, PyObject *); ....[ 505]: PyObject * _PyType_LookupId(PyTypeObject *, _Py_Identifier *); ....[ 506]: PyObject * _PyObject_LookupSpecial(PyObject *, _Py_Identifier *); ....[ 507]: PyTypeObject * _PyType_CalculateMetaclass(PyTypeObject *, PyObject *); ....[ 509]: unsigned int PyType_ClearCache(void); ....[ 510]: void PyType_Modified(PyTypeObject *); ....[ 513]: PyObject * _PyType_GetDocFromInternalDoc(__const char *, __const char *); ....[ 514]: PyObject * _PyType_GetTextSignatureFromInternalDoc(__const char *, __const char *); ....[ 519]: struct _Py_Identifier; ....[ 520]: int PyObject_Print(PyObject *, FILE *, int); ....[ 521]: void _Py_BreakPoint(void); ....[ 522]: void _PyObject_Dump(PyObject *); ....[ 524]: PyObject * PyObject_Repr(PyObject *); ....[ 525]: PyObject * PyObject_Str(PyObject *); ....[ 526]: PyObject * PyObject_ASCII(PyObject *); ....[ 527]: PyObject * PyObject_Bytes(PyObject *); ....[ 528]: PyObject * PyObject_RichCompare(PyObject *, PyObject *, int); ....[ 529]: int PyObject_RichCompareBool(PyObject *, PyObject *, int); ....[ 530]: PyObject * PyObject_GetAttrString(PyObject *, __const char *); ....[ 531]: int PyObject_SetAttrString(PyObject *, __const char *, PyObject *); ....[ 532]: int PyObject_HasAttrString(PyObject *, __const char *); ....[ 533]: PyObject * PyObject_GetAttr(PyObject *, PyObject *); ....[ 534]: int PyObject_SetAttr(PyObject *, PyObject *, PyObject *); ....[ 535]: int PyObject_HasAttr(PyObject *, PyObject *); ....[ 537]: int _PyObject_IsAbstract(PyObject *); ....[ 538]: PyObject * _PyObject_GetAttrId(PyObject *, struct _Py_Identifier *); ....[ 539]: int _PyObject_SetAttrId(PyObject *, struct _Py_Identifier *, PyObject *); ....[ 540]: int _PyObject_HasAttrId(PyObject *, struct _Py_Identifier *); ....[ 541]: PyObject ** _PyObject_GetDictPtr(PyObject *); ....[ 543]: PyObject * PyObject_SelfIter(PyObject *); ....[ 545]: PyObject * _PyObject_NextNotImplemented(PyObject *); ....[ 547]: PyObject * PyObject_GenericGetAttr(PyObject *, PyObject *); ....[ 548]: int PyObject_GenericSetAttr(PyObject *, ....[ 549]: PyObject *, PyObject *); ....[ 551]: int PyObject_GenericSetDict(PyObject *, PyObject *, void *); ....[ 553]: Py_hash_t PyObject_Hash(PyObject *); ....[ 554]: Py_hash_t PyObject_HashNotImplemented(PyObject *); ....[ 555]: int PyObject_IsTrue(PyObject *); ....[ 556]: int PyObject_Not(PyObject *); ....[ 557]: int PyCallable_Check(PyObject *); ....[ 559]: void PyObject_ClearWeakRefs(PyObject *); ....[ 561]: void PyObject_CallFinalizer(PyObject *); ....[ 562]: int PyObject_CallFinalizerFromDealloc(PyObject *); ....[ 568]: PyObject * ....[ 569]: _PyObject_GenericGetAttrWithDict(PyObject *, PyObject *, PyObject *); ....[ 570]: int ....[ 571]: _PyObject_GenericSetAttrWithDict(PyObject *, PyObject *, ....[ 572]: PyObject *, PyObject *); ....[ 577]: PyObject * ....[ 578]: _PyObject_GetBuiltin(__const char *name); ....[ 586]: PyObject * PyObject_Dir(PyObject *); ....[ 590]: int Py_ReprEnter(PyObject *); ....[ 591]: void Py_ReprLeave(PyObject *); ....[ 715]: extern Py_ssize_t _Py_RefTotal; ....[ 716]: void _Py_NegativeRefcount(__const char *fname, ....[ 717]: int lineno, PyObject *op); ....[ 718]: Py_ssize_t _Py_GetRefTotal(void); ....[ 730]: void _PyDebug_PrintTotalRefs(void); ....[ 756]: void _Py_NewReference(PyObject *); ....[ 757]: void _Py_ForgetReference(PyObject *); ....[ 758]: void _Py_Dealloc(PyObject *); ....[ 759]: void _Py_PrintReferences(FILE *); ....[ 760]: void _Py_PrintReferenceAddresses(FILE *); ....[ 761]: void _Py_AddToAllObjects(PyObject *, int force); ....[ 895]: void Py_IncRef(PyObject *); ....[ 896]: void Py_DecRef(PyObject *); ....[ 899]: extern PyTypeObject _PyNone_Type; ....[ 900]: extern PyTypeObject _PyNotImplemented_Type; ....[ 909]: extern PyObject _Py_NoneStruct; ....[ 919]: extern PyObject _Py_NotImplementedStruct; ....[ 938]: extern int _Py_SwappedOp[]; ....[ 1039]: void _PyTrash_deposit_object(PyObject*); ....[ 1040]: void _PyTrash_destroy_chain(void); ....[ 1041]: extern int _PyTrash_delete_nesting; ....[ 1042]: extern PyObject * _PyTrash_delete_later; ....[ 1046]: void _PyTrash_thread_deposit_object(PyObject*); ....[ 1047]: void _PyTrash_thread_destroy_chain(void); ....[ 1067]: void ....[ 1068]: _PyDebugAllocatorStats(FILE *out, __const char *block_name, int num_blocks, ....[ 1069]: size_t sizeof_block); ....[ 1070]: void ....[ 1071]: _PyObject_DebugTypeStats(FILE *out); ....# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/object.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/pytime.h ...[ 19]: typedef int64_t _PyTime_t; ...[ 23]: typedef enum { ...[ 26]: _PyTime_ROUND_FLOOR=0, ...[ 29]: _PyTime_ROUND_CEILING=1, ...[ 32]: _PyTime_ROUND_HALF_EVEN ...[ 33]: } _PyTime_round_t; ...[ 36]: PyObject * _PyLong_FromTime_t( ...[ 37]: time_t sec); ...[ 40]: time_t _PyLong_AsTime_t( ...[ 41]: PyObject *obj); ...[ 44]: int _PyTime_ObjectToTime_t( ...[ 45]: PyObject *obj, ...[ 46]: time_t *sec, ...[ 47]: _PyTime_round_t); ...[ 52]: int _PyTime_ObjectToTimeval( ...[ 53]: PyObject *obj, ...[ 54]: time_t *sec, ...[ 55]: long *usec, ...[ 56]: _PyTime_round_t); ...[ 61]: int _PyTime_ObjectToTimespec( ...[ 62]: PyObject *obj, ...[ 63]: time_t *sec, ...[ 64]: long *nsec, ...[ 65]: _PyTime_round_t); ...[ 69]: _PyTime_t _PyTime_FromSeconds(int seconds); ...[ 77]: _PyTime_t _PyTime_FromNanoseconds(long long ns); ...[ 81]: int _PyTime_FromSecondsObject(_PyTime_t *t, ...[ 82]: PyObject *obj, ...[ 83]: _PyTime_round_t round); ...[ 87]: int _PyTime_FromMillisecondsObject(_PyTime_t *t, ...[ 88]: PyObject *obj, ...[ 89]: _PyTime_round_t round); ...[ 92]: double _PyTime_AsSecondsDouble(_PyTime_t t); ...[ 95]: _PyTime_t _PyTime_AsMilliseconds(_PyTime_t t, ...[ 96]: _PyTime_round_t round); ...[ 99]: _PyTime_t _PyTime_AsMicroseconds(_PyTime_t t, ...[ 100]: _PyTime_round_t round); ...[ 104]: PyObject * _PyTime_AsNanosecondsObject(_PyTime_t t); ...[ 110]: int _PyTime_AsTimeval(_PyTime_t t, ...[ 111]: struct timeval *tv, ...[ 112]: _PyTime_round_t round); ...[ 115]: int _PyTime_AsTimeval_noraise(_PyTime_t t, ...[ 116]: struct timeval *tv, ...[ 117]: _PyTime_round_t round); ...[ 125]: int _PyTime_AsTimevalTime_t( ...[ 126]: _PyTime_t t, ...[ 127]: time_t *secs, ...[ 128]: int *us, ...[ 129]: _PyTime_round_t round); ...[ 135]: int _PyTime_AsTimespec(_PyTime_t t, struct timespec *ts); ...[ 142]: _PyTime_t _PyTime_GetSystemClock(void); ...[ 151]: _PyTime_t _PyTime_GetMonotonicClock(void); ...[ 155]: typedef struct { ...[ 156]: __const char *implementation; ...[ 157]: int monotonic; ...[ 158]: int adjustable; ...[ 159]: double resolution; ...[ 160]: } _Py_clock_info_t; ...[ 166]: int _PyTime_GetSystemClockWithInfo( ...[ 167]: _PyTime_t *t, ...[ 168]: _Py_clock_info_t *info); ...[ 178]: int _PyTime_GetMonotonicClockWithInfo( ...[ 179]: _PyTime_t *t, ...[ 180]: _Py_clock_info_t *info); ...[ 185]: int _PyTime_Init(void); ...[ 189]: int _PyTime_localtime(time_t t, struct tm *tm); ...[ 193]: int _PyTime_gmtime(time_t t, struct tm *tm); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/pytime.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/pymem.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/pymem.h ...[ 15]: void * PyMem_RawMalloc(size_t size); ...[ 16]: void * PyMem_RawCalloc(size_t nelem, size_t elsize); ...[ 17]: void * PyMem_RawRealloc(void *ptr, size_t new_size); ...[ 18]: void PyMem_RawFree(void *ptr); ...[ 22]: int _PyMem_SetupAllocators(__const char *opt); ...[ 25]: int _PyMem_PymallocEnabled(void); ...[ 29]: typedef unsigned int _PyTraceMalloc_domain_t; ...[ 38]: int _PyTraceMalloc_Track( ...[ 39]: _PyTraceMalloc_domain_t domain, ...[ 40]: uintptr_t ptr, ...[ 41]: size_t size); ...[ 47]: int _PyTraceMalloc_Untrack( ...[ 48]: _PyTraceMalloc_domain_t domain, ...[ 49]: uintptr_t ptr); ...[ 59]: PyObject* _PyTraceMalloc_GetTraceback( ...[ 60]: _PyTraceMalloc_domain_t domain, ...[ 61]: uintptr_t ptr); ...[ 103]: void * PyMem_Malloc(size_t size); ...[ 105]: void * PyMem_Calloc(size_t nelem, size_t elsize); ...[ 107]: void * PyMem_Realloc(void *ptr, size_t new_size); ...[ 108]: void PyMem_Free(void *ptr); ...[ 111]: char * _PyMem_RawStrdup(__const char *str); ...[ 112]: char * _PyMem_Strdup(__const char *str); ...[ 164]: typedef enum { ...[ 166]: PYMEM_DOMAIN_RAW, ...[ 169]: PYMEM_DOMAIN_MEM, ...[ 172]: PYMEM_DOMAIN_OBJ ...[ 173]: } PyMemAllocatorDomain; ...[ 175]: typedef struct { ...[ 177]: void *ctx; ...[ 180]: void* (*malloc) (void *ctx, size_t size); ...[ 183]: void* (*calloc) (void *ctx, size_t nelem, size_t elsize); ...[ 186]: void* (*realloc) (void *ctx, void *ptr, size_t new_size); ...[ 189]: void (*free) (void *ctx, void *ptr); ...[ 190]: } PyMemAllocatorEx; ...[ 193]: void PyMem_GetAllocator(PyMemAllocatorDomain domain, ...[ 194]: PyMemAllocatorEx *allocator); ...[ 207]: void PyMem_SetAllocator(PyMemAllocatorDomain domain, ...[ 208]: PyMemAllocatorEx *allocator); ...[ 226]: void PyMem_SetupDebugHooks(void); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/pymem.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/objimpl.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/objimpl.h ...[ 97]: void * PyObject_Malloc(size_t size); ...[ 99]: void * PyObject_Calloc(size_t nelem, size_t elsize); ...[ 101]: void * PyObject_Realloc(void *ptr, size_t new_size); ...[ 102]: void PyObject_Free(void *ptr); ...[ 106]: Py_ssize_t _Py_GetAllocatedBlocks(void); ...[ 112]: void _PyObject_DebugMallocStats(FILE *out); ...[ 130]: PyObject * PyObject_Init(PyObject *, PyTypeObject *); ...[ 131]: PyVarObject * PyObject_InitVar(PyVarObject *, ...[ 132]: PyTypeObject *, Py_ssize_t); ...[ 133]: PyObject * _PyObject_New(PyTypeObject *); ...[ 134]: PyVarObject * _PyObject_NewVar(PyTypeObject *, Py_ssize_t); ...[ 207]: typedef struct { ...[ 209]: void *ctx; ...[ 212]: void* (*alloc) (void *ctx, size_t size); ...[ 215]: void (*free) (void *ctx, void *ptr, size_t size); ...[ 216]: } PyObjectArenaAllocator; ...[ 219]: void PyObject_GetArenaAllocator(PyObjectArenaAllocator *allocator); ...[ 222]: void PyObject_SetArenaAllocator(PyObjectArenaAllocator *allocator); ...[ 232]: Py_ssize_t PyGC_Collect(void); ...[ 235]: Py_ssize_t _PyGC_CollectNoFail(void); ...[ 236]: Py_ssize_t _PyGC_CollectIfEnabled(void); ...[ 246]: PyVarObject * _PyObject_GC_Resize(PyVarObject *, Py_ssize_t); ...[ 252]: typedef union _gc_head { ...[ 253]: struct { ...[ 254]: union _gc_head *gc_next; ...[ 255]: union _gc_head *gc_prev; ...[ 256]: Py_ssize_t gc_refs; ...[ 257]: } gc; ...[ 258]: double dummy; ...[ 259]: } PyGC_Head; ...[ 261]: extern PyGC_Head *_PyGC_generation0; ...[ 331]: PyObject * _PyObject_GC_Malloc(size_t size); ...[ 332]: PyObject * _PyObject_GC_Calloc(size_t size); ...[ 334]: PyObject * _PyObject_GC_New(PyTypeObject *); ...[ 335]: PyVarObject * _PyObject_GC_NewVar(PyTypeObject *, Py_ssize_t); ...[ 336]: void PyObject_GC_Track(void *); ...[ 337]: void PyObject_GC_UnTrack(void *); ...[ 338]: void PyObject_GC_Del(void *); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/objimpl.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/pyhash.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/pyhash.h ...[ 10]: Py_hash_t _Py_HashDouble(double); ...[ 11]: Py_hash_t _Py_HashPointer(void*); ...[ 12]: Py_hash_t _Py_HashBytes(__const void*, Py_ssize_t); ...[ 54]: typedef union { ...[ 56]: unsigned char uc[24]; ...[ 58]: struct { ...[ 59]: Py_hash_t prefix; ...[ 60]: Py_hash_t suffix; ...[ 61]: } fnv; ...[ 63]: struct { ...[ 64]: uint64_t k0; ...[ 65]: uint64_t k1; ...[ 66]: } siphash; ...[ 68]: struct { ...[ 69]: unsigned char padding[16]; ...[ 70]: Py_hash_t suffix; ...[ 71]: } djbx33a; ...[ 72]: struct { ...[ 73]: unsigned char padding[16]; ...[ 74]: Py_hash_t hashsalt; ...[ 75]: } expat; ...[ 76]: } _Py_HashSecret_t; ...[ 77]: extern _Py_HashSecret_t _Py_HashSecret; ...[ 81]: extern int _Py_HashSecret_Initialized; ...[ 87]: typedef struct { ...[ 88]: Py_hash_t (*__const hash)(__const void *, Py_ssize_t); ...[ 89]: __const char *name; ...[ 90]: __const int hash_bits; ...[ 91]: __const int seed_bits; ...[ 92]: } PyHash_FuncDef; ...[ 94]: PyHash_FuncDef* PyHash_GetFuncDef(void); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/pyhash.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/pydebug.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/pydebug.h ...[ 10]: extern int Py_DebugFlag; ...[ 11]: extern int Py_VerboseFlag; ...[ 12]: extern int Py_QuietFlag; ...[ 13]: extern int Py_InteractiveFlag; ...[ 14]: extern int Py_InspectFlag; ...[ 15]: extern int Py_OptimizeFlag; ...[ 16]: extern int Py_NoSiteFlag; ...[ 17]: extern int Py_BytesWarningFlag; ...[ 18]: extern int Py_UseClassExceptionsFlag; ...[ 19]: extern int Py_FrozenFlag; ...[ 20]: extern int Py_IgnoreEnvironmentFlag; ...[ 21]: extern int Py_DontWriteBytecodeFlag; ...[ 22]: extern int Py_NoUserSiteDirectory; ...[ 23]: extern int Py_UnbufferedStdioFlag; ...[ 24]: extern int Py_HashRandomizationFlag; ...[ 25]: extern int Py_IsolatedFlag; ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/pydebug.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/bytearrayobject.h ..# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/bytearrayobject.h ...# Starting FILE: /usr/include/c++/4.2.1/tr1/stdarg.h ...# Holding FILE: /usr/include/c++/4.2.1/tr1/stdarg.h ....# Starting FILE: /usr/include/c++/4.2.1/tr1/cstdarg ....# Holding FILE: /usr/include/c++/4.2.1/tr1/cstdarg .....# Starting FILE: /usr/include/c++/4.2.1/cstdarg .....# Holding FILE: /usr/include/c++/4.2.1/cstdarg ......# Starting FILE: /usr/include/c++/4.2.1/bits/c++config.h ......# Holding FILE: /usr/include/c++/4.2.1/bits/c++config.h .......# Starting FILE: /usr/include/c++/4.2.1/bits/os_defines.h ........# Back in FILE: /usr/include/c++/4.2.1/bits/os_defines.h ........[ 92]: extern void __dtrace_probe$cxa_runtime$cxa_exception_rethrow$v1(void); ........[ 93]: extern int __dtrace_isenabled$cxa_runtime$cxa_exception_rethrow$v1(void); ........[ 94]: extern void __dtrace_probe$cxa_runtime$cxa_exception_throw$v1$766f6964202a(void *); ........[ 95]: extern int __dtrace_isenabled$cxa_runtime$cxa_exception_throw$v1(void); ........# Ending FILE: /usr/include/c++/4.2.1/bits/os_defines.h .......# Back in FILE: /usr/include/c++/4.2.1/bits/c++config.h .......[ 153]: namespace std { .......[ 165]: } .......# Ending FILE: /usr/include/c++/4.2.1/bits/c++config.h ......# Back in FILE: /usr/include/c++/4.2.1/cstdarg ......[ 58]: namespace std { ......[ 60]: using ::va_list; ......[ 62]: } ......# Ending FILE: /usr/include/c++/4.2.1/cstdarg .....# Ending FILE: /usr/include/c++/4.2.1/tr1/cstdarg ....# Ending FILE: /usr/include/c++/4.2.1/tr1/stdarg.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/bytearrayobject.h ...[ 23]: typedef struct { ...[ 24]: PyVarObject ob_base; ...[ 25]: Py_ssize_t ob_alloc; ...[ 26]: char *ob_bytes; ...[ 27]: char *ob_start; ...[ 29]: int ob_exports; ...[ 30]: } PyByteArrayObject; ...[ 34]: extern PyTypeObject PyByteArray_Type; ...[ 35]: extern PyTypeObject PyByteArrayIter_Type; ...[ 42]: PyObject * PyByteArray_FromObject(PyObject *); ...[ 43]: PyObject * PyByteArray_Concat(PyObject *, PyObject *); ...[ 44]: PyObject * PyByteArray_FromStringAndSize(__const char *, Py_ssize_t); ...[ 45]: Py_ssize_t PyByteArray_Size(PyObject *); ...[ 46]: char * PyByteArray_AsString(PyObject *); ...[ 47]: int PyByteArray_Resize(PyObject *, Py_ssize_t); ...[ 56]: extern char _PyByteArray_empty_string[]; ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/bytearrayobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/bytesobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/bytesobject.h ...[ 31]: typedef struct { ...[ 32]: PyVarObject ob_base; ...[ 33]: Py_hash_t ob_shash; ...[ 34]: char ob_sval[1]; ...[ 41]: } PyBytesObject; ...[ 44]: extern PyTypeObject PyBytes_Type; ...[ 45]: extern PyTypeObject PyBytesIter_Type; ...[ 51]: PyObject * PyBytes_FromStringAndSize(__const char *, Py_ssize_t); ...[ 52]: PyObject * PyBytes_FromString(__const char *); ...[ 53]: PyObject * PyBytes_FromObject(PyObject *); ...[ 54]: PyObject * PyBytes_FromFormatV(__const char*, va_list) ...[ 55]: __attribute__( (format(printf, 1, 0))); ...[ 56]: PyObject * PyBytes_FromFormat(__const char*, ...) ...[ 57]: __attribute__( (format(printf, 1, 2))); ...[ 58]: Py_ssize_t PyBytes_Size(PyObject *); ...[ 59]: char * PyBytes_AsString(PyObject *); ...[ 60]: PyObject * PyBytes_Repr(PyObject *, int); ...[ 61]: void PyBytes_Concat(PyObject **, PyObject *); ...[ 62]: void PyBytes_ConcatAndDel(PyObject **, PyObject *); ...[ 64]: int _PyBytes_Resize(PyObject **, Py_ssize_t); ...[ 65]: PyObject* _PyBytes_FormatEx( ...[ 66]: __const char *format, ...[ 67]: Py_ssize_t format_len, ...[ 68]: PyObject *args, ...[ 69]: int use_bytearray); ...[ 70]: PyObject* _PyBytes_FromHex( ...[ 71]: PyObject *string, ...[ 72]: int use_bytearray); ...[ 74]: PyObject * PyBytes_DecodeEscape(__const char *, Py_ssize_t, ...[ 75]: __const char *, Py_ssize_t, ...[ 76]: __const char *); ...[ 79]: PyObject * _PyBytes_DecodeEscape(__const char *, Py_ssize_t, ...[ 80]: __const char *, Py_ssize_t, ...[ 81]: __const char *, ...[ 82]: __const char **); ...[ 95]: PyObject * _PyBytes_Join(PyObject *sep, PyObject *x); ...[ 103]: int PyBytes_AsStringAndSize( ...[ 104]: PyObject *obj, ...[ 105]: char **s, ...[ 106]: Py_ssize_t *len ...[ 109]: ); ...[ 115]: Py_ssize_t _PyBytes_InsertThousandsGroupingLocale(char *buffer, ...[ 116]: Py_ssize_t n_buffer, ...[ 117]: char *digits, ...[ 118]: Py_ssize_t n_digits, ...[ 119]: Py_ssize_t min_width); ...[ 124]: Py_ssize_t _PyBytes_InsertThousandsGrouping(char *buffer, ...[ 125]: Py_ssize_t n_buffer, ...[ 126]: char *digits, ...[ 127]: Py_ssize_t n_digits, ...[ 128]: Py_ssize_t min_width, ...[ 129]: __const char *grouping, ...[ 130]: __const char *thousands_sep); ...[ 144]: typedef struct { ...[ 146]: PyObject *buffer; ...[ 149]: Py_ssize_t allocated; ...[ 153]: Py_ssize_t min_size; ...[ 156]: int use_bytearray; ...[ 160]: int overallocate; ...[ 163]: int use_small_buffer; ...[ 164]: char small_buffer[512]; ...[ 165]: } _PyBytesWriter; ...[ 171]: void _PyBytesWriter_Init(_PyBytesWriter *writer); ...[ 176]: PyObject * _PyBytesWriter_Finish(_PyBytesWriter *writer, ...[ 177]: void *str); ...[ 180]: void _PyBytesWriter_Dealloc(_PyBytesWriter *writer); ...[ 185]: void* _PyBytesWriter_Alloc(_PyBytesWriter *writer, ...[ 186]: Py_ssize_t size); ...[ 194]: void* _PyBytesWriter_Prepare(_PyBytesWriter *writer, ...[ 195]: void *str, ...[ 196]: Py_ssize_t size); ...[ 209]: void* _PyBytesWriter_Resize(_PyBytesWriter *writer, ...[ 210]: void *str, ...[ 211]: Py_ssize_t size); ...[ 215]: void* _PyBytesWriter_WriteBytes(_PyBytesWriter *writer, ...[ 216]: void *str, ...[ 217]: __const void *bytes, ...[ 218]: Py_ssize_t size); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/bytesobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/unicodeobject.h ..# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/unicodeobject.h ...# Starting FILE: /usr/include/ctype.h ...# Holding FILE: /usr/include/ctype.h ....# Starting FILE: /usr/include/runetype.h ....# Holding FILE: /usr/include/runetype.h .....# Starting FILE: /usr/include/sys/_types/_wint_t.h ......# Back in FILE: /usr/include/sys/_types/_wint_t.h ......[ 31]: typedef __darwin_wint_t wint_t; ......# Ending FILE: /usr/include/sys/_types/_wint_t.h .....# Back in FILE: /usr/include/runetype.h .....[ 60]: typedef struct { .....[ 61]: __darwin_rune_t __min; .....[ 62]: __darwin_rune_t __max; .....[ 63]: __darwin_rune_t __map; .....[ 64]: __uint32_t *__types; .....[ 65]: } _RuneEntry; .....[ 67]: typedef struct { .....[ 68]: int __nranges; .....[ 69]: _RuneEntry *__ranges; .....[ 70]: } _RuneRange; .....[ 72]: typedef struct { .....[ 73]: char __name[14]; .....[ 74]: __uint32_t __mask; .....[ 75]: } _RuneCharClass; .....[ 77]: typedef struct { .....[ 78]: char __magic[8]; .....[ 79]: char __encoding[32]; .....[ 81]: __darwin_rune_t (*__sgetrune)(__const char *, __darwin_size_t, char __const **); .....[ 82]: int (*__sputrune)(__darwin_rune_t, char *, __darwin_size_t, char **); .....[ 83]: __darwin_rune_t __invalid_rune; .....[ 85]: __uint32_t __runetype[(1 <<8 )]; .....[ 86]: __darwin_rune_t __maplower[(1 <<8 )]; .....[ 87]: __darwin_rune_t __mapupper[(1 <<8 )]; .....[ 94]: _RuneRange __runetype_ext; .....[ 95]: _RuneRange __maplower_ext; .....[ 96]: _RuneRange __mapupper_ext; .....[ 98]: void *__variable; .....[ 99]: int __variable_len; .....[ 104]: int __ncharclasses; .....[ 105]: _RuneCharClass *__charclasses; .....[ 106]: } _RuneLocale; .....[ 111]: extern _RuneLocale _DefaultRuneLocale; .....[ 112]: extern _RuneLocale *_CurrentRuneLocale; .....# Ending FILE: /usr/include/runetype.h ....# Back in FILE: /usr/include/ctype.h ....[ 129]: unsigned long ___runetype(__darwin_ct_rune_t); ....[ 130]: __darwin_ct_rune_t ___tolower(__darwin_ct_rune_t); ....[ 131]: __darwin_ct_rune_t ___toupper(__darwin_ct_rune_t); ....[ 134]: extern __inline int ....[ 135]: isascii(int _c) ....[ 136]: { ....[ 137]: return ((_c & ~0x7F) == 0); ....[ 138]: } ....[ 148]: int __maskrune(__darwin_ct_rune_t, unsigned long); ....[ 152]: extern __inline int ....[ 153]: __istype(__darwin_ct_rune_t _c, unsigned long _f) ....[ 154]: { ....[ 158]: return (isascii(_c) ? !!(_DefaultRuneLocale.__runetype[_c] & _f) ....[ 159]: : !!__maskrune(_c, _f)); ....[ 161]: } ....[ 163]: extern __inline __darwin_ct_rune_t ....[ 164]: __isctype(__darwin_ct_rune_t _c, unsigned long _f) ....[ 165]: { ....[ 169]: return (_c < 0 || _c >= (1 <<8 )) ? 0 : ....[ 170]: !!(_DefaultRuneLocale.__runetype[_c] & _f); ....[ 172]: } ....[ 188]: __darwin_ct_rune_t __toupper(__darwin_ct_rune_t); ....[ 189]: __darwin_ct_rune_t __tolower(__darwin_ct_rune_t); ....[ 193]: extern __inline int ....[ 194]: __wcwidth(__darwin_ct_rune_t _c) ....[ 195]: { ....[ 196]: unsigned int _x; ....[ 198]: if (_c == 0) ....[ 199]: return (0); ....[ 200]: _x = (unsigned int)__maskrune(_c, 0xe0000000L|0x00040000L); ....[ 201]: if ((_x & 0xe0000000L) != 0) ....[ 202]: return ((_x & 0xe0000000L) >> 30); ....[ 203]: return ((_x & 0x00040000L) != 0 ? 1 : -1); ....[ 204]: } ....[ 211]: extern __inline int ....[ 212]: isalnum(int _c) ....[ 213]: { ....[ 214]: return (__istype(_c, 0x00000100L|0x00000400L)); ....[ 215]: } ....[ 217]: extern __inline int ....[ 218]: isalpha(int _c) ....[ 219]: { ....[ 220]: return (__istype(_c, 0x00000100L)); ....[ 221]: } ....[ 223]: extern __inline int ....[ 224]: isblank(int _c) ....[ 225]: { ....[ 226]: return (__istype(_c, 0x00020000L)); ....[ 227]: } ....[ 229]: extern __inline int ....[ 230]: iscntrl(int _c) ....[ 231]: { ....[ 232]: return (__istype(_c, 0x00000200L)); ....[ 233]: } ....[ 236]: extern __inline int ....[ 237]: isdigit(int _c) ....[ 238]: { ....[ 239]: return (__isctype(_c, 0x00000400L)); ....[ 240]: } ....[ 242]: extern __inline int ....[ 243]: isgraph(int _c) ....[ 244]: { ....[ 245]: return (__istype(_c, 0x00000800L)); ....[ 246]: } ....[ 248]: extern __inline int ....[ 249]: islower(int _c) ....[ 250]: { ....[ 251]: return (__istype(_c, 0x00001000L)); ....[ 252]: } ....[ 254]: extern __inline int ....[ 255]: isprint(int _c) ....[ 256]: { ....[ 257]: return (__istype(_c, 0x00040000L)); ....[ 258]: } ....[ 260]: extern __inline int ....[ 261]: ispunct(int _c) ....[ 262]: { ....[ 263]: return (__istype(_c, 0x00002000L)); ....[ 264]: } ....[ 266]: extern __inline int ....[ 267]: isspace(int _c) ....[ 268]: { ....[ 269]: return (__istype(_c, 0x00004000L)); ....[ 270]: } ....[ 272]: extern __inline int ....[ 273]: isupper(int _c) ....[ 274]: { ....[ 275]: return (__istype(_c, 0x00008000L)); ....[ 276]: } ....[ 279]: extern __inline int ....[ 280]: isxdigit(int _c) ....[ 281]: { ....[ 282]: return (__isctype(_c, 0x00010000L)); ....[ 283]: } ....[ 285]: extern __inline int ....[ 286]: toascii(int _c) ....[ 287]: { ....[ 288]: return (_c & 0x7F); ....[ 289]: } ....[ 291]: extern __inline int ....[ 292]: tolower(int _c) ....[ 293]: { ....[ 294]: return (__tolower(_c)); ....[ 295]: } ....[ 297]: extern __inline int ....[ 298]: toupper(int _c) ....[ 299]: { ....[ 300]: return (__toupper(_c)); ....[ 301]: } ....[ 304]: extern __inline int ....[ 305]: digittoint(int _c) ....[ 306]: { ....[ 307]: return (__maskrune(_c, 0x0F)); ....[ 308]: } ....[ 310]: extern __inline int ....[ 311]: ishexnumber(int _c) ....[ 312]: { ....[ 313]: return (__istype(_c, 0x00010000L)); ....[ 314]: } ....[ 316]: extern __inline int ....[ 317]: isideogram(int _c) ....[ 318]: { ....[ 319]: return (__istype(_c, 0x00080000L)); ....[ 320]: } ....[ 322]: extern __inline int ....[ 323]: isnumber(int _c) ....[ 324]: { ....[ 325]: return (__istype(_c, 0x00000400L)); ....[ 326]: } ....[ 328]: extern __inline int ....[ 329]: isphonogram(int _c) ....[ 330]: { ....[ 331]: return (__istype(_c, 0x00200000L)); ....[ 332]: } ....[ 334]: extern __inline int ....[ 335]: isrune(int _c) ....[ 336]: { ....[ 337]: return (__istype(_c, 0xFFFFFFF0L)); ....[ 338]: } ....[ 340]: extern __inline int ....[ 341]: isspecial(int _c) ....[ 342]: { ....[ 343]: return (__istype(_c, 0x00100000L)); ....[ 344]: } ....# Ending FILE: /usr/include/ctype.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/unicodeobject.h ...[ 93]: typedef wchar_t Py_UNICODE; ..# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/unicodeobject.h ...# Starting FILE: /usr/include/wchar.h ...# Holding FILE: /usr/include/wchar.h ....# Starting FILE: /usr/include/sys/_types/_mbstate_t.h .....[ 31]: typedef __darwin_mbstate_t mbstate_t; .....# Ending FILE: /usr/include/sys/_types/_mbstate_t.h ...# Holding FILE: /usr/include/wchar.h ....# Starting FILE: /usr/include/_wctype.h ....# Holding FILE: /usr/include/_wctype.h .....# Starting FILE: /usr/include/_types/_wctype_t.h ......# Back in FILE: /usr/include/_types/_wctype_t.h ......[ 31]: typedef __darwin_wctype_t wctype_t; ......# Ending FILE: /usr/include/_types/_wctype_t.h .....# Back in FILE: /usr/include/_wctype.h .....[ 65]: extern __inline int .....[ 66]: iswalnum(wint_t _wc) .....[ 67]: { .....[ 68]: return (__istype(_wc, 0x00000100L|0x00000400L)); .....[ 69]: } .....[ 71]: extern __inline int .....[ 72]: iswalpha(wint_t _wc) .....[ 73]: { .....[ 74]: return (__istype(_wc, 0x00000100L)); .....[ 75]: } .....[ 77]: extern __inline int .....[ 78]: iswcntrl(wint_t _wc) .....[ 79]: { .....[ 80]: return (__istype(_wc, 0x00000200L)); .....[ 81]: } .....[ 83]: extern __inline int .....[ 84]: iswctype(wint_t _wc, wctype_t _charclass) .....[ 85]: { .....[ 86]: return (__istype(_wc, _charclass)); .....[ 87]: } .....[ 89]: extern __inline int .....[ 90]: iswdigit(wint_t _wc) .....[ 91]: { .....[ 92]: return (__isctype(_wc, 0x00000400L)); .....[ 93]: } .....[ 95]: extern __inline int .....[ 96]: iswgraph(wint_t _wc) .....[ 97]: { .....[ 98]: return (__istype(_wc, 0x00000800L)); .....[ 99]: } .....[ 101]: extern __inline int .....[ 102]: iswlower(wint_t _wc) .....[ 103]: { .....[ 104]: return (__istype(_wc, 0x00001000L)); .....[ 105]: } .....[ 107]: extern __inline int .....[ 108]: iswprint(wint_t _wc) .....[ 109]: { .....[ 110]: return (__istype(_wc, 0x00040000L)); .....[ 111]: } .....[ 113]: extern __inline int .....[ 114]: iswpunct(wint_t _wc) .....[ 115]: { .....[ 116]: return (__istype(_wc, 0x00002000L)); .....[ 117]: } .....[ 119]: extern __inline int .....[ 120]: iswspace(wint_t _wc) .....[ 121]: { .....[ 122]: return (__istype(_wc, 0x00004000L)); .....[ 123]: } .....[ 125]: extern __inline int .....[ 126]: iswupper(wint_t _wc) .....[ 127]: { .....[ 128]: return (__istype(_wc, 0x00008000L)); .....[ 129]: } .....[ 131]: extern __inline int .....[ 132]: iswxdigit(wint_t _wc) .....[ 133]: { .....[ 134]: return (__isctype(_wc, 0x00010000L)); .....[ 135]: } .....[ 137]: extern __inline wint_t .....[ 138]: towlower(wint_t _wc) .....[ 139]: { .....[ 140]: return (__tolower(_wc)); .....[ 141]: } .....[ 143]: extern __inline wint_t .....[ 144]: towupper(wint_t _wc) .....[ 145]: { .....[ 146]: return (__toupper(_wc)); .....[ 147]: } .....[ 171]: wctype_t .....[ 172]: wctype(__const char *); .....# Ending FILE: /usr/include/_wctype.h ....# Back in FILE: /usr/include/wchar.h ....[ 97]: wint_t btowc(int); ....[ 98]: wint_t fgetwc(FILE *); ....[ 99]: wchar_t *fgetws(wchar_t * , int, FILE * ); ....[ 100]: wint_t fputwc(wchar_t, FILE *); ....[ 101]: int fputws(__const wchar_t * , FILE * ); ....[ 102]: int fwide(FILE *, int); ....[ 103]: int fwprintf(FILE * , __const wchar_t * , ...); ....[ 104]: int fwscanf(FILE * , __const wchar_t * , ...); ....[ 105]: wint_t getwc(FILE *); ....[ 106]: wint_t getwchar(void); ....[ 107]: size_t mbrlen(__const char * , size_t, mbstate_t * ); ....[ 108]: size_t mbrtowc(wchar_t * , __const char * , size_t, ....[ 109]: mbstate_t * ); ....[ 110]: int mbsinit(__const mbstate_t *); ....[ 111]: size_t mbsrtowcs(wchar_t * , __const char ** , size_t, ....[ 112]: mbstate_t * ); ....[ 113]: wint_t putwc(wchar_t, FILE *); ....[ 114]: wint_t putwchar(wchar_t); ....[ 115]: int swprintf(wchar_t * , size_t, __const wchar_t * , ...); ....[ 116]: int swscanf(__const wchar_t * , __const wchar_t * , ...); ....[ 117]: wint_t ungetwc(wint_t, FILE *); ....[ 118]: int vfwprintf(FILE * , __const wchar_t * , ....[ 119]: __darwin_va_list); ....[ 120]: int vswprintf(wchar_t * , size_t, __const wchar_t * , ....[ 121]: __darwin_va_list); ....[ 122]: int vwprintf(__const wchar_t * , __darwin_va_list); ....[ 123]: size_t wcrtomb(char * , wchar_t, mbstate_t * ); ....[ 124]: wchar_t *wcscat(wchar_t * , __const wchar_t * ); ....[ 125]: wchar_t *wcschr(__const wchar_t *, wchar_t); ....[ 126]: int wcscmp(__const wchar_t *, __const wchar_t *); ....[ 127]: int wcscoll(__const wchar_t *, __const wchar_t *); ....[ 128]: wchar_t *wcscpy(wchar_t * , __const wchar_t * ); ....[ 129]: size_t wcscspn(__const wchar_t *, __const wchar_t *); ....[ 130]: size_t wcsftime(wchar_t * , size_t, __const wchar_t * , ....[ 131]: __const struct tm * ) __asm("_" "x" "$UNIX2003"); ....[ 132]: size_t wcslen(__const wchar_t *); ....[ 133]: wchar_t *wcsncat(wchar_t * , __const wchar_t * , size_t); ....[ 134]: int wcsncmp(__const wchar_t *, __const wchar_t *, size_t); ....[ 135]: wchar_t *wcsncpy(wchar_t * , __const wchar_t * , size_t); ....[ 136]: wchar_t *wcspbrk(__const wchar_t *, __const wchar_t *); ....[ 137]: wchar_t *wcsrchr(__const wchar_t *, wchar_t); ....[ 138]: size_t wcsrtombs(char * , __const wchar_t ** , size_t, ....[ 139]: mbstate_t * ); ....[ 140]: size_t wcsspn(__const wchar_t *, __const wchar_t *); ....[ 141]: wchar_t *wcsstr(__const wchar_t * , __const wchar_t * ); ....[ 142]: size_t wcsxfrm(wchar_t * , __const wchar_t * , size_t); ....[ 143]: int wctob(wint_t); ....[ 144]: double wcstod(__const wchar_t * , wchar_t ** ); ....[ 145]: wchar_t *wcstok(wchar_t * , __const wchar_t * , ....[ 146]: wchar_t ** ); ....[ 147]: long wcstol(__const wchar_t * , wchar_t ** , int); ....[ 148]: unsigned long ....[ 149]: wcstoul(__const wchar_t * , wchar_t ** , int); ....[ 150]: wchar_t *wmemchr(__const wchar_t *, wchar_t, size_t); ....[ 151]: int wmemcmp(__const wchar_t *, __const wchar_t *, size_t); ....[ 152]: wchar_t *wmemcpy(wchar_t * , __const wchar_t * , size_t); ....[ 153]: wchar_t *wmemmove(wchar_t *, __const wchar_t *, size_t); ....[ 154]: wchar_t *wmemset(wchar_t *, wchar_t, size_t); ....[ 155]: int wprintf(__const wchar_t * , ...); ....[ 156]: int wscanf(__const wchar_t * , ...); ....[ 157]: int wcswidth(__const wchar_t *, size_t); ....[ 158]: int wcwidth(wchar_t); ....[ 170]: int vfwscanf(FILE * , __const wchar_t * , ....[ 171]: __darwin_va_list); ....[ 172]: int vswscanf(__const wchar_t * , __const wchar_t * , ....[ 173]: __darwin_va_list); ....[ 174]: int vwscanf(__const wchar_t * , __darwin_va_list); ....[ 175]: float wcstof(__const wchar_t * , wchar_t ** ); ....[ 176]: long double ....[ 177]: wcstold(__const wchar_t * , wchar_t ** ); ....[ 179]: long long ....[ 180]: wcstoll(__const wchar_t * , wchar_t ** , int); ....[ 181]: unsigned long long ....[ 182]: wcstoull(__const wchar_t * , wchar_t ** , int); ....[ 195]: size_t mbsnrtowcs(wchar_t * , __const char ** , size_t, ....[ 196]: size_t, mbstate_t * ); ....[ 197]: wchar_t *wcpcpy(wchar_t * , __const wchar_t * ) ; ....[ 198]: wchar_t *wcpncpy(wchar_t * , __const wchar_t * , size_t) ; ....[ 199]: wchar_t *wcsdup(__const wchar_t *) ; ....[ 200]: int wcscasecmp(__const wchar_t *, __const wchar_t *) ; ....[ 201]: int wcsncasecmp(__const wchar_t *, __const wchar_t *, size_t n) ; ....[ 202]: size_t wcsnlen(__const wchar_t *, size_t) ; ....[ 203]: size_t wcsnrtombs(char * , __const wchar_t ** , size_t, ....[ 204]: size_t, mbstate_t * ); ....[ 214]: wchar_t *fgetwln(FILE * , size_t *) ; ....[ 215]: size_t wcslcat(wchar_t *, __const wchar_t *, size_t); ....[ 216]: size_t wcslcpy(wchar_t *, __const wchar_t *, size_t); ....# Ending FILE: /usr/include/wchar.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/unicodeobject.h ...[ 116]: typedef uint32_t Py_UCS4; ...[ 117]: typedef uint16_t Py_UCS2; ...[ 118]: typedef uint8_t Py_UCS1; ...[ 201]: typedef struct { ...[ 275]: PyObject ob_base; ...[ 276]: Py_ssize_t length; ...[ 277]: Py_hash_t hash; ...[ 278]: struct { ...[ 287]: unsigned int interned:2; ...[ 315]: unsigned int kind:3; ...[ 320]: unsigned int compact:1; ...[ 324]: unsigned int ascii:1; ...[ 329]: unsigned int ready:1; ...[ 332]: unsigned int :24; ...[ 333]: } state; ...[ 334]: wchar_t *wstr; ...[ 335]: } PyASCIIObject; ...[ 340]: typedef struct { ...[ 341]: PyASCIIObject _base; ...[ 342]: Py_ssize_t utf8_length; ...[ 344]: char *utf8; ...[ 345]: Py_ssize_t wstr_length; ...[ 347]: } PyCompactUnicodeObject; ...[ 352]: typedef struct { ...[ 353]: PyCompactUnicodeObject _base; ...[ 354]: union { ...[ 355]: void *any; ...[ 356]: Py_UCS1 *latin1; ...[ 357]: Py_UCS2 *ucs2; ...[ 358]: Py_UCS4 *ucs4; ...[ 359]: } data; ...[ 360]: } PyUnicodeObject; ...[ 363]: extern PyTypeObject PyUnicode_Type; ...[ 364]: extern PyTypeObject PyUnicodeIter_Type; ...[ 435]: enum PyUnicode_Kind { ...[ 439]: PyUnicode_WCHAR_KIND = 0, ...[ 441]: PyUnicode_1BYTE_KIND = 1, ...[ 442]: PyUnicode_2BYTE_KIND = 2, ...[ 443]: PyUnicode_4BYTE_KIND = 4 ...[ 444]: }; ...[ 586]: PyObject* PyUnicode_New( ...[ 587]: Py_ssize_t size, ...[ 588]: Py_UCS4 maxchar ...[ 589]: ); ...[ 600]: int _PyUnicode_Ready( ...[ 601]: PyObject *unicode ...[ 602]: ); ...[ 607]: PyObject* _PyUnicode_Copy( ...[ 608]: PyObject *unicode ...[ 609]: ); ...[ 631]: Py_ssize_t PyUnicode_CopyCharacters( ...[ 632]: PyObject *to, ...[ 633]: Py_ssize_t to_start, ...[ 634]: PyObject *from, ...[ 635]: Py_ssize_t from_start, ...[ 636]: Py_ssize_t how_many ...[ 637]: ); ...[ 642]: void _PyUnicode_FastCopyCharacters( ...[ 643]: PyObject *to, ...[ 644]: Py_ssize_t to_start, ...[ 645]: PyObject *from, ...[ 646]: Py_ssize_t from_start, ...[ 647]: Py_ssize_t how_many ...[ 648]: ); ...[ 660]: Py_ssize_t PyUnicode_Fill( ...[ 661]: PyObject *unicode, ...[ 662]: Py_ssize_t start, ...[ 663]: Py_ssize_t length, ...[ 664]: Py_UCS4 fill_char ...[ 665]: ); ...[ 669]: void _PyUnicode_FastFill( ...[ 670]: PyObject *unicode, ...[ 671]: Py_ssize_t start, ...[ 672]: Py_ssize_t length, ...[ 673]: Py_UCS4 fill_char ...[ 674]: ); ...[ 688]: PyObject* PyUnicode_FromUnicode( ...[ 689]: __const Py_UNICODE *u, ...[ 690]: Py_ssize_t size ...[ 691]: ); ...[ 695]: PyObject* PyUnicode_FromStringAndSize( ...[ 696]: __const char *u, ...[ 697]: Py_ssize_t size ...[ 698]: ); ...[ 702]: PyObject* PyUnicode_FromString( ...[ 703]: __const char *u ...[ 704]: ); ...[ 709]: PyObject* PyUnicode_FromKindAndData( ...[ 710]: int kind, ...[ 711]: __const void *buffer, ...[ 712]: Py_ssize_t size); ...[ 716]: PyObject* _PyUnicode_FromASCII( ...[ 717]: __const char *buffer, ...[ 718]: Py_ssize_t size); ...[ 722]: PyObject* PyUnicode_Substring( ...[ 723]: PyObject *str, ...[ 724]: Py_ssize_t start, ...[ 725]: Py_ssize_t end); ...[ 731]: Py_UCS4 _PyUnicode_FindMaxChar ( ...[ 732]: PyObject *unicode, ...[ 733]: Py_ssize_t start, ...[ 734]: Py_ssize_t end); ...[ 743]: Py_UCS4* PyUnicode_AsUCS4( ...[ 744]: PyObject *unicode, ...[ 745]: Py_UCS4* buffer, ...[ 746]: Py_ssize_t buflen, ...[ 747]: int copy_null); ...[ 752]: Py_UCS4* PyUnicode_AsUCS4Copy(PyObject *unicode); ...[ 761]: Py_UNICODE * PyUnicode_AsUnicode( ...[ 762]: PyObject *unicode ...[ 763]: ); ...[ 772]: Py_UNICODE * PyUnicode_AsUnicodeAndSize( ...[ 773]: PyObject *unicode, ...[ 774]: Py_ssize_t *size ...[ 775]: ); ...[ 781]: Py_ssize_t PyUnicode_GetLength( ...[ 782]: PyObject *unicode ...[ 783]: ); ...[ 789]: Py_ssize_t PyUnicode_GetSize( ...[ 790]: PyObject *unicode ...[ 791]: ); ...[ 796]: Py_UCS4 PyUnicode_ReadChar( ...[ 797]: PyObject *unicode, ...[ 798]: Py_ssize_t index ...[ 799]: ); ...[ 806]: int PyUnicode_WriteChar( ...[ 807]: PyObject *unicode, ...[ 808]: Py_ssize_t index, ...[ 809]: Py_UCS4 character ...[ 810]: ); ...[ 815]: Py_UNICODE PyUnicode_GetMax(void); ...[ 834]: int PyUnicode_Resize( ...[ 835]: PyObject **unicode, ...[ 836]: Py_ssize_t length ...[ 837]: ); ...[ 852]: PyObject* PyUnicode_FromEncodedObject( ...[ 853]: PyObject *obj, ...[ 854]: __const char *encoding, ...[ 855]: __const char *errors ...[ 856]: ); ...[ 867]: PyObject* PyUnicode_FromObject( ...[ 868]: PyObject *obj ...[ 869]: ); ...[ 871]: PyObject * PyUnicode_FromFormatV( ...[ 872]: __const char *format, ...[ 873]: va_list vargs ...[ 874]: ); ...[ 875]: PyObject * PyUnicode_FromFormat( ...[ 876]: __const char *format, ...[ 877]: ... ...[ 878]: ); ...[ 881]: typedef struct { ...[ 882]: PyObject *buffer; ...[ 883]: void *data; ...[ 884]: enum PyUnicode_Kind kind; ...[ 885]: Py_UCS4 maxchar; ...[ 886]: Py_ssize_t size; ...[ 887]: Py_ssize_t pos; ...[ 890]: Py_ssize_t min_length; ...[ 893]: Py_UCS4 min_char; ...[ 896]: unsigned char overallocate; ...[ 900]: unsigned char readonly; ...[ 901]: } _PyUnicodeWriter ; ...[ 908]: void ...[ 909]: _PyUnicodeWriter_Init(_PyUnicodeWriter *writer); ...[ 925]: int ...[ 926]: _PyUnicodeWriter_PrepareInternal(_PyUnicodeWriter *writer, ...[ 927]: Py_ssize_t length, Py_UCS4 maxchar); ...[ 942]: int ...[ 943]: _PyUnicodeWriter_PrepareKindInternal(_PyUnicodeWriter *writer, ...[ 944]: enum PyUnicode_Kind kind); ...[ 948]: int ...[ 949]: _PyUnicodeWriter_WriteChar(_PyUnicodeWriter *writer, ...[ 950]: Py_UCS4 ch ...[ 951]: ); ...[ 955]: int ...[ 956]: _PyUnicodeWriter_WriteStr(_PyUnicodeWriter *writer, ...[ 957]: PyObject *str ...[ 958]: ); ...[ 962]: int ...[ 963]: _PyUnicodeWriter_WriteSubstring(_PyUnicodeWriter *writer, ...[ 964]: PyObject *str, ...[ 965]: Py_ssize_t start, ...[ 966]: Py_ssize_t end ...[ 967]: ); ...[ 971]: int ...[ 972]: _PyUnicodeWriter_WriteASCIIString(_PyUnicodeWriter *writer, ...[ 973]: __const char *str, ...[ 974]: Py_ssize_t len ...[ 975]: ); ...[ 979]: int ...[ 980]: _PyUnicodeWriter_WriteLatin1String(_PyUnicodeWriter *writer, ...[ 981]: __const char *str, ...[ 982]: Py_ssize_t len ...[ 983]: ); ...[ 988]: PyObject * ...[ 989]: _PyUnicodeWriter_Finish(_PyUnicodeWriter *writer); ...[ 992]: void ...[ 993]: _PyUnicodeWriter_Dealloc(_PyUnicodeWriter *writer); ...[ 999]: int _PyUnicode_FormatAdvancedWriter( ...[ 1000]: _PyUnicodeWriter *writer, ...[ 1001]: PyObject *obj, ...[ 1002]: PyObject *format_spec, ...[ 1003]: Py_ssize_t start, ...[ 1004]: Py_ssize_t end); ...[ 1007]: void PyUnicode_InternInPlace(PyObject **); ...[ 1008]: void PyUnicode_InternImmortal(PyObject **); ...[ 1009]: PyObject * PyUnicode_InternFromString( ...[ 1010]: __const char *u ...[ 1011]: ); ...[ 1013]: void _Py_ReleaseInternedUnicodeStrings(void); ...[ 1029]: PyObject* PyUnicode_FromWideChar( ...[ 1030]: __const wchar_t *w, ...[ 1031]: Py_ssize_t size ...[ 1032]: ); ...[ 1046]: Py_ssize_t PyUnicode_AsWideChar( ...[ 1047]: PyObject *unicode, ...[ 1048]: wchar_t *w, ...[ 1049]: Py_ssize_t size ...[ 1050]: ); ...[ 1060]: wchar_t* PyUnicode_AsWideCharString( ...[ 1061]: PyObject *unicode, ...[ 1062]: Py_ssize_t *size ...[ 1063]: ); ...[ 1066]: void* _PyUnicode_AsKind(PyObject *s, unsigned int kind); ...[ 1080]: PyObject* PyUnicode_FromOrdinal(int ordinal); ...[ 1091]: int PyUnicode_ClearFreeList(void); ...[ 1134]: char * PyUnicode_AsUTF8AndSize( ...[ 1135]: PyObject *unicode, ...[ 1136]: Py_ssize_t *size); ...[ 1161]: char * PyUnicode_AsUTF8(PyObject *unicode); ...[ 1167]: __const char* PyUnicode_GetDefaultEncoding(void); ...[ 1174]: PyObject* PyUnicode_Decode( ...[ 1175]: __const char *s, ...[ 1176]: Py_ssize_t size, ...[ 1177]: __const char *encoding, ...[ 1178]: __const char *errors ...[ 1179]: ); ...[ 1188]: PyObject* PyUnicode_AsDecodedObject( ...[ 1189]: PyObject *unicode, ...[ 1190]: __const char *encoding, ...[ 1191]: __const char *errors ...[ 1192]: ) __attribute__((__deprecated__)); ...[ 1201]: PyObject* PyUnicode_AsDecodedUnicode( ...[ 1202]: PyObject *unicode, ...[ 1203]: __const char *encoding, ...[ 1204]: __const char *errors ...[ 1205]: ) __attribute__((__deprecated__)); ...[ 1211]: PyObject* PyUnicode_Encode( ...[ 1212]: __const Py_UNICODE *s, ...[ 1213]: Py_ssize_t size, ...[ 1214]: __const char *encoding, ...[ 1215]: __const char *errors ...[ 1216]: ); ...[ 1227]: PyObject* PyUnicode_AsEncodedObject( ...[ 1228]: PyObject *unicode, ...[ 1229]: __const char *encoding, ...[ 1230]: __const char *errors ...[ 1231]: ) __attribute__((__deprecated__)); ...[ 1236]: PyObject* PyUnicode_AsEncodedString( ...[ 1237]: PyObject *unicode, ...[ 1238]: __const char *encoding, ...[ 1239]: __const char *errors ...[ 1240]: ); ...[ 1249]: PyObject* PyUnicode_AsEncodedUnicode( ...[ 1250]: PyObject *unicode, ...[ 1251]: __const char *encoding, ...[ 1252]: __const char *errors ...[ 1253]: ) __attribute__((__deprecated__)); ...[ 1257]: PyObject* PyUnicode_BuildEncodingMap( ...[ 1258]: PyObject* string ...[ 1259]: ); ...[ 1263]: PyObject* PyUnicode_DecodeUTF7( ...[ 1264]: __const char *string, ...[ 1265]: Py_ssize_t length, ...[ 1266]: __const char *errors ...[ 1267]: ); ...[ 1269]: PyObject* PyUnicode_DecodeUTF7Stateful( ...[ 1270]: __const char *string, ...[ 1271]: Py_ssize_t length, ...[ 1272]: __const char *errors, ...[ 1273]: Py_ssize_t *consumed ...[ 1274]: ); ...[ 1277]: PyObject* PyUnicode_EncodeUTF7( ...[ 1278]: __const Py_UNICODE *data, ...[ 1279]: Py_ssize_t length, ...[ 1280]: int base64SetO, ...[ 1281]: int base64WhiteSpace, ...[ 1282]: __const char *errors ...[ 1283]: ); ...[ 1284]: PyObject* _PyUnicode_EncodeUTF7( ...[ 1285]: PyObject *unicode, ...[ 1286]: int base64SetO, ...[ 1287]: int base64WhiteSpace, ...[ 1288]: __const char *errors ...[ 1289]: ); ...[ 1294]: PyObject* PyUnicode_DecodeUTF8( ...[ 1295]: __const char *string, ...[ 1296]: Py_ssize_t length, ...[ 1297]: __const char *errors ...[ 1298]: ); ...[ 1300]: PyObject* PyUnicode_DecodeUTF8Stateful( ...[ 1301]: __const char *string, ...[ 1302]: Py_ssize_t length, ...[ 1303]: __const char *errors, ...[ 1304]: Py_ssize_t *consumed ...[ 1305]: ); ...[ 1307]: PyObject* PyUnicode_AsUTF8String( ...[ 1308]: PyObject *unicode ...[ 1309]: ); ...[ 1312]: PyObject* _PyUnicode_AsUTF8String( ...[ 1313]: PyObject *unicode, ...[ 1314]: __const char *errors); ...[ 1316]: PyObject* PyUnicode_EncodeUTF8( ...[ 1317]: __const Py_UNICODE *data, ...[ 1318]: Py_ssize_t length, ...[ 1319]: __const char *errors ...[ 1320]: ); ...[ 1348]: PyObject* PyUnicode_DecodeUTF32( ...[ 1349]: __const char *string, ...[ 1350]: Py_ssize_t length, ...[ 1351]: __const char *errors, ...[ 1352]: int *byteorder ...[ 1355]: ); ...[ 1357]: PyObject* PyUnicode_DecodeUTF32Stateful( ...[ 1358]: __const char *string, ...[ 1359]: Py_ssize_t length, ...[ 1360]: __const char *errors, ...[ 1361]: int *byteorder, ...[ 1364]: Py_ssize_t *consumed ...[ 1365]: ); ...[ 1370]: PyObject* PyUnicode_AsUTF32String( ...[ 1371]: PyObject *unicode ...[ 1372]: ); ...[ 1391]: PyObject* PyUnicode_EncodeUTF32( ...[ 1392]: __const Py_UNICODE *data, ...[ 1393]: Py_ssize_t length, ...[ 1394]: __const char *errors, ...[ 1395]: int byteorder ...[ 1396]: ); ...[ 1397]: PyObject* _PyUnicode_EncodeUTF32( ...[ 1398]: PyObject *object, ...[ 1399]: __const char *errors, ...[ 1400]: int byteorder ...[ 1401]: ); ...[ 1429]: PyObject* PyUnicode_DecodeUTF16( ...[ 1430]: __const char *string, ...[ 1431]: Py_ssize_t length, ...[ 1432]: __const char *errors, ...[ 1433]: int *byteorder ...[ 1436]: ); ...[ 1438]: PyObject* PyUnicode_DecodeUTF16Stateful( ...[ 1439]: __const char *string, ...[ 1440]: Py_ssize_t length, ...[ 1441]: __const char *errors, ...[ 1442]: int *byteorder, ...[ 1445]: Py_ssize_t *consumed ...[ 1446]: ); ...[ 1451]: PyObject* PyUnicode_AsUTF16String( ...[ 1452]: PyObject *unicode ...[ 1453]: ); ...[ 1476]: PyObject* PyUnicode_EncodeUTF16( ...[ 1477]: __const Py_UNICODE *data, ...[ 1478]: Py_ssize_t length, ...[ 1479]: __const char *errors, ...[ 1480]: int byteorder ...[ 1481]: ); ...[ 1482]: PyObject* _PyUnicode_EncodeUTF16( ...[ 1483]: PyObject* unicode, ...[ 1484]: __const char *errors, ...[ 1485]: int byteorder ...[ 1486]: ); ...[ 1491]: PyObject* PyUnicode_DecodeUnicodeEscape( ...[ 1492]: __const char *string, ...[ 1493]: Py_ssize_t length, ...[ 1494]: __const char *errors ...[ 1495]: ); ...[ 1500]: PyObject* _PyUnicode_DecodeUnicodeEscape( ...[ 1501]: __const char *string, ...[ 1502]: Py_ssize_t length, ...[ 1503]: __const char *errors, ...[ 1504]: __const char **first_invalid_escape ...[ 1507]: ); ...[ 1510]: PyObject* PyUnicode_AsUnicodeEscapeString( ...[ 1511]: PyObject *unicode ...[ 1512]: ); ...[ 1515]: PyObject* PyUnicode_EncodeUnicodeEscape( ...[ 1516]: __const Py_UNICODE *data, ...[ 1517]: Py_ssize_t length ...[ 1518]: ); ...[ 1523]: PyObject* PyUnicode_DecodeRawUnicodeEscape( ...[ 1524]: __const char *string, ...[ 1525]: Py_ssize_t length, ...[ 1526]: __const char *errors ...[ 1527]: ); ...[ 1529]: PyObject* PyUnicode_AsRawUnicodeEscapeString( ...[ 1530]: PyObject *unicode ...[ 1531]: ); ...[ 1534]: PyObject* PyUnicode_EncodeRawUnicodeEscape( ...[ 1535]: __const Py_UNICODE *data, ...[ 1536]: Py_ssize_t length ...[ 1537]: ); ...[ 1545]: PyObject *_PyUnicode_DecodeUnicodeInternal( ...[ 1546]: __const char *string, ...[ 1547]: Py_ssize_t length, ...[ 1548]: __const char *errors ...[ 1549]: ); ...[ 1558]: PyObject* PyUnicode_DecodeLatin1( ...[ 1559]: __const char *string, ...[ 1560]: Py_ssize_t length, ...[ 1561]: __const char *errors ...[ 1562]: ); ...[ 1564]: PyObject* PyUnicode_AsLatin1String( ...[ 1565]: PyObject *unicode ...[ 1566]: ); ...[ 1569]: PyObject* _PyUnicode_AsLatin1String( ...[ 1570]: PyObject* unicode, ...[ 1571]: __const char* errors); ...[ 1573]: PyObject* PyUnicode_EncodeLatin1( ...[ 1574]: __const Py_UNICODE *data, ...[ 1575]: Py_ssize_t length, ...[ 1576]: __const char *errors ...[ 1577]: ); ...[ 1586]: PyObject* PyUnicode_DecodeASCII( ...[ 1587]: __const char *string, ...[ 1588]: Py_ssize_t length, ...[ 1589]: __const char *errors ...[ 1590]: ); ...[ 1592]: PyObject* PyUnicode_AsASCIIString( ...[ 1593]: PyObject *unicode ...[ 1594]: ); ...[ 1597]: PyObject* _PyUnicode_AsASCIIString( ...[ 1598]: PyObject* unicode, ...[ 1599]: __const char* errors); ...[ 1601]: PyObject* PyUnicode_EncodeASCII( ...[ 1602]: __const Py_UNICODE *data, ...[ 1603]: Py_ssize_t length, ...[ 1604]: __const char *errors ...[ 1605]: ); ...[ 1625]: PyObject* PyUnicode_DecodeCharmap( ...[ 1626]: __const char *string, ...[ 1627]: Py_ssize_t length, ...[ 1628]: PyObject *mapping, ...[ 1629]: __const char *errors ...[ 1630]: ); ...[ 1632]: PyObject* PyUnicode_AsCharmapString( ...[ 1633]: PyObject *unicode, ...[ 1634]: PyObject *mapping ...[ 1635]: ); ...[ 1638]: PyObject* PyUnicode_EncodeCharmap( ...[ 1639]: __const Py_UNICODE *data, ...[ 1640]: Py_ssize_t length, ...[ 1641]: PyObject *mapping, ...[ 1642]: __const char *errors ...[ 1643]: ); ...[ 1644]: PyObject* _PyUnicode_EncodeCharmap( ...[ 1645]: PyObject *unicode, ...[ 1646]: PyObject *mapping, ...[ 1647]: __const char *errors ...[ 1648]: ); ...[ 1665]: PyObject * PyUnicode_TranslateCharmap( ...[ 1666]: __const Py_UNICODE *data, ...[ 1667]: Py_ssize_t length, ...[ 1668]: PyObject *table, ...[ 1669]: __const char *errors ...[ 1670]: ); ...[ 1747]: int PyUnicode_EncodeDecimal( ...[ 1748]: Py_UNICODE *s, ...[ 1749]: Py_ssize_t length, ...[ 1750]: char *output, ...[ 1751]: __const char *errors ...[ 1752]: ); ...[ 1762]: PyObject* PyUnicode_TransformDecimalToASCII( ...[ 1763]: Py_UNICODE *s, ...[ 1764]: Py_ssize_t length ...[ 1765]: ); ...[ 1774]: PyObject* _PyUnicode_TransformDecimalAndSpaceToASCII( ...[ 1775]: PyObject *unicode ...[ 1776]: ); ...[ 1790]: PyObject* PyUnicode_DecodeLocaleAndSize( ...[ 1791]: __const char *str, ...[ 1792]: Py_ssize_t len, ...[ 1793]: __const char *errors); ...[ 1798]: PyObject* PyUnicode_DecodeLocale( ...[ 1799]: __const char *str, ...[ 1800]: __const char *errors); ...[ 1807]: PyObject* PyUnicode_EncodeLocale( ...[ 1808]: PyObject *unicode, ...[ 1809]: __const char *errors ...[ 1810]: ); ...[ 1818]: int PyUnicode_FSConverter(PyObject*, void*); ...[ 1823]: int PyUnicode_FSDecoder(PyObject*, void*); ...[ 1834]: PyObject* PyUnicode_DecodeFSDefault( ...[ 1835]: __const char *s ...[ 1836]: ); ...[ 1845]: PyObject* PyUnicode_DecodeFSDefaultAndSize( ...[ 1846]: __const char *s, ...[ 1847]: Py_ssize_t size ...[ 1848]: ); ...[ 1857]: PyObject* PyUnicode_EncodeFSDefault( ...[ 1858]: PyObject *unicode ...[ 1859]: ); ...[ 1869]: PyObject* PyUnicode_Concat( ...[ 1870]: PyObject *left, ...[ 1871]: PyObject *right ...[ 1872]: ); ...[ 1877]: void PyUnicode_Append( ...[ 1878]: PyObject **pleft, ...[ 1879]: PyObject *right ...[ 1880]: ); ...[ 1885]: void PyUnicode_AppendAndDel( ...[ 1886]: PyObject **pleft, ...[ 1887]: PyObject *right ...[ 1888]: ); ...[ 1901]: PyObject* PyUnicode_Split( ...[ 1902]: PyObject *s, ...[ 1903]: PyObject *sep, ...[ 1904]: Py_ssize_t maxsplit ...[ 1905]: ); ...[ 1912]: PyObject* PyUnicode_Splitlines( ...[ 1913]: PyObject *s, ...[ 1914]: int keepends ...[ 1915]: ); ...[ 1919]: PyObject* PyUnicode_Partition( ...[ 1920]: PyObject *s, ...[ 1921]: PyObject *sep ...[ 1922]: ); ...[ 1927]: PyObject* PyUnicode_RPartition( ...[ 1928]: PyObject *s, ...[ 1929]: PyObject *sep ...[ 1930]: ); ...[ 1945]: PyObject* PyUnicode_RSplit( ...[ 1946]: PyObject *s, ...[ 1947]: PyObject *sep, ...[ 1948]: Py_ssize_t maxsplit ...[ 1949]: ); ...[ 1963]: PyObject * PyUnicode_Translate( ...[ 1964]: PyObject *str, ...[ 1965]: PyObject *table, ...[ 1966]: __const char *errors ...[ 1967]: ); ...[ 1972]: PyObject* PyUnicode_Join( ...[ 1973]: PyObject *separator, ...[ 1974]: PyObject *seq ...[ 1975]: ); ...[ 1978]: PyObject * _PyUnicode_JoinArray( ...[ 1979]: PyObject *separator, ...[ 1980]: PyObject **items, ...[ 1981]: Py_ssize_t seqlen ...[ 1982]: ); ...[ 1988]: Py_ssize_t PyUnicode_Tailmatch( ...[ 1989]: PyObject *str, ...[ 1990]: PyObject *substr, ...[ 1991]: Py_ssize_t start, ...[ 1992]: Py_ssize_t end, ...[ 1993]: int direction ...[ 1994]: ); ...[ 2000]: Py_ssize_t PyUnicode_Find( ...[ 2001]: PyObject *str, ...[ 2002]: PyObject *substr, ...[ 2003]: Py_ssize_t start, ...[ 2004]: Py_ssize_t end, ...[ 2005]: int direction ...[ 2006]: ); ...[ 2010]: Py_ssize_t PyUnicode_FindChar( ...[ 2011]: PyObject *str, ...[ 2012]: Py_UCS4 ch, ...[ 2013]: Py_ssize_t start, ...[ 2014]: Py_ssize_t end, ...[ 2015]: int direction ...[ 2016]: ); ...[ 2021]: Py_ssize_t PyUnicode_Count( ...[ 2022]: PyObject *str, ...[ 2023]: PyObject *substr, ...[ 2024]: Py_ssize_t start, ...[ 2025]: Py_ssize_t end ...[ 2026]: ); ...[ 2031]: PyObject * PyUnicode_Replace( ...[ 2032]: PyObject *str, ...[ 2033]: PyObject *substr, ...[ 2034]: PyObject *replstr, ...[ 2035]: Py_ssize_t maxcount ...[ 2037]: ); ...[ 2043]: int PyUnicode_Compare( ...[ 2044]: PyObject *left, ...[ 2045]: PyObject *right ...[ 2046]: ); ...[ 2053]: int _PyUnicode_EqualToASCIIId( ...[ 2054]: PyObject *left, ...[ 2055]: _Py_Identifier *right ...[ 2056]: ); ...[ 2065]: int PyUnicode_CompareWithASCIIString( ...[ 2066]: PyObject *left, ...[ 2067]: __const char *right ...[ 2068]: ); ...[ 2075]: int _PyUnicode_EqualToASCIIString( ...[ 2076]: PyObject *left, ...[ 2077]: __const char *right ...[ 2078]: ); ...[ 2093]: PyObject * PyUnicode_RichCompare( ...[ 2094]: PyObject *left, ...[ 2095]: PyObject *right, ...[ 2096]: int op ...[ 2097]: ); ...[ 2102]: PyObject * PyUnicode_Format( ...[ 2103]: PyObject *format, ...[ 2104]: PyObject *args ...[ 2105]: ); ...[ 2113]: int PyUnicode_Contains( ...[ 2114]: PyObject *container, ...[ 2115]: PyObject *element ...[ 2116]: ); ...[ 2120]: int PyUnicode_IsIdentifier(PyObject *s); ...[ 2124]: PyObject * _PyUnicode_XStrip( ...[ 2125]: PyObject *self, ...[ 2126]: int striptype, ...[ 2127]: PyObject *sepobj ...[ 2128]: ); ...[ 2135]: Py_ssize_t _PyUnicode_InsertThousandsGrouping( ...[ 2136]: PyObject *unicode, ...[ 2137]: Py_ssize_t index, ...[ 2138]: Py_ssize_t n_buffer, ...[ 2139]: void *digits, ...[ 2140]: Py_ssize_t n_digits, ...[ 2141]: Py_ssize_t min_width, ...[ 2142]: __const char *grouping, ...[ 2143]: PyObject *thousands_sep, ...[ 2144]: Py_UCS4 *maxchar); ...[ 2151]: extern __const unsigned char _Py_ascii_whitespace[]; ...[ 2160]: int _PyUnicode_IsLowercase( ...[ 2161]: Py_UCS4 ch ...[ 2162]: ); ...[ 2164]: int _PyUnicode_IsUppercase( ...[ 2165]: Py_UCS4 ch ...[ 2166]: ); ...[ 2168]: int _PyUnicode_IsTitlecase( ...[ 2169]: Py_UCS4 ch ...[ 2170]: ); ...[ 2172]: int _PyUnicode_IsXidStart( ...[ 2173]: Py_UCS4 ch ...[ 2174]: ); ...[ 2176]: int _PyUnicode_IsXidContinue( ...[ 2177]: Py_UCS4 ch ...[ 2178]: ); ...[ 2180]: int _PyUnicode_IsWhitespace( ...[ 2181]: __const Py_UCS4 ch ...[ 2182]: ); ...[ 2184]: int _PyUnicode_IsLinebreak( ...[ 2185]: __const Py_UCS4 ch ...[ 2186]: ); ...[ 2188]: Py_UCS4 _PyUnicode_ToLowercase( ...[ 2189]: Py_UCS4 ch ...[ 2190]: ); ...[ 2192]: Py_UCS4 _PyUnicode_ToUppercase( ...[ 2193]: Py_UCS4 ch ...[ 2194]: ); ...[ 2196]: Py_UCS4 _PyUnicode_ToTitlecase( ...[ 2197]: Py_UCS4 ch ...[ 2198]: ); ...[ 2200]: int _PyUnicode_ToLowerFull( ...[ 2201]: Py_UCS4 ch, ...[ 2202]: Py_UCS4 *res ...[ 2203]: ); ...[ 2205]: int _PyUnicode_ToTitleFull( ...[ 2206]: Py_UCS4 ch, ...[ 2207]: Py_UCS4 *res ...[ 2208]: ); ...[ 2210]: int _PyUnicode_ToUpperFull( ...[ 2211]: Py_UCS4 ch, ...[ 2212]: Py_UCS4 *res ...[ 2213]: ); ...[ 2215]: int _PyUnicode_ToFoldedFull( ...[ 2216]: Py_UCS4 ch, ...[ 2217]: Py_UCS4 *res ...[ 2218]: ); ...[ 2220]: int _PyUnicode_IsCaseIgnorable( ...[ 2221]: Py_UCS4 ch ...[ 2222]: ); ...[ 2224]: int _PyUnicode_IsCased( ...[ 2225]: Py_UCS4 ch ...[ 2226]: ); ...[ 2228]: int _PyUnicode_ToDecimalDigit( ...[ 2229]: Py_UCS4 ch ...[ 2230]: ); ...[ 2232]: int _PyUnicode_ToDigit( ...[ 2233]: Py_UCS4 ch ...[ 2234]: ); ...[ 2236]: double _PyUnicode_ToNumeric( ...[ 2237]: Py_UCS4 ch ...[ 2238]: ); ...[ 2240]: int _PyUnicode_IsDecimalDigit( ...[ 2241]: Py_UCS4 ch ...[ 2242]: ); ...[ 2244]: int _PyUnicode_IsDigit( ...[ 2245]: Py_UCS4 ch ...[ 2246]: ); ...[ 2248]: int _PyUnicode_IsNumeric( ...[ 2249]: Py_UCS4 ch ...[ 2250]: ); ...[ 2252]: int _PyUnicode_IsPrintable( ...[ 2253]: Py_UCS4 ch ...[ 2254]: ); ...[ 2256]: int _PyUnicode_IsAlpha( ...[ 2257]: Py_UCS4 ch ...[ 2258]: ); ...[ 2260]: size_t Py_UNICODE_strlen( ...[ 2261]: __const Py_UNICODE *u ...[ 2262]: ); ...[ 2264]: Py_UNICODE* Py_UNICODE_strcpy( ...[ 2265]: Py_UNICODE *s1, ...[ 2266]: __const Py_UNICODE *s2); ...[ 2268]: Py_UNICODE* Py_UNICODE_strcat( ...[ 2269]: Py_UNICODE *s1, __const Py_UNICODE *s2); ...[ 2271]: Py_UNICODE* Py_UNICODE_strncpy( ...[ 2272]: Py_UNICODE *s1, ...[ 2273]: __const Py_UNICODE *s2, ...[ 2274]: size_t n); ...[ 2276]: int Py_UNICODE_strcmp( ...[ 2277]: __const Py_UNICODE *s1, ...[ 2278]: __const Py_UNICODE *s2 ...[ 2279]: ); ...[ 2281]: int Py_UNICODE_strncmp( ...[ 2282]: __const Py_UNICODE *s1, ...[ 2283]: __const Py_UNICODE *s2, ...[ 2284]: size_t n ...[ 2285]: ); ...[ 2287]: Py_UNICODE* Py_UNICODE_strchr( ...[ 2288]: __const Py_UNICODE *s, ...[ 2289]: Py_UNICODE c ...[ 2290]: ); ...[ 2292]: Py_UNICODE* Py_UNICODE_strrchr( ...[ 2293]: __const Py_UNICODE *s, ...[ 2294]: Py_UNICODE c ...[ 2295]: ); ...[ 2297]: PyObject* _PyUnicode_FormatLong(PyObject *, int, int, int); ...[ 2303]: Py_UNICODE* PyUnicode_AsUnicodeCopy( ...[ 2304]: PyObject *unicode ...[ 2305]: ); ...[ 2309]: int _PyUnicode_CheckConsistency( ...[ 2310]: PyObject *op, ...[ 2311]: int check_content); ...[ 2320]: PyObject* _PyUnicode_FromId(_Py_Identifier*); ...[ 2322]: void _PyUnicode_ClearStaticStrings(void); ...[ 2326]: int _PyUnicode_EQ(PyObject *, PyObject *); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/unicodeobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/longobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/longobject.h ...[ 10]: typedef struct _longobject PyLongObject; ...[ 12]: extern PyTypeObject PyLong_Type; ...[ 18]: PyObject * PyLong_FromLong(long); ...[ 19]: PyObject * PyLong_FromUnsignedLong(unsigned long); ...[ 20]: PyObject * PyLong_FromSize_t(size_t); ...[ 21]: PyObject * PyLong_FromSsize_t(Py_ssize_t); ...[ 22]: PyObject * PyLong_FromDouble(double); ...[ 23]: long PyLong_AsLong(PyObject *); ...[ 24]: long PyLong_AsLongAndOverflow(PyObject *, int *); ...[ 25]: Py_ssize_t PyLong_AsSsize_t(PyObject *); ...[ 26]: size_t PyLong_AsSize_t(PyObject *); ...[ 27]: unsigned long PyLong_AsUnsignedLong(PyObject *); ...[ 28]: unsigned long PyLong_AsUnsignedLongMask(PyObject *); ...[ 30]: int _PyLong_AsInt(PyObject *); ...[ 32]: PyObject * PyLong_GetInfo(void); ...[ 71]: extern unsigned char _PyLong_DigitValue[256]; ...[ 81]: double _PyLong_Frexp(PyLongObject *a, Py_ssize_t *e); ...[ 84]: double PyLong_AsDouble(PyObject *); ...[ 85]: PyObject * PyLong_FromVoidPtr(void *); ...[ 86]: void * PyLong_AsVoidPtr(PyObject *); ...[ 88]: PyObject * PyLong_FromLongLong(long long); ...[ 89]: PyObject * PyLong_FromUnsignedLongLong(unsigned long long); ...[ 90]: long long PyLong_AsLongLong(PyObject *); ...[ 91]: unsigned long long PyLong_AsUnsignedLongLong(PyObject *); ...[ 92]: unsigned long long PyLong_AsUnsignedLongLongMask(PyObject *); ...[ 93]: long long PyLong_AsLongLongAndOverflow(PyObject *, int *); ...[ 95]: PyObject * PyLong_FromString(__const char *, char **, int); ...[ 97]: PyObject * PyLong_FromUnicode(Py_UNICODE*, Py_ssize_t, int); ...[ 98]: PyObject * PyLong_FromUnicodeObject(PyObject *u, int base); ...[ 99]: PyObject * _PyLong_FromBytes(__const char *, Py_ssize_t, int); ...[ 107]: int _PyLong_Sign(PyObject *v); ...[ 117]: size_t _PyLong_NumBits(PyObject *v); ...[ 125]: PyObject * _PyLong_DivmodNear(PyObject *, PyObject *); ...[ 140]: PyObject * _PyLong_FromByteArray( ...[ 141]: __const unsigned char* bytes, size_t n, ...[ 142]: int little_endian, int is_signed); ...[ 163]: int _PyLong_AsByteArray(PyLongObject* v, ...[ 164]: unsigned char* bytes, size_t n, ...[ 165]: int little_endian, int is_signed); ...[ 172]: PyLongObject *_PyLong_FromNbInt(PyObject *); ...[ 176]: PyObject * _PyLong_Format(PyObject *obj, int base); ...[ 178]: int _PyLong_FormatWriter( ...[ 179]: _PyUnicodeWriter *writer, ...[ 180]: PyObject *obj, ...[ 181]: int base, ...[ 182]: int alternate); ...[ 184]: char* _PyLong_FormatBytesWriter( ...[ 185]: _PyBytesWriter *writer, ...[ 186]: char *str, ...[ 187]: PyObject *obj, ...[ 188]: int base, ...[ 189]: int alternate); ...[ 193]: int _PyLong_FormatAdvancedWriter( ...[ 194]: _PyUnicodeWriter *writer, ...[ 195]: PyObject *obj, ...[ 196]: PyObject *format_spec, ...[ 197]: Py_ssize_t start, ...[ 198]: Py_ssize_t end); ...[ 204]: unsigned long PyOS_strtoul(__const char *, char **, int); ...[ 205]: long PyOS_strtol(__const char *, char **, int); ...[ 209]: PyObject * _PyLong_GCD(PyObject *, PyObject *); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/longobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/longintrepr.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/longintrepr.h ...[ 45]: typedef uint32_t digit; ...[ 46]: typedef int32_t sdigit; ...[ 47]: typedef uint64_t twodigits; ...[ 48]: typedef int64_t stwodigits; ...[ 85]: struct _longobject { ...[ 86]: PyVarObject ob_base; ...[ 87]: digit ob_digit[1]; ...[ 88]: }; ...[ 90]: PyLongObject * _PyLong_New(Py_ssize_t); ...[ 93]: PyObject * _PyLong_Copy(PyLongObject *src); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/longintrepr.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/boolobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/boolobject.h ...[ 10]: extern PyTypeObject PyBool_Type; ...[ 18]: extern struct _longobject _Py_FalseStruct, _Py_TrueStruct; ...[ 29]: PyObject * PyBool_FromLong(long); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/boolobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/floatobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/floatobject.h ...[ 15]: typedef struct { ...[ 16]: PyObject ob_base; ...[ 17]: double ob_fval; ...[ 18]: } PyFloatObject; ...[ 21]: extern PyTypeObject PyFloat_Type; ...[ 37]: double PyFloat_GetMax(void); ...[ 38]: double PyFloat_GetMin(void); ...[ 39]: PyObject * PyFloat_GetInfo(void); ...[ 42]: PyObject * PyFloat_FromString(PyObject*); ...[ 45]: PyObject * PyFloat_FromDouble(double); ...[ 49]: double PyFloat_AsDouble(PyObject *); ...[ 87]: int _PyFloat_Pack2(double x, unsigned char *p, int le); ...[ 88]: int _PyFloat_Pack4(double x, unsigned char *p, int le); ...[ 89]: int _PyFloat_Pack8(double x, unsigned char *p, int le); ...[ 94]: int _PyFloat_Repr(double x, char *p, size_t len); ...[ 97]: int _PyFloat_Digits(char *buf, double v, int *signum); ...[ 98]: void _PyFloat_DigitsInit(void); ...[ 108]: double _PyFloat_Unpack2(__const unsigned char *p, int le); ...[ 109]: double _PyFloat_Unpack4(__const unsigned char *p, int le); ...[ 110]: double _PyFloat_Unpack8(__const unsigned char *p, int le); ...[ 113]: int PyFloat_ClearFreeList(void); ...[ 115]: void _PyFloat_DebugMallocStats(FILE* out); ...[ 119]: int _PyFloat_FormatAdvancedWriter( ...[ 120]: _PyUnicodeWriter *writer, ...[ 121]: PyObject *obj, ...[ 122]: PyObject *format_spec, ...[ 123]: Py_ssize_t start, ...[ 124]: Py_ssize_t end); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/floatobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/complexobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/complexobject.h ...[ 10]: typedef struct { ...[ 11]: double real; ...[ 12]: double imag; ...[ 13]: } Py_complex; ...[ 17]: Py_complex _Py_c_sum(Py_complex, Py_complex); ...[ 18]: Py_complex _Py_c_diff(Py_complex, Py_complex); ...[ 19]: Py_complex _Py_c_neg(Py_complex); ...[ 20]: Py_complex _Py_c_prod(Py_complex, Py_complex); ...[ 21]: Py_complex _Py_c_quot(Py_complex, Py_complex); ...[ 22]: Py_complex _Py_c_pow(Py_complex, Py_complex); ...[ 23]: double _Py_c_abs(Py_complex); ...[ 33]: typedef struct { ...[ 34]: PyObject ob_base; ...[ 35]: Py_complex cval; ...[ 36]: } PyComplexObject; ...[ 39]: extern PyTypeObject PyComplex_Type; ...[ 45]: PyObject * PyComplex_FromCComplex(Py_complex); ...[ 47]: PyObject * PyComplex_FromDoubles(double real, double imag); ...[ 49]: double PyComplex_RealAsDouble(PyObject *op); ...[ 50]: double PyComplex_ImagAsDouble(PyObject *op); ...[ 52]: Py_complex PyComplex_AsCComplex(PyObject *op); ...[ 58]: int _PyComplex_FormatAdvancedWriter( ...[ 59]: _PyUnicodeWriter *writer, ...[ 60]: PyObject *obj, ...[ 61]: PyObject *format_spec, ...[ 62]: Py_ssize_t start, ...[ 63]: Py_ssize_t end); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/complexobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/rangeobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/rangeobject.h ...[ 18]: extern PyTypeObject PyRange_Type; ...[ 19]: extern PyTypeObject PyRangeIter_Type; ...[ 20]: extern PyTypeObject PyLongRangeIter_Type; ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/rangeobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/memoryobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/memoryobject.h ...[ 10]: extern PyTypeObject _PyManagedBuffer_Type; ...[ 12]: extern PyTypeObject PyMemoryView_Type; ...[ 23]: PyObject * PyMemoryView_FromObject(PyObject *base); ...[ 25]: PyObject * PyMemoryView_FromMemory(char *mem, Py_ssize_t size, ...[ 26]: int flags); ...[ 29]: PyObject * PyMemoryView_FromBuffer(Py_buffer *info); ...[ 31]: PyObject * PyMemoryView_GetContiguous(PyObject *base, ...[ 32]: int buffertype, ...[ 33]: char order); ...[ 42]: typedef struct { ...[ 43]: PyObject ob_base; ...[ 44]: int flags; ...[ 45]: Py_ssize_t exports; ...[ 46]: Py_buffer master; ...[ 47]: } _PyManagedBufferObject; ...[ 57]: typedef struct { ...[ 58]: PyVarObject ob_base; ...[ 59]: _PyManagedBufferObject *mbuf; ...[ 60]: Py_hash_t hash; ...[ 61]: int flags; ...[ 62]: Py_ssize_t exports; ...[ 63]: Py_buffer view; ...[ 64]: PyObject *weakreflist; ...[ 65]: Py_ssize_t ob_array[1]; ...[ 66]: } PyMemoryViewObject; ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/memoryobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/tupleobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/tupleobject.h ...[ 25]: typedef struct { ...[ 26]: PyVarObject ob_base; ...[ 27]: PyObject *ob_item[1]; ...[ 33]: } PyTupleObject; ...[ 36]: extern PyTypeObject PyTuple_Type; ...[ 37]: extern PyTypeObject PyTupleIter_Type; ...[ 43]: PyObject * PyTuple_New(Py_ssize_t size); ...[ 44]: Py_ssize_t PyTuple_Size(PyObject *); ...[ 45]: PyObject * PyTuple_GetItem(PyObject *, Py_ssize_t); ...[ 46]: int PyTuple_SetItem(PyObject *, Py_ssize_t, PyObject *); ...[ 47]: PyObject * PyTuple_GetSlice(PyObject *, Py_ssize_t, Py_ssize_t); ...[ 49]: int _PyTuple_Resize(PyObject **, Py_ssize_t); ...[ 51]: PyObject * PyTuple_Pack(Py_ssize_t, ...); ...[ 53]: void _PyTuple_MaybeUntrack(PyObject *); ...[ 65]: int PyTuple_ClearFreeList(void); ...[ 67]: void _PyTuple_DebugMallocStats(FILE *out); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/tupleobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/listobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/listobject.h ...[ 23]: typedef struct { ...[ 24]: PyVarObject ob_base; ...[ 26]: PyObject **ob_item; ...[ 39]: Py_ssize_t allocated; ...[ 40]: } PyListObject; ...[ 43]: extern PyTypeObject PyList_Type; ...[ 44]: extern PyTypeObject PyListIter_Type; ...[ 45]: extern PyTypeObject PyListRevIter_Type; ...[ 46]: extern PyTypeObject PySortWrapper_Type; ...[ 52]: PyObject * PyList_New(Py_ssize_t size); ...[ 53]: Py_ssize_t PyList_Size(PyObject *); ...[ 54]: PyObject * PyList_GetItem(PyObject *, Py_ssize_t); ...[ 55]: int PyList_SetItem(PyObject *, Py_ssize_t, PyObject *); ...[ 56]: int PyList_Insert(PyObject *, Py_ssize_t, PyObject *); ...[ 57]: int PyList_Append(PyObject *, PyObject *); ...[ 58]: PyObject * PyList_GetSlice(PyObject *, Py_ssize_t, Py_ssize_t); ...[ 59]: int PyList_SetSlice(PyObject *, Py_ssize_t, Py_ssize_t, PyObject *); ...[ 60]: int PyList_Sort(PyObject *); ...[ 61]: int PyList_Reverse(PyObject *); ...[ 62]: PyObject * PyList_AsTuple(PyObject *); ...[ 64]: PyObject * _PyList_Extend(PyListObject *, PyObject *); ...[ 66]: int PyList_ClearFreeList(void); ...[ 67]: void _PyList_DebugMallocStats(FILE *out); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/listobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/dictobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/dictobject.h ...[ 18]: typedef struct _dictkeysobject PyDictKeysObject; ...[ 23]: typedef struct { ...[ 24]: PyObject ob_base; ...[ 27]: Py_ssize_t ma_used; ...[ 31]: uint64_t ma_version_tag; ...[ 33]: PyDictKeysObject *ma_keys; ...[ 40]: PyObject **ma_values; ...[ 41]: } PyDictObject; ...[ 43]: typedef struct { ...[ 44]: PyObject ob_base; ...[ 45]: PyDictObject *dv_dict; ...[ 46]: } _PyDictViewObject; ...[ 50]: extern PyTypeObject PyDict_Type; ...[ 51]: extern PyTypeObject PyDictIterKey_Type; ...[ 52]: extern PyTypeObject PyDictIterValue_Type; ...[ 53]: extern PyTypeObject PyDictIterItem_Type; ...[ 54]: extern PyTypeObject PyDictKeys_Type; ...[ 55]: extern PyTypeObject PyDictItems_Type; ...[ 56]: extern PyTypeObject PyDictValues_Type; ...[ 69]: PyObject * PyDict_New(void); ...[ 70]: PyObject * PyDict_GetItem(PyObject *mp, PyObject *key); ...[ 72]: PyObject * _PyDict_GetItem_KnownHash(PyObject *mp, PyObject *key, ...[ 73]: Py_hash_t hash); ...[ 75]: PyObject * PyDict_GetItemWithError(PyObject *mp, PyObject *key); ...[ 77]: PyObject * _PyDict_GetItemIdWithError(PyObject *dp, ...[ 78]: struct _Py_Identifier *key); ...[ 79]: PyObject * PyDict_SetDefault( ...[ 80]: PyObject *mp, PyObject *key, PyObject *defaultobj); ...[ 82]: int PyDict_SetItem(PyObject *mp, PyObject *key, PyObject *item); ...[ 84]: int _PyDict_SetItem_KnownHash(PyObject *mp, PyObject *key, ...[ 85]: PyObject *item, Py_hash_t hash); ...[ 87]: int PyDict_DelItem(PyObject *mp, PyObject *key); ...[ 89]: int _PyDict_DelItem_KnownHash(PyObject *mp, PyObject *key, ...[ 90]: Py_hash_t hash); ...[ 91]: int _PyDict_DelItemIf(PyObject *mp, PyObject *key, ...[ 92]: int (*predicate)(PyObject *value)); ...[ 94]: void PyDict_Clear(PyObject *mp); ...[ 95]: int PyDict_Next( ...[ 96]: PyObject *mp, Py_ssize_t *pos, PyObject **key, PyObject **value); ...[ 98]: PyDictKeysObject *_PyDict_NewKeysForClass(void); ...[ 99]: PyObject * PyObject_GenericGetDict(PyObject *, void *); ...[ 100]: int _PyDict_Next( ...[ 101]: PyObject *mp, Py_ssize_t *pos, PyObject **key, PyObject **value, Py_hash_t *hash); ...[ 102]: PyObject *_PyDictView_New(PyObject *, PyTypeObject *); ...[ 104]: PyObject * PyDict_Keys(PyObject *mp); ...[ 105]: PyObject * PyDict_Values(PyObject *mp); ...[ 106]: PyObject * PyDict_Items(PyObject *mp); ...[ 107]: Py_ssize_t PyDict_Size(PyObject *mp); ...[ 108]: PyObject * PyDict_Copy(PyObject *mp); ...[ 109]: int PyDict_Contains(PyObject *mp, PyObject *key); ...[ 111]: int _PyDict_Contains(PyObject *mp, PyObject *key, Py_hash_t hash); ...[ 112]: PyObject * _PyDict_NewPresized(Py_ssize_t minused); ...[ 113]: void _PyDict_MaybeUntrack(PyObject *mp); ...[ 114]: int _PyDict_HasOnlyStringKeys(PyObject *mp); ...[ 115]: Py_ssize_t _PyDict_KeysSize(PyDictKeysObject *keys); ...[ 116]: Py_ssize_t _PyDict_SizeOf(PyDictObject *); ...[ 117]: PyObject * _PyDict_Pop(PyObject *, PyObject *, PyObject *); ...[ 118]: PyObject *_PyDict_Pop_KnownHash(PyObject *, PyObject *, Py_hash_t, PyObject *); ...[ 119]: PyObject *_PyDict_FromKeys(PyObject *, PyObject *, PyObject *); ...[ 122]: int PyDict_ClearFreeList(void); ...[ 126]: int PyDict_Update(PyObject *mp, PyObject *other); ...[ 133]: int PyDict_Merge(PyObject *mp, ...[ 134]: PyObject *other, ...[ 135]: int override); ...[ 143]: int _PyDict_MergeEx(PyObject *mp, PyObject *other, int override); ...[ 144]: PyObject * _PyDictView_Intersect(PyObject* self, PyObject *other); ...[ 152]: int PyDict_MergeFromSeq2(PyObject *d, ...[ 153]: PyObject *seq2, ...[ 154]: int override); ...[ 156]: PyObject * PyDict_GetItemString(PyObject *dp, __const char *key); ...[ 158]: PyObject * _PyDict_GetItemId(PyObject *dp, struct _Py_Identifier *key); ...[ 160]: int PyDict_SetItemString(PyObject *dp, __const char *key, PyObject *item); ...[ 162]: int _PyDict_SetItemId(PyObject *dp, struct _Py_Identifier *key, PyObject *item); ...[ 164]: int PyDict_DelItemString(PyObject *dp, __const char *key); ...[ 167]: int _PyDict_DelItemId(PyObject *mp, struct _Py_Identifier *key); ...[ 168]: void _PyDict_DebugMallocStats(FILE *out); ...[ 170]: int _PyObjectDict_SetItem(PyTypeObject *tp, PyObject **dictptr, PyObject *name, PyObject *value); ...[ 171]: PyObject *_PyDict_LoadGlobal(PyDictObject *, PyDictObject *, PyObject *); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/dictobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/odictobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/odictobject.h ...[ 12]: typedef struct _odictobject PyODictObject; ...[ 14]: extern PyTypeObject PyODict_Type; ...[ 15]: extern PyTypeObject PyODictIter_Type; ...[ 16]: extern PyTypeObject PyODictKeys_Type; ...[ 17]: extern PyTypeObject PyODictItems_Type; ...[ 18]: extern PyTypeObject PyODictValues_Type; ...[ 28]: PyObject * PyODict_New(void); ...[ 29]: int PyODict_SetItem(PyObject *od, PyObject *key, PyObject *item); ...[ 30]: int PyODict_DelItem(PyObject *od, PyObject *key); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/odictobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/enumobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/enumobject.h ...[ 10]: extern PyTypeObject PyEnum_Type; ...[ 11]: extern PyTypeObject PyReversed_Type; ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/enumobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/setobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/setobject.h ...[ 26]: typedef struct { ...[ 27]: PyObject *key; ...[ 28]: Py_hash_t hash; ...[ 29]: } setentry; ...[ 42]: typedef struct { ...[ 43]: PyObject ob_base; ...[ 45]: Py_ssize_t fill; ...[ 46]: Py_ssize_t used; ...[ 52]: Py_ssize_t mask; ...[ 59]: setentry *table; ...[ 60]: Py_hash_t hash; ...[ 61]: Py_ssize_t finger; ...[ 63]: setentry smalltable[8]; ...[ 64]: PyObject *weakreflist; ...[ 65]: } PySetObject; ...[ 69]: extern PyObject * _PySet_Dummy; ...[ 71]: int _PySet_NextEntry(PyObject *set, Py_ssize_t *pos, PyObject **key, Py_hash_t *hash); ...[ 72]: int _PySet_Update(PyObject *set, PyObject *iterable); ...[ 73]: int PySet_ClearFreeList(void); ...[ 77]: extern PyTypeObject PySet_Type; ...[ 78]: extern PyTypeObject PyFrozenSet_Type; ...[ 79]: extern PyTypeObject PySetIter_Type; ...[ 81]: PyObject * PySet_New(PyObject *); ...[ 82]: PyObject * PyFrozenSet_New(PyObject *); ...[ 84]: int PySet_Add(PyObject *set, PyObject *key); ...[ 85]: int PySet_Clear(PyObject *set); ...[ 86]: int PySet_Contains(PyObject *anyset, PyObject *key); ...[ 87]: int PySet_Discard(PyObject *set, PyObject *key); ...[ 88]: PyObject * PySet_Pop(PyObject *set); ...[ 89]: Py_ssize_t PySet_Size(PyObject *anyset); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/setobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/methodobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/methodobject.h ...[ 14]: extern PyTypeObject PyCFunction_Type; ...[ 18]: typedef PyObject *(*PyCFunction)(PyObject *, PyObject *); ...[ 19]: typedef PyObject *(*_PyCFunctionFast) (PyObject *self, PyObject **args, ...[ 20]: Py_ssize_t nargs, PyObject *kwnames); ...[ 21]: typedef PyObject *(*PyCFunctionWithKeywords)(PyObject *, PyObject *, ...[ 22]: PyObject *); ...[ 23]: typedef PyObject *(*PyNoArgsFunction)(PyObject *); ...[ 25]: PyCFunction PyCFunction_GetFunction(PyObject *); ...[ 26]: PyObject * PyCFunction_GetSelf(PyObject *); ...[ 27]: int PyCFunction_GetFlags(PyObject *); ...[ 40]: PyObject * PyCFunction_Call(PyObject *, PyObject *, PyObject *); ...[ 43]: PyObject * _PyCFunction_FastCallDict(PyObject *func, ...[ 44]: PyObject **args, ...[ 45]: Py_ssize_t nargs, ...[ 46]: PyObject *kwargs); ...[ 48]: PyObject * _PyCFunction_FastCallKeywords(PyObject *func, ...[ 49]: PyObject **stack, ...[ 50]: Py_ssize_t nargs, ...[ 51]: PyObject *kwnames); ...[ 54]: struct PyMethodDef { ...[ 55]: __const char *ml_name; ...[ 56]: PyCFunction ml_meth; ...[ 57]: int ml_flags; ...[ 59]: __const char *ml_doc; ...[ 60]: }; ...[ 61]: typedef struct PyMethodDef PyMethodDef; ...[ 64]: PyObject * PyCFunction_NewEx(PyMethodDef *, PyObject *, ...[ 65]: PyObject *); ...[ 91]: typedef struct { ...[ 92]: PyObject ob_base; ...[ 93]: PyMethodDef *m_ml; ...[ 94]: PyObject *m_self; ...[ 95]: PyObject *m_module; ...[ 96]: PyObject *m_weakreflist; ...[ 97]: } PyCFunctionObject; ...[ 100]: int PyCFunction_ClearFreeList(void); ...[ 103]: void _PyCFunction_DebugMallocStats(FILE *out); ...[ 104]: void _PyMethod_DebugMallocStats(FILE *out); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/methodobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/moduleobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/moduleobject.h ...[ 10]: extern PyTypeObject PyModule_Type; ...[ 16]: PyObject * PyModule_NewObject( ...[ 17]: PyObject *name ...[ 18]: ); ...[ 20]: PyObject * PyModule_New( ...[ 21]: __const char *name ...[ 22]: ); ...[ 23]: PyObject * PyModule_GetDict(PyObject *); ...[ 25]: PyObject * PyModule_GetNameObject(PyObject *); ...[ 27]: __const char * PyModule_GetName(PyObject *); ...[ 28]: __const char * PyModule_GetFilename(PyObject *); ...[ 29]: PyObject * PyModule_GetFilenameObject(PyObject *); ...[ 31]: void _PyModule_Clear(PyObject *); ...[ 32]: void _PyModule_ClearDict(PyObject *); ...[ 34]: struct PyModuleDef* PyModule_GetDef(PyObject*); ...[ 35]: void* PyModule_GetState(PyObject*); ...[ 39]: PyObject * PyModuleDef_Init(struct PyModuleDef*); ...[ 40]: extern PyTypeObject PyModuleDef_Type; ...[ 43]: typedef struct PyModuleDef_Base { ...[ 44]: PyObject ob_base; ...[ 45]: PyObject* (*m_init)(void); ...[ 46]: Py_ssize_t m_index; ...[ 47]: PyObject* m_copy; ...[ 48]: } PyModuleDef_Base; ...[ 57]: struct PyModuleDef_Slot; ...[ 60]: typedef struct PyModuleDef_Slot{ ...[ 61]: int slot; ...[ 62]: void *value; ...[ 63]: } PyModuleDef_Slot; ...[ 74]: typedef struct PyModuleDef{ ...[ 75]: PyModuleDef_Base m_base; ...[ 76]: __const char* m_name; ...[ 77]: __const char* m_doc; ...[ 78]: Py_ssize_t m_size; ...[ 79]: PyMethodDef *m_methods; ...[ 80]: struct PyModuleDef_Slot* m_slots; ...[ 81]: traverseproc m_traverse; ...[ 82]: inquiry m_clear; ...[ 83]: freefunc m_free; ...[ 84]: } PyModuleDef; ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/moduleobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/funcobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/funcobject.h ...[ 21]: typedef struct { ...[ 22]: PyObject ob_base; ...[ 23]: PyObject *func_code; ...[ 24]: PyObject *func_globals; ...[ 25]: PyObject *func_defaults; ...[ 26]: PyObject *func_kwdefaults; ...[ 27]: PyObject *func_closure; ...[ 28]: PyObject *func_doc; ...[ 29]: PyObject *func_name; ...[ 30]: PyObject *func_dict; ...[ 31]: PyObject *func_weakreflist; ...[ 32]: PyObject *func_module; ...[ 33]: PyObject *func_annotations; ...[ 34]: PyObject *func_qualname; ...[ 41]: } PyFunctionObject; ...[ 43]: extern PyTypeObject PyFunction_Type; ...[ 47]: PyObject * PyFunction_New(PyObject *, PyObject *); ...[ 48]: PyObject * PyFunction_NewWithQualName(PyObject *, PyObject *, PyObject *); ...[ 49]: PyObject * PyFunction_GetCode(PyObject *); ...[ 50]: PyObject * PyFunction_GetGlobals(PyObject *); ...[ 51]: PyObject * PyFunction_GetModule(PyObject *); ...[ 52]: PyObject * PyFunction_GetDefaults(PyObject *); ...[ 53]: int PyFunction_SetDefaults(PyObject *, PyObject *); ...[ 54]: PyObject * PyFunction_GetKwDefaults(PyObject *); ...[ 55]: int PyFunction_SetKwDefaults(PyObject *, PyObject *); ...[ 56]: PyObject * PyFunction_GetClosure(PyObject *); ...[ 57]: int PyFunction_SetClosure(PyObject *, PyObject *); ...[ 58]: PyObject * PyFunction_GetAnnotations(PyObject *); ...[ 59]: int PyFunction_SetAnnotations(PyObject *, PyObject *); ...[ 62]: PyObject * _PyFunction_FastCallDict( ...[ 63]: PyObject *func, ...[ 64]: PyObject **args, ...[ 65]: Py_ssize_t nargs, ...[ 66]: PyObject *kwargs); ...[ 68]: PyObject * _PyFunction_FastCallKeywords( ...[ 69]: PyObject *func, ...[ 70]: PyObject **stack, ...[ 71]: Py_ssize_t nargs, ...[ 72]: PyObject *kwnames); ...[ 93]: extern PyTypeObject PyClassMethod_Type; ...[ 94]: extern PyTypeObject PyStaticMethod_Type; ...[ 96]: PyObject * PyClassMethod_New(PyObject *); ...[ 97]: PyObject * PyStaticMethod_New(PyObject *); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/funcobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/classobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/classobject.h ...[ 12]: typedef struct { ...[ 13]: PyObject ob_base; ...[ 14]: PyObject *im_func; ...[ 15]: PyObject *im_self; ...[ 16]: PyObject *im_weakreflist; ...[ 17]: } PyMethodObject; ...[ 19]: extern PyTypeObject PyMethod_Type; ...[ 23]: PyObject * PyMethod_New(PyObject *, PyObject *); ...[ 25]: PyObject * PyMethod_Function(PyObject *); ...[ 26]: PyObject * PyMethod_Self(PyObject *); ...[ 35]: int PyMethod_ClearFreeList(void); ...[ 37]: typedef struct { ...[ 38]: PyObject ob_base; ...[ 39]: PyObject *func; ...[ 40]: } PyInstanceMethodObject; ...[ 42]: extern PyTypeObject PyInstanceMethod_Type; ...[ 46]: PyObject * PyInstanceMethod_New(PyObject *); ...[ 47]: PyObject * PyInstanceMethod_Function(PyObject *); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/classobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/fileobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/fileobject.h ...[ 11]: PyObject * PyFile_FromFd(int, __const char *, __const char *, int, ...[ 12]: __const char *, __const char *, ...[ 13]: __const char *, int); ...[ 14]: PyObject * PyFile_GetLine(PyObject *, int); ...[ 15]: int PyFile_WriteObject(PyObject *, PyObject *, int); ...[ 16]: int PyFile_WriteString(__const char *, PyObject *); ...[ 17]: int PyObject_AsFileDescriptor(PyObject *); ...[ 19]: char * Py_UniversalNewlineFgets(char *, int, FILE*, PyObject *); ...[ 25]: extern __const char * Py_FileSystemDefaultEncoding; ...[ 27]: extern __const char * Py_FileSystemDefaultEncodeErrors; ...[ 29]: extern int Py_HasFileSystemDefaultEncoding; ...[ 36]: PyObject * PyFile_NewStdPrinter(int); ...[ 37]: extern PyTypeObject PyStdPrinter_Type; ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/fileobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/pycapsule.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/pycapsule.h ...[ 21]: extern PyTypeObject PyCapsule_Type; ...[ 23]: typedef void (*PyCapsule_Destructor)(PyObject *); ...[ 28]: PyObject * PyCapsule_New( ...[ 29]: void *pointer, ...[ 30]: __const char *name, ...[ 31]: PyCapsule_Destructor destructor); ...[ 33]: void * PyCapsule_GetPointer(PyObject *capsule, __const char *name); ...[ 35]: PyCapsule_Destructor PyCapsule_GetDestructor(PyObject *capsule); ...[ 37]: __const char * PyCapsule_GetName(PyObject *capsule); ...[ 39]: void * PyCapsule_GetContext(PyObject *capsule); ...[ 41]: int PyCapsule_IsValid(PyObject *capsule, __const char *name); ...[ 43]: int PyCapsule_SetPointer(PyObject *capsule, void *pointer); ...[ 45]: int PyCapsule_SetDestructor(PyObject *capsule, PyCapsule_Destructor destructor); ...[ 47]: int PyCapsule_SetName(PyObject *capsule, __const char *name); ...[ 49]: int PyCapsule_SetContext(PyObject *capsule, void *context); ...[ 51]: void * PyCapsule_Import( ...[ 52]: __const char *name, ...[ 53]: int no_block); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/pycapsule.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/traceback.h ..# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/traceback.h ...# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/pystate.h ....# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/pystate.h ....[ 17]: struct _ts; ....[ 18]: struct _is; ....[ 19]: struct _frame; ....[ 24]: typedef PyObject* (*_PyFrameEvalFunction)(struct _frame *, int); ....[ 26]: typedef struct _is { ....[ 28]: struct _is *next; ....[ 29]: struct _ts *tstate_head; ....[ 31]: PyObject *modules; ....[ 32]: PyObject *modules_by_index; ....[ 33]: PyObject *sysdict; ....[ 34]: PyObject *builtins; ....[ 35]: PyObject *importlib; ....[ 37]: PyObject *codec_search_path; ....[ 38]: PyObject *codec_search_cache; ....[ 39]: PyObject *codec_error_registry; ....[ 40]: int codecs_initialized; ....[ 41]: int fscodec_initialized; ....[ 44]: int dlopenflags; ....[ 47]: PyObject *builtins_copy; ....[ 48]: PyObject *import_func; ....[ 50]: _PyFrameEvalFunction eval_frame; ....[ 51]: } PyInterpreterState; ....[ 54]: typedef struct _co_extra_state { ....[ 55]: struct _co_extra_state *next; ....[ 56]: PyInterpreterState* interp; ....[ 58]: Py_ssize_t co_extra_user_count; ....[ 59]: freefunc co_extra_freefuncs[255]; ....[ 60]: } __PyCodeExtraState; ....[ 63]: __PyCodeExtraState* __PyCodeExtraState_Get(void); ....[ 69]: typedef int (*Py_tracefunc)(PyObject *, struct _frame *, int, PyObject *); ....[ 84]: typedef struct _ts { ....[ 87]: struct _ts *prev; ....[ 88]: struct _ts *next; ....[ 89]: PyInterpreterState *interp; ....[ 91]: struct _frame *frame; ....[ 92]: int recursion_depth; ....[ 93]: char overflowed; ....[ 95]: char recursion_critical; ....[ 100]: int tracing; ....[ 101]: int use_tracing; ....[ 103]: Py_tracefunc c_profilefunc; ....[ 104]: Py_tracefunc c_tracefunc; ....[ 105]: PyObject *c_profileobj; ....[ 106]: PyObject *c_traceobj; ....[ 108]: PyObject *curexc_type; ....[ 109]: PyObject *curexc_value; ....[ 110]: PyObject *curexc_traceback; ....[ 112]: PyObject *exc_type; ....[ 113]: PyObject *exc_value; ....[ 114]: PyObject *exc_traceback; ....[ 116]: PyObject *dict; ....[ 118]: int gilstate_counter; ....[ 120]: PyObject *async_exc; ....[ 121]: long thread_id; ....[ 123]: int trash_delete_nesting; ....[ 124]: PyObject *trash_delete_later; ....[ 149]: void (*on_delete)(void *); ....[ 150]: void *on_delete_data; ....[ 152]: PyObject *coroutine_wrapper; ....[ 153]: int in_coroutine_wrapper; ....[ 157]: Py_ssize_t _preserve_36_ABI_1; ....[ 158]: freefunc _preserve_36_ABI_2[255]; ....[ 160]: PyObject *async_gen_firstiter; ....[ 161]: PyObject *async_gen_finalizer; ....[ 165]: } PyThreadState; ....[ 169]: PyInterpreterState * PyInterpreterState_New(void); ....[ 170]: void PyInterpreterState_Clear(PyInterpreterState *); ....[ 171]: void PyInterpreterState_Delete(PyInterpreterState *); ....[ 173]: int _PyState_AddModule(PyObject*, struct PyModuleDef*); ....[ 177]: int PyState_AddModule(PyObject*, struct PyModuleDef*); ....[ 178]: int PyState_RemoveModule(struct PyModuleDef*); ....[ 180]: PyObject* PyState_FindModule(struct PyModuleDef*); ....[ 182]: void _PyState_ClearModules(void); ....[ 185]: PyThreadState * PyThreadState_New(PyInterpreterState *); ....[ 187]: PyThreadState * _PyThreadState_Prealloc(PyInterpreterState *); ....[ 188]: void _PyThreadState_Init(PyThreadState *); ....[ 190]: void PyThreadState_Clear(PyThreadState *); ....[ 191]: void PyThreadState_Delete(PyThreadState *); ....[ 193]: void _PyThreadState_DeleteExcept(PyThreadState *tstate); ....[ 196]: void PyThreadState_DeleteCurrent(void); ....[ 198]: void _PyGILState_Reinit(void); ....[ 205]: PyThreadState * PyThreadState_Get(void); ....[ 210]: PyThreadState * _PyThreadState_UncheckedGet(void); ....[ 213]: PyThreadState * PyThreadState_Swap(PyThreadState *); ....[ 214]: PyObject * PyThreadState_GetDict(void); ....[ 215]: int PyThreadState_SetAsyncExc(long, PyObject *); ....[ 230]: typedef ....[ 231]: enum {PyGILState_LOCKED, PyGILState_UNLOCKED} ....[ 232]: PyGILState_STATE; ....[ 257]: PyGILState_STATE PyGILState_Ensure(void); ....[ 267]: void PyGILState_Release(PyGILState_STATE); ....[ 275]: PyThreadState * PyGILState_GetThisThreadState(void); ....[ 280]: extern int _PyGILState_check_enabled; ....[ 286]: int PyGILState_Check(void); ....[ 293]: PyInterpreterState * _PyGILState_GetInterpreterStateUnsafe(void); ....[ 302]: PyObject * _PyThread_CurrentFrames(void); ....[ 308]: PyInterpreterState * PyInterpreterState_Head(void); ....[ 309]: PyInterpreterState * PyInterpreterState_Next(PyInterpreterState *); ....[ 310]: PyThreadState * PyInterpreterState_ThreadHead(PyInterpreterState *); ....[ 311]: PyThreadState * PyThreadState_Next(PyThreadState *); ....[ 313]: typedef struct _frame *(*PyThreadFrameGetter)(PyThreadState *self_); ....[ 318]: extern PyThreadFrameGetter _PyThreadState_GetFrame; ....# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/pystate.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/traceback.h ...[ 10]: struct _frame; ...[ 14]: typedef struct _traceback { ...[ 15]: PyObject ob_base; ...[ 16]: struct _traceback *tb_next; ...[ 17]: struct _frame *tb_frame; ...[ 18]: int tb_lasti; ...[ 19]: int tb_lineno; ...[ 20]: } PyTracebackObject; ...[ 23]: int PyTraceBack_Here(struct _frame *); ...[ 24]: int PyTraceBack_Print(PyObject *, PyObject *); ...[ 26]: int _Py_DisplaySourceLine(PyObject *, PyObject *, int, int); ...[ 27]: void _PyTraceback_Add(__const char *, __const char *, int); ...[ 31]: extern PyTypeObject PyTraceBack_Type; ...[ 52]: void _Py_DumpTraceback( ...[ 53]: int fd, ...[ 54]: PyThreadState *tstate); ...[ 79]: __const char* _Py_DumpTracebackThreads( ...[ 80]: int fd, ...[ 81]: PyInterpreterState *interp, ...[ 82]: PyThreadState *current_tstate); ...[ 94]: void _Py_DumpASCII(int fd, PyObject *text); ...[ 99]: void _Py_DumpDecimal( ...[ 100]: int fd, ...[ 101]: unsigned long value); ...[ 109]: void _Py_DumpHexadecimal( ...[ 110]: int fd, ...[ 111]: unsigned long value, ...[ 112]: Py_ssize_t width); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/traceback.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/sliceobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/sliceobject.h ...[ 9]: extern PyObject _Py_EllipsisObject; ...[ 22]: typedef struct { ...[ 23]: PyObject ob_base; ...[ 24]: PyObject *start, *stop, *step; ...[ 25]: } PySliceObject; ...[ 28]: extern PyTypeObject PySlice_Type; ...[ 29]: extern PyTypeObject PyEllipsis_Type; ...[ 33]: PyObject * PySlice_New(PyObject* start, PyObject* stop, ...[ 34]: PyObject* step); ...[ 36]: PyObject * _PySlice_FromIndices(Py_ssize_t start, Py_ssize_t stop); ...[ 37]: int _PySlice_GetLongIndices(PySliceObject *self, PyObject *length, ...[ 38]: PyObject **start_ptr, PyObject **stop_ptr, ...[ 39]: PyObject **step_ptr); ...[ 41]: int PySlice_GetIndices(PyObject *r, Py_ssize_t length, ...[ 42]: Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step); ...[ 43]: int PySlice_GetIndicesEx(PyObject *r, Py_ssize_t length, ...[ 44]: Py_ssize_t *start, Py_ssize_t *stop, ...[ 45]: Py_ssize_t *step, Py_ssize_t *slicelength); ...[ 55]: int PySlice_Unpack(PyObject *slice, ...[ 56]: Py_ssize_t *start, Py_ssize_t *stop, Py_ssize_t *step); ...[ 57]: Py_ssize_t PySlice_AdjustIndices(Py_ssize_t length, ...[ 58]: Py_ssize_t *start, Py_ssize_t *stop, ...[ 59]: Py_ssize_t step); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/sliceobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/cellobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/cellobject.h ...[ 9]: typedef struct { ...[ 10]: PyObject ob_base; ...[ 11]: PyObject *ob_ref; ...[ 12]: } PyCellObject; ...[ 14]: extern PyTypeObject PyCell_Type; ...[ 18]: PyObject * PyCell_New(PyObject *); ...[ 19]: PyObject * PyCell_Get(PyObject *); ...[ 20]: int PyCell_Set(PyObject *, PyObject *); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/cellobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/iterobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/iterobject.h ...[ 8]: extern PyTypeObject PySeqIter_Type; ...[ 9]: extern PyTypeObject PyCallIter_Type; ...[ 10]: extern PyTypeObject PyCmpWrapper_Type; ...[ 14]: PyObject * PySeqIter_New(PyObject *); ...[ 19]: PyObject * PyCallIter_New(PyObject *, PyObject *); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/iterobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/genobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/genobject.h ...[ 11]: struct _frame; ...[ 30]: typedef struct { ...[ 32]: PyObject ob_base; struct _frame *gi_frame; char gi_running; PyObject *gi_code; PyObject *gi_weakreflist; PyObject \ ... *gi_name; PyObject *gi_qualname; ...[ 33]: } PyGenObject; ...[ 35]: extern PyTypeObject PyGen_Type; ...[ 40]: PyObject * PyGen_New(struct _frame *); ...[ 41]: PyObject * PyGen_NewWithQualName(struct _frame *, ...[ 42]: PyObject *name, PyObject *qualname); ...[ 43]: int PyGen_NeedsFinalizing(PyGenObject *); ...[ 44]: int _PyGen_SetStopIterationValue(PyObject *); ...[ 45]: int _PyGen_FetchStopIterationValue(PyObject **); ...[ 46]: PyObject * _PyGen_Send(PyGenObject *, PyObject *); ...[ 47]: PyObject *_PyGen_yf(PyGenObject *); ...[ 48]: void _PyGen_Finalize(PyObject *self); ...[ 51]: typedef struct { ...[ 52]: PyObject ob_base; struct _frame *cr_frame; char cr_running; PyObject *cr_code; PyObject *cr_weakreflist; PyObject \ ... *cr_name; PyObject *cr_qualname; ...[ 53]: } PyCoroObject; ...[ 55]: extern PyTypeObject PyCoro_Type; ...[ 56]: extern PyTypeObject _PyCoroWrapper_Type; ...[ 58]: extern PyTypeObject _PyAIterWrapper_Type; ...[ 59]: PyObject *_PyAIterWrapper_New(PyObject *aiter); ...[ 62]: PyObject *_PyCoro_GetAwaitableIter(PyObject *o); ...[ 63]: PyObject * PyCoro_New(struct _frame *, ...[ 64]: PyObject *name, PyObject *qualname); ...[ 68]: typedef struct { ...[ 69]: PyObject ob_base; struct _frame *ag_frame; char ag_running; PyObject *ag_code; PyObject *ag_weakreflist; PyObject \ ... *ag_name; PyObject *ag_qualname; ...[ 70]: PyObject *ag_finalizer; ...[ 75]: int ag_hooks_inited; ...[ 79]: int ag_closed; ...[ 80]: } PyAsyncGenObject; ...[ 82]: extern PyTypeObject PyAsyncGen_Type; ...[ 83]: extern PyTypeObject _PyAsyncGenASend_Type; ...[ 84]: extern PyTypeObject _PyAsyncGenWrappedValue_Type; ...[ 85]: extern PyTypeObject _PyAsyncGenAThrow_Type; ...[ 87]: PyObject * PyAsyncGen_New(struct _frame *, ...[ 88]: PyObject *name, PyObject *qualname); ...[ 92]: PyObject *_PyAsyncGenValueWrapperNew(PyObject *); ...[ 94]: int PyAsyncGen_ClearFreeLists(void); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/genobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/descrobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/descrobject.h ...[ 8]: typedef PyObject *(*getter)(PyObject *, void *); ...[ 9]: typedef int (*setter)(PyObject *, PyObject *, void *); ...[ 11]: typedef struct PyGetSetDef { ...[ 12]: char *name; ...[ 13]: getter get; ...[ 14]: setter set; ...[ 15]: char *doc; ...[ 16]: void *closure; ...[ 17]: } PyGetSetDef; ...[ 20]: typedef PyObject *(*wrapperfunc)(PyObject *self, PyObject *args, ...[ 21]: void *wrapped); ...[ 23]: typedef PyObject *(*wrapperfunc_kwds)(PyObject *self, PyObject *args, ...[ 24]: void *wrapped, PyObject *kwds); ...[ 26]: struct wrapperbase { ...[ 27]: char *name; ...[ 28]: int offset; ...[ 29]: void *function; ...[ 30]: wrapperfunc wrapper; ...[ 31]: char *doc; ...[ 32]: int flags; ...[ 33]: PyObject *name_strobj; ...[ 34]: }; ...[ 41]: typedef struct { ...[ 42]: PyObject ob_base; ...[ 43]: PyTypeObject *d_type; ...[ 44]: PyObject *d_name; ...[ 45]: PyObject *d_qualname; ...[ 46]: } PyDescrObject; ...[ 53]: typedef struct { ...[ 54]: PyDescrObject d_common; ...[ 55]: PyMethodDef *d_method; ...[ 56]: } PyMethodDescrObject; ...[ 58]: typedef struct { ...[ 59]: PyDescrObject d_common; ...[ 60]: struct PyMemberDef *d_member; ...[ 61]: } PyMemberDescrObject; ...[ 63]: typedef struct { ...[ 64]: PyDescrObject d_common; ...[ 65]: PyGetSetDef *d_getset; ...[ 66]: } PyGetSetDescrObject; ...[ 68]: typedef struct { ...[ 69]: PyDescrObject d_common; ...[ 70]: struct wrapperbase *d_base; ...[ 71]: void *d_wrapped; ...[ 72]: } PyWrapperDescrObject; ...[ 75]: extern PyTypeObject PyClassMethodDescr_Type; ...[ 76]: extern PyTypeObject PyGetSetDescr_Type; ...[ 77]: extern PyTypeObject PyMemberDescr_Type; ...[ 78]: extern PyTypeObject PyMethodDescr_Type; ...[ 79]: extern PyTypeObject PyWrapperDescr_Type; ...[ 80]: extern PyTypeObject PyDictProxy_Type; ...[ 82]: extern PyTypeObject _PyMethodWrapper_Type; ...[ 85]: PyObject * PyDescr_NewMethod(PyTypeObject *, PyMethodDef *); ...[ 86]: PyObject * PyDescr_NewClassMethod(PyTypeObject *, PyMethodDef *); ...[ 87]: struct PyMemberDef; ...[ 88]: PyObject * PyDescr_NewMember(PyTypeObject *, ...[ 89]: struct PyMemberDef *); ...[ 90]: PyObject * PyDescr_NewGetSet(PyTypeObject *, ...[ 91]: struct PyGetSetDef *); ...[ 93]: PyObject * PyDescr_NewWrapper(PyTypeObject *, ...[ 94]: struct wrapperbase *, void *); ...[ 98]: PyObject * PyDictProxy_New(PyObject *); ...[ 99]: PyObject * PyWrapper_New(PyObject *, PyObject *); ...[ 102]: extern PyTypeObject PyProperty_Type; ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/descrobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/warnings.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/warnings.h ...[ 8]: PyObject* _PyWarnings_Init(void); ...[ 11]: int PyErr_WarnEx( ...[ 12]: PyObject *category, ...[ 13]: __const char *message, ...[ 14]: Py_ssize_t stack_level); ...[ 15]: int PyErr_WarnFormat( ...[ 16]: PyObject *category, ...[ 17]: Py_ssize_t stack_level, ...[ 18]: __const char *format, ...[ 19]: ...); ...[ 23]: int PyErr_ResourceWarning( ...[ 24]: PyObject *source, ...[ 25]: Py_ssize_t stack_level, ...[ 26]: __const char *format, ...[ 27]: ...); ...[ 30]: int PyErr_WarnExplicitObject( ...[ 31]: PyObject *category, ...[ 32]: PyObject *message, ...[ 33]: PyObject *filename, ...[ 34]: int lineno, ...[ 35]: PyObject *module, ...[ 36]: PyObject *registry); ...[ 38]: int PyErr_WarnExplicit( ...[ 39]: PyObject *category, ...[ 40]: __const char *message, ...[ 41]: __const char *filename, ...[ 42]: int lineno, ...[ 43]: __const char *module, ...[ 44]: PyObject *registry); ...[ 47]: int ...[ 48]: PyErr_WarnExplicitFormat(PyObject *category, ...[ 49]: __const char *filename, int lineno, ...[ 50]: __const char *module, PyObject *registry, ...[ 51]: __const char *format, ...); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/warnings.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/weakrefobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/weakrefobject.h ...[ 10]: typedef struct _PyWeakReference PyWeakReference; ...[ 16]: struct _PyWeakReference { ...[ 17]: PyObject ob_base; ...[ 23]: PyObject *wr_object; ...[ 26]: PyObject *wr_callback; ...[ 31]: Py_hash_t hash; ...[ 38]: PyWeakReference *wr_prev; ...[ 39]: PyWeakReference *wr_next; ...[ 40]: }; ...[ 43]: extern PyTypeObject _PyWeakref_RefType; ...[ 44]: extern PyTypeObject _PyWeakref_ProxyType; ...[ 45]: extern PyTypeObject _PyWeakref_CallableProxyType; ...[ 58]: PyObject * PyWeakref_NewRef(PyObject *ob, ...[ 59]: PyObject *callback); ...[ 60]: PyObject * PyWeakref_NewProxy(PyObject *ob, ...[ 61]: PyObject *callback); ...[ 62]: PyObject * PyWeakref_GetObject(PyObject *ref); ...[ 65]: Py_ssize_t _PyWeakref_GetWeakrefCount(PyWeakReference *head); ...[ 67]: void _PyWeakref_ClearRef(PyWeakReference *self); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/weakrefobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/structseq.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/structseq.h ...[ 10]: typedef struct PyStructSequence_Field { ...[ 11]: char *name; ...[ 12]: char *doc; ...[ 13]: } PyStructSequence_Field; ...[ 15]: typedef struct PyStructSequence_Desc { ...[ 16]: char *name; ...[ 17]: char *doc; ...[ 18]: struct PyStructSequence_Field *fields; ...[ 19]: int n_in_sequence; ...[ 20]: } PyStructSequence_Desc; ...[ 22]: extern char* PyStructSequence_UnnamedField; ...[ 25]: void PyStructSequence_InitType(PyTypeObject *type, ...[ 26]: PyStructSequence_Desc *desc); ...[ 27]: int PyStructSequence_InitType2(PyTypeObject *type, ...[ 28]: PyStructSequence_Desc *desc); ...[ 30]: PyTypeObject* PyStructSequence_NewType(PyStructSequence_Desc *desc); ...[ 32]: PyObject * PyStructSequence_New(PyTypeObject* type); ...[ 35]: typedef PyTupleObject PyStructSequence; ...[ 43]: void PyStructSequence_SetItem(PyObject*, Py_ssize_t, PyObject*); ...[ 44]: PyObject* PyStructSequence_GetItem(PyObject*, Py_ssize_t); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/structseq.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/namespaceobject.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/namespaceobject.h ...[ 11]: extern PyTypeObject _PyNamespace_Type; ...[ 13]: PyObject * _PyNamespace_New(PyObject *kwds); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/namespaceobject.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/codecs.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/codecs.h ...[ 26]: int PyCodec_Register( ...[ 27]: PyObject *search_function ...[ 28]: ); ...[ 49]: PyObject * _PyCodec_Lookup( ...[ 50]: __const char *encoding ...[ 51]: ); ...[ 53]: int _PyCodec_Forget( ...[ 54]: __const char *encoding ...[ 55]: ); ...[ 65]: int PyCodec_KnownEncoding( ...[ 66]: __const char *encoding ...[ 67]: ); ...[ 79]: PyObject * PyCodec_Encode( ...[ 80]: PyObject *object, ...[ 81]: __const char *encoding, ...[ 82]: __const char *errors ...[ 83]: ); ...[ 95]: PyObject * PyCodec_Decode( ...[ 96]: PyObject *object, ...[ 97]: __const char *encoding, ...[ 98]: __const char *errors ...[ 99]: ); ...[ 115]: PyObject * _PyCodec_LookupTextEncoding( ...[ 116]: __const char *encoding, ...[ 117]: __const char *alternate_command ...[ 118]: ); ...[ 120]: PyObject * _PyCodec_EncodeText( ...[ 121]: PyObject *object, ...[ 122]: __const char *encoding, ...[ 123]: __const char *errors ...[ 124]: ); ...[ 126]: PyObject * _PyCodec_DecodeText( ...[ 127]: PyObject *object, ...[ 128]: __const char *encoding, ...[ 129]: __const char *errors ...[ 130]: ); ...[ 135]: PyObject * _PyCodecInfo_GetIncrementalDecoder( ...[ 136]: PyObject *codec_info, ...[ 137]: __const char *errors ...[ 138]: ); ...[ 140]: PyObject * _PyCodecInfo_GetIncrementalEncoder( ...[ 141]: PyObject *codec_info, ...[ 142]: __const char *errors ...[ 143]: ); ...[ 158]: PyObject * PyCodec_Encoder( ...[ 159]: __const char *encoding ...[ 160]: ); ...[ 164]: PyObject * PyCodec_Decoder( ...[ 165]: __const char *encoding ...[ 166]: ); ...[ 170]: PyObject * PyCodec_IncrementalEncoder( ...[ 171]: __const char *encoding, ...[ 172]: __const char *errors ...[ 173]: ); ...[ 177]: PyObject * PyCodec_IncrementalDecoder( ...[ 178]: __const char *encoding, ...[ 179]: __const char *errors ...[ 180]: ); ...[ 184]: PyObject * PyCodec_StreamReader( ...[ 185]: __const char *encoding, ...[ 186]: PyObject *stream, ...[ 187]: __const char *errors ...[ 188]: ); ...[ 192]: PyObject * PyCodec_StreamWriter( ...[ 193]: __const char *encoding, ...[ 194]: PyObject *stream, ...[ 195]: __const char *errors ...[ 196]: ); ...[ 206]: int PyCodec_RegisterError(__const char *name, PyObject *error); ...[ 211]: PyObject * PyCodec_LookupError(__const char *name); ...[ 214]: PyObject * PyCodec_StrictErrors(PyObject *exc); ...[ 217]: PyObject * PyCodec_IgnoreErrors(PyObject *exc); ...[ 220]: PyObject * PyCodec_ReplaceErrors(PyObject *exc); ...[ 223]: PyObject * PyCodec_XMLCharRefReplaceErrors(PyObject *exc); ...[ 226]: PyObject * PyCodec_BackslashReplaceErrors(PyObject *exc); ...[ 230]: PyObject * PyCodec_NameReplaceErrors(PyObject *exc); ...[ 234]: extern __const char * Py_hexdigits; ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/codecs.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/pyerrors.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/pyerrors.h ...[ 16]: typedef struct { ...[ 17]: PyObject ob_base; PyObject *dict; PyObject *args; PyObject *traceback; PyObject *context; PyObject *cause; char suppress_context\ ... ; ...[ 18]: } PyBaseExceptionObject; ...[ 20]: typedef struct { ...[ 21]: PyObject ob_base; PyObject *dict; PyObject *args; PyObject *traceback; PyObject *context; PyObject *cause; char suppress_context\ ... ; ...[ 22]: PyObject *msg; ...[ 23]: PyObject *filename; ...[ 24]: PyObject *lineno; ...[ 25]: PyObject *offset; ...[ 26]: PyObject *text; ...[ 27]: PyObject *print_file_and_line; ...[ 28]: } PySyntaxErrorObject; ...[ 30]: typedef struct { ...[ 31]: PyObject ob_base; PyObject *dict; PyObject *args; PyObject *traceback; PyObject *context; PyObject *cause; char suppress_context\ ... ; ...[ 32]: PyObject *msg; ...[ 33]: PyObject *name; ...[ 34]: PyObject *path; ...[ 35]: } PyImportErrorObject; ...[ 37]: typedef struct { ...[ 38]: PyObject ob_base; PyObject *dict; PyObject *args; PyObject *traceback; PyObject *context; PyObject *cause; char suppress_context\ ... ; ...[ 39]: PyObject *encoding; ...[ 40]: PyObject *object; ...[ 41]: Py_ssize_t start; ...[ 42]: Py_ssize_t end; ...[ 43]: PyObject *reason; ...[ 44]: } PyUnicodeErrorObject; ...[ 46]: typedef struct { ...[ 47]: PyObject ob_base; PyObject *dict; PyObject *args; PyObject *traceback; PyObject *context; PyObject *cause; char suppress_context\ ... ; ...[ 48]: PyObject *code; ...[ 49]: } PySystemExitObject; ...[ 51]: typedef struct { ...[ 52]: PyObject ob_base; PyObject *dict; PyObject *args; PyObject *traceback; PyObject *context; PyObject *cause; char suppress_context\ ... ; ...[ 53]: PyObject *myerrno; ...[ 54]: PyObject *strerror; ...[ 55]: PyObject *filename; ...[ 56]: PyObject *filename2; ...[ 60]: Py_ssize_t written; ...[ 61]: } PyOSErrorObject; ...[ 63]: typedef struct { ...[ 64]: PyObject ob_base; PyObject *dict; PyObject *args; PyObject *traceback; PyObject *context; PyObject *cause; char suppress_context\ ... ; ...[ 65]: PyObject *value; ...[ 66]: } PyStopIterationObject; ...[ 69]: typedef PyOSErrorObject PyEnvironmentErrorObject; ...[ 77]: void PyErr_SetNone(PyObject *); ...[ 78]: void PyErr_SetObject(PyObject *, PyObject *); ...[ 80]: void _PyErr_SetKeyError(PyObject *); ...[ 82]: void PyErr_SetString( ...[ 83]: PyObject *exception, ...[ 84]: __const char *string ...[ 85]: ); ...[ 86]: PyObject * PyErr_Occurred(void); ...[ 87]: void PyErr_Clear(void); ...[ 88]: void PyErr_Fetch(PyObject **, PyObject **, PyObject **); ...[ 89]: void PyErr_Restore(PyObject *, PyObject *, PyObject *); ...[ 91]: void PyErr_GetExcInfo(PyObject **, PyObject **, PyObject **); ...[ 92]: void PyErr_SetExcInfo(PyObject *, PyObject *, PyObject *); ...[ 105]: void Py_FatalError(__const char *message) ; ...[ 114]: int PyErr_GivenExceptionMatches(PyObject *, PyObject *); ...[ 115]: int PyErr_ExceptionMatches(PyObject *); ...[ 116]: void PyErr_NormalizeException(PyObject**, PyObject**, PyObject**); ...[ 119]: int PyException_SetTraceback(PyObject *, PyObject *); ...[ 120]: PyObject * PyException_GetTraceback(PyObject *); ...[ 123]: PyObject * PyException_GetCause(PyObject *); ...[ 124]: void PyException_SetCause(PyObject *, PyObject *); ...[ 127]: PyObject * PyException_GetContext(PyObject *); ...[ 128]: void PyException_SetContext(PyObject *, PyObject *); ...[ 130]: void _PyErr_ChainExceptions(PyObject *, PyObject *, PyObject *); ...[ 150]: extern PyObject * PyExc_BaseException; ...[ 151]: extern PyObject * PyExc_Exception; ...[ 153]: extern PyObject * PyExc_StopAsyncIteration; ...[ 155]: extern PyObject * PyExc_StopIteration; ...[ 156]: extern PyObject * PyExc_GeneratorExit; ...[ 157]: extern PyObject * PyExc_ArithmeticError; ...[ 158]: extern PyObject * PyExc_LookupError; ...[ 160]: extern PyObject * PyExc_AssertionError; ...[ 161]: extern PyObject * PyExc_AttributeError; ...[ 162]: extern PyObject * PyExc_BufferError; ...[ 163]: extern PyObject * PyExc_EOFError; ...[ 164]: extern PyObject * PyExc_FloatingPointError; ...[ 165]: extern PyObject * PyExc_OSError; ...[ 166]: extern PyObject * PyExc_ImportError; ...[ 168]: extern PyObject * PyExc_ModuleNotFoundError; ...[ 170]: extern PyObject * PyExc_IndexError; ...[ 171]: extern PyObject * PyExc_KeyError; ...[ 172]: extern PyObject * PyExc_KeyboardInterrupt; ...[ 173]: extern PyObject * PyExc_MemoryError; ...[ 174]: extern PyObject * PyExc_NameError; ...[ 175]: extern PyObject * PyExc_OverflowError; ...[ 176]: extern PyObject * PyExc_RuntimeError; ...[ 178]: extern PyObject * PyExc_RecursionError; ...[ 180]: extern PyObject * PyExc_NotImplementedError; ...[ 181]: extern PyObject * PyExc_SyntaxError; ...[ 182]: extern PyObject * PyExc_IndentationError; ...[ 183]: extern PyObject * PyExc_TabError; ...[ 184]: extern PyObject * PyExc_ReferenceError; ...[ 185]: extern PyObject * PyExc_SystemError; ...[ 186]: extern PyObject * PyExc_SystemExit; ...[ 187]: extern PyObject * PyExc_TypeError; ...[ 188]: extern PyObject * PyExc_UnboundLocalError; ...[ 189]: extern PyObject * PyExc_UnicodeError; ...[ 190]: extern PyObject * PyExc_UnicodeEncodeError; ...[ 191]: extern PyObject * PyExc_UnicodeDecodeError; ...[ 192]: extern PyObject * PyExc_UnicodeTranslateError; ...[ 193]: extern PyObject * PyExc_ValueError; ...[ 194]: extern PyObject * PyExc_ZeroDivisionError; ...[ 197]: extern PyObject * PyExc_BlockingIOError; ...[ 198]: extern PyObject * PyExc_BrokenPipeError; ...[ 199]: extern PyObject * PyExc_ChildProcessError; ...[ 200]: extern PyObject * PyExc_ConnectionError; ...[ 201]: extern PyObject * PyExc_ConnectionAbortedError; ...[ 202]: extern PyObject * PyExc_ConnectionRefusedError; ...[ 203]: extern PyObject * PyExc_ConnectionResetError; ...[ 204]: extern PyObject * PyExc_FileExistsError; ...[ 205]: extern PyObject * PyExc_FileNotFoundError; ...[ 206]: extern PyObject * PyExc_InterruptedError; ...[ 207]: extern PyObject * PyExc_IsADirectoryError; ...[ 208]: extern PyObject * PyExc_NotADirectoryError; ...[ 209]: extern PyObject * PyExc_PermissionError; ...[ 210]: extern PyObject * PyExc_ProcessLookupError; ...[ 211]: extern PyObject * PyExc_TimeoutError; ...[ 216]: extern PyObject * PyExc_EnvironmentError; ...[ 217]: extern PyObject * PyExc_IOError; ...[ 222]: extern PyObject * PyExc_RecursionErrorInst; ...[ 225]: extern PyObject * PyExc_Warning; ...[ 226]: extern PyObject * PyExc_UserWarning; ...[ 227]: extern PyObject * PyExc_DeprecationWarning; ...[ 228]: extern PyObject * PyExc_PendingDeprecationWarning; ...[ 229]: extern PyObject * PyExc_SyntaxWarning; ...[ 230]: extern PyObject * PyExc_RuntimeWarning; ...[ 231]: extern PyObject * PyExc_FutureWarning; ...[ 232]: extern PyObject * PyExc_ImportWarning; ...[ 233]: extern PyObject * PyExc_UnicodeWarning; ...[ 234]: extern PyObject * PyExc_BytesWarning; ...[ 235]: extern PyObject * PyExc_ResourceWarning; ...[ 240]: int PyErr_BadArgument(void); ...[ 241]: PyObject * PyErr_NoMemory(void); ...[ 242]: PyObject * PyErr_SetFromErrno(PyObject *); ...[ 243]: PyObject * PyErr_SetFromErrnoWithFilenameObject( ...[ 244]: PyObject *, PyObject *); ...[ 246]: PyObject * PyErr_SetFromErrnoWithFilenameObjects( ...[ 247]: PyObject *, PyObject *, PyObject *); ...[ 249]: PyObject * PyErr_SetFromErrnoWithFilename( ...[ 250]: PyObject *exc, ...[ 251]: __const char *filename ...[ 252]: ); ...[ 258]: PyObject * PyErr_Format( ...[ 259]: PyObject *exception, ...[ 260]: __const char *format, ...[ 261]: ... ...[ 262]: ); ...[ 264]: PyObject * PyErr_FormatV( ...[ 265]: PyObject *exception, ...[ 266]: __const char *format, ...[ 267]: va_list vargs); ...[ 274]: PyObject * _PyErr_FormatFromCause( ...[ 275]: PyObject *exception, ...[ 276]: __const char *format, ...[ 277]: ... ...[ 278]: ); ...[ 311]: PyObject * PyErr_SetImportErrorSubclass(PyObject *, PyObject *, ...[ 312]: PyObject *, PyObject *); ...[ 315]: PyObject * PyErr_SetImportError(PyObject *, PyObject *, ...[ 316]: PyObject *); ...[ 320]: void PyErr_BadInternalCall(void); ...[ 321]: void _PyErr_BadInternalCall(__const char *filename, int lineno); ...[ 327]: PyObject * PyErr_NewException( ...[ 328]: __const char *name, PyObject *base, PyObject *dict); ...[ 329]: PyObject * PyErr_NewExceptionWithDoc( ...[ 330]: __const char *name, __const char *doc, PyObject *base, PyObject *dict); ...[ 331]: void PyErr_WriteUnraisable(PyObject *); ...[ 348]: PyObject * _PyErr_TrySetFromCause( ...[ 349]: __const char *prefix_format, ...[ 350]: ... ...[ 351]: ); ...[ 356]: int PyErr_CheckSignals(void); ...[ 357]: void PyErr_SetInterrupt(void); ...[ 361]: int PySignal_SetWakeupFd(int fd); ...[ 365]: void PyErr_SyntaxLocation( ...[ 366]: __const char *filename, ...[ 367]: int lineno); ...[ 368]: void PyErr_SyntaxLocationEx( ...[ 369]: __const char *filename, ...[ 370]: int lineno, ...[ 371]: int col_offset); ...[ 373]: void PyErr_SyntaxLocationObject( ...[ 374]: PyObject *filename, ...[ 375]: int lineno, ...[ 376]: int col_offset); ...[ 378]: PyObject * PyErr_ProgramText( ...[ 379]: __const char *filename, ...[ 380]: int lineno); ...[ 382]: PyObject * PyErr_ProgramTextObject( ...[ 383]: PyObject *filename, ...[ 384]: int lineno); ...[ 391]: PyObject * PyUnicodeDecodeError_Create( ...[ 392]: __const char *encoding, ...[ 393]: __const char *object, ...[ 394]: Py_ssize_t length, ...[ 395]: Py_ssize_t start, ...[ 396]: Py_ssize_t end, ...[ 397]: __const char *reason ...[ 398]: ); ...[ 402]: PyObject * PyUnicodeEncodeError_Create( ...[ 403]: __const char *encoding, ...[ 404]: __const Py_UNICODE *object, ...[ 405]: Py_ssize_t length, ...[ 406]: Py_ssize_t start, ...[ 407]: Py_ssize_t end, ...[ 408]: __const char *reason ...[ 409]: ); ...[ 414]: PyObject * PyUnicodeTranslateError_Create( ...[ 415]: __const Py_UNICODE *object, ...[ 416]: Py_ssize_t length, ...[ 417]: Py_ssize_t start, ...[ 418]: Py_ssize_t end, ...[ 419]: __const char *reason ...[ 420]: ); ...[ 421]: PyObject * _PyUnicodeTranslateError_Create( ...[ 422]: PyObject *object, ...[ 423]: Py_ssize_t start, ...[ 424]: Py_ssize_t end, ...[ 425]: __const char *reason ...[ 426]: ); ...[ 430]: PyObject * PyUnicodeEncodeError_GetEncoding(PyObject *); ...[ 431]: PyObject * PyUnicodeDecodeError_GetEncoding(PyObject *); ...[ 434]: PyObject * PyUnicodeEncodeError_GetObject(PyObject *); ...[ 435]: PyObject * PyUnicodeDecodeError_GetObject(PyObject *); ...[ 436]: PyObject * PyUnicodeTranslateError_GetObject(PyObject *); ...[ 440]: int PyUnicodeEncodeError_GetStart(PyObject *, Py_ssize_t *); ...[ 441]: int PyUnicodeDecodeError_GetStart(PyObject *, Py_ssize_t *); ...[ 442]: int PyUnicodeTranslateError_GetStart(PyObject *, Py_ssize_t *); ...[ 446]: int PyUnicodeEncodeError_SetStart(PyObject *, Py_ssize_t); ...[ 447]: int PyUnicodeDecodeError_SetStart(PyObject *, Py_ssize_t); ...[ 448]: int PyUnicodeTranslateError_SetStart(PyObject *, Py_ssize_t); ...[ 452]: int PyUnicodeEncodeError_GetEnd(PyObject *, Py_ssize_t *); ...[ 453]: int PyUnicodeDecodeError_GetEnd(PyObject *, Py_ssize_t *); ...[ 454]: int PyUnicodeTranslateError_GetEnd(PyObject *, Py_ssize_t *); ...[ 458]: int PyUnicodeEncodeError_SetEnd(PyObject *, Py_ssize_t); ...[ 459]: int PyUnicodeDecodeError_SetEnd(PyObject *, Py_ssize_t); ...[ 460]: int PyUnicodeTranslateError_SetEnd(PyObject *, Py_ssize_t); ...[ 463]: PyObject * PyUnicodeEncodeError_GetReason(PyObject *); ...[ 464]: PyObject * PyUnicodeDecodeError_GetReason(PyObject *); ...[ 465]: PyObject * PyUnicodeTranslateError_GetReason(PyObject *); ...[ 469]: int PyUnicodeEncodeError_SetReason( ...[ 470]: PyObject *exc, ...[ 471]: __const char *reason ...[ 472]: ); ...[ 473]: int PyUnicodeDecodeError_SetReason( ...[ 474]: PyObject *exc, ...[ 475]: __const char *reason ...[ 476]: ); ...[ 477]: int PyUnicodeTranslateError_SetReason( ...[ 478]: PyObject *exc, ...[ 479]: __const char *reason ...[ 480]: ); ...[ 497]: int PyOS_snprintf(char *str, size_t size, __const char *format, ...) ...[ 498]: __attribute__( (format(printf, 3, 4))); ...[ 499]: int PyOS_vsnprintf(char *str, size_t size, __const char *format, va_list va) ...[ 500]: __attribute__( (format(printf, 3, 0))); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/pyerrors.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/pyarena.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/pyarena.h ...[ 12]: typedef struct _arena PyArena; ...[ 36]: PyArena * PyArena_New(void); ...[ 37]: void PyArena_Free(PyArena *); ...[ 51]: void * PyArena_Malloc(PyArena *, size_t size); ...[ 57]: int PyArena_AddPyObject(PyArena *, PyObject *); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/pyarena.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/modsupport.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/modsupport.h ...[ 24]: PyObject * _Py_VaBuildValue_SizeT(__const char *, va_list); ...[ 30]: int PyArg_Parse(PyObject *, __const char *, ...); ...[ 31]: int PyArg_ParseTuple(PyObject *, __const char *, ...); ...[ 32]: int PyArg_ParseTupleAndKeywords(PyObject *, PyObject *, ...[ 33]: __const char *, char **, ...); ...[ 34]: int PyArg_VaParse(PyObject *, __const char *, va_list); ...[ 35]: int PyArg_VaParseTupleAndKeywords(PyObject *, PyObject *, ...[ 36]: __const char *, char **, va_list); ...[ 38]: int PyArg_ValidateKeywordArguments(PyObject *); ...[ 39]: int PyArg_UnpackTuple(PyObject *, __const char *, Py_ssize_t, Py_ssize_t, ...); ...[ 40]: PyObject * Py_BuildValue(__const char *, ...); ...[ 41]: PyObject * _Py_BuildValue_SizeT(__const char *, ...); ...[ 44]: int _PyArg_NoKeywords(__const char *funcname, PyObject *kw); ...[ 45]: int _PyArg_NoPositional(__const char *funcname, PyObject *args); ...[ 47]: PyObject * Py_VaBuildValue(__const char *, va_list); ...[ 50]: typedef struct _PyArg_Parser { ...[ 51]: __const char *format; ...[ 52]: __const char * __const *keywords; ...[ 53]: __const char *fname; ...[ 54]: __const char *custom_msg; ...[ 55]: int pos; ...[ 56]: int min; ...[ 57]: int max; ...[ 58]: PyObject *kwtuple; ...[ 59]: struct _PyArg_Parser *next; ...[ 60]: } _PyArg_Parser; ...[ 66]: int _PyArg_ParseTupleAndKeywordsFast(PyObject *, PyObject *, ...[ 67]: struct _PyArg_Parser *, ...); ...[ 68]: int _PyArg_ParseStack(PyObject **args, Py_ssize_t nargs, PyObject *kwnames, ...[ 69]: struct _PyArg_Parser *, ...); ...[ 70]: int _PyArg_VaParseTupleAndKeywordsFast(PyObject *, PyObject *, ...[ 71]: struct _PyArg_Parser *, va_list); ...[ 72]: void _PyArg_Fini(void); ...[ 75]: int PyModule_AddObject(PyObject *, __const char *, PyObject *); ...[ 76]: int PyModule_AddIntConstant(PyObject *, __const char *, long); ...[ 77]: int PyModule_AddStringConstant(PyObject *, __const char *, __const char *); ...[ 83]: int PyModule_SetDocString(PyObject *, __const char *); ...[ 84]: int PyModule_AddFunctions(PyObject *, PyMethodDef *); ...[ 85]: int PyModule_ExecDef(PyObject *module, PyModuleDef *def); ...[ 150]: PyObject * PyModule_Create2TraceRefs(struct PyModuleDef*, ...[ 151]: int apiver); ...[ 163]: PyObject * PyModule_FromDefAndSpec2TraceRefs(PyModuleDef *def, ...[ 164]: PyObject *spec, ...[ 165]: int module_api_version); ...[ 177]: extern char * _Py_PackageContext; ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/modsupport.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/pythonrun.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/pythonrun.h ...[ 21]: typedef struct { ...[ 22]: int cf_flags; ...[ 23]: } PyCompilerFlags; ...[ 27]: int PyRun_SimpleStringFlags(__const char *, PyCompilerFlags *); ...[ 28]: int PyRun_AnyFileFlags(FILE *, __const char *, PyCompilerFlags *); ...[ 29]: int PyRun_AnyFileExFlags( ...[ 30]: FILE *fp, ...[ 31]: __const char *filename, ...[ 32]: int closeit, ...[ 33]: PyCompilerFlags *flags); ...[ 34]: int PyRun_SimpleFileExFlags( ...[ 35]: FILE *fp, ...[ 36]: __const char *filename, ...[ 37]: int closeit, ...[ 38]: PyCompilerFlags *flags); ...[ 39]: int PyRun_InteractiveOneFlags( ...[ 40]: FILE *fp, ...[ 41]: __const char *filename, ...[ 42]: PyCompilerFlags *flags); ...[ 43]: int PyRun_InteractiveOneObject( ...[ 44]: FILE *fp, ...[ 45]: PyObject *filename, ...[ 46]: PyCompilerFlags *flags); ...[ 47]: int PyRun_InteractiveLoopFlags( ...[ 48]: FILE *fp, ...[ 49]: __const char *filename, ...[ 50]: PyCompilerFlags *flags); ...[ 52]: struct _mod * PyParser_ASTFromString( ...[ 53]: __const char *s, ...[ 54]: __const char *filename, ...[ 55]: int start, ...[ 56]: PyCompilerFlags *flags, ...[ 57]: PyArena *arena); ...[ 58]: struct _mod * PyParser_ASTFromStringObject( ...[ 59]: __const char *s, ...[ 60]: PyObject *filename, ...[ 61]: int start, ...[ 62]: PyCompilerFlags *flags, ...[ 63]: PyArena *arena); ...[ 64]: struct _mod * PyParser_ASTFromFile( ...[ 65]: FILE *fp, ...[ 66]: __const char *filename, ...[ 67]: __const char* enc, ...[ 68]: int start, ...[ 69]: __const char *ps1, ...[ 70]: __const char *ps2, ...[ 71]: PyCompilerFlags *flags, ...[ 72]: int *errcode, ...[ 73]: PyArena *arena); ...[ 74]: struct _mod * PyParser_ASTFromFileObject( ...[ 75]: FILE *fp, ...[ 76]: PyObject *filename, ...[ 77]: __const char* enc, ...[ 78]: int start, ...[ 79]: __const char *ps1, ...[ 80]: __const char *ps2, ...[ 81]: PyCompilerFlags *flags, ...[ 82]: int *errcode, ...[ 83]: PyArena *arena); ...[ 92]: struct _node * PyParser_SimpleParseStringFlags(__const char *, int, ...[ 93]: int); ...[ 95]: struct _node * PyParser_SimpleParseStringFlagsFilename(__const char *, ...[ 96]: __const char *, ...[ 97]: int, int); ...[ 99]: struct _node * PyParser_SimpleParseFileFlags(FILE *, __const char *, ...[ 100]: int, int); ...[ 103]: PyObject * PyRun_StringFlags(__const char *, int, PyObject *, ...[ 104]: PyObject *, PyCompilerFlags *); ...[ 106]: PyObject * PyRun_FileExFlags( ...[ 107]: FILE *fp, ...[ 108]: __const char *filename, ...[ 109]: int start, ...[ 110]: PyObject *globals, ...[ 111]: PyObject *locals, ...[ 112]: int closeit, ...[ 113]: PyCompilerFlags *flags); ...[ 121]: PyObject * Py_CompileStringExFlags( ...[ 122]: __const char *str, ...[ 123]: __const char *filename, ...[ 124]: int start, ...[ 125]: PyCompilerFlags *flags, ...[ 126]: int optimize); ...[ 127]: PyObject * Py_CompileStringObject( ...[ 128]: __const char *str, ...[ 129]: PyObject *filename, int start, ...[ 130]: PyCompilerFlags *flags, ...[ 131]: int optimize); ...[ 133]: struct symtable * Py_SymtableString( ...[ 134]: __const char *str, ...[ 135]: __const char *filename, ...[ 136]: int start); ...[ 138]: struct symtable * Py_SymtableStringObject( ...[ 139]: __const char *str, ...[ 140]: PyObject *filename, ...[ 141]: int start); ...[ 144]: void PyErr_Print(void); ...[ 145]: void PyErr_PrintEx(int); ...[ 146]: void PyErr_Display(PyObject *, PyObject *, PyObject *); ...[ 171]: char * PyOS_Readline(FILE *, FILE *, __const char *); ...[ 173]: extern int (*PyOS_InputHook)(void); ...[ 174]: extern char *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *, __const char *); ...[ 176]: extern PyThreadState* _PyOS_ReadlineTState; ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/pythonrun.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/pylifecycle.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/pylifecycle.h ...[ 10]: void Py_SetProgramName(wchar_t *); ...[ 11]: wchar_t * Py_GetProgramName(void); ...[ 13]: void Py_SetPythonHome(wchar_t *); ...[ 14]: wchar_t * Py_GetPythonHome(void); ...[ 20]: int Py_SetStandardStreamEncoding(__const char *encoding, ...[ 21]: __const char *errors); ...[ 24]: void Py_Initialize(void); ...[ 25]: void Py_InitializeEx(int); ...[ 27]: void _Py_InitializeEx_Private(int, int); ...[ 29]: void Py_Finalize(void); ...[ 30]: int Py_FinalizeEx(void); ...[ 31]: int Py_IsInitialized(void); ...[ 32]: PyThreadState * Py_NewInterpreter(void); ...[ 33]: void Py_EndInterpreter(PyThreadState *); ...[ 40]: void _Py_PyAtExit(void (*func)(void)); ...[ 42]: int Py_AtExit(void (*func)(void)); ...[ 44]: void Py_Exit(int); ...[ 48]: void _Py_RestoreSignals(void); ...[ 50]: int Py_FdIsInteractive(FILE *, __const char *); ...[ 54]: int Py_Main(int argc, wchar_t **argv); ...[ 57]: wchar_t * Py_GetProgramFullPath(void); ...[ 58]: wchar_t * Py_GetPrefix(void); ...[ 59]: wchar_t * Py_GetExecPrefix(void); ...[ 60]: wchar_t * Py_GetPath(void); ...[ 61]: void Py_SetPath(__const wchar_t *); ...[ 67]: __const char * Py_GetVersion(void); ...[ 68]: __const char * Py_GetPlatform(void); ...[ 69]: __const char * Py_GetCopyright(void); ...[ 70]: __const char * Py_GetCompiler(void); ...[ 71]: __const char * Py_GetBuildInfo(void); ...[ 73]: __const char * _Py_gitidentifier(void); ...[ 74]: __const char * _Py_gitversion(void); ...[ 79]: PyObject * _PyBuiltin_Init(void); ...[ 80]: PyObject * _PySys_Init(void); ...[ 81]: void _PyImport_Init(void); ...[ 82]: void _PyExc_Init(PyObject * bltinmod); ...[ 83]: void _PyImportHooks_Init(void); ...[ 84]: int _PyFrame_Init(void); ...[ 85]: int _PyFloat_Init(void); ...[ 86]: int PyByteArray_Init(void); ...[ 87]: void _PyRandom_Init(void); ...[ 92]: void _PyExc_Fini(void); ...[ 93]: void _PyImport_Fini(void); ...[ 94]: void PyMethod_Fini(void); ...[ 95]: void PyFrame_Fini(void); ...[ 96]: void PyCFunction_Fini(void); ...[ 97]: void PyDict_Fini(void); ...[ 98]: void PyTuple_Fini(void); ...[ 99]: void PyList_Fini(void); ...[ 100]: void PySet_Fini(void); ...[ 101]: void PyBytes_Fini(void); ...[ 102]: void PyByteArray_Fini(void); ...[ 103]: void PyFloat_Fini(void); ...[ 104]: void PyOS_FiniInterrupts(void); ...[ 105]: void _PyGC_DumpShutdownStats(void); ...[ 106]: void _PyGC_Fini(void); ...[ 107]: void PySlice_Fini(void); ...[ 108]: void _PyType_Fini(void); ...[ 109]: void _PyRandom_Fini(void); ...[ 110]: void PyAsyncGen_Fini(void); ...[ 112]: extern PyThreadState * _Py_Finalizing; ...[ 116]: typedef void (*PyOS_sighandler_t)(int); ...[ 117]: PyOS_sighandler_t PyOS_getsig(int); ...[ 118]: PyOS_sighandler_t PyOS_setsig(int, PyOS_sighandler_t); ...[ 122]: int _PyOS_URandom(void *buffer, Py_ssize_t size); ...[ 123]: int _PyOS_URandomNonblock(void *buffer, Py_ssize_t size); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/pylifecycle.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/ceval.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/ceval.h ...[ 10]: PyObject * PyEval_CallObjectWithKeywords( ...[ 11]: PyObject *func, PyObject *args, PyObject *kwargs); ...[ 17]: PyObject * PyEval_CallFunction(PyObject *obj, ...[ 18]: __const char *format, ...); ...[ 19]: PyObject * PyEval_CallMethod(PyObject *obj, ...[ 20]: __const char *methodname, ...[ 21]: __const char *format, ...); ...[ 24]: void PyEval_SetProfile(Py_tracefunc, PyObject *); ...[ 25]: void PyEval_SetTrace(Py_tracefunc, PyObject *); ...[ 26]: void _PyEval_SetCoroutineWrapper(PyObject *); ...[ 27]: PyObject * _PyEval_GetCoroutineWrapper(void); ...[ 28]: void _PyEval_SetAsyncGenFirstiter(PyObject *); ...[ 29]: PyObject * _PyEval_GetAsyncGenFirstiter(void); ...[ 30]: void _PyEval_SetAsyncGenFinalizer(PyObject *); ...[ 31]: PyObject * _PyEval_GetAsyncGenFinalizer(void); ...[ 34]: struct _frame; ...[ 36]: PyObject * PyEval_GetBuiltins(void); ...[ 37]: PyObject * PyEval_GetGlobals(void); ...[ 38]: PyObject * PyEval_GetLocals(void); ...[ 39]: struct _frame * PyEval_GetFrame(void); ...[ 45]: int PyEval_MergeCompilerFlags(PyCompilerFlags *cf); ...[ 48]: int Py_AddPendingCall(int (*func)(void *), void *arg); ...[ 49]: int Py_MakePendingCalls(void); ...[ 76]: void Py_SetRecursionLimit(int); ...[ 77]: int Py_GetRecursionLimit(void); ...[ 86]: int _Py_CheckRecursiveCall(__const char *where); ...[ 87]: extern int _Py_CheckRecursionLimit; ...[ 120]: __const char * PyEval_GetFuncName(PyObject *); ...[ 121]: __const char * PyEval_GetFuncDesc(PyObject *); ...[ 123]: PyObject * PyEval_GetCallStats(PyObject *); ...[ 124]: PyObject * PyEval_EvalFrame(struct _frame *); ...[ 125]: PyObject * PyEval_EvalFrameEx(struct _frame *f, int exc); ...[ 127]: PyObject * _PyEval_EvalFrameDefault(struct _frame *f, int exc); ...[ 175]: PyThreadState * PyEval_SaveThread(void); ...[ 176]: void PyEval_RestoreThread(PyThreadState *); ...[ 180]: int PyEval_ThreadsInitialized(void); ...[ 181]: void PyEval_InitThreads(void); ...[ 183]: void _PyEval_FiniThreads(void); ...[ 185]: void PyEval_AcquireLock(void); ...[ 186]: void PyEval_ReleaseLock(void); ...[ 187]: void PyEval_AcquireThread(PyThreadState *tstate); ...[ 188]: void PyEval_ReleaseThread(PyThreadState *tstate); ...[ 189]: void PyEval_ReInitThreads(void); ...[ 192]: void _PyEval_SetSwitchInterval(unsigned long microseconds); ...[ 193]: unsigned long _PyEval_GetSwitchInterval(void); ...[ 197]: Py_ssize_t _PyEval_RequestCodeExtraIndex(freefunc); ...[ 218]: int _PyEval_SliceIndex(PyObject *, Py_ssize_t *); ...[ 219]: int _PyEval_SliceIndexNotNone(PyObject *, Py_ssize_t *); ...[ 220]: void _PyEval_SignalAsyncExc(void); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/ceval.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/sysmodule.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/sysmodule.h ...[ 10]: PyObject * PySys_GetObject(__const char *); ...[ 11]: int PySys_SetObject(__const char *, PyObject *); ...[ 13]: PyObject * _PySys_GetObjectId(_Py_Identifier *key); ...[ 14]: int _PySys_SetObjectId(_Py_Identifier *key, PyObject *); ...[ 17]: void PySys_SetArgv(int, wchar_t **); ...[ 18]: void PySys_SetArgvEx(int, wchar_t **, int); ...[ 19]: void PySys_SetPath(__const wchar_t *); ...[ 21]: void PySys_WriteStdout(__const char *format, ...) ...[ 22]: __attribute__( (format(printf, 1, 2))); ...[ 23]: void PySys_WriteStderr(__const char *format, ...) ...[ 24]: __attribute__( (format(printf, 1, 2))); ...[ 25]: void PySys_FormatStdout(__const char *format, ...); ...[ 26]: void PySys_FormatStderr(__const char *format, ...); ...[ 28]: void PySys_ResetWarnOptions(void); ...[ 29]: void PySys_AddWarnOption(__const wchar_t *); ...[ 30]: void PySys_AddWarnOptionUnicode(PyObject *); ...[ 31]: int PySys_HasWarnOptions(void); ...[ 33]: void PySys_AddXOption(__const wchar_t *); ...[ 34]: PyObject * PySys_GetXOptions(void); ...[ 37]: size_t _PySys_GetSizeOf(PyObject *); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/sysmodule.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/osmodule.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/osmodule.h ...[ 11]: PyObject * PyOS_FSPath(PyObject *path); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/osmodule.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/intrcheck.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/intrcheck.h ...[ 8]: int PyOS_InterruptOccurred(void); ...[ 9]: void PyOS_InitInterrupts(void); ...[ 10]: void PyOS_AfterFork(void); ...[ 13]: int _PyOS_IsMainThread(void); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/intrcheck.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/import.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/import.h ...[ 11]: void _PyImportZip_Init(void); ...[ 13]: PyObject* PyInit_imp(void); ...[ 15]: long PyImport_GetMagicNumber(void); ...[ 16]: __const char * PyImport_GetMagicTag(void); ...[ 17]: PyObject * PyImport_ExecCodeModule( ...[ 18]: __const char *name, ...[ 19]: PyObject *co ...[ 20]: ); ...[ 21]: PyObject * PyImport_ExecCodeModuleEx( ...[ 22]: __const char *name, ...[ 23]: PyObject *co, ...[ 24]: __const char *pathname ...[ 25]: ); ...[ 26]: PyObject * PyImport_ExecCodeModuleWithPathnames( ...[ 27]: __const char *name, ...[ 28]: PyObject *co, ...[ 29]: __const char *pathname, ...[ 30]: __const char *cpathname ...[ 31]: ); ...[ 33]: PyObject * PyImport_ExecCodeModuleObject( ...[ 34]: PyObject *name, ...[ 35]: PyObject *co, ...[ 36]: PyObject *pathname, ...[ 37]: PyObject *cpathname ...[ 38]: ); ...[ 40]: PyObject * PyImport_GetModuleDict(void); ...[ 42]: PyObject * PyImport_AddModuleObject( ...[ 43]: PyObject *name ...[ 44]: ); ...[ 46]: PyObject * PyImport_AddModule( ...[ 47]: __const char *name ...[ 48]: ); ...[ 49]: PyObject * PyImport_ImportModule( ...[ 50]: __const char *name ...[ 51]: ); ...[ 52]: PyObject * PyImport_ImportModuleNoBlock( ...[ 53]: __const char *name ...[ 54]: ); ...[ 55]: PyObject * PyImport_ImportModuleLevel( ...[ 56]: __const char *name, ...[ 57]: PyObject *globals, ...[ 58]: PyObject *locals, ...[ 59]: PyObject *fromlist, ...[ 60]: int level ...[ 61]: ); ...[ 63]: PyObject * PyImport_ImportModuleLevelObject( ...[ 64]: PyObject *name, ...[ 65]: PyObject *globals, ...[ 66]: PyObject *locals, ...[ 67]: PyObject *fromlist, ...[ 68]: int level ...[ 69]: ); ...[ 75]: PyObject * PyImport_GetImporter(PyObject *path); ...[ 76]: PyObject * PyImport_Import(PyObject *name); ...[ 77]: PyObject * PyImport_ReloadModule(PyObject *m); ...[ 78]: void PyImport_Cleanup(void); ...[ 80]: int PyImport_ImportFrozenModuleObject( ...[ 81]: PyObject *name ...[ 82]: ); ...[ 84]: int PyImport_ImportFrozenModule( ...[ 85]: __const char *name ...[ 86]: ); ...[ 90]: void _PyImport_AcquireLock(void); ...[ 91]: int _PyImport_ReleaseLock(void); ...[ 97]: void _PyImport_ReInitLock(void); ...[ 99]: PyObject * _PyImport_FindBuiltin( ...[ 100]: __const char *name ...[ 101]: ); ...[ 102]: PyObject * _PyImport_FindExtensionObject(PyObject *, PyObject *); ...[ 103]: int _PyImport_FixupBuiltin( ...[ 104]: PyObject *mod, ...[ 105]: __const char *name ...[ 106]: ); ...[ 107]: int _PyImport_FixupExtensionObject(PyObject*, PyObject *, PyObject *); ...[ 109]: struct _inittab { ...[ 110]: __const char *name; ...[ 111]: PyObject* (*initfunc)(void); ...[ 112]: }; ...[ 113]: extern struct _inittab * PyImport_Inittab; ...[ 114]: int PyImport_ExtendInittab(struct _inittab *newtab); ...[ 117]: extern PyTypeObject PyNullImporter_Type; ...[ 119]: int PyImport_AppendInittab( ...[ 120]: __const char *name, ...[ 121]: PyObject* (*initfunc)(void) ...[ 122]: ); ...[ 125]: struct _frozen { ...[ 126]: __const char *name; ...[ 127]: __const unsigned char *code; ...[ 128]: int size; ...[ 129]: }; ...[ 134]: extern __const struct _frozen * PyImport_FrozenModules; ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/import.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/abstract.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/abstract.h ...[ 268]: PyObject * PyObject_Call(PyObject *callable_object, ...[ 269]: PyObject *args, PyObject *kwargs); ...[ 278]: PyObject* _PyStack_AsTuple( ...[ 279]: PyObject **stack, ...[ 280]: Py_ssize_t nargs); ...[ 289]: PyObject * _PyStack_AsDict( ...[ 290]: PyObject **values, ...[ 291]: PyObject *kwnames); ...[ 304]: int _PyStack_UnpackDict( ...[ 305]: PyObject **args, ...[ 306]: Py_ssize_t nargs, ...[ 307]: PyObject *kwargs, ...[ 308]: PyObject ***p_stack, ...[ 309]: PyObject **p_kwnames); ...[ 320]: PyObject * _PyObject_FastCallDict(PyObject *func, ...[ 321]: PyObject **args, Py_ssize_t nargs, ...[ 322]: PyObject *kwargs); ...[ 339]: PyObject * _PyObject_FastCallKeywords ...[ 340]: (PyObject *func, ...[ 341]: PyObject **args, ...[ 342]: Py_ssize_t nargs, ...[ 343]: PyObject *kwnames); ...[ 354]: PyObject * _PyObject_Call_Prepend(PyObject *func, ...[ 355]: PyObject *obj, PyObject *args, ...[ 356]: PyObject *kwargs); ...[ 358]: PyObject * _Py_CheckFunctionResult(PyObject *func, ...[ 359]: PyObject *result, ...[ 360]: __const char *where); ...[ 363]: PyObject * PyObject_CallObject(PyObject *callable_object, ...[ 364]: PyObject *args); ...[ 374]: PyObject * PyObject_CallFunction(PyObject *callable_object, ...[ 375]: __const char *format, ...); ...[ 387]: PyObject * PyObject_CallMethod(PyObject *o, ...[ 388]: __const char *method, ...[ 389]: __const char *format, ...); ...[ 401]: PyObject * _PyObject_CallMethodId(PyObject *o, ...[ 402]: _Py_Identifier *method, ...[ 403]: __const char *format, ...); ...[ 411]: PyObject * _PyObject_CallFunction_SizeT(PyObject *callable, ...[ 412]: __const char *format, ...[ 413]: ...); ...[ 414]: PyObject * _PyObject_CallMethod_SizeT(PyObject *o, ...[ 415]: __const char *name, ...[ 416]: __const char *format, ...[ 417]: ...); ...[ 419]: PyObject * _PyObject_CallMethodId_SizeT(PyObject *o, ...[ 420]: _Py_Identifier *name, ...[ 421]: __const char *format, ...[ 422]: ...); ...[ 425]: PyObject * PyObject_CallFunctionObjArgs(PyObject *callable, ...[ 426]: ...); ...[ 437]: PyObject * PyObject_CallMethodObjArgs(PyObject *o, ...[ 438]: PyObject *method, ...); ...[ 440]: PyObject * _PyObject_CallMethodIdObjArgs(PyObject *o, ...[ 441]: struct _Py_Identifier *method, ...[ 442]: ...); ...[ 482]: PyObject * PyObject_Type(PyObject *o); ...[ 490]: Py_ssize_t PyObject_Size(PyObject *o); ...[ 501]: Py_ssize_t PyObject_Length(PyObject *o); ...[ 505]: int _PyObject_HasLen(PyObject *o); ...[ 506]: Py_ssize_t PyObject_LengthHint(PyObject *o, Py_ssize_t); ...[ 515]: PyObject * PyObject_GetItem(PyObject *o, PyObject *key); ...[ 523]: int PyObject_SetItem(PyObject *o, PyObject *key, PyObject *v); ...[ 531]: int PyObject_DelItemString(PyObject *o, __const char *key); ...[ 539]: int PyObject_DelItem(PyObject *o, PyObject *key); ...[ 552]: int PyObject_AsCharBuffer(PyObject *obj, ...[ 553]: __const char **buffer, ...[ 554]: Py_ssize_t *buffer_len); ...[ 567]: int PyObject_CheckReadBuffer(PyObject *obj); ...[ 575]: int PyObject_AsReadBuffer(PyObject *obj, ...[ 576]: __const void **buffer, ...[ 577]: Py_ssize_t *buffer_len); ...[ 590]: int PyObject_AsWriteBuffer(PyObject *obj, ...[ 591]: void **buffer, ...[ 592]: Py_ssize_t *buffer_len); ...[ 614]: int PyObject_GetBuffer(PyObject *obj, Py_buffer *view, ...[ 615]: int flags); ...[ 624]: void * PyBuffer_GetPointer(Py_buffer *view, Py_ssize_t *indices); ...[ 630]: int PyBuffer_SizeFromFormat(__const char *); ...[ 638]: int PyBuffer_ToContiguous(void *buf, Py_buffer *view, ...[ 639]: Py_ssize_t len, char order); ...[ 641]: int PyBuffer_FromContiguous(Py_buffer *view, void *buf, ...[ 642]: Py_ssize_t len, char order); ...[ 661]: int PyObject_CopyData(PyObject *dest, PyObject *src); ...[ 666]: int PyBuffer_IsContiguous(__const Py_buffer *view, char fort); ...[ 669]: void PyBuffer_FillContiguousStrides(int ndims, ...[ 670]: Py_ssize_t *shape, ...[ 671]: Py_ssize_t *strides, ...[ 672]: int itemsize, ...[ 673]: char fort); ...[ 681]: int PyBuffer_FillInfo(Py_buffer *view, PyObject *o, void *buf, ...[ 682]: Py_ssize_t len, int readonly, ...[ 683]: int flags); ...[ 691]: void PyBuffer_Release(Py_buffer *view); ...[ 697]: PyObject * PyObject_Format(PyObject* obj, ...[ 698]: PyObject *format_spec); ...[ 706]: PyObject * PyObject_GetIter(PyObject *); ...[ 715]: PyObject * PyIter_Next(PyObject *); ...[ 723]: int PyNumber_Check(PyObject *o); ...[ 732]: PyObject * PyNumber_Add(PyObject *o1, PyObject *o2); ...[ 739]: PyObject * PyNumber_Subtract(PyObject *o1, PyObject *o2); ...[ 747]: PyObject * PyNumber_Multiply(PyObject *o1, PyObject *o2); ...[ 756]: PyObject * PyNumber_MatrixMultiply(PyObject *o1, PyObject *o2); ...[ 763]: PyObject * PyNumber_FloorDivide(PyObject *o1, PyObject *o2); ...[ 771]: PyObject * PyNumber_TrueDivide(PyObject *o1, PyObject *o2); ...[ 779]: PyObject * PyNumber_Remainder(PyObject *o1, PyObject *o2); ...[ 787]: PyObject * PyNumber_Divmod(PyObject *o1, PyObject *o2); ...[ 795]: PyObject * PyNumber_Power(PyObject *o1, PyObject *o2, ...[ 796]: PyObject *o3); ...[ 804]: PyObject * PyNumber_Negative(PyObject *o); ...[ 811]: PyObject * PyNumber_Positive(PyObject *o); ...[ 818]: PyObject * PyNumber_Absolute(PyObject *o); ...[ 825]: PyObject * PyNumber_Invert(PyObject *o); ...[ 833]: PyObject * PyNumber_Lshift(PyObject *o1, PyObject *o2); ...[ 841]: PyObject * PyNumber_Rshift(PyObject *o1, PyObject *o2); ...[ 849]: PyObject * PyNumber_And(PyObject *o1, PyObject *o2); ...[ 858]: PyObject * PyNumber_Xor(PyObject *o1, PyObject *o2); ...[ 866]: PyObject * PyNumber_Or(PyObject *o1, PyObject *o2); ...[ 878]: PyObject * PyNumber_Index(PyObject *o); ...[ 885]: Py_ssize_t PyNumber_AsSsize_t(PyObject *o, PyObject *exc); ...[ 895]: PyObject * PyNumber_Long(PyObject *o); ...[ 903]: PyObject * PyNumber_Float(PyObject *o); ...[ 913]: PyObject * PyNumber_InPlaceAdd(PyObject *o1, PyObject *o2); ...[ 921]: PyObject * PyNumber_InPlaceSubtract(PyObject *o1, PyObject *o2); ...[ 929]: PyObject * PyNumber_InPlaceMultiply(PyObject *o1, PyObject *o2); ...[ 938]: PyObject * PyNumber_InPlaceMatrixMultiply(PyObject *o1, PyObject *o2); ...[ 945]: PyObject * PyNumber_InPlaceFloorDivide(PyObject *o1, ...[ 946]: PyObject *o2); ...[ 955]: PyObject * PyNumber_InPlaceTrueDivide(PyObject *o1, ...[ 956]: PyObject *o2); ...[ 965]: PyObject * PyNumber_InPlaceRemainder(PyObject *o1, PyObject *o2); ...[ 973]: PyObject * PyNumber_InPlacePower(PyObject *o1, PyObject *o2, ...[ 974]: PyObject *o3); ...[ 982]: PyObject * PyNumber_InPlaceLshift(PyObject *o1, PyObject *o2); ...[ 990]: PyObject * PyNumber_InPlaceRshift(PyObject *o1, PyObject *o2); ...[ 998]: PyObject * PyNumber_InPlaceAnd(PyObject *o1, PyObject *o2); ...[ 1006]: PyObject * PyNumber_InPlaceXor(PyObject *o1, PyObject *o2); ...[ 1014]: PyObject * PyNumber_InPlaceOr(PyObject *o1, PyObject *o2); ...[ 1022]: PyObject * PyNumber_ToBase(PyObject *n, int base); ...[ 1033]: int PySequence_Check(PyObject *o); ...[ 1042]: Py_ssize_t PySequence_Size(PyObject *o); ...[ 1050]: Py_ssize_t PySequence_Length(PyObject *o); ...[ 1054]: PyObject * PySequence_Concat(PyObject *o1, PyObject *o2); ...[ 1062]: PyObject * PySequence_Repeat(PyObject *o, Py_ssize_t count); ...[ 1070]: PyObject * PySequence_GetItem(PyObject *o, Py_ssize_t i); ...[ 1077]: PyObject * PySequence_GetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2); ...[ 1085]: int PySequence_SetItem(PyObject *o, Py_ssize_t i, PyObject *v); ...[ 1093]: int PySequence_DelItem(PyObject *o, Py_ssize_t i); ...[ 1101]: int PySequence_SetSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2, ...[ 1102]: PyObject *v); ...[ 1110]: int PySequence_DelSlice(PyObject *o, Py_ssize_t i1, Py_ssize_t i2); ...[ 1118]: PyObject * PySequence_Tuple(PyObject *o); ...[ 1126]: PyObject * PySequence_List(PyObject *o); ...[ 1132]: PyObject * PySequence_Fast(PyObject *o, __const char* m); ...[ 1168]: Py_ssize_t PySequence_Count(PyObject *o, PyObject *value); ...[ 1177]: int PySequence_Contains(PyObject *seq, PyObject *ob); ...[ 1187]: Py_ssize_t _PySequence_IterSearch(PyObject *seq, ...[ 1188]: PyObject *obj, int operation); ...[ 1203]: int PySequence_In(PyObject *o, PyObject *value); ...[ 1214]: Py_ssize_t PySequence_Index(PyObject *o, PyObject *value); ...[ 1224]: PyObject * PySequence_InPlaceConcat(PyObject *o1, PyObject *o2); ...[ 1233]: PyObject * PySequence_InPlaceRepeat(PyObject *o, Py_ssize_t count); ...[ 1244]: int PyMapping_Check(PyObject *o); ...[ 1253]: Py_ssize_t PyMapping_Size(PyObject *o); ...[ 1263]: Py_ssize_t PyMapping_Length(PyObject *o); ...[ 1287]: int PyMapping_HasKeyString(PyObject *o, __const char *key); ...[ 1297]: int PyMapping_HasKey(PyObject *o, PyObject *key); ...[ 1308]: PyObject * PyMapping_Keys(PyObject *o); ...[ 1315]: PyObject * PyMapping_Values(PyObject *o); ...[ 1322]: PyObject * PyMapping_Items(PyObject *o); ...[ 1331]: PyObject * PyMapping_GetItemString(PyObject *o, ...[ 1332]: __const char *key); ...[ 1340]: int PyMapping_SetItemString(PyObject *o, __const char *key, ...[ 1341]: PyObject *value); ...[ 1350]: int PyObject_IsInstance(PyObject *object, PyObject *typeorclass); ...[ 1353]: int PyObject_IsSubclass(PyObject *object, PyObject *typeorclass); ...[ 1358]: int _PyObject_RealIsInstance(PyObject *inst, PyObject *cls); ...[ 1360]: int _PyObject_RealIsSubclass(PyObject *derived, PyObject *cls); ...[ 1362]: char *__const * _PySequence_BytesToCharpArray(PyObject* self); ...[ 1364]: void _Py_FreeCharPArray(char *__const array[]); ...[ 1367]: void _Py_add_one_to_index_F(int nd, Py_ssize_t *index, ...[ 1368]: __const Py_ssize_t *shape); ...[ 1369]: void _Py_add_one_to_index_C(int nd, Py_ssize_t *index, ...[ 1370]: __const Py_ssize_t *shape); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/abstract.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/bltinmodule.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/bltinmodule.h ...[ 7]: extern PyTypeObject PyFilter_Type; ...[ 8]: extern PyTypeObject PyMap_Type; ...[ 9]: extern PyTypeObject PyZip_Type; ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/bltinmodule.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/compile.h ..# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/compile.h ...# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/code.h ....# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/code.h ....[ 10]: typedef uint16_t _Py_CODEUNIT; ....[ 21]: typedef struct { ....[ 22]: PyObject ob_base; ....[ 23]: int co_argcount; ....[ 24]: int co_kwonlyargcount; ....[ 25]: int co_nlocals; ....[ 26]: int co_stacksize; ....[ 27]: int co_flags; ....[ 28]: int co_firstlineno; ....[ 29]: PyObject *co_code; ....[ 30]: PyObject *co_consts; ....[ 31]: PyObject *co_names; ....[ 32]: PyObject *co_varnames; ....[ 33]: PyObject *co_freevars; ....[ 34]: PyObject *co_cellvars; ....[ 40]: unsigned char *co_cell2arg; ....[ 41]: PyObject *co_filename; ....[ 42]: PyObject *co_name; ....[ 43]: PyObject *co_lnotab; ....[ 45]: void *co_zombieframe; ....[ 46]: PyObject *co_weakreflist; ....[ 50]: void *co_extra; ....[ 51]: } PyCodeObject; ....[ 98]: extern PyTypeObject PyCode_Type; ....[ 104]: PyCodeObject * PyCode_New( ....[ 105]: int, int, int, int, int, PyObject *, PyObject *, ....[ 106]: PyObject *, PyObject *, PyObject *, PyObject *, ....[ 107]: PyObject *, PyObject *, int, PyObject *); ....[ 111]: PyCodeObject * ....[ 112]: PyCode_NewEmpty(__const char *filename, __const char *funcname, int firstlineno); ....[ 117]: int PyCode_Addr2Line(PyCodeObject *, int); ....[ 120]: typedef struct _addr_pair { ....[ 121]: int ap_lower; ....[ 122]: int ap_upper; ....[ 123]: } PyAddrPair; ....[ 129]: int _PyCode_CheckLineNumber(PyCodeObject* co, ....[ 130]: int lasti, PyAddrPair *bounds); ....[ 139]: PyObject* _PyCode_ConstantKey(PyObject *obj); ....[ 142]: PyObject* PyCode_Optimize(PyObject *code, PyObject* consts, ....[ 143]: PyObject *names, PyObject *lnotab); ....[ 147]: int _PyCode_GetExtra(PyObject *code, Py_ssize_t index, ....[ 148]: void **extra); ....[ 149]: int _PyCode_SetExtra(PyObject *code, Py_ssize_t index, ....[ 150]: void *extra); ....# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/code.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/compile.h ...[ 12]: struct _node; ...[ 13]: PyCodeObject * PyNode_Compile(struct _node *, __const char *); ...[ 17]: typedef struct { ...[ 18]: int ff_features; ...[ 19]: int ff_lineno; ...[ 20]: } PyFutureFeatures; ...[ 32]: struct _mod; ...[ 34]: PyCodeObject * PyAST_CompileEx( ...[ 35]: struct _mod *mod, ...[ 36]: __const char *filename, ...[ 37]: PyCompilerFlags *flags, ...[ 38]: int optimize, ...[ 39]: PyArena *arena); ...[ 40]: PyCodeObject * PyAST_CompileObject( ...[ 41]: struct _mod *mod, ...[ 42]: PyObject *filename, ...[ 43]: PyCompilerFlags *flags, ...[ 44]: int optimize, ...[ 45]: PyArena *arena); ...[ 46]: PyFutureFeatures * PyFuture_FromAST( ...[ 47]: struct _mod * mod, ...[ 48]: __const char *filename ...[ 49]: ); ...[ 50]: PyFutureFeatures * PyFuture_FromASTObject( ...[ 51]: struct _mod * mod, ...[ 52]: PyObject *filename ...[ 53]: ); ...[ 56]: PyObject* _Py_Mangle(PyObject *p, PyObject *name); ...[ 59]: int PyCompile_OpcodeStackEffect(int opcode, int oparg); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/compile.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/eval.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/eval.h ...[ 10]: PyObject * PyEval_EvalCode(PyObject *, PyObject *, PyObject *); ...[ 12]: PyObject * PyEval_EvalCodeEx(PyObject *co, ...[ 13]: PyObject *globals, ...[ 14]: PyObject *locals, ...[ 15]: PyObject **args, int argc, ...[ 16]: PyObject **kwds, int kwdc, ...[ 17]: PyObject **defs, int defc, ...[ 18]: PyObject *kwdefs, PyObject *closure); ...[ 21]: PyObject * _PyEval_CallTracing(PyObject *func, PyObject *args); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/eval.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/pyctype.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/pyctype.h ...[ 13]: extern __const unsigned int _Py_ctype_table[256]; ...[ 26]: extern __const unsigned char _Py_ctype_tolower[256]; ...[ 27]: extern __const unsigned char _Py_ctype_toupper[256]; ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/pyctype.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/pystrtod.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/pystrtod.h ...[ 9]: double PyOS_string_to_double(__const char *str, ...[ 10]: char **endptr, ...[ 11]: PyObject *overflow_exception); ...[ 15]: char * PyOS_double_to_string(double val, ...[ 16]: char format_code, ...[ 17]: int precision, ...[ 18]: int flags, ...[ 19]: int *type); ...[ 22]: PyObject * _Py_string_to_number_with_underscores( ...[ 23]: __const char *str, Py_ssize_t len, __const char *what, PyObject *obj, void *arg, ...[ 24]: PyObject *(*innerfunc)(__const char *, Py_ssize_t, void *)); ...[ 26]: double _Py_parse_inf_or_nan(__const char *p, char **endptr); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/pystrtod.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/pystrcmp.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/pystrcmp.h ...[ 8]: int PyOS_mystrnicmp(__const char *, __const char *, Py_ssize_t); ...[ 9]: int PyOS_mystricmp(__const char *, __const char *); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/pystrcmp.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/dtoa.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/dtoa.h ...[ 7]: double _Py_dg_strtod(__const char *str, char **ptr); ...[ 8]: char * _Py_dg_dtoa(double d, int mode, int ndigits, ...[ 9]: int *decpt, int *sign, char **rve); ...[ 10]: void _Py_dg_freedtoa(char *s); ...[ 11]: double _Py_dg_stdnan(int sign); ...[ 12]: double _Py_dg_infinity(int sign); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/dtoa.h .# Holding FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h ..# Starting FILE: /Users/paulross/dev/Python-3.6.2/Include/fileutils.h ...# Back in FILE: /Users/paulross/dev/Python-3.6.2/Include/fileutils.h ...[ 9]: wchar_t * Py_DecodeLocale( ...[ 10]: __const char *arg, ...[ 11]: size_t *size); ...[ 13]: char* Py_EncodeLocale( ...[ 14]: __const wchar_t *text, ...[ 15]: size_t *error_pos); ...[ 20]: PyObject * _Py_device_encoding(int); ...[ 44]: int _Py_fstat( ...[ 45]: int fd, ...[ 46]: struct stat *status); ...[ 48]: int _Py_fstat_noraise( ...[ 49]: int fd, ...[ 50]: struct stat *status); ...[ 52]: int _Py_stat( ...[ 53]: PyObject *path, ...[ 54]: struct stat *status); ...[ 56]: int _Py_open( ...[ 57]: __const char *pathname, ...[ 58]: int flags); ...[ 60]: int _Py_open_noraise( ...[ 61]: __const char *pathname, ...[ 62]: int flags); ...[ 64]: FILE * _Py_wfopen( ...[ 65]: __const wchar_t *path, ...[ 66]: __const wchar_t *mode); ...[ 68]: FILE* _Py_fopen( ...[ 69]: __const char *pathname, ...[ 70]: __const char *mode); ...[ 72]: FILE* _Py_fopen_obj( ...[ 73]: PyObject *path, ...[ 74]: __const char *mode); ...[ 76]: Py_ssize_t _Py_read( ...[ 77]: int fd, ...[ 78]: void *buf, ...[ 79]: size_t count); ...[ 81]: Py_ssize_t _Py_write( ...[ 82]: int fd, ...[ 83]: __const void *buf, ...[ 84]: size_t count); ...[ 86]: Py_ssize_t _Py_write_noraise( ...[ 87]: int fd, ...[ 88]: __const void *buf, ...[ 89]: size_t count); ...[ 92]: int _Py_wreadlink( ...[ 93]: __const wchar_t *path, ...[ 94]: wchar_t *buf, ...[ 95]: size_t bufsiz); ...[ 99]: wchar_t* _Py_wrealpath( ...[ 100]: __const wchar_t *path, ...[ 101]: wchar_t *resolved_path, ...[ 102]: size_t resolved_path_size); ...[ 105]: wchar_t* _Py_wgetcwd( ...[ 106]: wchar_t *buf, ...[ 107]: size_t size); ...[ 109]: int _Py_get_inheritable(int fd); ...[ 111]: int _Py_set_inheritable(int fd, int inheritable, ...[ 112]: int *atomic_flag_works); ...[ 114]: int _Py_dup(int fd); ...[ 117]: int _Py_get_blocking(int fd); ...[ 119]: int _Py_set_blocking(int fd, int blocking); ...# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/fileutils.h ..# Ending FILE: /Users/paulross/dev/Python-3.6.2/Include/Python.h # Holding FILE: /Users/paulross/dev/Python-3.6.2/Objects/dictobject.c .# Starting FILE: /Users/paulross/dev/Python-3.6.2/Objects/dict-common.h ..# Back in FILE: /Users/paulross/dev/Python-3.6.2/Objects/dict-common.h ..[ 4]: typedef struct { ..[ 6]: Py_hash_t me_hash; ..[ 7]: PyObject *me_key; ..[ 8]: PyObject *me_value; ..[ 9]: } PyDictKeyEntry; ..[ 14]: typedef Py_ssize_t (*dict_lookup_func) ..[ 15]: (PyDictObject *mp, PyObject *key, Py_hash_t hash, PyObject ***value_addr, ..[ 16]: Py_ssize_t *hashpos); ..[ 23]: struct _dictkeysobject { ..[ 24]: Py_ssize_t dk_refcnt; ..[ 27]: Py_ssize_t dk_size; ..[ 42]: dict_lookup_func dk_lookup; ..[ 45]: Py_ssize_t dk_usable; ..[ 48]: Py_ssize_t dk_nentries; ..[ 63]: union { ..[ 64]: int8_t as_1[8]; ..[ 65]: int16_t as_2[4]; ..[ 66]: int32_t as_4[2]; ..[ 68]: int64_t as_8[1]; ..[ 70]: } dk_indices; ..[ 74]: }; ..# Ending FILE: /Users/paulross/dev/Python-3.6.2/Objects/dict-common.h # Holding FILE: /Users/paulross/dev/Python-3.6.2/Objects/dictobject.c .# Starting FILE: /Users/paulross/dev/Python-3.6.2/Objects/stringlib/eq.h ..# Back in FILE: /Users/paulross/dev/Python-3.6.2/Objects/stringlib/eq.h ..[ 6]: static __inline int ..[ 7]: unicode_eq(PyObject *aa, PyObject *bb) ..[ 8]: { ..[ 9]: PyUnicodeObject *a = (PyUnicodeObject *)aa; ..[ 10]: PyUnicodeObject *b = (PyUnicodeObject *)bb; ..[ 12]: if (((__builtin_expect(!(((( (((PyObject*)(a))->ob_type))->tp_flags & ( (1UL << 28))) != 0)), 0) ? __assert_rtn(\ .. __func__, __FILE__, __LINE__, "PyUnicode_Check(a)") : (void)0), ((((PyASCIIObject*)a)->state.ready) ? 0 : _PyUnicode_Ready\ .. ((PyObject *)(a)))) == -1 || ((__builtin_expect(!(((( (((PyObject*)(b))->ob_type))->tp_flags & ( (1UL << 28))) != \ .. 0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "PyUnicode_Check(b)") : (void)0), ((((PyASCIIObject*)b)->\ .. state.ready) ? 0 : _PyUnicode_Ready((PyObject *)(b)))) == -1) { ..[ 13]: (__builtin_expect(!(0 && "unicode_eq ready fail"), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "0 && \"unicode_eq ready fail\""\ .. ) : (void)0); ..[ 14]: return 0; ..[ 15]: } ..[ 17]: if (((__builtin_expect(!(((( (((PyObject*)(a))->ob_type))->tp_flags & ( (1UL << 28))) != 0)), 0) ? __assert_rtn(\ .. __func__, __FILE__, __LINE__, "PyUnicode_Check(a)") : (void)0), (__builtin_expect(!((((PyASCIIObject*)a)->\ .. state.ready)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "PyUnicode_IS_READY(a)") : (void)0), ((PyASCIIObject \ .. *)(a))->length) != ((__builtin_expect(!(((( (((PyObject*)(b))->ob_type))->tp_flags & ( (1UL << 28))) != 0)), 0) \ .. ? __assert_rtn(__func__, __FILE__, __LINE__, "PyUnicode_Check(b)") : (void)0), (__builtin_expect(!((((PyASCIIObject\ .. *)b)->state.ready)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "PyUnicode_IS_READY(b)") : (void)0), ((PyASCIIObject \ .. *)(b))->length)) ..[ 18]: return 0; ..[ 19]: if (((__builtin_expect(!(((( (((PyObject*)(a))->ob_type))->tp_flags & ( (1UL << 28))) != 0)), 0) ? __assert_rtn(\ .. __func__, __FILE__, __LINE__, "PyUnicode_Check(a)") : (void)0), (__builtin_expect(!((((PyASCIIObject*)a)->\ .. state.ready)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "PyUnicode_IS_READY(a)") : (void)0), ((PyASCIIObject \ .. *)(a))->length) == 0) ..[ 20]: return 1; ..[ 21]: if (((__builtin_expect(!(((( (((PyObject*)(a))->ob_type))->tp_flags & ( (1UL << 28))) != 0)), 0) ? __assert_rtn(\ .. __func__, __FILE__, __LINE__, "PyUnicode_Check(a)") : (void)0), (__builtin_expect(!((((PyASCIIObject*)a)->\ .. state.ready)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "PyUnicode_IS_READY(a)") : (void)0), ((PyASCIIObject \ .. *)(a))->state.kind) != ((__builtin_expect(!(((( (((PyObject*)(b))->ob_type))->tp_flags & ( (1UL << 28))) != 0)\ .. ), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "PyUnicode_Check(b)") : (void)0), (__builtin_expect(!((((PyASCIIObject\ .. *)b)->state.ready)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "PyUnicode_IS_READY(b)") : (void)0), ((PyASCIIObject \ .. *)(b))->state.kind)) ..[ 22]: return 0; ..[ 23]: return memcmp(((Py_UCS1*)((__builtin_expect(!(((( (((PyObject*)(a))->ob_type))->tp_flags & ( (1UL << 28))) != \ .. 0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "PyUnicode_Check(a)") : (void)0), (((PyASCIIObject*)(a))\ .. ->state.compact) ? (((__builtin_expect(!(((( (((PyObject*)(a))->ob_type))->tp_flags & ( (1UL << 28))) != 0)), 0\ .. ) ? __assert_rtn(__func__, __FILE__, __LINE__, "PyUnicode_Check(a)") : (void)0), (__builtin_expect(!((((PyASCIIObject\ .. *)a)->state.ready)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "PyUnicode_IS_READY(a)") : (void)0), ((PyASCIIObject\ .. *)a)->state.ascii) ? ((void*)((PyASCIIObject*)(a) + 1)) : ((void*)((PyCompactUnicodeObject*)(a) + 1))) : ((__builtin_expect\ .. (!( ((PyUnicodeObject*)(a))->data.any), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "((PyUnicodeObject*)(a))->data.any"\ .. ) : (void)0), ((((PyUnicodeObject *)(a))->data.any))))), ((Py_UCS1*)((__builtin_expect(!(((( (((PyObject*)\ .. (b))->ob_type))->tp_flags & ( (1UL << 28))) != 0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "PyUnicode_Check(b)"\ .. ) : (void)0), (((PyASCIIObject*)(b))->state.compact) ? (((__builtin_expect(!(((( (((PyObject*)(b))->ob_type\ .. ))->tp_flags & ( (1UL << 28))) != 0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "PyUnicode_Check(b)") : (void\ .. )0), (__builtin_expect(!((((PyASCIIObject*)b)->state.ready)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__\ .. , "PyUnicode_IS_READY(b)") : (void)0), ((PyASCIIObject*)b)->state.ascii) ? ((void*)((PyASCIIObject*)(b) + 1)\ .. ) : ((void*)((PyCompactUnicodeObject*)(b) + 1))) : ((__builtin_expect(!( ((PyUnicodeObject*)(b))->data.any)\ .. , 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "((PyUnicodeObject*)(b))->data.any") : (void)0), ((((PyUnicodeObject \ .. *)(b))->data.any))))), ..[ 24]: ((__builtin_expect(!(((( (((PyObject*)(a))->ob_type))->tp_flags & ( (1UL << 28))) != 0)), 0) ? __assert_rtn(__func__\ .. , __FILE__, __LINE__, "PyUnicode_Check(a)") : (void)0), (__builtin_expect(!((((PyASCIIObject*)a)->state.ready\ .. )), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "PyUnicode_IS_READY(a)") : (void)0), ((PyASCIIObject *)(a)\ .. )->length) * ((__builtin_expect(!(((( (((PyObject*)(a))->ob_type))->tp_flags & ( (1UL << 28))) != 0)), 0) ? __assert_rtn\ .. (__func__, __FILE__, __LINE__, "PyUnicode_Check(a)") : (void)0), (__builtin_expect(!((((PyASCIIObject*)a)->\ .. state.ready)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "PyUnicode_IS_READY(a)") : (void)0), ((PyASCIIObject \ .. *)(a))->state.kind)) == 0; ..[ 25]: } ..# Ending FILE: /Users/paulross/dev/Python-3.6.2/Objects/stringlib/eq.h .# Back in FILE: /Users/paulross/dev/Python-3.6.2/Objects/dictobject.c .[ 224]: static Py_ssize_t lookdict(PyDictObject *mp, PyObject *key, .[ 225]: Py_hash_t hash, PyObject ***value_addr, .[ 226]: Py_ssize_t *hashpos); .[ 227]: static Py_ssize_t lookdict_unicode(PyDictObject *mp, PyObject *key, .[ 228]: Py_hash_t hash, PyObject ***value_addr, .[ 229]: Py_ssize_t *hashpos); .[ 230]: static Py_ssize_t .[ 231]: lookdict_unicode_nodummy(PyDictObject *mp, PyObject *key, .[ 232]: Py_hash_t hash, PyObject ***value_addr, .[ 233]: Py_ssize_t *hashpos); .[ 234]: static Py_ssize_t lookdict_split(PyDictObject *mp, PyObject *key, .[ 235]: Py_hash_t hash, PyObject ***value_addr, .[ 236]: Py_ssize_t *hashpos); .[ 238]: static int dictresize(PyDictObject *mp, Py_ssize_t minused); .[ 243]: static uint64_t pydict_global_version = 0; .[ 251]: static PyDictObject *free_list[80]; .[ 252]: static int numfree = 0; .[ 253]: static PyDictKeysObject *keys_free_list[80]; .[ 254]: static int numfreekeys = 0; # Holding FILE: /Users/paulross/dev/Python-3.6.2/Objects/dictobject.c .# Starting FILE: /Users/paulross/dev/Python-3.6.2/Objects/clinic/dictobject.c.h ..[ 9]: static char dict_fromkeys__doc__[] = "fromkeys($type, iterable, value=None, /)\n" "--\n" "\n" "Returns a new dict with keys from iterable and values equal to value."\ .. ; ..[ 14]: static PyObject * ..[ 15]: dict_fromkeys_impl(PyTypeObject *type, PyObject *iterable, PyObject *value); ..[ 17]: static PyObject * ..[ 18]: dict_fromkeys(PyTypeObject *type, PyObject *args) ..[ 19]: { ..[ 20]: PyObject *return_value = ((void *)0); ..[ 21]: PyObject *iterable; ..[ 22]: PyObject *value = (&_Py_NoneStruct); ..[ 24]: if (!PyArg_UnpackTuple(args, "fromkeys", ..[ 25]: 1, 2, ..[ 26]: &iterable, &value)) { ..[ 27]: goto exit; ..[ 28]: } ..[ 29]: return_value = dict_fromkeys_impl(type, iterable, value); ..[ 31]: exit: ..[ 32]: return return_value; ..[ 33]: } ..[ 39]: static char dict___contains____doc__[] = "__contains__($self, key, /)\n" "--\n" "\n" "True if D has a key k, else False."\ .. ; ..# Ending FILE: /Users/paulross/dev/Python-3.6.2/Objects/clinic/dictobject.c.h .# Back in FILE: /Users/paulross/dev/Python-3.6.2/Objects/dictobject.c .[ 258]: int .[ 259]: PyDict_ClearFreeList(void) .[ 260]: { .[ 261]: PyDictObject *op; .[ 262]: int ret = numfree + numfreekeys; .[ 263]: while (numfree) { .[ 264]: op = free_list[--numfree]; .[ 265]: (__builtin_expect(!(((((PyObject*)(op))->ob_type) == &PyDict_Type)), 0) ? __assert_rtn(__func__, __FILE__, \ . __LINE__, "PyDict_CheckExact(op)") : (void)0); .[ 266]: PyObject_GC_Del(op); .[ 267]: } .[ 268]: while (numfreekeys) { .[ 269]: PyObject_Free(keys_free_list[--numfreekeys]); .[ 270]: } .[ 271]: return ret; .[ 272]: } .[ 275]: void .[ 276]: _PyDict_DebugMallocStats(FILE *out) .[ 277]: { .[ 278]: _PyDebugAllocatorStats(out, .[ 279]: "free PyDictObject", numfree, sizeof(PyDictObject)); .[ 280]: } .[ 283]: void .[ 284]: PyDict_Fini(void) .[ 285]: { .[ 286]: PyDict_ClearFreeList(); .[ 287]: } .[ 314]: static __inline Py_ssize_t .[ 315]: dk_get_index(PyDictKeysObject *keys, Py_ssize_t i) .[ 316]: { .[ 317]: Py_ssize_t s = ((keys)->dk_size); .[ 318]: Py_ssize_t ix; .[ 320]: if (s <= 0xff) { .[ 321]: int8_t *indices = keys->dk_indices.as_1; .[ 322]: ix = indices[i]; .[ 323]: } .[ 324]: else if (s <= 0xffff) { .[ 325]: int16_t *indices = keys->dk_indices.as_2; .[ 326]: ix = indices[i]; .[ 327]: } .[ 329]: else if (s > 0xffffffff) { .[ 330]: int64_t *indices = keys->dk_indices.as_8; .[ 331]: ix = indices[i]; .[ 332]: } .[ 334]: else { .[ 335]: int32_t *indices = keys->dk_indices.as_4; .[ 336]: ix = indices[i]; .[ 337]: } .[ 338]: (__builtin_expect(!(ix >= (-2)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "ix >= DKIX_DUMMY") : (void)0\ . ); .[ 339]: return ix; .[ 340]: } .[ 343]: static __inline void .[ 344]: dk_set_index(PyDictKeysObject *keys, Py_ssize_t i, Py_ssize_t ix) .[ 345]: { .[ 346]: Py_ssize_t s = ((keys)->dk_size); .[ 348]: (__builtin_expect(!(ix >= (-2)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "ix >= DKIX_DUMMY") : (void)0\ . ); .[ 350]: if (s <= 0xff) { .[ 351]: int8_t *indices = keys->dk_indices.as_1; .[ 352]: (__builtin_expect(!(ix <= 0x7f), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "ix <= 0x7f") : (void)0); .[ 353]: indices[i] = (char)ix; .[ 354]: } .[ 355]: else if (s <= 0xffff) { .[ 356]: int16_t *indices = keys->dk_indices.as_2; .[ 357]: (__builtin_expect(!(ix <= 0x7fff), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "ix <= 0x7fff") : (void)0); .[ 358]: indices[i] = (int16_t)ix; .[ 359]: } .[ 361]: else if (s > 0xffffffff) { .[ 362]: int64_t *indices = keys->dk_indices.as_8; .[ 363]: indices[i] = ix; .[ 364]: } .[ 366]: else { .[ 367]: int32_t *indices = keys->dk_indices.as_4; .[ 368]: (__builtin_expect(!(ix <= 0x7fffffff), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "ix <= 0x7fffffff") : (\ . void)0); .[ 369]: indices[i] = (int32_t)ix; .[ 370]: } .[ 371]: } .[ 421]: static PyDictKeysObject empty_keys_struct = { .[ 422]: 1, .[ 423]: 1, .[ 424]: lookdict_split, .[ 425]: 0, .[ 426]: 0, .[ 427]: .dk_indices = { .as_1 = {(-1), (-1), (-1), (-1), .[ 428]: (-1), (-1), (-1), (-1)}}, .[ 429]: }; .[ 431]: static PyObject *empty_values[1] = { ((void *)0) }; .[ 440]: static int .[ 441]: _PyDict_CheckConsistency(PyDictObject *mp) .[ 442]: { .[ 443]: PyDictKeysObject *keys = mp->ma_keys; .[ 444]: int splitted = ((mp)->ma_values != ((void *)0)); .[ 445]: Py_ssize_t usable = (((keys->dk_size) << 1)/3); .[ 451]: (__builtin_expect(!(0 <= mp->ma_used && mp->ma_used <= usable), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, \ . "0 <= mp->ma_used && mp->ma_used <= usable") : (void)0); .[ 452]: (__builtin_expect(!((((keys->dk_size) & (keys->dk_size-1)) == 0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__\ . , "IS_POWER_OF_2(keys->dk_size)") : (void)0); .[ 454]: (__builtin_expect(!(0 <= keys->dk_usable && keys->dk_usable <= usable), 0) ? __assert_rtn(__func__, __FILE__, __LINE__\ . , "0 <= keys->dk_usable && keys->dk_usable <= usable") : (void)0); .[ 456]: (__builtin_expect(!(0 <= keys->dk_nentries && keys->dk_nentries <= usable), 0) ? __assert_rtn(__func__, __FILE__\ . , __LINE__, "0 <= keys->dk_nentries && keys->dk_nentries <= usable") : (void)0); .[ 457]: (__builtin_expect(!(keys->dk_usable + keys->dk_nentries <= usable), 0) ? __assert_rtn(__func__, __FILE__, __LINE__\ . , "keys->dk_usable + keys->dk_nentries <= usable") : (void)0); .[ 459]: if (!splitted) { .[ 461]: (__builtin_expect(!(keys->dk_refcnt == 1), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "keys->dk_refcnt == 1"\ . ) : (void)0); .[ 462]: } .[ 502]: return 1; .[ 503]: } .[ 507]: static PyDictKeysObject *new_keys_object(Py_ssize_t size) .[ 508]: { .[ 509]: PyDictKeysObject *dk; .[ 510]: Py_ssize_t es, usable; .[ 512]: (__builtin_expect(!(size >= 8), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "size >= PyDict_MINSIZE") : (void\ . )0); .[ 513]: (__builtin_expect(!((((size) & (size-1)) == 0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "IS_POWER_OF_2(size)"\ . ) : (void)0); .[ 515]: usable = (((size) << 1)/3); .[ 516]: if (size <= 0xff) { .[ 517]: es = 1; .[ 518]: } .[ 519]: else if (size <= 0xffff) { .[ 520]: es = 2; .[ 521]: } .[ 523]: else if (size <= 0xffffffff) { .[ 524]: es = 4; .[ 525]: } .[ 527]: else { .[ 528]: es = sizeof(Py_ssize_t); .[ 529]: } .[ 531]: if (size == 8 && numfreekeys > 0) { .[ 532]: dk = keys_free_list[--numfreekeys]; .[ 533]: } .[ 534]: else { .[ 535]: dk = PyObject_Malloc(sizeof(PyDictKeysObject) .[ 536]: - sizeof(((PyDictKeysObject *)0)->dk_indices) .[ 537]: + es * size .[ 538]: + sizeof(PyDictKeyEntry) * usable); .[ 539]: if (dk == ((void *)0)) { .[ 540]: PyErr_NoMemory(); .[ 541]: return ((void *)0); .[ 542]: } .[ 543]: } .[ 544]: _Py_RefTotal++ , dk->dk_refcnt = 1; .[ 545]: dk->dk_size = size; .[ 546]: dk->dk_usable = usable; .[ 547]: dk->dk_lookup = lookdict_unicode_nodummy; .[ 548]: dk->dk_nentries = 0; .[ 549]: __builtin___memset_chk (&dk->dk_indices.as_1[0], 0xff, es * size, __builtin_object_size (&dk->dk_indices.as_1\ . [0], 0)); .[ 550]: __builtin___memset_chk ( ((PyDictKeyEntry*)(&(dk)->dk_indices.as_1[((dk)->dk_size) * (((dk)->dk_size) <= 0xff \ . ? 1 : ((dk)->dk_size) <= 0xffff ? 2 : ((dk)->dk_size) <= 0xffffffff ? 4 : sizeof(int64_t))])), 0, sizeof(PyDictKeyEntry\ . ) * usable, __builtin_object_size ( ((PyDictKeyEntry*)(&(dk)->dk_indices.as_1[((dk)->dk_size) *((( dk)->dk_size\ . ) <= 0xff ? 1 :(( dk)->dk_size) <= 0xffff ? 2 :(( dk)->dk_size) <= 0xffffffff ? 4 : sizeof(int64_t))])), 0)); .[ 551]: return dk; .[ 552]: } .[ 554]: static void .[ 555]: free_keys_object(PyDictKeysObject *keys) .[ 556]: { .[ 557]: PyDictKeyEntry *entries = ((PyDictKeyEntry*)(&(keys)->dk_indices.as_1[((keys)->dk_size) * (((keys)->dk_size\ . ) <= 0xff ? 1 : ((keys)->dk_size) <= 0xffff ? 2 : ((keys)->dk_size) <= 0xffffffff ? 4 : sizeof(int64_t))])); .[ 558]: Py_ssize_t i, n; .[ 559]: for (i = 0, n = keys->dk_nentries; i < n; i++) { .[ 560]: do { PyObject *_py_xdecref_tmp = (PyObject *)(entries[i].me_key); if (_py_xdecref_tmp != ((void *)0)) do { PyObject \ . *_py_decref_tmp = (PyObject *)(_py_xdecref_tmp); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (\ . ((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); } while (0); .[ 561]: do { PyObject *_py_xdecref_tmp = (PyObject *)(entries[i].me_value); if (_py_xdecref_tmp != ((void *)0)) do { PyObject \ . *_py_decref_tmp = (PyObject *)(_py_xdecref_tmp); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (\ . ((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); } while (0); .[ 562]: } .[ 563]: if (keys->dk_size == 8 && numfreekeys < 80) { .[ 564]: keys_free_list[numfreekeys++] = keys; .[ 565]: return; .[ 566]: } .[ 567]: PyObject_Free(keys); .[ 568]: } .[ 574]: static PyObject * .[ 575]: new_dict(PyDictKeysObject *keys, PyObject **values) .[ 576]: { .[ 577]: PyDictObject *mp; .[ 578]: (__builtin_expect(!(keys != ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "keys != NULL") : (void\ . )0); .[ 579]: if (numfree) { .[ 580]: mp = free_list[--numfree]; .[ 581]: (__builtin_expect(!(mp != ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "mp != NULL") : (void)0\ . ); .[ 582]: (__builtin_expect(!((((PyObject*)(mp))->ob_type) == &PyDict_Type), 0) ? __assert_rtn(__func__, __FILE__, __LINE__\ . , "Py_TYPE(mp) == &PyDict_Type") : (void)0); .[ 583]: _Py_NewReference((PyObject *)mp); .[ 584]: } .[ 585]: else { .[ 586]: mp = ( (PyDictObject *) _PyObject_GC_New(&PyDict_Type) ); .[ 587]: if (mp == ((void *)0)) { .[ 588]: if (_Py_RefTotal-- , (--(keys)->dk_refcnt) == 0) free_keys_object(keys); .[ 589]: PyMem_Free(values); .[ 590]: return ((void *)0); .[ 591]: } .[ 592]: } .[ 593]: mp->ma_keys = keys; .[ 594]: mp->ma_values = values; .[ 595]: mp->ma_used = 0; .[ 596]: mp->ma_version_tag = (++pydict_global_version); .[ 597]: (__builtin_expect(!(_PyDict_CheckConsistency(mp)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "_PyDict_CheckConsistency(mp)"\ . ) : (void)0); .[ 598]: return (PyObject *)mp; .[ 599]: } .[ 602]: static PyObject * .[ 603]: new_dict_with_shared_keys(PyDictKeysObject *keys) .[ 604]: { .[ 605]: PyObject **values; .[ 606]: Py_ssize_t i, size; .[ 608]: size = ((( ((keys)->dk_size)) << 1)/3); .[ 609]: values = ( ((size_t)(size) > ((Py_ssize_t)(((size_t)-1)>>1)) / sizeof(PyObject *)) ? ((void *)0) : ( (PyObject * *) PyMem_Malloc\ . ( (size) * sizeof(PyObject *)) ) ); .[ 610]: if (values == ((void *)0)) { .[ 611]: if (_Py_RefTotal-- , (--(keys)->dk_refcnt) == 0) free_keys_object(keys); .[ 612]: return PyErr_NoMemory(); .[ 613]: } .[ 614]: for (i = 0; i < size; i++) { .[ 615]: values[i] = ((void *)0); .[ 616]: } .[ 617]: return new_dict(keys, values); .[ 618]: } .[ 620]: PyObject * .[ 621]: PyDict_New(void) .[ 622]: { .[ 623]: PyDictKeysObject *keys = new_keys_object(8); .[ 624]: if (keys == ((void *)0)) .[ 625]: return ((void *)0); .[ 626]: return new_dict(keys, ((void *)0)); .[ 627]: } .[ 630]: static Py_ssize_t .[ 631]: lookdict_index(PyDictKeysObject *k, Py_hash_t hash, Py_ssize_t index) .[ 632]: { .[ 633]: size_t i; .[ 634]: size_t mask = (((k)->dk_size)-1); .[ 635]: Py_ssize_t ix; .[ 637]: i = (size_t)hash & mask; .[ 638]: ix = dk_get_index(k, i); .[ 639]: if (ix == index) { .[ 640]: return i; .[ 641]: } .[ 642]: if (ix == (-1)) { .[ 643]: return (-1); .[ 644]: } .[ 646]: for (size_t perturb = hash;;) { .[ 647]: perturb >>= 5; .[ 648]: i = mask & ((i << 2) + i + perturb + 1); .[ 649]: ix = dk_get_index(k, i); .[ 650]: if (ix == index) { .[ 651]: return i; .[ 652]: } .[ 653]: if (ix == (-1)) { .[ 654]: return (-1); .[ 655]: } .[ 656]: } .[ 657]: (__builtin_expect(!(0), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "0") : (void)0); .[ 658]: return (-3); .[ 659]: } .[ 686]: static Py_ssize_t .[ 687]: lookdict(PyDictObject *mp, PyObject *key, .[ 688]: Py_hash_t hash, PyObject ***value_addr, Py_ssize_t *hashpos) .[ 689]: { .[ 690]: size_t i, mask; .[ 691]: Py_ssize_t ix, freeslot; .[ 692]: int cmp; .[ 693]: PyDictKeysObject *dk; .[ 694]: PyDictKeyEntry *ep0, *ep; .[ 695]: PyObject *startkey; .[ 697]: top: .[ 698]: dk = mp->ma_keys; .[ 699]: mask = (((dk)->dk_size)-1); .[ 700]: ep0 = ((PyDictKeyEntry*)(&(dk)->dk_indices.as_1[((dk)->dk_size) * (((dk)->dk_size) <= 0xff ? 1 : ((dk)->dk_size\ . ) <= 0xffff ? 2 : ((dk)->dk_size) <= 0xffffffff ? 4 : sizeof(int64_t))])); .[ 701]: i = (size_t)hash & mask; .[ 703]: ix = dk_get_index(dk, i); .[ 704]: if (ix == (-1)) { .[ 705]: if (hashpos != ((void *)0)) .[ 706]: *hashpos = i; .[ 707]: *value_addr = ((void *)0); .[ 708]: return (-1); .[ 709]: } .[ 710]: if (ix == (-2)) { .[ 711]: freeslot = i; .[ 712]: } .[ 713]: else { .[ 714]: ep = &ep0[ix]; .[ 715]: (__builtin_expect(!(ep->me_key != ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "ep->me_key != NULL"\ . ) : (void)0); .[ 716]: if (ep->me_key == key) { .[ 717]: *value_addr = &ep->me_value; .[ 718]: if (hashpos != ((void *)0)) .[ 719]: *hashpos = i; .[ 720]: return ix; .[ 721]: } .[ 722]: if (ep->me_hash == hash) { .[ 723]: startkey = ep->me_key; .[ 724]: ( _Py_RefTotal++ , ((PyObject *)(startkey))->ob_refcnt++); .[ 725]: cmp = PyObject_RichCompareBool(startkey, key, 2); .[ 726]: do { PyObject *_py_decref_tmp = (PyObject *)(startkey); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) \ . { if (((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 727]: if (cmp < 0) { .[ 728]: *value_addr = ((void *)0); .[ 729]: return (-3); .[ 730]: } .[ 731]: if (dk == mp->ma_keys && ep->me_key == startkey) { .[ 732]: if (cmp > 0) { .[ 733]: *value_addr = &ep->me_value; .[ 734]: if (hashpos != ((void *)0)) .[ 735]: *hashpos = i; .[ 736]: return ix; .[ 737]: } .[ 738]: } .[ 739]: else { .[ 741]: goto top; .[ 742]: } .[ 743]: } .[ 744]: freeslot = -1; .[ 745]: } .[ 747]: for (size_t perturb = hash;;) { .[ 748]: perturb >>= 5; .[ 749]: i = ((i << 2) + i + perturb + 1) & mask; .[ 750]: ix = dk_get_index(dk, i); .[ 751]: if (ix == (-1)) { .[ 752]: if (hashpos != ((void *)0)) { .[ 753]: *hashpos = (freeslot == -1) ? (Py_ssize_t)i : freeslot; .[ 754]: } .[ 755]: *value_addr = ((void *)0); .[ 756]: return ix; .[ 757]: } .[ 758]: if (ix == (-2)) { .[ 759]: if (freeslot == -1) .[ 760]: freeslot = i; .[ 761]: continue; .[ 762]: } .[ 763]: ep = &ep0[ix]; .[ 764]: (__builtin_expect(!(ep->me_key != ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "ep->me_key != NULL"\ . ) : (void)0); .[ 765]: if (ep->me_key == key) { .[ 766]: if (hashpos != ((void *)0)) { .[ 767]: *hashpos = i; .[ 768]: } .[ 769]: *value_addr = &ep->me_value; .[ 770]: return ix; .[ 771]: } .[ 772]: if (ep->me_hash == hash) { .[ 773]: startkey = ep->me_key; .[ 774]: ( _Py_RefTotal++ , ((PyObject *)(startkey))->ob_refcnt++); .[ 775]: cmp = PyObject_RichCompareBool(startkey, key, 2); .[ 776]: do { PyObject *_py_decref_tmp = (PyObject *)(startkey); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) \ . { if (((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 777]: if (cmp < 0) { .[ 778]: *value_addr = ((void *)0); .[ 779]: return (-3); .[ 780]: } .[ 781]: if (dk == mp->ma_keys && ep->me_key == startkey) { .[ 782]: if (cmp > 0) { .[ 783]: if (hashpos != ((void *)0)) { .[ 784]: *hashpos = i; .[ 785]: } .[ 786]: *value_addr = &ep->me_value; .[ 787]: return ix; .[ 788]: } .[ 789]: } .[ 790]: else { .[ 792]: goto top; .[ 793]: } .[ 794]: } .[ 795]: } .[ 796]: (__builtin_expect(!(0), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "0") : (void)0); .[ 797]: return 0; .[ 798]: } .[ 801]: static Py_ssize_t .[ 802]: lookdict_unicode(PyDictObject *mp, PyObject *key, .[ 803]: Py_hash_t hash, PyObject ***value_addr, Py_ssize_t *hashpos) .[ 804]: { .[ 805]: size_t i; .[ 806]: size_t mask = (((mp->ma_keys)->dk_size)-1); .[ 807]: Py_ssize_t ix, freeslot; .[ 808]: PyDictKeyEntry *ep, *ep0 = ((PyDictKeyEntry*)(&(mp->ma_keys)->dk_indices.as_1[((mp->ma_keys)->dk_size) * (\ . ((mp->ma_keys)->dk_size) <= 0xff ? 1 : ((mp->ma_keys)->dk_size) <= 0xffff ? 2 : ((mp->ma_keys)->dk_size) <= 0xffffffff \ . ? 4 : sizeof(int64_t))])); .[ 810]: (__builtin_expect(!(mp->ma_values == ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "mp->ma_values == NULL"\ . ) : (void)0); .[ 815]: if (!((((PyObject*)(key))->ob_type) == &PyUnicode_Type)) { .[ 816]: mp->ma_keys->dk_lookup = lookdict; .[ 817]: return lookdict(mp, key, hash, value_addr, hashpos); .[ 818]: } .[ 819]: i = (size_t)hash & mask; .[ 820]: ix = dk_get_index(mp->ma_keys, i); .[ 821]: if (ix == (-1)) { .[ 822]: if (hashpos != ((void *)0)) .[ 823]: *hashpos = i; .[ 824]: *value_addr = ((void *)0); .[ 825]: return (-1); .[ 826]: } .[ 827]: if (ix == (-2)) { .[ 828]: freeslot = i; .[ 829]: } .[ 830]: else { .[ 831]: ep = &ep0[ix]; .[ 832]: (__builtin_expect(!(ep->me_key != ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "ep->me_key != NULL"\ . ) : (void)0); .[ 833]: if (ep->me_key == key .[ 834]: || (ep->me_hash == hash && unicode_eq(ep->me_key, key))) { .[ 835]: if (hashpos != ((void *)0)) .[ 836]: *hashpos = i; .[ 837]: *value_addr = &ep->me_value; .[ 838]: return ix; .[ 839]: } .[ 840]: freeslot = -1; .[ 841]: } .[ 843]: for (size_t perturb = hash;;) { .[ 844]: perturb >>= 5; .[ 845]: i = mask & ((i << 2) + i + perturb + 1); .[ 846]: ix = dk_get_index(mp->ma_keys, i); .[ 847]: if (ix == (-1)) { .[ 848]: if (hashpos != ((void *)0)) { .[ 849]: *hashpos = (freeslot == -1) ? (Py_ssize_t)i : freeslot; .[ 850]: } .[ 851]: *value_addr = ((void *)0); .[ 852]: return (-1); .[ 853]: } .[ 854]: if (ix == (-2)) { .[ 855]: if (freeslot == -1) .[ 856]: freeslot = i; .[ 857]: continue; .[ 858]: } .[ 859]: ep = &ep0[ix]; .[ 860]: (__builtin_expect(!(ep->me_key != ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "ep->me_key != NULL"\ . ) : (void)0); .[ 861]: if (ep->me_key == key .[ 862]: || (ep->me_hash == hash && unicode_eq(ep->me_key, key))) { .[ 863]: *value_addr = &ep->me_value; .[ 864]: if (hashpos != ((void *)0)) { .[ 865]: *hashpos = i; .[ 866]: } .[ 867]: return ix; .[ 868]: } .[ 869]: } .[ 870]: (__builtin_expect(!(0), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "0") : (void)0); .[ 871]: return 0; .[ 872]: } .[ 876]: static Py_ssize_t .[ 877]: lookdict_unicode_nodummy(PyDictObject *mp, PyObject *key, .[ 878]: Py_hash_t hash, PyObject ***value_addr, .[ 879]: Py_ssize_t *hashpos) .[ 880]: { .[ 881]: size_t i; .[ 882]: size_t mask = (((mp->ma_keys)->dk_size)-1); .[ 883]: Py_ssize_t ix; .[ 884]: PyDictKeyEntry *ep, *ep0 = ((PyDictKeyEntry*)(&(mp->ma_keys)->dk_indices.as_1[((mp->ma_keys)->dk_size) * (\ . ((mp->ma_keys)->dk_size) <= 0xff ? 1 : ((mp->ma_keys)->dk_size) <= 0xffff ? 2 : ((mp->ma_keys)->dk_size) <= 0xffffffff \ . ? 4 : sizeof(int64_t))])); .[ 886]: (__builtin_expect(!(mp->ma_values == ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "mp->ma_values == NULL"\ . ) : (void)0); .[ 891]: if (!((((PyObject*)(key))->ob_type) == &PyUnicode_Type)) { .[ 892]: mp->ma_keys->dk_lookup = lookdict; .[ 893]: return lookdict(mp, key, hash, value_addr, hashpos); .[ 894]: } .[ 895]: i = (size_t)hash & mask; .[ 896]: ix = dk_get_index(mp->ma_keys, i); .[ 897]: (__builtin_expect(!(ix != (-2)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "ix != DKIX_DUMMY") : (void)0\ . ); .[ 898]: if (ix == (-1)) { .[ 899]: if (hashpos != ((void *)0)) .[ 900]: *hashpos = i; .[ 901]: *value_addr = ((void *)0); .[ 902]: return (-1); .[ 903]: } .[ 904]: ep = &ep0[ix]; .[ 905]: (__builtin_expect(!(ep->me_key != ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "ep->me_key != NULL"\ . ) : (void)0); .[ 906]: (__builtin_expect(!(((((PyObject*)(ep->me_key))->ob_type) == &PyUnicode_Type)), 0) ? __assert_rtn(__func__\ . , __FILE__, __LINE__, "PyUnicode_CheckExact(ep->me_key)") : (void)0); .[ 907]: if (ep->me_key == key || .[ 908]: (ep->me_hash == hash && unicode_eq(ep->me_key, key))) { .[ 909]: if (hashpos != ((void *)0)) .[ 910]: *hashpos = i; .[ 911]: *value_addr = &ep->me_value; .[ 912]: return ix; .[ 913]: } .[ 914]: for (size_t perturb = hash;;) { .[ 915]: perturb >>= 5; .[ 916]: i = mask & ((i << 2) + i + perturb + 1); .[ 917]: ix = dk_get_index(mp->ma_keys, i); .[ 918]: (__builtin_expect(!(ix != (-2)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "ix != DKIX_DUMMY") : (void)0\ . ); .[ 919]: if (ix == (-1)) { .[ 920]: if (hashpos != ((void *)0)) .[ 921]: *hashpos = i; .[ 922]: *value_addr = ((void *)0); .[ 923]: return (-1); .[ 924]: } .[ 925]: ep = &ep0[ix]; .[ 926]: (__builtin_expect(!(ep->me_key != ((void *)0) && ((((PyObject*)(ep->me_key))->ob_type) == &PyUnicode_Type))\ . , 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "ep->me_key != NULL && PyUnicode_CheckExact(ep->me_key)"\ . ) : (void)0); .[ 927]: if (ep->me_key == key || .[ 928]: (ep->me_hash == hash && unicode_eq(ep->me_key, key))) { .[ 929]: if (hashpos != ((void *)0)) .[ 930]: *hashpos = i; .[ 931]: *value_addr = &ep->me_value; .[ 932]: return ix; .[ 933]: } .[ 934]: } .[ 935]: (__builtin_expect(!(0), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "0") : (void)0); .[ 936]: return 0; .[ 937]: } .[ 944]: static Py_ssize_t .[ 945]: lookdict_split(PyDictObject *mp, PyObject *key, .[ 946]: Py_hash_t hash, PyObject ***value_addr, Py_ssize_t *hashpos) .[ 947]: { .[ 948]: size_t i; .[ 949]: size_t mask = (((mp->ma_keys)->dk_size)-1); .[ 950]: Py_ssize_t ix; .[ 951]: PyDictKeyEntry *ep, *ep0 = ((PyDictKeyEntry*)(&(mp->ma_keys)->dk_indices.as_1[((mp->ma_keys)->dk_size) * (\ . ((mp->ma_keys)->dk_size) <= 0xff ? 1 : ((mp->ma_keys)->dk_size) <= 0xffff ? 2 : ((mp->ma_keys)->dk_size) <= 0xffffffff \ . ? 4 : sizeof(int64_t))])); .[ 954]: (__builtin_expect(!(mp->ma_values != ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "mp->ma_values != NULL"\ . ) : (void)0); .[ 955]: if (!((((PyObject*)(key))->ob_type) == &PyUnicode_Type)) { .[ 956]: ix = lookdict(mp, key, hash, value_addr, hashpos); .[ 957]: if (ix >= 0) { .[ 958]: *value_addr = &mp->ma_values[ix]; .[ 959]: } .[ 960]: return ix; .[ 961]: } .[ 963]: i = (size_t)hash & mask; .[ 964]: ix = dk_get_index(mp->ma_keys, i); .[ 965]: if (ix == (-1)) { .[ 966]: if (hashpos != ((void *)0)) .[ 967]: *hashpos = i; .[ 968]: *value_addr = ((void *)0); .[ 969]: return (-1); .[ 970]: } .[ 971]: (__builtin_expect(!(ix >= 0), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "ix >= 0") : (void)0); .[ 972]: ep = &ep0[ix]; .[ 973]: (__builtin_expect(!(ep->me_key != ((void *)0) && ((((PyObject*)(ep->me_key))->ob_type) == &PyUnicode_Type))\ . , 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "ep->me_key != NULL && PyUnicode_CheckExact(ep->me_key)"\ . ) : (void)0); .[ 974]: if (ep->me_key == key || .[ 975]: (ep->me_hash == hash && unicode_eq(ep->me_key, key))) { .[ 976]: if (hashpos != ((void *)0)) .[ 977]: *hashpos = i; .[ 978]: *value_addr = &mp->ma_values[ix]; .[ 979]: return ix; .[ 980]: } .[ 981]: for (size_t perturb = hash;;) { .[ 982]: perturb >>= 5; .[ 983]: i = mask & ((i << 2) + i + perturb + 1); .[ 984]: ix = dk_get_index(mp->ma_keys, i); .[ 985]: if (ix == (-1)) { .[ 986]: if (hashpos != ((void *)0)) .[ 987]: *hashpos = i; .[ 988]: *value_addr = ((void *)0); .[ 989]: return (-1); .[ 990]: } .[ 991]: (__builtin_expect(!(ix >= 0), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "ix >= 0") : (void)0); .[ 992]: ep = &ep0[ix]; .[ 993]: (__builtin_expect(!(ep->me_key != ((void *)0) && ((((PyObject*)(ep->me_key))->ob_type) == &PyUnicode_Type))\ . , 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "ep->me_key != NULL && PyUnicode_CheckExact(ep->me_key)"\ . ) : (void)0); .[ 994]: if (ep->me_key == key || .[ 995]: (ep->me_hash == hash && unicode_eq(ep->me_key, key))) { .[ 996]: if (hashpos != ((void *)0)) .[ 997]: *hashpos = i; .[ 998]: *value_addr = &mp->ma_values[ix]; .[ 999]: return ix; .[ 1000]: } .[ 1001]: } .[ 1002]: (__builtin_expect(!(0), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "0") : (void)0); .[ 1003]: return 0; .[ 1004]: } .[ 1006]: int .[ 1007]: _PyDict_HasOnlyStringKeys(PyObject *dict) .[ 1008]: { .[ 1009]: Py_ssize_t pos = 0; .[ 1010]: PyObject *key, *value; .[ 1011]: (__builtin_expect(!(((( (((PyObject*)(dict))->ob_type))->tp_flags & ( (1UL << 29))) != 0)), 0) ? __assert_rtn(__func__\ . , __FILE__, __LINE__, "PyDict_Check(dict)") : (void)0); .[ 1013]: if (((PyDictObject *)dict)->ma_keys->dk_lookup != lookdict) .[ 1014]: return 1; .[ 1015]: while (PyDict_Next(dict, &pos, &key, &value)) .[ 1016]: if (!((( (((PyObject*)(key))->ob_type))->tp_flags & ( (1UL << 28))) != 0)) .[ 1017]: return 0; .[ 1018]: return 1; .[ 1019]: } .[ 1031]: void .[ 1032]: _PyDict_MaybeUntrack(PyObject *op) .[ 1033]: { .[ 1034]: PyDictObject *mp; .[ 1035]: PyObject *value; .[ 1036]: Py_ssize_t i, numentries; .[ 1037]: PyDictKeyEntry *ep0; .[ 1039]: if (!((((PyObject*)(op))->ob_type) == &PyDict_Type) || !((( ((PyGC_Head *)(op)-1))->gc.gc_refs >> (1)) != (-2))\ . ) .[ 1040]: return; .[ 1042]: mp = (PyDictObject *) op; .[ 1043]: ep0 = ((PyDictKeyEntry*)(&(mp->ma_keys)->dk_indices.as_1[((mp->ma_keys)->dk_size) * (((mp->ma_keys)->dk_size\ . ) <= 0xff ? 1 : ((mp->ma_keys)->dk_size) <= 0xffff ? 2 : ((mp->ma_keys)->dk_size) <= 0xffffffff ? 4 : sizeof(int64_t))\ . ])); .[ 1044]: numentries = mp->ma_keys->dk_nentries; .[ 1045]: if (((mp)->ma_values != ((void *)0))) { .[ 1046]: for (i = 0; i < numentries; i++) { .[ 1047]: if ((value = mp->ma_values[i]) == ((void *)0)) .[ 1048]: continue; .[ 1049]: if (((((( (((( PyObject*)(value))->ob_type)))->tp_flags & ( (1UL << 14))) != 0) && ((((PyObject*)(value))->ob_type\ . )->tp_is_gc == ((void *)0) || (((PyObject*)(value))->ob_type)->tp_is_gc(value))) && (!((((PyObject*)(value)\ . )->ob_type) == &PyTuple_Type) || ((( ((PyGC_Head *)(value)-1))->gc.gc_refs >> (1)) != (-2))))) { .[ 1050]: (__builtin_expect(!(!((((( (((( PyObject*)(ep0[i].me_key))->ob_type)))->tp_flags & ( (1UL << 14))) != 0) && (((\ . (PyObject*)(ep0[i].me_key))->ob_type)->tp_is_gc == ((void *)0) || (((PyObject*)(ep0[i].me_key))->ob_type)\ . ->tp_is_gc(ep0[i].me_key))) && (!((((PyObject*)(ep0[i].me_key))->ob_type) == &PyTuple_Type) || ((( ((PyGC_Head \ . *)(ep0[i].me_key)-1))->gc.gc_refs >> (1)) != (-2))))), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "!_PyObject_GC_MAY_BE_TRACKED(ep0[i].me_key)"\ . ) : (void)0); .[ 1051]: return; .[ 1052]: } .[ 1053]: } .[ 1054]: } .[ 1055]: else { .[ 1056]: for (i = 0; i < numentries; i++) { .[ 1057]: if ((value = ep0[i].me_value) == ((void *)0)) .[ 1058]: continue; .[ 1059]: if (((((( (((( PyObject*)(value))->ob_type)))->tp_flags & ( (1UL << 14))) != 0) && ((((PyObject*)(value))->ob_type\ . )->tp_is_gc == ((void *)0) || (((PyObject*)(value))->ob_type)->tp_is_gc(value))) && (!((((PyObject*)(value)\ . )->ob_type) == &PyTuple_Type) || ((( ((PyGC_Head *)(value)-1))->gc.gc_refs >> (1)) != (-2)))) || .[ 1060]: ((((( (((( PyObject*)(ep0[i].me_key))->ob_type)))->tp_flags & ( (1UL << 14))) != 0) && ((((PyObject*)(ep0[i].me_key\ . ))->ob_type)->tp_is_gc == ((void *)0) || (((PyObject*)(ep0[i].me_key))->ob_type)->tp_is_gc(ep0[i].me_key)\ . )) && (!((((PyObject*)(ep0[i].me_key))->ob_type) == &PyTuple_Type) || ((( ((PyGC_Head *)(ep0[i].me_key)-1))->\ . gc.gc_refs >> (1)) != (-2))))) .[ 1061]: return; .[ 1062]: } .[ 1063]: } .[ 1064]: do { PyGC_Head *g = ((PyGC_Head *)(op)-1); (__builtin_expect(!(((g)->gc.gc_refs >> (1)) != (-2)), 0) ? __assert_rtn\ . (__func__, __FILE__, __LINE__, "_PyGCHead_REFS(g) != _PyGC_REFS_UNTRACKED") : (void)0); do { (g)->gc.gc_refs \ . = ((g)->gc.gc_refs & ~(((size_t) -1) << (1))) | (((size_t)( (-2))) << (1)); } while (0); g->gc.gc_prev->gc.gc_next = \ . g->gc.gc_next; g->gc.gc_next->gc.gc_prev = g->gc.gc_prev; g->gc.gc_next = ((void *)0); } while (0);; .[ 1065]: } .[ 1071]: static void .[ 1072]: find_empty_slot(PyDictObject *mp, PyObject *key, Py_hash_t hash, .[ 1073]: PyObject ***value_addr, Py_ssize_t *hashpos) .[ 1074]: { .[ 1075]: size_t i; .[ 1076]: size_t mask = (((mp->ma_keys)->dk_size)-1); .[ 1077]: Py_ssize_t ix; .[ 1078]: PyDictKeyEntry *ep, *ep0 = ((PyDictKeyEntry*)(&(mp->ma_keys)->dk_indices.as_1[((mp->ma_keys)->dk_size) * (\ . ((mp->ma_keys)->dk_size) <= 0xff ? 1 : ((mp->ma_keys)->dk_size) <= 0xffff ? 2 : ((mp->ma_keys)->dk_size) <= 0xffffffff \ . ? 4 : sizeof(int64_t))])); .[ 1080]: (__builtin_expect(!(!((mp)->ma_values != ((void *)0))), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "!_PyDict_HasSplitTable(mp)"\ . ) : (void)0); .[ 1081]: (__builtin_expect(!(hashpos != ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "hashpos != NULL"\ . ) : (void)0); .[ 1082]: (__builtin_expect(!(key != ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "key != NULL") : (void\ . )0); .[ 1084]: if (!((((PyObject*)(key))->ob_type) == &PyUnicode_Type)) .[ 1085]: mp->ma_keys->dk_lookup = lookdict; .[ 1086]: i = hash & mask; .[ 1087]: ix = dk_get_index(mp->ma_keys, i); .[ 1088]: for (size_t perturb = hash; ix != (-1);) { .[ 1089]: perturb >>= 5; .[ 1090]: i = (i << 2) + i + perturb + 1; .[ 1091]: ix = dk_get_index(mp->ma_keys, i & mask); .[ 1092]: } .[ 1093]: ep = &ep0[mp->ma_keys->dk_nentries]; .[ 1094]: *hashpos = i & mask; .[ 1095]: (__builtin_expect(!(ep->me_value == ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "ep->me_value == NULL"\ . ) : (void)0); .[ 1096]: *value_addr = &ep->me_value; .[ 1097]: } .[ 1099]: static int .[ 1100]: insertion_resize(PyDictObject *mp) .[ 1101]: { .[ 1102]: return dictresize(mp, (((mp)->ma_used*2)+((mp)->ma_keys->dk_size>>1))); .[ 1103]: } .[ 1110]: static int .[ 1111]: insertdict(PyDictObject *mp, PyObject *key, Py_hash_t hash, PyObject *value) .[ 1112]: { .[ 1113]: PyObject *old_value; .[ 1114]: PyObject **value_addr; .[ 1115]: PyDictKeyEntry *ep, *ep0; .[ 1116]: Py_ssize_t hashpos, ix; .[ 1118]: ( _Py_RefTotal++ , ((PyObject *)(key))->ob_refcnt++); .[ 1119]: ( _Py_RefTotal++ , ((PyObject *)(value))->ob_refcnt++); .[ 1120]: if (mp->ma_values != ((void *)0) && !((((PyObject*)(key))->ob_type) == &PyUnicode_Type)) { .[ 1121]: if (insertion_resize(mp) < 0) .[ 1122]: goto Fail; .[ 1123]: } .[ 1125]: ix = mp->ma_keys->dk_lookup(mp, key, hash, &value_addr, &hashpos); .[ 1126]: if (ix == (-3)) .[ 1127]: goto Fail; .[ 1129]: (__builtin_expect(!(((((PyObject*)(key))->ob_type) == &PyUnicode_Type) || mp->ma_keys->dk_lookup == lookdict\ . ), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "PyUnicode_CheckExact(key) || mp->ma_keys->dk_lookup == lookdict"\ . ) : (void)0); .[ 1130]: do { if (!((( ((PyGC_Head *)(mp)-1))->gc.gc_refs >> (1)) != (-2))) { if (((((( (((( PyObject*)(key))->ob_type)))->\ . tp_flags & ( (1UL << 14))) != 0) && ((((PyObject*)(key))->ob_type)->tp_is_gc == ((void *)0) || (((PyObject*)(key))\ . ->ob_type)->tp_is_gc(key))) && (!((((PyObject*)(key))->ob_type) == &PyTuple_Type) || ((( ((PyGC_Head *)(key)\ . -1))->gc.gc_refs >> (1)) != (-2)))) || ((((( (((( PyObject*)(value))->ob_type)))->tp_flags & ( (1UL << 14))) != 0) && \ . ((((PyObject*)(value))->ob_type)->tp_is_gc == ((void *)0) || (((PyObject*)(value))->ob_type)->tp_is_gc(value\ . ))) && (!((((PyObject*)(value))->ob_type) == &PyTuple_Type) || ((( ((PyGC_Head *)(value)-1))->gc.gc_refs >> (1\ . )) != (-2))))) { do { PyGC_Head *g = ((PyGC_Head *)(mp)-1); if (((g)->gc.gc_refs >> (1)) != (-2)) Py_FatalError("GC object already tracked"\ . ); do { (g)->gc.gc_refs = ((g)->gc.gc_refs & ~(((size_t) -1) << (1))) | (((size_t)( (-3))) << (1)); } while (0); g->gc.\ . gc_next = _PyGC_generation0; g->gc.gc_prev = _PyGC_generation0->gc.gc_prev; g->gc.gc_prev->gc.gc_next = g; _PyGC_generation0\ . ->gc.gc_prev = g; } while (0);; } } } while(0); .[ 1135]: if (((mp)->ma_values != ((void *)0)) && .[ 1136]: ((ix >= 0 && *value_addr == ((void *)0) && mp->ma_used != ix) || .[ 1137]: (ix == (-1) && mp->ma_used != mp->ma_keys->dk_nentries))) { .[ 1138]: if (insertion_resize(mp) < 0) .[ 1139]: goto Fail; .[ 1140]: find_empty_slot(mp, key, hash, &value_addr, &hashpos); .[ 1141]: ix = (-1); .[ 1142]: } .[ 1144]: if (ix == (-1)) { .[ 1146]: if (mp->ma_keys->dk_usable <= 0) { .[ 1148]: if (insertion_resize(mp) < 0) .[ 1149]: goto Fail; .[ 1150]: find_empty_slot(mp, key, hash, &value_addr, &hashpos); .[ 1151]: } .[ 1152]: ep0 = ((PyDictKeyEntry*)(&(mp->ma_keys)->dk_indices.as_1[((mp->ma_keys)->dk_size) * (((mp->ma_keys)->dk_size\ . ) <= 0xff ? 1 : ((mp->ma_keys)->dk_size) <= 0xffff ? 2 : ((mp->ma_keys)->dk_size) <= 0xffffffff ? 4 : sizeof(int64_t))\ . ])); .[ 1153]: ep = &ep0[mp->ma_keys->dk_nentries]; .[ 1154]: dk_set_index(mp->ma_keys, hashpos, mp->ma_keys->dk_nentries); .[ 1155]: ep->me_key = key; .[ 1156]: ep->me_hash = hash; .[ 1157]: if (mp->ma_values) { .[ 1158]: (__builtin_expect(!(mp->ma_values[mp->ma_keys->dk_nentries] == ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__\ . , __LINE__, "mp->ma_values[mp->ma_keys->dk_nentries] == NULL") : (void)0); .[ 1159]: mp->ma_values[mp->ma_keys->dk_nentries] = value; .[ 1160]: } .[ 1161]: else { .[ 1162]: ep->me_value = value; .[ 1163]: } .[ 1164]: mp->ma_used++; .[ 1165]: mp->ma_version_tag = (++pydict_global_version); .[ 1166]: mp->ma_keys->dk_usable--; .[ 1167]: mp->ma_keys->dk_nentries++; .[ 1168]: (__builtin_expect(!(mp->ma_keys->dk_usable >= 0), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "mp->ma_keys->dk_usable >= 0"\ . ) : (void)0); .[ 1169]: (__builtin_expect(!(_PyDict_CheckConsistency(mp)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "_PyDict_CheckConsistency(mp)"\ . ) : (void)0); .[ 1170]: return 0; .[ 1171]: } .[ 1173]: (__builtin_expect(!(value_addr != ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "value_addr != NULL"\ . ) : (void)0); .[ 1175]: old_value = *value_addr; .[ 1176]: if (old_value != ((void *)0)) { .[ 1177]: *value_addr = value; .[ 1178]: mp->ma_version_tag = (++pydict_global_version); .[ 1179]: (__builtin_expect(!(_PyDict_CheckConsistency(mp)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "_PyDict_CheckConsistency(mp)"\ . ) : (void)0); .[ 1181]: do { PyObject *_py_decref_tmp = (PyObject *)(old_value); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0\ . ) { if (((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 1182]: do { PyObject *_py_decref_tmp = (PyObject *)(key); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if ((\ . (PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 1183]: return 0; .[ 1184]: } .[ 1187]: (__builtin_expect(!(((mp)->ma_values != ((void *)0))), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "_PyDict_HasSplitTable(mp)"\ . ) : (void)0); .[ 1188]: (__builtin_expect(!(ix == mp->ma_used), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "ix == mp->ma_used") \ . : (void)0); .[ 1189]: *value_addr = value; .[ 1190]: mp->ma_used++; .[ 1191]: mp->ma_version_tag = (++pydict_global_version); .[ 1192]: (__builtin_expect(!(_PyDict_CheckConsistency(mp)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "_PyDict_CheckConsistency(mp)"\ . ) : (void)0); .[ 1193]: do { PyObject *_py_decref_tmp = (PyObject *)(key); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if ((\ . (PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 1194]: return 0; .[ 1196]: Fail: .[ 1197]: do { PyObject *_py_decref_tmp = (PyObject *)(value); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if \ . (((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 1198]: do { PyObject *_py_decref_tmp = (PyObject *)(key); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if ((\ . (PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 1199]: return -1; .[ 1200]: } .[ 1212]: static void .[ 1213]: insertdict_clean(PyDictObject *mp, PyObject *key, Py_hash_t hash, .[ 1214]: PyObject *value) .[ 1215]: { .[ 1216]: size_t i; .[ 1217]: PyDictKeysObject *k = mp->ma_keys; .[ 1218]: size_t mask = (size_t)((k)->dk_size)-1; .[ 1219]: PyDictKeyEntry *ep0 = ((PyDictKeyEntry*)(&(mp->ma_keys)->dk_indices.as_1[((mp->ma_keys)->dk_size) * (((mp\ . ->ma_keys)->dk_size) <= 0xff ? 1 : ((mp->ma_keys)->dk_size) <= 0xffff ? 2 : ((mp->ma_keys)->dk_size) <= 0xffffffff \ . ? 4 : sizeof(int64_t))])); .[ 1220]: PyDictKeyEntry *ep; .[ 1222]: (__builtin_expect(!(k->dk_lookup != ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "k->dk_lookup != NULL"\ . ) : (void)0); .[ 1223]: (__builtin_expect(!(value != ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "value != NULL") : (\ . void)0); .[ 1224]: (__builtin_expect(!(key != ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "key != NULL") : (void\ . )0); .[ 1225]: (__builtin_expect(!(((((PyObject*)(key))->ob_type) == &PyUnicode_Type) || k->dk_lookup == lookdict), 0) ? __assert_rtn\ . (__func__, __FILE__, __LINE__, "PyUnicode_CheckExact(key) || k->dk_lookup == lookdict") : (void)0); .[ 1226]: i = hash & mask; .[ 1227]: for (size_t perturb = hash; dk_get_index(k, i) != (-1);) { .[ 1228]: perturb >>= 5; .[ 1229]: i = mask & ((i << 2) + i + perturb + 1); .[ 1230]: } .[ 1231]: ep = &ep0[k->dk_nentries]; .[ 1232]: (__builtin_expect(!(ep->me_value == ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "ep->me_value == NULL"\ . ) : (void)0); .[ 1233]: dk_set_index(k, i, k->dk_nentries); .[ 1234]: k->dk_nentries++; .[ 1235]: ep->me_key = key; .[ 1236]: ep->me_hash = hash; .[ 1237]: ep->me_value = value; .[ 1238]: } .[ 1250]: static int .[ 1251]: dictresize(PyDictObject *mp, Py_ssize_t minsize) .[ 1252]: { .[ 1253]: Py_ssize_t i, newsize; .[ 1254]: PyDictKeysObject *oldkeys; .[ 1255]: PyObject **oldvalues; .[ 1256]: PyDictKeyEntry *ep0; .[ 1259]: for (newsize = 8; .[ 1260]: newsize < minsize && newsize > 0; .[ 1261]: newsize <<= 1) .[ 1262]: ; .[ 1263]: if (newsize <= 0) { .[ 1264]: PyErr_NoMemory(); .[ 1265]: return -1; .[ 1266]: } .[ 1267]: oldkeys = mp->ma_keys; .[ 1268]: oldvalues = mp->ma_values; .[ 1270]: mp->ma_keys = new_keys_object(newsize); .[ 1271]: if (mp->ma_keys == ((void *)0)) { .[ 1272]: mp->ma_keys = oldkeys; .[ 1273]: return -1; .[ 1274]: } .[ 1276]: (__builtin_expect(!(mp->ma_keys->dk_usable >= mp->ma_used), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, \ . "mp->ma_keys->dk_usable >= mp->ma_used") : (void)0); .[ 1277]: if (oldkeys->dk_lookup == lookdict) .[ 1278]: mp->ma_keys->dk_lookup = lookdict; .[ 1279]: mp->ma_values = ((void *)0); .[ 1280]: ep0 = ((PyDictKeyEntry*)(&(oldkeys)->dk_indices.as_1[((oldkeys)->dk_size) * (((oldkeys)->dk_size) <= 0xff ? \ . 1 : ((oldkeys)->dk_size) <= 0xffff ? 2 : ((oldkeys)->dk_size) <= 0xffffffff ? 4 : sizeof(int64_t))])); .[ 1285]: if (oldvalues != ((void *)0)) { .[ 1286]: for (i = 0; i < oldkeys->dk_nentries; i++) { .[ 1287]: if (oldvalues[i] != ((void *)0)) { .[ 1288]: ( _Py_RefTotal++ , ((PyObject *)(ep0[i].me_key))->ob_refcnt++); .[ 1289]: ep0[i].me_value = oldvalues[i]; .[ 1290]: } .[ 1291]: } .[ 1292]: } .[ 1294]: for (i = 0; i < oldkeys->dk_nentries; i++) { .[ 1295]: PyDictKeyEntry *ep = &ep0[i]; .[ 1296]: if (ep->me_value != ((void *)0)) { .[ 1297]: insertdict_clean(mp, ep->me_key, ep->me_hash, ep->me_value); .[ 1298]: } .[ 1299]: } .[ 1300]: mp->ma_keys->dk_usable -= mp->ma_used; .[ 1301]: if (oldvalues != ((void *)0)) { .[ 1303]: for (i = 0; i < oldkeys->dk_nentries; i++) .[ 1304]: ep0[i].me_value = ((void *)0); .[ 1305]: if (_Py_RefTotal-- , (--(oldkeys)->dk_refcnt) == 0) free_keys_object(oldkeys); .[ 1306]: if (oldvalues != empty_values) { .[ 1307]: PyMem_Free(oldvalues); .[ 1308]: } .[ 1309]: } .[ 1310]: else { .[ 1311]: (__builtin_expect(!(oldkeys->dk_lookup != lookdict_split), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "oldkeys->dk_lookup != lookdict_split"\ . ) : (void)0); .[ 1312]: (__builtin_expect(!(oldkeys->dk_refcnt == 1), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "oldkeys->dk_refcnt == 1"\ . ) : (void)0); .[ 1313]: _Py_RefTotal-- , PyObject_Free(oldkeys); .[ 1314]: } .[ 1315]: return 0; .[ 1316]: } .[ 1320]: static PyDictKeysObject * .[ 1321]: make_keys_shared(PyObject *op) .[ 1322]: { .[ 1323]: Py_ssize_t i; .[ 1324]: Py_ssize_t size; .[ 1325]: PyDictObject *mp = (PyDictObject *)op; .[ 1327]: if (!((((PyObject*)(op))->ob_type) == &PyDict_Type)) .[ 1328]: return ((void *)0); .[ 1329]: if (!((mp)->ma_values != ((void *)0))) { .[ 1330]: PyDictKeyEntry *ep0; .[ 1331]: PyObject **values; .[ 1332]: (__builtin_expect(!(mp->ma_keys->dk_refcnt == 1), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "mp->ma_keys->dk_refcnt == 1"\ . ) : (void)0); .[ 1333]: if (mp->ma_keys->dk_lookup == lookdict) { .[ 1334]: return ((void *)0); .[ 1335]: } .[ 1336]: else if (mp->ma_keys->dk_lookup == lookdict_unicode) { .[ 1338]: if (dictresize(mp, ((mp->ma_keys)->dk_size))) .[ 1339]: return ((void *)0); .[ 1340]: } .[ 1341]: (__builtin_expect(!(mp->ma_keys->dk_lookup == lookdict_unicode_nodummy), 0) ? __assert_rtn(__func__, __FILE__\ . , __LINE__, "mp->ma_keys->dk_lookup == lookdict_unicode_nodummy") : (void)0); .[ 1343]: ep0 = ((PyDictKeyEntry*)(&(mp->ma_keys)->dk_indices.as_1[((mp->ma_keys)->dk_size) * (((mp->ma_keys)->dk_size\ . ) <= 0xff ? 1 : ((mp->ma_keys)->dk_size) <= 0xffff ? 2 : ((mp->ma_keys)->dk_size) <= 0xffffffff ? 4 : sizeof(int64_t))\ . ])); .[ 1344]: size = ((( ((mp->ma_keys)->dk_size)) << 1)/3); .[ 1345]: values = ( ((size_t)(size) > ((Py_ssize_t)(((size_t)-1)>>1)) / sizeof(PyObject *)) ? ((void *)0) : ( (PyObject * *) PyMem_Malloc\ . ( (size) * sizeof(PyObject *)) ) ); .[ 1346]: if (values == ((void *)0)) { .[ 1347]: PyErr_SetString(PyExc_MemoryError, .[ 1348]: "Not enough memory to allocate new values array"); .[ 1349]: return ((void *)0); .[ 1350]: } .[ 1351]: for (i = 0; i < size; i++) { .[ 1352]: values[i] = ep0[i].me_value; .[ 1353]: ep0[i].me_value = ((void *)0); .[ 1354]: } .[ 1355]: mp->ma_keys->dk_lookup = lookdict_split; .[ 1356]: mp->ma_values = values; .[ 1357]: } .[ 1358]: (_Py_RefTotal++ , ++(mp->ma_keys)->dk_refcnt); .[ 1359]: return mp->ma_keys; .[ 1360]: } .[ 1362]: PyObject * .[ 1363]: _PyDict_NewPresized(Py_ssize_t minused) .[ 1364]: { .[ 1365]: __const Py_ssize_t max_presize = 128 * 1024; .[ 1366]: Py_ssize_t newsize; .[ 1367]: PyDictKeysObject *new_keys; .[ 1373]: if (minused > (((max_presize) << 1)/3)) { .[ 1374]: newsize = max_presize; .[ 1375]: } .[ 1376]: else { .[ 1377]: Py_ssize_t minsize = (((minused)*3+1) >> 1); .[ 1378]: newsize = 8; .[ 1379]: while (newsize < minsize) { .[ 1380]: newsize <<= 1; .[ 1381]: } .[ 1382]: } .[ 1383]: (__builtin_expect(!((((newsize) & (newsize-1)) == 0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "IS_POWER_OF_2(newsize)"\ . ) : (void)0); .[ 1385]: new_keys = new_keys_object(newsize); .[ 1386]: if (new_keys == ((void *)0)) .[ 1387]: return ((void *)0); .[ 1388]: return new_dict(new_keys, ((void *)0)); .[ 1389]: } .[ 1401]: PyObject * .[ 1402]: PyDict_GetItem(PyObject *op, PyObject *key) .[ 1403]: { .[ 1404]: Py_hash_t hash; .[ 1405]: Py_ssize_t ix; .[ 1406]: PyDictObject *mp = (PyDictObject *)op; .[ 1407]: PyThreadState *tstate; .[ 1408]: PyObject **value_addr; .[ 1410]: if (!((( (((PyObject*)(op))->ob_type))->tp_flags & ( (1UL << 29))) != 0)) .[ 1411]: return ((void *)0); .[ 1412]: if (!((((PyObject*)(key))->ob_type) == &PyUnicode_Type) || .[ 1413]: (hash = ((PyASCIIObject *) key)->hash) == -1) .[ 1414]: { .[ 1415]: hash = PyObject_Hash(key); .[ 1416]: if (hash == -1) { .[ 1417]: PyErr_Clear(); .[ 1418]: return ((void *)0); .[ 1419]: } .[ 1420]: } .[ 1427]: tstate = _PyThreadState_UncheckedGet(); .[ 1428]: if (tstate != ((void *)0) && tstate->curexc_type != ((void *)0)) { .[ 1430]: PyObject *err_type, *err_value, *err_tb; .[ 1431]: PyErr_Fetch(&err_type, &err_value, &err_tb); .[ 1432]: ix = (mp->ma_keys->dk_lookup)(mp, key, hash, &value_addr, ((void *)0)); .[ 1434]: PyErr_Restore(err_type, err_value, err_tb); .[ 1435]: if (ix < 0) .[ 1436]: return ((void *)0); .[ 1437]: } .[ 1438]: else { .[ 1439]: ix = (mp->ma_keys->dk_lookup)(mp, key, hash, &value_addr, ((void *)0)); .[ 1440]: if (ix < 0) { .[ 1441]: PyErr_Clear(); .[ 1442]: return ((void *)0); .[ 1443]: } .[ 1444]: } .[ 1445]: return *value_addr; .[ 1446]: } .[ 1452]: PyObject * .[ 1453]: _PyDict_GetItem_KnownHash(PyObject *op, PyObject *key, Py_hash_t hash) .[ 1454]: { .[ 1455]: Py_ssize_t ix; .[ 1456]: PyDictObject *mp = (PyDictObject *)op; .[ 1457]: PyObject **value_addr; .[ 1459]: if (!((( (((PyObject*)(op))->ob_type))->tp_flags & ( (1UL << 29))) != 0)) { .[ 1460]: _PyErr_BadInternalCall(__FILE__, __LINE__); .[ 1461]: return ((void *)0); .[ 1462]: } .[ 1464]: ix = (mp->ma_keys->dk_lookup)(mp, key, hash, &value_addr, ((void *)0)); .[ 1465]: if (ix < 0) { .[ 1466]: return ((void *)0); .[ 1467]: } .[ 1468]: return *value_addr; .[ 1469]: } .[ 1475]: PyObject * .[ 1476]: PyDict_GetItemWithError(PyObject *op, PyObject *key) .[ 1477]: { .[ 1478]: Py_ssize_t ix; .[ 1479]: Py_hash_t hash; .[ 1480]: PyDictObject*mp = (PyDictObject *)op; .[ 1481]: PyObject **value_addr; .[ 1483]: if (!((( (((PyObject*)(op))->ob_type))->tp_flags & ( (1UL << 29))) != 0)) { .[ 1484]: _PyErr_BadInternalCall(__FILE__, __LINE__); .[ 1485]: return ((void *)0); .[ 1486]: } .[ 1487]: if (!((((PyObject*)(key))->ob_type) == &PyUnicode_Type) || .[ 1488]: (hash = ((PyASCIIObject *) key)->hash) == -1) .[ 1489]: { .[ 1490]: hash = PyObject_Hash(key); .[ 1491]: if (hash == -1) { .[ 1492]: return ((void *)0); .[ 1493]: } .[ 1494]: } .[ 1496]: ix = (mp->ma_keys->dk_lookup)(mp, key, hash, &value_addr, ((void *)0)); .[ 1497]: if (ix < 0) .[ 1498]: return ((void *)0); .[ 1499]: return *value_addr; .[ 1500]: } .[ 1502]: PyObject * .[ 1503]: _PyDict_GetItemIdWithError(PyObject *dp, struct _Py_Identifier *key) .[ 1504]: { .[ 1505]: PyObject *kv; .[ 1506]: kv = _PyUnicode_FromId(key); .[ 1507]: if (kv == ((void *)0)) .[ 1508]: return ((void *)0); .[ 1509]: return PyDict_GetItemWithError(dp, kv); .[ 1510]: } .[ 1519]: PyObject * .[ 1520]: _PyDict_LoadGlobal(PyDictObject *globals, PyDictObject *builtins, PyObject *key) .[ 1521]: { .[ 1522]: Py_ssize_t ix; .[ 1523]: Py_hash_t hash; .[ 1524]: PyObject **value_addr; .[ 1526]: if (!((((PyObject*)(key))->ob_type) == &PyUnicode_Type) || .[ 1527]: (hash = ((PyASCIIObject *) key)->hash) == -1) .[ 1528]: { .[ 1529]: hash = PyObject_Hash(key); .[ 1530]: if (hash == -1) .[ 1531]: return ((void *)0); .[ 1532]: } .[ 1535]: ix = globals->ma_keys->dk_lookup(globals, key, hash, &value_addr, ((void *)0)); .[ 1536]: if (ix == (-3)) .[ 1537]: return ((void *)0); .[ 1538]: if (ix != (-1) && *value_addr != ((void *)0)) .[ 1539]: return *value_addr; .[ 1542]: ix = builtins->ma_keys->dk_lookup(builtins, key, hash, &value_addr, ((void *)0)); .[ 1543]: if (ix < 0) .[ 1544]: return ((void *)0); .[ 1545]: return *value_addr; .[ 1546]: } .[ 1554]: int .[ 1555]: PyDict_SetItem(PyObject *op, PyObject *key, PyObject *value) .[ 1556]: { .[ 1557]: PyDictObject *mp; .[ 1558]: Py_hash_t hash; .[ 1559]: if (!((( (((PyObject*)(op))->ob_type))->tp_flags & ( (1UL << 29))) != 0)) { .[ 1560]: _PyErr_BadInternalCall(__FILE__, __LINE__); .[ 1561]: return -1; .[ 1562]: } .[ 1563]: (__builtin_expect(!(key), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "key") : (void)0); .[ 1564]: (__builtin_expect(!(value), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "value") : (void)0); .[ 1565]: mp = (PyDictObject *)op; .[ 1566]: if (!((((PyObject*)(key))->ob_type) == &PyUnicode_Type) || .[ 1567]: (hash = ((PyASCIIObject *) key)->hash) == -1) .[ 1568]: { .[ 1569]: hash = PyObject_Hash(key); .[ 1570]: if (hash == -1) .[ 1571]: return -1; .[ 1572]: } .[ 1575]: return insertdict(mp, key, hash, value); .[ 1576]: } .[ 1578]: int .[ 1579]: _PyDict_SetItem_KnownHash(PyObject *op, PyObject *key, PyObject *value, .[ 1580]: Py_hash_t hash) .[ 1581]: { .[ 1582]: PyDictObject *mp; .[ 1584]: if (!((( (((PyObject*)(op))->ob_type))->tp_flags & ( (1UL << 29))) != 0)) { .[ 1585]: _PyErr_BadInternalCall(__FILE__, __LINE__); .[ 1586]: return -1; .[ 1587]: } .[ 1588]: (__builtin_expect(!(key), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "key") : (void)0); .[ 1589]: (__builtin_expect(!(value), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "value") : (void)0); .[ 1590]: (__builtin_expect(!(hash != -1), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "hash != -1") : (void)0); .[ 1591]: mp = (PyDictObject *)op; .[ 1594]: return insertdict(mp, key, hash, value); .[ 1595]: } .[ 1597]: static int .[ 1598]: delitem_common(PyDictObject *mp, Py_ssize_t hashpos, Py_ssize_t ix, .[ 1599]: PyObject **value_addr) .[ 1600]: { .[ 1601]: PyObject *old_key, *old_value; .[ 1602]: PyDictKeyEntry *ep; .[ 1604]: old_value = *value_addr; .[ 1605]: (__builtin_expect(!(old_value != ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "old_value != NULL"\ . ) : (void)0); .[ 1606]: *value_addr = ((void *)0); .[ 1607]: mp->ma_used--; .[ 1608]: mp->ma_version_tag = (++pydict_global_version); .[ 1609]: ep = &((PyDictKeyEntry*)(&(mp->ma_keys)->dk_indices.as_1[((mp->ma_keys)->dk_size) * (((mp->ma_keys)->dk_size\ . ) <= 0xff ? 1 : ((mp->ma_keys)->dk_size) <= 0xffff ? 2 : ((mp->ma_keys)->dk_size) <= 0xffffffff ? 4 : sizeof(int64_t))\ . ]))[ix]; .[ 1610]: dk_set_index(mp->ma_keys, hashpos, (-2)); .[ 1611]: if ((mp)->ma_keys->dk_lookup == lookdict_unicode_nodummy) { (mp)->ma_keys->dk_lookup = lookdict_unicode; }; .[ 1612]: old_key = ep->me_key; .[ 1613]: ep->me_key = ((void *)0); .[ 1614]: do { PyObject *_py_decref_tmp = (PyObject *)(old_key); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { \ . if (((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 1615]: do { PyObject *_py_decref_tmp = (PyObject *)(old_value); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0\ . ) { if (((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 1617]: (__builtin_expect(!(_PyDict_CheckConsistency(mp)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "_PyDict_CheckConsistency(mp)"\ . ) : (void)0); .[ 1618]: return 0; .[ 1619]: } .[ 1621]: int .[ 1622]: PyDict_DelItem(PyObject *op, PyObject *key) .[ 1623]: { .[ 1624]: Py_hash_t hash; .[ 1625]: (__builtin_expect(!(key), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "key") : (void)0); .[ 1626]: if (!((((PyObject*)(key))->ob_type) == &PyUnicode_Type) || .[ 1627]: (hash = ((PyASCIIObject *) key)->hash) == -1) { .[ 1628]: hash = PyObject_Hash(key); .[ 1629]: if (hash == -1) .[ 1630]: return -1; .[ 1631]: } .[ 1633]: return _PyDict_DelItem_KnownHash(op, key, hash); .[ 1634]: } .[ 1636]: int .[ 1637]: _PyDict_DelItem_KnownHash(PyObject *op, PyObject *key, Py_hash_t hash) .[ 1638]: { .[ 1639]: Py_ssize_t hashpos, ix; .[ 1640]: PyDictObject *mp; .[ 1641]: PyObject **value_addr; .[ 1643]: if (!((( (((PyObject*)(op))->ob_type))->tp_flags & ( (1UL << 29))) != 0)) { .[ 1644]: _PyErr_BadInternalCall(__FILE__, __LINE__); .[ 1645]: return -1; .[ 1646]: } .[ 1647]: (__builtin_expect(!(key), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "key") : (void)0); .[ 1648]: (__builtin_expect(!(hash != -1), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "hash != -1") : (void)0); .[ 1649]: mp = (PyDictObject *)op; .[ 1650]: ix = (mp->ma_keys->dk_lookup)(mp, key, hash, &value_addr, &hashpos); .[ 1651]: if (ix == (-3)) .[ 1652]: return -1; .[ 1653]: if (ix == (-1) || *value_addr == ((void *)0)) { .[ 1654]: _PyErr_SetKeyError(key); .[ 1655]: return -1; .[ 1656]: } .[ 1657]: (__builtin_expect(!(dk_get_index(mp->ma_keys, hashpos) == ix), 0) ? __assert_rtn(__func__, __FILE__, __LINE__\ . , "dk_get_index(mp->ma_keys, hashpos) == ix") : (void)0); .[ 1660]: if (((mp)->ma_values != ((void *)0))) { .[ 1661]: if (dictresize(mp, ((mp->ma_keys)->dk_size))) { .[ 1662]: return -1; .[ 1663]: } .[ 1664]: ix = (mp->ma_keys->dk_lookup)(mp, key, hash, &value_addr, &hashpos); .[ 1665]: (__builtin_expect(!(ix >= 0), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "ix >= 0") : (void)0); .[ 1666]: } .[ 1667]: return delitem_common(mp, hashpos, ix, value_addr); .[ 1668]: } .[ 1674]: int .[ 1675]: _PyDict_DelItemIf(PyObject *op, PyObject *key, .[ 1676]: int (*predicate)(PyObject *value)) .[ 1677]: { .[ 1678]: Py_ssize_t hashpos, ix; .[ 1679]: PyDictObject *mp; .[ 1680]: Py_hash_t hash; .[ 1681]: PyObject **value_addr; .[ 1682]: int res; .[ 1684]: if (!((( (((PyObject*)(op))->ob_type))->tp_flags & ( (1UL << 29))) != 0)) { .[ 1685]: _PyErr_BadInternalCall(__FILE__, __LINE__); .[ 1686]: return -1; .[ 1687]: } .[ 1688]: (__builtin_expect(!(key), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "key") : (void)0); .[ 1689]: hash = PyObject_Hash(key); .[ 1690]: if (hash == -1) .[ 1691]: return -1; .[ 1692]: mp = (PyDictObject *)op; .[ 1693]: ix = (mp->ma_keys->dk_lookup)(mp, key, hash, &value_addr, &hashpos); .[ 1694]: if (ix == (-3)) .[ 1695]: return -1; .[ 1696]: if (ix == (-1) || *value_addr == ((void *)0)) { .[ 1697]: _PyErr_SetKeyError(key); .[ 1698]: return -1; .[ 1699]: } .[ 1700]: (__builtin_expect(!(dk_get_index(mp->ma_keys, hashpos) == ix), 0) ? __assert_rtn(__func__, __FILE__, __LINE__\ . , "dk_get_index(mp->ma_keys, hashpos) == ix") : (void)0); .[ 1703]: if (((mp)->ma_values != ((void *)0))) { .[ 1704]: if (dictresize(mp, ((mp->ma_keys)->dk_size))) { .[ 1705]: return -1; .[ 1706]: } .[ 1707]: ix = (mp->ma_keys->dk_lookup)(mp, key, hash, &value_addr, &hashpos); .[ 1708]: (__builtin_expect(!(ix >= 0), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "ix >= 0") : (void)0); .[ 1709]: } .[ 1711]: res = predicate(*value_addr); .[ 1712]: if (res == -1) .[ 1713]: return -1; .[ 1714]: if (res > 0) .[ 1715]: return delitem_common(mp, hashpos, ix, value_addr); .[ 1716]: else .[ 1717]: return 0; .[ 1718]: } .[ 1721]: void .[ 1722]: PyDict_Clear(PyObject *op) .[ 1723]: { .[ 1724]: PyDictObject *mp; .[ 1725]: PyDictKeysObject *oldkeys; .[ 1726]: PyObject **oldvalues; .[ 1727]: Py_ssize_t i, n; .[ 1729]: if (!((( (((PyObject*)(op))->ob_type))->tp_flags & ( (1UL << 29))) != 0)) .[ 1730]: return; .[ 1731]: mp = ((PyDictObject *)op); .[ 1732]: oldkeys = mp->ma_keys; .[ 1733]: oldvalues = mp->ma_values; .[ 1734]: if (oldvalues == empty_values) .[ 1735]: return; .[ 1737]: (_Py_RefTotal++ , ++(&empty_keys_struct)->dk_refcnt); .[ 1738]: mp->ma_keys = &empty_keys_struct; .[ 1739]: mp->ma_values = empty_values; .[ 1740]: mp->ma_used = 0; .[ 1741]: mp->ma_version_tag = (++pydict_global_version); .[ 1743]: if (oldvalues != ((void *)0)) { .[ 1744]: n = oldkeys->dk_nentries; .[ 1745]: for (i = 0; i < n; i++) .[ 1746]: do { PyObject *_py_tmp = (PyObject *)(oldvalues[i]); if (_py_tmp != ((void *)0)) { (oldvalues[i]) = ((void *)0); do { PyObject \ . *_py_decref_tmp = (PyObject *)(_py_tmp); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject\ . *)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } \ . else _Py_Dealloc(_py_decref_tmp); } while (0); } } while (0); .[ 1747]: PyMem_Free(oldvalues); .[ 1748]: if (_Py_RefTotal-- , (--(oldkeys)->dk_refcnt) == 0) free_keys_object(oldkeys); .[ 1749]: } .[ 1750]: else { .[ 1751]: (__builtin_expect(!(oldkeys->dk_refcnt == 1), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "oldkeys->dk_refcnt == 1"\ . ) : (void)0); .[ 1752]: if (_Py_RefTotal-- , (--(oldkeys)->dk_refcnt) == 0) free_keys_object(oldkeys); .[ 1753]: } .[ 1754]: (__builtin_expect(!(_PyDict_CheckConsistency(mp)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "_PyDict_CheckConsistency(mp)"\ . ) : (void)0); .[ 1755]: } .[ 1762]: int .[ 1763]: _PyDict_Next(PyObject *op, Py_ssize_t *ppos, PyObject **pkey, .[ 1764]: PyObject **pvalue, Py_hash_t *phash) .[ 1765]: { .[ 1766]: Py_ssize_t i, n; .[ 1767]: PyDictObject *mp; .[ 1768]: PyDictKeyEntry *entry_ptr; .[ 1769]: PyObject *value; .[ 1771]: if (!((( (((PyObject*)(op))->ob_type))->tp_flags & ( (1UL << 29))) != 0)) .[ 1772]: return 0; .[ 1773]: mp = (PyDictObject *)op; .[ 1774]: i = *ppos; .[ 1775]: n = mp->ma_keys->dk_nentries; .[ 1776]: if ((size_t)i >= (size_t)n) .[ 1777]: return 0; .[ 1778]: if (mp->ma_values) { .[ 1779]: PyObject **value_ptr = &mp->ma_values[i]; .[ 1780]: while (i < n && *value_ptr == ((void *)0)) { .[ 1781]: value_ptr++; .[ 1782]: i++; .[ 1783]: } .[ 1784]: if (i >= n) .[ 1785]: return 0; .[ 1786]: entry_ptr = &((PyDictKeyEntry*)(&(mp->ma_keys)->dk_indices.as_1[((mp->ma_keys)->dk_size) * (((mp->ma_keys\ . )->dk_size) <= 0xff ? 1 : ((mp->ma_keys)->dk_size) <= 0xffff ? 2 : ((mp->ma_keys)->dk_size) <= 0xffffffff ? 4 : sizeof\ . (int64_t))]))[i]; .[ 1787]: value = *value_ptr; .[ 1788]: } .[ 1789]: else { .[ 1790]: entry_ptr = &((PyDictKeyEntry*)(&(mp->ma_keys)->dk_indices.as_1[((mp->ma_keys)->dk_size) * (((mp->ma_keys\ . )->dk_size) <= 0xff ? 1 : ((mp->ma_keys)->dk_size) <= 0xffff ? 2 : ((mp->ma_keys)->dk_size) <= 0xffffffff ? 4 : sizeof\ . (int64_t))]))[i]; .[ 1791]: while (i < n && entry_ptr->me_value == ((void *)0)) { .[ 1792]: entry_ptr++; .[ 1793]: i++; .[ 1794]: } .[ 1795]: if (i >= n) .[ 1796]: return 0; .[ 1797]: value = entry_ptr->me_value; .[ 1798]: } .[ 1799]: *ppos = i+1; .[ 1800]: if (pkey) .[ 1801]: *pkey = entry_ptr->me_key; .[ 1802]: if (phash) .[ 1803]: *phash = entry_ptr->me_hash; .[ 1804]: if (pvalue) .[ 1805]: *pvalue = value; .[ 1806]: return 1; .[ 1807]: } .[ 1827]: int .[ 1828]: PyDict_Next(PyObject *op, Py_ssize_t *ppos, PyObject **pkey, PyObject **pvalue) .[ 1829]: { .[ 1830]: return _PyDict_Next(op, ppos, pkey, pvalue, ((void *)0)); .[ 1831]: } .[ 1834]: PyObject * .[ 1835]: _PyDict_Pop_KnownHash(PyObject *dict, PyObject *key, Py_hash_t hash, PyObject *deflt) .[ 1836]: { .[ 1837]: Py_ssize_t ix, hashpos; .[ 1838]: PyObject *old_value, *old_key; .[ 1839]: PyDictKeyEntry *ep; .[ 1840]: PyObject **value_addr; .[ 1841]: PyDictObject *mp; .[ 1843]: (__builtin_expect(!(((( (((PyObject*)(dict))->ob_type))->tp_flags & ( (1UL << 29))) != 0)), 0) ? __assert_rtn(__func__\ . , __FILE__, __LINE__, "PyDict_Check(dict)") : (void)0); .[ 1844]: mp = (PyDictObject *)dict; .[ 1846]: if (mp->ma_used == 0) { .[ 1847]: if (deflt) { .[ 1848]: ( _Py_RefTotal++ , ((PyObject *)(deflt))->ob_refcnt++); .[ 1849]: return deflt; .[ 1850]: } .[ 1851]: _PyErr_SetKeyError(key); .[ 1852]: return ((void *)0); .[ 1853]: } .[ 1854]: ix = (mp->ma_keys->dk_lookup)(mp, key, hash, &value_addr, &hashpos); .[ 1855]: if (ix == (-3)) .[ 1856]: return ((void *)0); .[ 1857]: if (ix == (-1) || *value_addr == ((void *)0)) { .[ 1858]: if (deflt) { .[ 1859]: ( _Py_RefTotal++ , ((PyObject *)(deflt))->ob_refcnt++); .[ 1860]: return deflt; .[ 1861]: } .[ 1862]: _PyErr_SetKeyError(key); .[ 1863]: return ((void *)0); .[ 1864]: } .[ 1867]: if (((mp)->ma_values != ((void *)0))) { .[ 1868]: if (dictresize(mp, ((mp->ma_keys)->dk_size))) { .[ 1869]: return ((void *)0); .[ 1870]: } .[ 1871]: ix = (mp->ma_keys->dk_lookup)(mp, key, hash, &value_addr, &hashpos); .[ 1872]: (__builtin_expect(!(ix >= 0), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "ix >= 0") : (void)0); .[ 1873]: } .[ 1875]: old_value = *value_addr; .[ 1876]: (__builtin_expect(!(old_value != ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "old_value != NULL"\ . ) : (void)0); .[ 1877]: *value_addr = ((void *)0); .[ 1878]: mp->ma_used--; .[ 1879]: mp->ma_version_tag = (++pydict_global_version); .[ 1880]: dk_set_index(mp->ma_keys, hashpos, (-2)); .[ 1881]: ep = &((PyDictKeyEntry*)(&(mp->ma_keys)->dk_indices.as_1[((mp->ma_keys)->dk_size) * (((mp->ma_keys)->dk_size\ . ) <= 0xff ? 1 : ((mp->ma_keys)->dk_size) <= 0xffff ? 2 : ((mp->ma_keys)->dk_size) <= 0xffffffff ? 4 : sizeof(int64_t))\ . ]))[ix]; .[ 1882]: if ((mp)->ma_keys->dk_lookup == lookdict_unicode_nodummy) { (mp)->ma_keys->dk_lookup = lookdict_unicode; }; .[ 1883]: old_key = ep->me_key; .[ 1884]: ep->me_key = ((void *)0); .[ 1885]: do { PyObject *_py_decref_tmp = (PyObject *)(old_key); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { \ . if (((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 1887]: (__builtin_expect(!(_PyDict_CheckConsistency(mp)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "_PyDict_CheckConsistency(mp)"\ . ) : (void)0); .[ 1888]: return old_value; .[ 1889]: } .[ 1891]: PyObject * .[ 1892]: _PyDict_Pop(PyObject *dict, PyObject *key, PyObject *deflt) .[ 1893]: { .[ 1894]: Py_hash_t hash; .[ 1896]: if (((PyDictObject *)dict)->ma_used == 0) { .[ 1897]: if (deflt) { .[ 1898]: ( _Py_RefTotal++ , ((PyObject *)(deflt))->ob_refcnt++); .[ 1899]: return deflt; .[ 1900]: } .[ 1901]: _PyErr_SetKeyError(key); .[ 1902]: return ((void *)0); .[ 1903]: } .[ 1904]: if (!((((PyObject*)(key))->ob_type) == &PyUnicode_Type) || .[ 1905]: (hash = ((PyASCIIObject *) key)->hash) == -1) { .[ 1906]: hash = PyObject_Hash(key); .[ 1907]: if (hash == -1) .[ 1908]: return ((void *)0); .[ 1909]: } .[ 1910]: return _PyDict_Pop_KnownHash(dict, key, hash, deflt); .[ 1911]: } .[ 1914]: PyObject * .[ 1915]: _PyDict_FromKeys(PyObject *cls, PyObject *iterable, PyObject *value) .[ 1916]: { .[ 1917]: PyObject *it; .[ 1918]: PyObject *key; .[ 1919]: PyObject *d; .[ 1920]: int status; .[ 1922]: d = PyObject_CallObject(cls, ((void *)0)); .[ 1923]: if (d == ((void *)0)) .[ 1924]: return ((void *)0); .[ 1926]: if (((((PyObject*)(d))->ob_type) == &PyDict_Type) && ((PyDictObject *)d)->ma_used == 0) { .[ 1927]: if (((((PyObject*)(iterable))->ob_type) == &PyDict_Type)) { .[ 1928]: PyDictObject *mp = (PyDictObject *)d; .[ 1929]: PyObject *oldvalue; .[ 1930]: Py_ssize_t pos = 0; .[ 1931]: PyObject *key; .[ 1932]: Py_hash_t hash; .[ 1934]: if (dictresize(mp, ((( ((PyDictObject *)iterable)->ma_used)*3+1) >> 1))) { .[ 1935]: do { PyObject *_py_decref_tmp = (PyObject *)(d); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject\ . *)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } \ . else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 1936]: return ((void *)0); .[ 1937]: } .[ 1939]: while (_PyDict_Next(iterable, &pos, &key, &oldvalue, &hash)) { .[ 1940]: if (insertdict(mp, key, hash, value)) { .[ 1941]: do { PyObject *_py_decref_tmp = (PyObject *)(d); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject\ . *)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } \ . else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 1942]: return ((void *)0); .[ 1943]: } .[ 1944]: } .[ 1945]: return d; .[ 1946]: } .[ 1947]: if (((((PyObject*)(iterable))->ob_type) == &PySet_Type || (((PyObject*)(iterable))->ob_type) == &PyFrozenSet_Type\ . )) { .[ 1948]: PyDictObject *mp = (PyDictObject *)d; .[ 1949]: Py_ssize_t pos = 0; .[ 1950]: PyObject *key; .[ 1951]: Py_hash_t hash; .[ 1953]: if (dictresize(mp, ((( (((PySetObject *)(iterable))->used))*3+1) >> 1))) { .[ 1954]: do { PyObject *_py_decref_tmp = (PyObject *)(d); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject\ . *)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } \ . else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 1955]: return ((void *)0); .[ 1956]: } .[ 1958]: while (_PySet_NextEntry(iterable, &pos, &key, &hash)) { .[ 1959]: if (insertdict(mp, key, hash, value)) { .[ 1960]: do { PyObject *_py_decref_tmp = (PyObject *)(d); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject\ . *)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } \ . else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 1961]: return ((void *)0); .[ 1962]: } .[ 1963]: } .[ 1964]: return d; .[ 1965]: } .[ 1966]: } .[ 1968]: it = PyObject_GetIter(iterable); .[ 1969]: if (it == ((void *)0)){ .[ 1970]: do { PyObject *_py_decref_tmp = (PyObject *)(d); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject\ . *)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } \ . else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 1971]: return ((void *)0); .[ 1972]: } .[ 1974]: if (((((PyObject*)(d))->ob_type) == &PyDict_Type)) { .[ 1975]: while ((key = PyIter_Next(it)) != ((void *)0)) { .[ 1976]: status = PyDict_SetItem(d, key, value); .[ 1977]: do { PyObject *_py_decref_tmp = (PyObject *)(key); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if ((\ . (PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 1978]: if (status < 0) .[ 1979]: goto Fail; .[ 1980]: } .[ 1981]: } else { .[ 1982]: while ((key = PyIter_Next(it)) != ((void *)0)) { .[ 1983]: status = PyObject_SetItem(d, key, value); .[ 1984]: do { PyObject *_py_decref_tmp = (PyObject *)(key); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if ((\ . (PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 1985]: if (status < 0) .[ 1986]: goto Fail; .[ 1987]: } .[ 1988]: } .[ 1990]: if (PyErr_Occurred()) .[ 1991]: goto Fail; .[ 1992]: do { PyObject *_py_decref_tmp = (PyObject *)(it); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((\ . PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 1993]: return d; .[ 1995]: Fail: .[ 1996]: do { PyObject *_py_decref_tmp = (PyObject *)(it); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((\ . PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 1997]: do { PyObject *_py_decref_tmp = (PyObject *)(d); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject\ . *)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } \ . else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 1998]: return ((void *)0); .[ 1999]: } .[ 2003]: static void .[ 2004]: dict_dealloc(PyDictObject *mp) .[ 2005]: { .[ 2006]: PyObject **values = mp->ma_values; .[ 2007]: PyDictKeysObject *keys = mp->ma_keys; .[ 2008]: Py_ssize_t i, n; .[ 2009]: PyObject_GC_UnTrack(mp); .[ 2010]: do { PyThreadState *_tstate = PyThreadState_Get(); if (_tstate->trash_delete_nesting < 50) { ++_tstate->trash_delete_nesting\ . ; .[ 2011]: if (values != ((void *)0)) { .[ 2012]: if (values != empty_values) { .[ 2013]: for (i = 0, n = mp->ma_keys->dk_nentries; i < n; i++) { .[ 2014]: do { PyObject *_py_xdecref_tmp = (PyObject *)(values[i]); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp \ . = (PyObject *)(_py_xdecref_tmp); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject*)_py_decref_tmp\ . )->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } else _Py_Dealloc(\ . _py_decref_tmp); } while (0); } while (0); .[ 2015]: } .[ 2016]: PyMem_Free(values); .[ 2017]: } .[ 2018]: if (_Py_RefTotal-- , (--(keys)->dk_refcnt) == 0) free_keys_object(keys); .[ 2019]: } .[ 2020]: else if (keys != ((void *)0)) { .[ 2021]: (__builtin_expect(!(keys->dk_refcnt == 1), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "keys->dk_refcnt == 1"\ . ) : (void)0); .[ 2022]: if (_Py_RefTotal-- , (--(keys)->dk_refcnt) == 0) free_keys_object(keys); .[ 2023]: } .[ 2024]: if (numfree < 80 && (((PyObject*)(mp))->ob_type) == &PyDict_Type) .[ 2025]: free_list[numfree++] = mp; .[ 2026]: else .[ 2027]: (((PyObject*)(mp))->ob_type)->tp_free((PyObject *)mp); .[ 2028]: --_tstate->trash_delete_nesting; if (_tstate->trash_delete_later && _tstate->trash_delete_nesting <= 0) _PyTrash_thread_destroy_chain\ . (); } else _PyTrash_thread_deposit_object((PyObject*)mp); } while (0); .[ 2029]: } .[ 2032]: static PyObject * .[ 2033]: dict_repr(PyDictObject *mp) .[ 2034]: { .[ 2035]: Py_ssize_t i; .[ 2036]: PyObject *key = ((void *)0), *value = ((void *)0); .[ 2037]: _PyUnicodeWriter writer; .[ 2038]: int first; .[ 2040]: i = Py_ReprEnter((PyObject *)mp); .[ 2041]: if (i != 0) { .[ 2042]: return i > 0 ? PyUnicode_FromString("{...}") : ((void *)0); .[ 2043]: } .[ 2045]: if (mp->ma_used == 0) { .[ 2046]: Py_ReprLeave((PyObject *)mp); .[ 2047]: return PyUnicode_FromString("{}"); .[ 2048]: } .[ 2050]: _PyUnicodeWriter_Init(&writer); .[ 2051]: writer.overallocate = 1; .[ 2053]: writer.min_length = 1 + 4 + (2 + 4) * (mp->ma_used - 1) + 1; .[ 2055]: if (_PyUnicodeWriter_WriteChar(&writer, '{') < 0) .[ 2056]: goto error; .[ 2060]: i = 0; .[ 2061]: first = 1; .[ 2062]: while (PyDict_Next((PyObject *)mp, &i, &key, &value)) { .[ 2063]: PyObject *s; .[ 2064]: int res; .[ 2067]: ( _Py_RefTotal++ , ((PyObject *)(key))->ob_refcnt++); .[ 2068]: ( _Py_RefTotal++ , ((PyObject *)(value))->ob_refcnt++); .[ 2070]: if (!first) { .[ 2071]: if (_PyUnicodeWriter_WriteASCIIString(&writer, ", ", 2) < 0) .[ 2072]: goto error; .[ 2073]: } .[ 2074]: first = 0; .[ 2076]: s = PyObject_Repr(key); .[ 2077]: if (s == ((void *)0)) .[ 2078]: goto error; .[ 2079]: res = _PyUnicodeWriter_WriteStr(&writer, s); .[ 2080]: do { PyObject *_py_decref_tmp = (PyObject *)(s); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject\ . *)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } \ . else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2081]: if (res < 0) .[ 2082]: goto error; .[ 2084]: if (_PyUnicodeWriter_WriteASCIIString(&writer, ": ", 2) < 0) .[ 2085]: goto error; .[ 2087]: s = PyObject_Repr(value); .[ 2088]: if (s == ((void *)0)) .[ 2089]: goto error; .[ 2090]: res = _PyUnicodeWriter_WriteStr(&writer, s); .[ 2091]: do { PyObject *_py_decref_tmp = (PyObject *)(s); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject\ . *)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } \ . else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2092]: if (res < 0) .[ 2093]: goto error; .[ 2095]: do { PyObject *_py_tmp = (PyObject *)(key); if (_py_tmp != ((void *)0)) { (key) = ((void *)0); do { PyObject *_py_decref_tmp \ . = (PyObject *)(_py_tmp); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject*)_py_decref_tmp\ . )->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } else _Py_Dealloc(\ . _py_decref_tmp); } while (0); } } while (0); .[ 2096]: do { PyObject *_py_tmp = (PyObject *)(value); if (_py_tmp != ((void *)0)) { (value) = ((void *)0); do { PyObject *_py_decref_tmp \ . = (PyObject *)(_py_tmp); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject*)_py_decref_tmp\ . )->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } else _Py_Dealloc(\ . _py_decref_tmp); } while (0); } } while (0); .[ 2097]: } .[ 2099]: writer.overallocate = 0; .[ 2100]: if (_PyUnicodeWriter_WriteChar(&writer, '}') < 0) .[ 2101]: goto error; .[ 2103]: Py_ReprLeave((PyObject *)mp); .[ 2105]: return _PyUnicodeWriter_Finish(&writer); .[ 2107]: error: .[ 2108]: Py_ReprLeave((PyObject *)mp); .[ 2109]: _PyUnicodeWriter_Dealloc(&writer); .[ 2110]: do { PyObject *_py_xdecref_tmp = (PyObject *)(key); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp \ . = (PyObject *)(_py_xdecref_tmp); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject*)_py_decref_tmp\ . )->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } else _Py_Dealloc(\ . _py_decref_tmp); } while (0); } while (0); .[ 2111]: do { PyObject *_py_xdecref_tmp = (PyObject *)(value); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp \ . = (PyObject *)(_py_xdecref_tmp); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject*)_py_decref_tmp\ . )->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } else _Py_Dealloc(\ . _py_decref_tmp); } while (0); } while (0); .[ 2112]: return ((void *)0); .[ 2113]: } .[ 2115]: static Py_ssize_t .[ 2116]: dict_length(PyDictObject *mp) .[ 2117]: { .[ 2118]: return mp->ma_used; .[ 2119]: } .[ 2121]: static PyObject * .[ 2122]: dict_subscript(PyDictObject *mp, PyObject *key) .[ 2123]: { .[ 2124]: PyObject *v; .[ 2125]: Py_ssize_t ix; .[ 2126]: Py_hash_t hash; .[ 2127]: PyObject **value_addr; .[ 2129]: if (!((((PyObject*)(key))->ob_type) == &PyUnicode_Type) || .[ 2130]: (hash = ((PyASCIIObject *) key)->hash) == -1) { .[ 2131]: hash = PyObject_Hash(key); .[ 2132]: if (hash == -1) .[ 2133]: return ((void *)0); .[ 2134]: } .[ 2135]: ix = (mp->ma_keys->dk_lookup)(mp, key, hash, &value_addr, ((void *)0)); .[ 2136]: if (ix == (-3)) .[ 2137]: return ((void *)0); .[ 2138]: if (ix == (-1) || *value_addr == ((void *)0)) { .[ 2139]: if (!((((PyObject*)(mp))->ob_type) == &PyDict_Type)) { .[ 2141]: PyObject *missing, *res; .[ 2142]: static _Py_Identifier PyId___missing__ = { .next = ((void *)0), .string = "__missing__", .object = ((void *)0) }; .[ 2143]: missing = _PyObject_LookupSpecial((PyObject *)mp, &PyId___missing__); .[ 2144]: if (missing != ((void *)0)) { .[ 2145]: res = PyObject_CallFunctionObjArgs(missing, .[ 2146]: key, ((void *)0)); .[ 2147]: do { PyObject *_py_decref_tmp = (PyObject *)(missing); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { \ . if (((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2148]: return res; .[ 2149]: } .[ 2150]: else if (PyErr_Occurred()) .[ 2151]: return ((void *)0); .[ 2152]: } .[ 2153]: _PyErr_SetKeyError(key); .[ 2154]: return ((void *)0); .[ 2155]: } .[ 2156]: v = *value_addr; .[ 2157]: ( _Py_RefTotal++ , ((PyObject *)(v))->ob_refcnt++); .[ 2158]: return v; .[ 2159]: } .[ 2161]: static int .[ 2162]: dict_ass_sub(PyDictObject *mp, PyObject *v, PyObject *w) .[ 2163]: { .[ 2164]: if (w == ((void *)0)) .[ 2165]: return PyDict_DelItem((PyObject *)mp, v); .[ 2166]: else .[ 2167]: return PyDict_SetItem((PyObject *)mp, v, w); .[ 2168]: } .[ 2170]: static PyMappingMethods dict_as_mapping = { .[ 2171]: (lenfunc)dict_length, .[ 2172]: (binaryfunc)dict_subscript, .[ 2173]: (objobjargproc)dict_ass_sub, .[ 2174]: }; .[ 2176]: static PyObject * .[ 2177]: dict_keys(PyDictObject *mp) .[ 2178]: { .[ 2179]: PyObject *v; .[ 2180]: Py_ssize_t i, j; .[ 2181]: PyDictKeyEntry *ep; .[ 2182]: Py_ssize_t size, n, offset; .[ 2183]: PyObject **value_ptr; .[ 2185]: again: .[ 2186]: n = mp->ma_used; .[ 2187]: v = PyList_New(n); .[ 2188]: if (v == ((void *)0)) .[ 2189]: return ((void *)0); .[ 2190]: if (n != mp->ma_used) { .[ 2194]: do { PyObject *_py_decref_tmp = (PyObject *)(v); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject\ . *)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } \ . else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2195]: goto again; .[ 2196]: } .[ 2197]: ep = ((PyDictKeyEntry*)(&(mp->ma_keys)->dk_indices.as_1[((mp->ma_keys)->dk_size) * (((mp->ma_keys)->dk_size\ . ) <= 0xff ? 1 : ((mp->ma_keys)->dk_size) <= 0xffff ? 2 : ((mp->ma_keys)->dk_size) <= 0xffffffff ? 4 : sizeof(int64_t))\ . ])); .[ 2198]: size = mp->ma_keys->dk_nentries; .[ 2199]: if (mp->ma_values) { .[ 2200]: value_ptr = mp->ma_values; .[ 2201]: offset = sizeof(PyObject *); .[ 2202]: } .[ 2203]: else { .[ 2204]: value_ptr = &ep[0].me_value; .[ 2205]: offset = sizeof(PyDictKeyEntry); .[ 2206]: } .[ 2207]: for (i = 0, j = 0; i < size; i++) { .[ 2208]: if (*value_ptr != ((void *)0)) { .[ 2209]: PyObject *key = ep[i].me_key; .[ 2210]: ( _Py_RefTotal++ , ((PyObject *)(key))->ob_refcnt++); .[ 2211]: (((PyListObject *)(v))->ob_item[j] = (key)); .[ 2212]: j++; .[ 2213]: } .[ 2214]: value_ptr = (PyObject **)(((char *)value_ptr) + offset); .[ 2215]: } .[ 2216]: (__builtin_expect(!(j == n), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "j == n") : (void)0); .[ 2217]: return v; .[ 2218]: } .[ 2220]: static PyObject * .[ 2221]: dict_values(PyDictObject *mp) .[ 2222]: { .[ 2223]: PyObject *v; .[ 2224]: Py_ssize_t i, j; .[ 2225]: PyDictKeyEntry *ep; .[ 2226]: Py_ssize_t size, n, offset; .[ 2227]: PyObject **value_ptr; .[ 2229]: again: .[ 2230]: n = mp->ma_used; .[ 2231]: v = PyList_New(n); .[ 2232]: if (v == ((void *)0)) .[ 2233]: return ((void *)0); .[ 2234]: if (n != mp->ma_used) { .[ 2238]: do { PyObject *_py_decref_tmp = (PyObject *)(v); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject\ . *)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } \ . else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2239]: goto again; .[ 2240]: } .[ 2241]: ep = ((PyDictKeyEntry*)(&(mp->ma_keys)->dk_indices.as_1[((mp->ma_keys)->dk_size) * (((mp->ma_keys)->dk_size\ . ) <= 0xff ? 1 : ((mp->ma_keys)->dk_size) <= 0xffff ? 2 : ((mp->ma_keys)->dk_size) <= 0xffffffff ? 4 : sizeof(int64_t))\ . ])); .[ 2242]: size = mp->ma_keys->dk_nentries; .[ 2243]: if (mp->ma_values) { .[ 2244]: value_ptr = mp->ma_values; .[ 2245]: offset = sizeof(PyObject *); .[ 2246]: } .[ 2247]: else { .[ 2248]: value_ptr = &ep[0].me_value; .[ 2249]: offset = sizeof(PyDictKeyEntry); .[ 2250]: } .[ 2251]: for (i = 0, j = 0; i < size; i++) { .[ 2252]: PyObject *value = *value_ptr; .[ 2253]: value_ptr = (PyObject **)(((char *)value_ptr) + offset); .[ 2254]: if (value != ((void *)0)) { .[ 2255]: ( _Py_RefTotal++ , ((PyObject *)(value))->ob_refcnt++); .[ 2256]: (((PyListObject *)(v))->ob_item[j] = (value)); .[ 2257]: j++; .[ 2258]: } .[ 2259]: } .[ 2260]: (__builtin_expect(!(j == n), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "j == n") : (void)0); .[ 2261]: return v; .[ 2262]: } .[ 2264]: static PyObject * .[ 2265]: dict_items(PyDictObject *mp) .[ 2266]: { .[ 2267]: PyObject *v; .[ 2268]: Py_ssize_t i, j, n; .[ 2269]: Py_ssize_t size, offset; .[ 2270]: PyObject *item, *key; .[ 2271]: PyDictKeyEntry *ep; .[ 2272]: PyObject **value_ptr; .[ 2278]: again: .[ 2279]: n = mp->ma_used; .[ 2280]: v = PyList_New(n); .[ 2281]: if (v == ((void *)0)) .[ 2282]: return ((void *)0); .[ 2283]: for (i = 0; i < n; i++) { .[ 2284]: item = PyTuple_New(2); .[ 2285]: if (item == ((void *)0)) { .[ 2286]: do { PyObject *_py_decref_tmp = (PyObject *)(v); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject\ . *)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } \ . else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2287]: return ((void *)0); .[ 2288]: } .[ 2289]: (((PyListObject *)(v))->ob_item[i] = (item)); .[ 2290]: } .[ 2291]: if (n != mp->ma_used) { .[ 2295]: do { PyObject *_py_decref_tmp = (PyObject *)(v); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject\ . *)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } \ . else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2296]: goto again; .[ 2297]: } .[ 2299]: ep = ((PyDictKeyEntry*)(&(mp->ma_keys)->dk_indices.as_1[((mp->ma_keys)->dk_size) * (((mp->ma_keys)->dk_size\ . ) <= 0xff ? 1 : ((mp->ma_keys)->dk_size) <= 0xffff ? 2 : ((mp->ma_keys)->dk_size) <= 0xffffffff ? 4 : sizeof(int64_t))\ . ])); .[ 2300]: size = mp->ma_keys->dk_nentries; .[ 2301]: if (mp->ma_values) { .[ 2302]: value_ptr = mp->ma_values; .[ 2303]: offset = sizeof(PyObject *); .[ 2304]: } .[ 2305]: else { .[ 2306]: value_ptr = &ep[0].me_value; .[ 2307]: offset = sizeof(PyDictKeyEntry); .[ 2308]: } .[ 2309]: for (i = 0, j = 0; i < size; i++) { .[ 2310]: PyObject *value = *value_ptr; .[ 2311]: value_ptr = (PyObject **)(((char *)value_ptr) + offset); .[ 2312]: if (value != ((void *)0)) { .[ 2313]: key = ep[i].me_key; .[ 2314]: item = (((PyListObject *)(v))->ob_item[j]); .[ 2315]: ( _Py_RefTotal++ , ((PyObject *)(key))->ob_refcnt++); .[ 2316]: (((PyTupleObject *)(item))->ob_item[0] = key); .[ 2317]: ( _Py_RefTotal++ , ((PyObject *)(value))->ob_refcnt++); .[ 2318]: (((PyTupleObject *)(item))->ob_item[1] = value); .[ 2319]: j++; .[ 2320]: } .[ 2321]: } .[ 2322]: (__builtin_expect(!(j == n), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "j == n") : (void)0); .[ 2323]: return v; .[ 2324]: } .[ 2336]: static PyObject * .[ 2337]: dict_fromkeys_impl(PyTypeObject *type, PyObject *iterable, PyObject *value) .[ 2339]: { .[ 2340]: return _PyDict_FromKeys((PyObject *)type, iterable, value); .[ 2341]: } .[ 2343]: static int .[ 2344]: dict_update_common(PyObject *self, PyObject *args, PyObject *kwds, .[ 2345]: __const char *methname) .[ 2346]: { .[ 2347]: PyObject *arg = ((void *)0); .[ 2348]: int result = 0; .[ 2350]: if (!PyArg_UnpackTuple(args, methname, 0, 1, &arg)) .[ 2351]: result = -1; .[ 2353]: else if (arg != ((void *)0)) { .[ 2354]: static _Py_Identifier PyId_keys = { .next = ((void *)0), .string = "keys", .object = ((void *)0) }; .[ 2355]: if (_PyObject_HasAttrId(arg, &PyId_keys)) .[ 2356]: result = PyDict_Merge(self, arg, 1); .[ 2357]: else .[ 2358]: result = PyDict_MergeFromSeq2(self, arg, 1); .[ 2359]: } .[ 2360]: if (result == 0 && kwds != ((void *)0)) { .[ 2361]: if (PyArg_ValidateKeywordArguments(kwds)) .[ 2362]: result = PyDict_Merge(self, kwds, 1); .[ 2363]: else .[ 2364]: result = -1; .[ 2365]: } .[ 2366]: return result; .[ 2367]: } .[ 2369]: static PyObject * .[ 2370]: dict_update(PyObject *self, PyObject *args, PyObject *kwds) .[ 2371]: { .[ 2372]: if (dict_update_common(self, args, kwds, "update") != -1) .[ 2373]: return ( _Py_RefTotal++ , ((PyObject *)( (&_Py_NoneStruct)))->ob_refcnt++), (&_Py_NoneStruct); .[ 2374]: return ((void *)0); .[ 2375]: } .[ 2387]: int .[ 2388]: PyDict_MergeFromSeq2(PyObject *d, PyObject *seq2, int override) .[ 2389]: { .[ 2390]: PyObject *it; .[ 2391]: Py_ssize_t i; .[ 2392]: PyObject *item; .[ 2393]: PyObject *fast; .[ 2395]: (__builtin_expect(!(d != ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "d != NULL") : (void)0); .[ 2396]: (__builtin_expect(!(((( (((PyObject*)(d))->ob_type))->tp_flags & ( (1UL << 29))) != 0)), 0) ? __assert_rtn(__func__\ . , __FILE__, __LINE__, "PyDict_Check(d)") : (void)0); .[ 2397]: (__builtin_expect(!(seq2 != ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "seq2 != NULL") : (void\ . )0); .[ 2399]: it = PyObject_GetIter(seq2); .[ 2400]: if (it == ((void *)0)) .[ 2401]: return -1; .[ 2403]: for (i = 0; ; ++i) { .[ 2404]: PyObject *key, *value; .[ 2405]: Py_ssize_t n; .[ 2407]: fast = ((void *)0); .[ 2408]: item = PyIter_Next(it); .[ 2409]: if (item == ((void *)0)) { .[ 2410]: if (PyErr_Occurred()) .[ 2411]: goto Fail; .[ 2412]: break; .[ 2413]: } .[ 2416]: fast = PySequence_Fast(item, ""); .[ 2417]: if (fast == ((void *)0)) { .[ 2418]: if (PyErr_ExceptionMatches(PyExc_TypeError)) .[ 2419]: PyErr_Format(PyExc_TypeError, .[ 2420]: "cannot convert dictionary update " .[ 2421]: "sequence element #%zd to a sequence", .[ 2422]: i); .[ 2423]: goto Fail; .[ 2424]: } .[ 2425]: n = (((( (((PyObject*)(fast))->ob_type))->tp_flags & ( (1UL << 25))) != 0) ? (((PyVarObject*)(fast))->ob_size) : (\ . ((PyVarObject*)(fast))->ob_size)); .[ 2426]: if (n != 2) { .[ 2427]: PyErr_Format(PyExc_ValueError, .[ 2428]: "dictionary update sequence element #%zd " .[ 2429]: "has length %zd; 2 is required", .[ 2430]: i, n); .[ 2431]: goto Fail; .[ 2432]: } .[ 2435]: key = (((( (((PyObject*)(fast))->ob_type))->tp_flags & ( (1UL << 25))) != 0) ? (((PyListObject *)(fast))->ob_item\ . [0]) : (((PyTupleObject *)(fast))->ob_item[0])); .[ 2436]: value = (((( (((PyObject*)(fast))->ob_type))->tp_flags & ( (1UL << 25))) != 0) ? (((PyListObject *)(fast))->ob_item\ . [1]) : (((PyTupleObject *)(fast))->ob_item[1])); .[ 2437]: ( _Py_RefTotal++ , ((PyObject *)(key))->ob_refcnt++); .[ 2438]: ( _Py_RefTotal++ , ((PyObject *)(value))->ob_refcnt++); .[ 2439]: if (override || PyDict_GetItem(d, key) == ((void *)0)) { .[ 2440]: int status = PyDict_SetItem(d, key, value); .[ 2441]: if (status < 0) { .[ 2442]: do { PyObject *_py_decref_tmp = (PyObject *)(key); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if ((\ . (PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2443]: do { PyObject *_py_decref_tmp = (PyObject *)(value); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if \ . (((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2444]: goto Fail; .[ 2445]: } .[ 2446]: } .[ 2447]: do { PyObject *_py_decref_tmp = (PyObject *)(key); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if ((\ . (PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2448]: do { PyObject *_py_decref_tmp = (PyObject *)(value); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if \ . (((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2449]: do { PyObject *_py_decref_tmp = (PyObject *)(fast); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (\ . ((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2450]: do { PyObject *_py_decref_tmp = (PyObject *)(item); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (\ . ((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2451]: } .[ 2453]: i = 0; .[ 2454]: (__builtin_expect(!(_PyDict_CheckConsistency((PyDictObject *)d)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__\ . , "_PyDict_CheckConsistency((PyDictObject *)d)") : (void)0); .[ 2455]: goto Return; .[ 2456]: Fail: .[ 2457]: do { PyObject *_py_xdecref_tmp = (PyObject *)(item); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp \ . = (PyObject *)(_py_xdecref_tmp); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject*)_py_decref_tmp\ . )->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } else _Py_Dealloc(\ . _py_decref_tmp); } while (0); } while (0); .[ 2458]: do { PyObject *_py_xdecref_tmp = (PyObject *)(fast); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp \ . = (PyObject *)(_py_xdecref_tmp); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject*)_py_decref_tmp\ . )->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } else _Py_Dealloc(\ . _py_decref_tmp); } while (0); } while (0); .[ 2459]: i = -1; .[ 2460]: Return: .[ 2461]: do { PyObject *_py_decref_tmp = (PyObject *)(it); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((\ . PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2462]: return ((__builtin_expect(!( (Py_ssize_t)(int)(i) ==( i)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "(Py_ssize_t)(int)(i) ==( i)"\ . ) : (void)0), (int)(i)); .[ 2463]: } .[ 2465]: static int .[ 2466]: dict_merge(PyObject *a, PyObject *b, int override) .[ 2467]: { .[ 2468]: PyDictObject *mp, *other; .[ 2469]: Py_ssize_t i, n; .[ 2470]: PyDictKeyEntry *entry, *ep0; .[ 2472]: (__builtin_expect(!(0 <= override && override <= 2), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "0 <= override && override <= 2"\ . ) : (void)0); .[ 2479]: if (a == ((void *)0) || !((( (((PyObject*)(a))->ob_type))->tp_flags & ( (1UL << 29))) != 0) || b == ((void *)0)) { .[ 2480]: _PyErr_BadInternalCall(__FILE__, __LINE__); .[ 2481]: return -1; .[ 2482]: } .[ 2483]: mp = (PyDictObject*)a; .[ 2484]: if (((( (((PyObject*)(b))->ob_type))->tp_flags & ( (1UL << 29))) != 0)) { .[ 2485]: other = (PyDictObject*)b; .[ 2486]: if (other == mp || other->ma_used == 0) .[ 2488]: return 0; .[ 2489]: if (mp->ma_used == 0) .[ 2494]: override = 1; .[ 2499]: if ((((mp->ma_keys->dk_size) << 1)/3) < other->ma_used) { .[ 2500]: if (dictresize(mp, (((mp->ma_used + other->ma_used)*3+1) >> 1))) { .[ 2501]: return -1; .[ 2502]: } .[ 2503]: } .[ 2504]: ep0 = ((PyDictKeyEntry*)(&(other->ma_keys)->dk_indices.as_1[((other->ma_keys)->dk_size) * (((other->ma_keys\ . )->dk_size) <= 0xff ? 1 : ((other->ma_keys)->dk_size) <= 0xffff ? 2 : ((other->ma_keys)->dk_size) <= 0xffffffff ? 4 : \ . sizeof(int64_t))])); .[ 2505]: for (i = 0, n = other->ma_keys->dk_nentries; i < n; i++) { .[ 2506]: PyObject *key, *value; .[ 2507]: Py_hash_t hash; .[ 2508]: entry = &ep0[i]; .[ 2509]: key = entry->me_key; .[ 2510]: hash = entry->me_hash; .[ 2511]: if (other->ma_values) .[ 2512]: value = other->ma_values[i]; .[ 2513]: else .[ 2514]: value = entry->me_value; .[ 2516]: if (value != ((void *)0)) { .[ 2517]: int err = 0; .[ 2518]: ( _Py_RefTotal++ , ((PyObject *)(key))->ob_refcnt++); .[ 2519]: ( _Py_RefTotal++ , ((PyObject *)(value))->ob_refcnt++); .[ 2520]: if (override == 1) .[ 2521]: err = insertdict(mp, key, hash, value); .[ 2522]: else if (_PyDict_GetItem_KnownHash(a, key, hash) == ((void *)0)) { .[ 2523]: if (PyErr_Occurred()) { .[ 2524]: do { PyObject *_py_decref_tmp = (PyObject *)(value); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if \ . (((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2525]: do { PyObject *_py_decref_tmp = (PyObject *)(key); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if ((\ . (PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2526]: return -1; .[ 2527]: } .[ 2528]: err = insertdict(mp, key, hash, value); .[ 2529]: } .[ 2530]: else if (override != 0) { .[ 2531]: _PyErr_SetKeyError(key); .[ 2532]: do { PyObject *_py_decref_tmp = (PyObject *)(value); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if \ . (((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2533]: do { PyObject *_py_decref_tmp = (PyObject *)(key); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if ((\ . (PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2534]: return -1; .[ 2535]: } .[ 2536]: do { PyObject *_py_decref_tmp = (PyObject *)(value); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if \ . (((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2537]: do { PyObject *_py_decref_tmp = (PyObject *)(key); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if ((\ . (PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2538]: if (err != 0) .[ 2539]: return -1; .[ 2541]: if (n != other->ma_keys->dk_nentries) { .[ 2542]: PyErr_SetString(PyExc_RuntimeError, .[ 2543]: "dict mutated during update"); .[ 2544]: return -1; .[ 2545]: } .[ 2546]: } .[ 2547]: } .[ 2548]: } .[ 2549]: else { .[ 2551]: PyObject *keys = PyMapping_Keys(b); .[ 2552]: PyObject *iter; .[ 2553]: PyObject *key, *value; .[ 2554]: int status; .[ 2556]: if (keys == ((void *)0)) .[ 2562]: return -1; .[ 2564]: iter = PyObject_GetIter(keys); .[ 2565]: do { PyObject *_py_decref_tmp = (PyObject *)(keys); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (\ . ((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2566]: if (iter == ((void *)0)) .[ 2567]: return -1; .[ 2569]: for (key = PyIter_Next(iter); key; key = PyIter_Next(iter)) { .[ 2570]: if (override != 1 && PyDict_GetItem(a, key) != ((void *)0)) { .[ 2571]: if (override != 0) { .[ 2572]: _PyErr_SetKeyError(key); .[ 2573]: do { PyObject *_py_decref_tmp = (PyObject *)(key); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if ((\ . (PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2574]: do { PyObject *_py_decref_tmp = (PyObject *)(iter); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (\ . ((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2575]: return -1; .[ 2576]: } .[ 2577]: do { PyObject *_py_decref_tmp = (PyObject *)(key); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if ((\ . (PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2578]: continue; .[ 2579]: } .[ 2580]: value = PyObject_GetItem(b, key); .[ 2581]: if (value == ((void *)0)) { .[ 2582]: do { PyObject *_py_decref_tmp = (PyObject *)(iter); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (\ . ((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2583]: do { PyObject *_py_decref_tmp = (PyObject *)(key); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if ((\ . (PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2584]: return -1; .[ 2585]: } .[ 2586]: status = PyDict_SetItem(a, key, value); .[ 2587]: do { PyObject *_py_decref_tmp = (PyObject *)(key); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if ((\ . (PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2588]: do { PyObject *_py_decref_tmp = (PyObject *)(value); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if \ . (((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2589]: if (status < 0) { .[ 2590]: do { PyObject *_py_decref_tmp = (PyObject *)(iter); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (\ . ((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2591]: return -1; .[ 2592]: } .[ 2593]: } .[ 2594]: do { PyObject *_py_decref_tmp = (PyObject *)(iter); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (\ . ((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2595]: if (PyErr_Occurred()) .[ 2597]: return -1; .[ 2598]: } .[ 2599]: (__builtin_expect(!(_PyDict_CheckConsistency((PyDictObject *)a)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__\ . , "_PyDict_CheckConsistency((PyDictObject *)a)") : (void)0); .[ 2600]: return 0; .[ 2601]: } .[ 2603]: int .[ 2604]: PyDict_Update(PyObject *a, PyObject *b) .[ 2605]: { .[ 2606]: return dict_merge(a, b, 1); .[ 2607]: } .[ 2609]: int .[ 2610]: PyDict_Merge(PyObject *a, PyObject *b, int override) .[ 2611]: { .[ 2613]: return dict_merge(a, b, override != 0); .[ 2614]: } .[ 2616]: int .[ 2617]: _PyDict_MergeEx(PyObject *a, PyObject *b, int override) .[ 2618]: { .[ 2619]: return dict_merge(a, b, override); .[ 2620]: } .[ 2622]: static PyObject * .[ 2623]: dict_copy(PyDictObject *mp) .[ 2624]: { .[ 2625]: return PyDict_Copy((PyObject*)mp); .[ 2626]: } .[ 2628]: PyObject * .[ 2629]: PyDict_Copy(PyObject *o) .[ 2630]: { .[ 2631]: PyObject *copy; .[ 2632]: PyDictObject *mp; .[ 2633]: Py_ssize_t i, n; .[ 2635]: if (o == ((void *)0) || !((( (((PyObject*)(o))->ob_type))->tp_flags & ( (1UL << 29))) != 0)) { .[ 2636]: _PyErr_BadInternalCall(__FILE__, __LINE__); .[ 2637]: return ((void *)0); .[ 2638]: } .[ 2639]: mp = (PyDictObject *)o; .[ 2640]: if (((mp)->ma_values != ((void *)0))) { .[ 2641]: PyDictObject *split_copy; .[ 2642]: Py_ssize_t size = ((( ((mp->ma_keys)->dk_size)) << 1)/3); .[ 2643]: PyObject **newvalues; .[ 2644]: newvalues = ( ((size_t)(size) > ((Py_ssize_t)(((size_t)-1)>>1)) / sizeof(PyObject *)) ? ((void *)0) : ( (PyObject * \ . *) PyMem_Malloc( (size) * sizeof(PyObject *)) ) ); .[ 2645]: if (newvalues == ((void *)0)) .[ 2646]: return PyErr_NoMemory(); .[ 2647]: split_copy = ( (PyDictObject *) _PyObject_GC_New(&PyDict_Type) ); .[ 2648]: if (split_copy == ((void *)0)) { .[ 2649]: PyMem_Free(newvalues); .[ 2650]: return ((void *)0); .[ 2651]: } .[ 2652]: split_copy->ma_values = newvalues; .[ 2653]: split_copy->ma_keys = mp->ma_keys; .[ 2654]: split_copy->ma_used = mp->ma_used; .[ 2655]: (_Py_RefTotal++ , ++(mp->ma_keys)->dk_refcnt); .[ 2656]: for (i = 0, n = size; i < n; i++) { .[ 2657]: PyObject *value = mp->ma_values[i]; .[ 2658]: do { PyObject *_py_xincref_tmp = (PyObject *)(value); if (_py_xincref_tmp != ((void *)0)) ( _Py_RefTotal++ , ((PyObject \ . *)(_py_xincref_tmp))->ob_refcnt++); } while (0); .[ 2659]: split_copy->ma_values[i] = value; .[ 2660]: } .[ 2661]: if (((( ((PyGC_Head *)(mp)-1))->gc.gc_refs >> (1)) != (-2))) .[ 2662]: do { PyGC_Head *g = ((PyGC_Head *)(split_copy)-1); if (((g)->gc.gc_refs >> (1)) != (-2)) Py_FatalError("GC object already tracked"\ . ); do { (g)->gc.gc_refs = ((g)->gc.gc_refs & ~(((size_t) -1) << (1))) | (((size_t)( (-3))) << (1)); } while (0); g->gc.\ . gc_next = _PyGC_generation0; g->gc.gc_prev = _PyGC_generation0->gc.gc_prev; g->gc.gc_prev->gc.gc_next = g; _PyGC_generation0\ . ->gc.gc_prev = g; } while (0);; .[ 2663]: return (PyObject *)split_copy; .[ 2664]: } .[ 2665]: copy = PyDict_New(); .[ 2666]: if (copy == ((void *)0)) .[ 2667]: return ((void *)0); .[ 2668]: if (PyDict_Merge(copy, o, 1) == 0) .[ 2669]: return copy; .[ 2670]: do { PyObject *_py_decref_tmp = (PyObject *)(copy); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (\ . ((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2671]: return ((void *)0); .[ 2672]: } .[ 2674]: Py_ssize_t .[ 2675]: PyDict_Size(PyObject *mp) .[ 2676]: { .[ 2677]: if (mp == ((void *)0) || !((( (((PyObject*)(mp))->ob_type))->tp_flags & ( (1UL << 29))) != 0)) { .[ 2678]: _PyErr_BadInternalCall(__FILE__, __LINE__); .[ 2679]: return -1; .[ 2680]: } .[ 2681]: return ((PyDictObject *)mp)->ma_used; .[ 2682]: } .[ 2684]: PyObject * .[ 2685]: PyDict_Keys(PyObject *mp) .[ 2686]: { .[ 2687]: if (mp == ((void *)0) || !((( (((PyObject*)(mp))->ob_type))->tp_flags & ( (1UL << 29))) != 0)) { .[ 2688]: _PyErr_BadInternalCall(__FILE__, __LINE__); .[ 2689]: return ((void *)0); .[ 2690]: } .[ 2691]: return dict_keys((PyDictObject *)mp); .[ 2692]: } .[ 2694]: PyObject * .[ 2695]: PyDict_Values(PyObject *mp) .[ 2696]: { .[ 2697]: if (mp == ((void *)0) || !((( (((PyObject*)(mp))->ob_type))->tp_flags & ( (1UL << 29))) != 0)) { .[ 2698]: _PyErr_BadInternalCall(__FILE__, __LINE__); .[ 2699]: return ((void *)0); .[ 2700]: } .[ 2701]: return dict_values((PyDictObject *)mp); .[ 2702]: } .[ 2704]: PyObject * .[ 2705]: PyDict_Items(PyObject *mp) .[ 2706]: { .[ 2707]: if (mp == ((void *)0) || !((( (((PyObject*)(mp))->ob_type))->tp_flags & ( (1UL << 29))) != 0)) { .[ 2708]: _PyErr_BadInternalCall(__FILE__, __LINE__); .[ 2709]: return ((void *)0); .[ 2710]: } .[ 2711]: return dict_items((PyDictObject *)mp); .[ 2712]: } .[ 2718]: static int .[ 2719]: dict_equal(PyDictObject *a, PyDictObject *b) .[ 2720]: { .[ 2721]: Py_ssize_t i; .[ 2723]: if (a->ma_used != b->ma_used) .[ 2725]: return 0; .[ 2727]: for (i = 0; i < a->ma_keys->dk_nentries; i++) { .[ 2728]: PyDictKeyEntry *ep = &((PyDictKeyEntry*)(&(a->ma_keys)->dk_indices.as_1[((a->ma_keys)->dk_size) * (((a->ma_keys\ . )->dk_size) <= 0xff ? 1 : ((a->ma_keys)->dk_size) <= 0xffff ? 2 : ((a->ma_keys)->dk_size) <= 0xffffffff ? 4 : sizeof(int64_t\ . ))]))[i]; .[ 2729]: PyObject *aval; .[ 2730]: if (a->ma_values) .[ 2731]: aval = a->ma_values[i]; .[ 2732]: else .[ 2733]: aval = ep->me_value; .[ 2734]: if (aval != ((void *)0)) { .[ 2735]: int cmp; .[ 2736]: PyObject *bval; .[ 2737]: PyObject **vaddr; .[ 2738]: PyObject *key = ep->me_key; .[ 2741]: ( _Py_RefTotal++ , ((PyObject *)(aval))->ob_refcnt++); .[ 2743]: ( _Py_RefTotal++ , ((PyObject *)(key))->ob_refcnt++); .[ 2745]: if ((b->ma_keys->dk_lookup)(b, key, ep->me_hash, &vaddr, ((void *)0)) < 0) .[ 2746]: bval = ((void *)0); .[ 2747]: else .[ 2748]: bval = *vaddr; .[ 2749]: if (bval == ((void *)0)) { .[ 2750]: do { PyObject *_py_decref_tmp = (PyObject *)(key); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if ((\ . (PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2751]: do { PyObject *_py_decref_tmp = (PyObject *)(aval); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (\ . ((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2752]: if (PyErr_Occurred()) .[ 2753]: return -1; .[ 2754]: return 0; .[ 2755]: } .[ 2756]: cmp = PyObject_RichCompareBool(aval, bval, 2); .[ 2757]: do { PyObject *_py_decref_tmp = (PyObject *)(key); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if ((\ . (PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2758]: do { PyObject *_py_decref_tmp = (PyObject *)(aval); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (\ . ((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2759]: if (cmp <= 0) .[ 2760]: return cmp; .[ 2761]: } .[ 2762]: } .[ 2763]: return 1; .[ 2764]: } .[ 2766]: static PyObject * .[ 2767]: dict_richcompare(PyObject *v, PyObject *w, int op) .[ 2768]: { .[ 2769]: int cmp; .[ 2770]: PyObject *res; .[ 2772]: if (!((( (((PyObject*)(v))->ob_type))->tp_flags & ( (1UL << 29))) != 0) || !((( (((PyObject*)(w))->ob_type))->tp_flags \ . & ( (1UL << 29))) != 0)) { .[ 2773]: res = (&_Py_NotImplementedStruct); .[ 2774]: } .[ 2775]: else if (op == 2 || op == 3) { .[ 2776]: cmp = dict_equal((PyDictObject *)v, (PyDictObject *)w); .[ 2777]: if (cmp < 0) .[ 2778]: return ((void *)0); .[ 2779]: res = (cmp == (op == 2)) ? ((PyObject *) &_Py_TrueStruct) : ((PyObject *) &_Py_FalseStruct); .[ 2780]: } .[ 2781]: else .[ 2782]: res = (&_Py_NotImplementedStruct); .[ 2783]: ( _Py_RefTotal++ , ((PyObject *)(res))->ob_refcnt++); .[ 2784]: return res; .[ 2785]: } .[ 2798]: static PyObject * .[ 2799]: dict___contains__(PyDictObject *self, PyObject *key) .[ 2801]: { .[ 2802]: register PyDictObject *mp = self; .[ 2803]: Py_hash_t hash; .[ 2804]: Py_ssize_t ix; .[ 2805]: PyObject **value_addr; .[ 2807]: if (!((((PyObject*)(key))->ob_type) == &PyUnicode_Type) || .[ 2808]: (hash = ((PyASCIIObject *) key)->hash) == -1) { .[ 2809]: hash = PyObject_Hash(key); .[ 2810]: if (hash == -1) .[ 2811]: return ((void *)0); .[ 2812]: } .[ 2813]: ix = (mp->ma_keys->dk_lookup)(mp, key, hash, &value_addr, ((void *)0)); .[ 2814]: if (ix == (-3)) .[ 2815]: return ((void *)0); .[ 2816]: if (ix == (-1) || *value_addr == ((void *)0)) .[ 2817]: return ( _Py_RefTotal++ , ((PyObject *)( ((PyObject *) &_Py_FalseStruct)))->ob_refcnt++), ((PyObject *) &_Py_FalseStruct\ . ); .[ 2818]: return ( _Py_RefTotal++ , ((PyObject *)( ((PyObject *) &_Py_TrueStruct)))->ob_refcnt++), ((PyObject *) &_Py_TrueStruct\ . ); .[ 2819]: } .[ 2821]: static PyObject * .[ 2822]: dict_get(PyDictObject *mp, PyObject *args) .[ 2823]: { .[ 2824]: PyObject *key; .[ 2825]: PyObject *failobj = (&_Py_NoneStruct); .[ 2826]: PyObject *val = ((void *)0); .[ 2827]: Py_hash_t hash; .[ 2828]: Py_ssize_t ix; .[ 2829]: PyObject **value_addr; .[ 2831]: if (!PyArg_UnpackTuple(args, "get", 1, 2, &key, &failobj)) .[ 2832]: return ((void *)0); .[ 2834]: if (!((((PyObject*)(key))->ob_type) == &PyUnicode_Type) || .[ 2835]: (hash = ((PyASCIIObject *) key)->hash) == -1) { .[ 2836]: hash = PyObject_Hash(key); .[ 2837]: if (hash == -1) .[ 2838]: return ((void *)0); .[ 2839]: } .[ 2840]: ix = (mp->ma_keys->dk_lookup)(mp, key, hash, &value_addr, ((void *)0)); .[ 2841]: if (ix == (-3)) .[ 2842]: return ((void *)0); .[ 2843]: if (ix == (-1) || *value_addr == ((void *)0)) .[ 2844]: val = failobj; .[ 2845]: else .[ 2846]: val = *value_addr; .[ 2847]: ( _Py_RefTotal++ , ((PyObject *)(val))->ob_refcnt++); .[ 2848]: return val; .[ 2849]: } .[ 2851]: PyObject * .[ 2852]: PyDict_SetDefault(PyObject *d, PyObject *key, PyObject *defaultobj) .[ 2853]: { .[ 2854]: PyDictObject *mp = (PyDictObject *)d; .[ 2855]: PyObject *value; .[ 2856]: Py_hash_t hash; .[ 2857]: Py_ssize_t hashpos, ix; .[ 2858]: PyObject **value_addr; .[ 2860]: if (!((( (((PyObject*)(d))->ob_type))->tp_flags & ( (1UL << 29))) != 0)) { .[ 2861]: _PyErr_BadInternalCall(__FILE__, __LINE__); .[ 2862]: return ((void *)0); .[ 2863]: } .[ 2865]: if (!((((PyObject*)(key))->ob_type) == &PyUnicode_Type) || .[ 2866]: (hash = ((PyASCIIObject *) key)->hash) == -1) { .[ 2867]: hash = PyObject_Hash(key); .[ 2868]: if (hash == -1) .[ 2869]: return ((void *)0); .[ 2870]: } .[ 2872]: if (mp->ma_values != ((void *)0) && !((((PyObject*)(key))->ob_type) == &PyUnicode_Type)) { .[ 2873]: if (insertion_resize(mp) < 0) .[ 2874]: return ((void *)0); .[ 2875]: } .[ 2877]: ix = (mp->ma_keys->dk_lookup)(mp, key, hash, &value_addr, &hashpos); .[ 2878]: if (ix == (-3)) .[ 2879]: return ((void *)0); .[ 2881]: if (((mp)->ma_values != ((void *)0)) && .[ 2882]: ((ix >= 0 && *value_addr == ((void *)0) && mp->ma_used != ix) || .[ 2883]: (ix == (-1) && mp->ma_used != mp->ma_keys->dk_nentries))) { .[ 2884]: if (insertion_resize(mp) < 0) { .[ 2885]: return ((void *)0); .[ 2886]: } .[ 2887]: find_empty_slot(mp, key, hash, &value_addr, &hashpos); .[ 2888]: ix = (-1); .[ 2889]: } .[ 2891]: if (ix == (-1)) { .[ 2892]: PyDictKeyEntry *ep, *ep0; .[ 2893]: value = defaultobj; .[ 2894]: if (mp->ma_keys->dk_usable <= 0) { .[ 2895]: if (insertion_resize(mp) < 0) { .[ 2896]: return ((void *)0); .[ 2897]: } .[ 2898]: find_empty_slot(mp, key, hash, &value_addr, &hashpos); .[ 2899]: } .[ 2900]: ep0 = ((PyDictKeyEntry*)(&(mp->ma_keys)->dk_indices.as_1[((mp->ma_keys)->dk_size) * (((mp->ma_keys)->dk_size\ . ) <= 0xff ? 1 : ((mp->ma_keys)->dk_size) <= 0xffff ? 2 : ((mp->ma_keys)->dk_size) <= 0xffffffff ? 4 : sizeof(int64_t))\ . ])); .[ 2901]: ep = &ep0[mp->ma_keys->dk_nentries]; .[ 2902]: dk_set_index(mp->ma_keys, hashpos, mp->ma_keys->dk_nentries); .[ 2903]: ( _Py_RefTotal++ , ((PyObject *)(key))->ob_refcnt++); .[ 2904]: ( _Py_RefTotal++ , ((PyObject *)(value))->ob_refcnt++); .[ 2905]: do { if (!((( ((PyGC_Head *)(mp)-1))->gc.gc_refs >> (1)) != (-2))) { if (((((( (((( PyObject*)(key))->ob_type)))->\ . tp_flags & ( (1UL << 14))) != 0) && ((((PyObject*)(key))->ob_type)->tp_is_gc == ((void *)0) || (((PyObject*)(key))\ . ->ob_type)->tp_is_gc(key))) && (!((((PyObject*)(key))->ob_type) == &PyTuple_Type) || ((( ((PyGC_Head *)(key)\ . -1))->gc.gc_refs >> (1)) != (-2)))) || ((((( (((( PyObject*)(value))->ob_type)))->tp_flags & ( (1UL << 14))) != 0) && \ . ((((PyObject*)(value))->ob_type)->tp_is_gc == ((void *)0) || (((PyObject*)(value))->ob_type)->tp_is_gc(value\ . ))) && (!((((PyObject*)(value))->ob_type) == &PyTuple_Type) || ((( ((PyGC_Head *)(value)-1))->gc.gc_refs >> (1\ . )) != (-2))))) { do { PyGC_Head *g = ((PyGC_Head *)(mp)-1); if (((g)->gc.gc_refs >> (1)) != (-2)) Py_FatalError("GC object already tracked"\ . ); do { (g)->gc.gc_refs = ((g)->gc.gc_refs & ~(((size_t) -1) << (1))) | (((size_t)( (-3))) << (1)); } while (0); g->gc.\ . gc_next = _PyGC_generation0; g->gc.gc_prev = _PyGC_generation0->gc.gc_prev; g->gc.gc_prev->gc.gc_next = g; _PyGC_generation0\ . ->gc.gc_prev = g; } while (0);; } } } while(0); .[ 2906]: ep->me_key = key; .[ 2907]: ep->me_hash = hash; .[ 2908]: if (mp->ma_values) { .[ 2909]: (__builtin_expect(!(mp->ma_values[mp->ma_keys->dk_nentries] == ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__\ . , __LINE__, "mp->ma_values[mp->ma_keys->dk_nentries] == NULL") : (void)0); .[ 2910]: mp->ma_values[mp->ma_keys->dk_nentries] = value; .[ 2911]: } .[ 2912]: else { .[ 2913]: ep->me_value = value; .[ 2914]: } .[ 2915]: mp->ma_used++; .[ 2916]: mp->ma_version_tag = (++pydict_global_version); .[ 2917]: mp->ma_keys->dk_usable--; .[ 2918]: mp->ma_keys->dk_nentries++; .[ 2919]: (__builtin_expect(!(mp->ma_keys->dk_usable >= 0), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "mp->ma_keys->dk_usable >= 0"\ . ) : (void)0); .[ 2920]: } .[ 2921]: else if (*value_addr == ((void *)0)) { .[ 2922]: value = defaultobj; .[ 2923]: (__builtin_expect(!(((mp)->ma_values != ((void *)0))), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "_PyDict_HasSplitTable(mp)"\ . ) : (void)0); .[ 2924]: (__builtin_expect(!(ix == mp->ma_used), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "ix == mp->ma_used") \ . : (void)0); .[ 2925]: ( _Py_RefTotal++ , ((PyObject *)(value))->ob_refcnt++); .[ 2926]: do { if (!((( ((PyGC_Head *)(mp)-1))->gc.gc_refs >> (1)) != (-2))) { if (((((( (((( PyObject*)(key))->ob_type)))->\ . tp_flags & ( (1UL << 14))) != 0) && ((((PyObject*)(key))->ob_type)->tp_is_gc == ((void *)0) || (((PyObject*)(key))\ . ->ob_type)->tp_is_gc(key))) && (!((((PyObject*)(key))->ob_type) == &PyTuple_Type) || ((( ((PyGC_Head *)(key)\ . -1))->gc.gc_refs >> (1)) != (-2)))) || ((((( (((( PyObject*)(value))->ob_type)))->tp_flags & ( (1UL << 14))) != 0) && \ . ((((PyObject*)(value))->ob_type)->tp_is_gc == ((void *)0) || (((PyObject*)(value))->ob_type)->tp_is_gc(value\ . ))) && (!((((PyObject*)(value))->ob_type) == &PyTuple_Type) || ((( ((PyGC_Head *)(value)-1))->gc.gc_refs >> (1\ . )) != (-2))))) { do { PyGC_Head *g = ((PyGC_Head *)(mp)-1); if (((g)->gc.gc_refs >> (1)) != (-2)) Py_FatalError("GC object already tracked"\ . ); do { (g)->gc.gc_refs = ((g)->gc.gc_refs & ~(((size_t) -1) << (1))) | (((size_t)( (-3))) << (1)); } while (0); g->gc.\ . gc_next = _PyGC_generation0; g->gc.gc_prev = _PyGC_generation0->gc.gc_prev; g->gc.gc_prev->gc.gc_next = g; _PyGC_generation0\ . ->gc.gc_prev = g; } while (0);; } } } while(0); .[ 2927]: *value_addr = value; .[ 2928]: mp->ma_used++; .[ 2929]: mp->ma_version_tag = (++pydict_global_version); .[ 2930]: } .[ 2931]: else { .[ 2932]: value = *value_addr; .[ 2933]: } .[ 2935]: (__builtin_expect(!(_PyDict_CheckConsistency(mp)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "_PyDict_CheckConsistency(mp)"\ . ) : (void)0); .[ 2936]: return value; .[ 2937]: } .[ 2939]: static PyObject * .[ 2940]: dict_setdefault(PyDictObject *mp, PyObject *args) .[ 2941]: { .[ 2942]: PyObject *key, *val; .[ 2943]: PyObject *defaultobj = (&_Py_NoneStruct); .[ 2945]: if (!PyArg_UnpackTuple(args, "setdefault", 1, 2, &key, &defaultobj)) .[ 2946]: return ((void *)0); .[ 2948]: val = PyDict_SetDefault((PyObject *)mp, key, defaultobj); .[ 2949]: do { PyObject *_py_xincref_tmp = (PyObject *)(val); if (_py_xincref_tmp != ((void *)0)) ( _Py_RefTotal++ , ((PyObject \ . *)(_py_xincref_tmp))->ob_refcnt++); } while (0); .[ 2950]: return val; .[ 2951]: } .[ 2953]: static PyObject * .[ 2954]: dict_clear(PyDictObject *mp) .[ 2955]: { .[ 2956]: PyDict_Clear((PyObject *)mp); .[ 2957]: return ( _Py_RefTotal++ , ((PyObject *)( (&_Py_NoneStruct)))->ob_refcnt++), (&_Py_NoneStruct); .[ 2958]: } .[ 2960]: static PyObject * .[ 2961]: dict_pop(PyDictObject *mp, PyObject *args) .[ 2962]: { .[ 2963]: PyObject *key, *deflt = ((void *)0); .[ 2965]: if(!PyArg_UnpackTuple(args, "pop", 1, 2, &key, &deflt)) .[ 2966]: return ((void *)0); .[ 2968]: return _PyDict_Pop((PyObject*)mp, key, deflt); .[ 2969]: } .[ 2971]: static PyObject * .[ 2972]: dict_popitem(PyDictObject *mp) .[ 2973]: { .[ 2974]: Py_ssize_t i, j; .[ 2975]: PyDictKeyEntry *ep0, *ep; .[ 2976]: PyObject *res; .[ 2987]: res = PyTuple_New(2); .[ 2988]: if (res == ((void *)0)) .[ 2989]: return ((void *)0); .[ 2990]: if (mp->ma_used == 0) { .[ 2991]: do { PyObject *_py_decref_tmp = (PyObject *)(res); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if ((\ . (PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 2992]: PyErr_SetString(PyExc_KeyError, .[ 2993]: "popitem(): dictionary is empty"); .[ 2994]: return ((void *)0); .[ 2995]: } .[ 2997]: if (mp->ma_keys->dk_lookup == lookdict_split) { .[ 2998]: if (dictresize(mp, ((mp->ma_keys)->dk_size))) { .[ 2999]: do { PyObject *_py_decref_tmp = (PyObject *)(res); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if ((\ . (PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 3000]: return ((void *)0); .[ 3001]: } .[ 3002]: } .[ 3003]: if ((mp)->ma_keys->dk_lookup == lookdict_unicode_nodummy) { (mp)->ma_keys->dk_lookup = lookdict_unicode; }; .[ 3006]: ep0 = ((PyDictKeyEntry*)(&(mp->ma_keys)->dk_indices.as_1[((mp->ma_keys)->dk_size) * (((mp->ma_keys)->dk_size\ . ) <= 0xff ? 1 : ((mp->ma_keys)->dk_size) <= 0xffff ? 2 : ((mp->ma_keys)->dk_size) <= 0xffffffff ? 4 : sizeof(int64_t))\ . ])); .[ 3007]: i = mp->ma_keys->dk_nentries - 1; .[ 3008]: while (i >= 0 && ep0[i].me_value == ((void *)0)) { .[ 3009]: i--; .[ 3010]: } .[ 3011]: (__builtin_expect(!(i >= 0), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "i >= 0") : (void)0); .[ 3013]: ep = &ep0[i]; .[ 3014]: j = lookdict_index(mp->ma_keys, ep->me_hash, i); .[ 3015]: (__builtin_expect(!(j >= 0), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "j >= 0") : (void)0); .[ 3016]: (__builtin_expect(!(dk_get_index(mp->ma_keys, j) == i), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "dk_get_index(mp->ma_keys, j) == i"\ . ) : (void)0); .[ 3017]: dk_set_index(mp->ma_keys, j, (-2)); .[ 3019]: (((PyTupleObject *)(res))->ob_item[0] = ep->me_key); .[ 3020]: (((PyTupleObject *)(res))->ob_item[1] = ep->me_value); .[ 3021]: ep->me_key = ((void *)0); .[ 3022]: ep->me_value = ((void *)0); .[ 3024]: mp->ma_keys->dk_nentries = i; .[ 3025]: mp->ma_used--; .[ 3026]: mp->ma_version_tag = (++pydict_global_version); .[ 3027]: (__builtin_expect(!(_PyDict_CheckConsistency(mp)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "_PyDict_CheckConsistency(mp)"\ . ) : (void)0); .[ 3028]: return res; .[ 3029]: } .[ 3031]: static int .[ 3032]: dict_traverse(PyObject *op, visitproc visit, void *arg) .[ 3033]: { .[ 3034]: PyDictObject *mp = (PyDictObject *)op; .[ 3035]: PyDictKeysObject *keys = mp->ma_keys; .[ 3036]: PyDictKeyEntry *entries = ((PyDictKeyEntry*)(&(keys)->dk_indices.as_1[((keys)->dk_size) * (((keys)->dk_size\ . ) <= 0xff ? 1 : ((keys)->dk_size) <= 0xffff ? 2 : ((keys)->dk_size) <= 0xffffffff ? 4 : sizeof(int64_t))])); .[ 3037]: Py_ssize_t i, n = keys->dk_nentries; .[ 3039]: if (keys->dk_lookup == lookdict) { .[ 3040]: for (i = 0; i < n; i++) { .[ 3041]: if (entries[i].me_value != ((void *)0)) { .[ 3042]: do { if (entries[i].me_value) { int vret = visit((PyObject *)(entries[i].me_value), arg); if (vret) return vret; } } \ . while (0); .[ 3043]: do { if (entries[i].me_key) { int vret = visit((PyObject *)(entries[i].me_key), arg); if (vret) return vret; } } while \ . (0); .[ 3044]: } .[ 3045]: } .[ 3046]: } .[ 3047]: else { .[ 3048]: if (mp->ma_values != ((void *)0)) { .[ 3049]: for (i = 0; i < n; i++) { .[ 3050]: do { if (mp->ma_values[i]) { int vret = visit((PyObject *)(mp->ma_values[i]), arg); if (vret) return vret; } } while (\ . 0); .[ 3051]: } .[ 3052]: } .[ 3053]: else { .[ 3054]: for (i = 0; i < n; i++) { .[ 3055]: do { if (entries[i].me_value) { int vret = visit((PyObject *)(entries[i].me_value), arg); if (vret) return vret; } } \ . while (0); .[ 3056]: } .[ 3057]: } .[ 3058]: } .[ 3059]: return 0; .[ 3060]: } .[ 3062]: static int .[ 3063]: dict_tp_clear(PyObject *op) .[ 3064]: { .[ 3065]: PyDict_Clear(op); .[ 3066]: return 0; .[ 3067]: } .[ 3069]: static PyObject *dictiter_new(PyDictObject *, PyTypeObject *); .[ 3071]: Py_ssize_t .[ 3072]: _PyDict_SizeOf(PyDictObject *mp) .[ 3073]: { .[ 3074]: Py_ssize_t size, usable, res; .[ 3076]: size = ((mp->ma_keys)->dk_size); .[ 3077]: usable = (((size) << 1)/3); .[ 3079]: res = ( ( (((PyObject*)(mp))->ob_type))->tp_basicsize ); .[ 3080]: if (mp->ma_values) .[ 3081]: res += usable * sizeof(PyObject*); .[ 3084]: if (mp->ma_keys->dk_refcnt == 1) .[ 3085]: res += (sizeof(PyDictKeysObject) .[ 3086]: - sizeof(((PyDictKeysObject *)0)->dk_indices) .[ 3087]: + (((mp->ma_keys)->dk_size) <= 0xff ? 1 : ((mp->ma_keys)->dk_size) <= 0xffff ? 2 : ((mp->ma_keys)->dk_size) <= 0xffffffff \ . ? 4 : sizeof(int64_t)) * size .[ 3088]: + sizeof(PyDictKeyEntry) * usable); .[ 3089]: return res; .[ 3090]: } .[ 3092]: Py_ssize_t .[ 3093]: _PyDict_KeysSize(PyDictKeysObject *keys) .[ 3094]: { .[ 3095]: return (sizeof(PyDictKeysObject) .[ 3096]: - sizeof(((PyDictKeysObject *)0)->dk_indices) .[ 3097]: + (((keys)->dk_size) <= 0xff ? 1 : ((keys)->dk_size) <= 0xffff ? 2 : ((keys)->dk_size) <= 0xffffffff ? 4 : sizeof(int64_t\ . )) * ((keys)->dk_size) .[ 3098]: + ((( ((keys)->dk_size)) << 1)/3) * sizeof(PyDictKeyEntry)); .[ 3099]: } .[ 3101]: static PyObject * .[ 3102]: dict_sizeof(PyDictObject *mp) .[ 3103]: { .[ 3104]: return PyLong_FromSsize_t(_PyDict_SizeOf(mp)); .[ 3105]: } .[ 3107]: static char getitem__doc__[] = "x.__getitem__(y) <==> x[y]"; .[ 3110]: static char sizeof__doc__[] = "D.__sizeof__() -> size of D in memory, in bytes"; .[ 3113]: static char get__doc__[] = "D.get(k[,d]) -> D[k] if k in D, else d. d defaults to None."; .[ 3116]: static char setdefault_doc__[] = "D.setdefault(k[,d]) -> D.get(k,d), also set D[k]=d if k not in D"; .[ 3119]: static char pop__doc__[] = "D.pop(k[,d]) -> v, remove specified key and return the corresponding value.\nIf key is not found, d is returned if given, otherwise KeyError is raised"\ . ; .[ 3123]: static char popitem__doc__[] = "D.popitem() -> (k, v), remove and return some (key, value) pair as a\n2-tuple; but raise KeyError if D is empty."\ . ; .[ 3127]: static char update__doc__[] = "D.update([E, ]**F) -> None. Update D from dict/iterable E and F.\nIf E is present and has a .keys() method, then does: for k in E: D[k] = E[k]\nIf E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v\nIn either case, this is followed by: for k in F: D[k] = F[k]"\ . ; .[ 3133]: static char clear__doc__[] = "D.clear() -> None. Remove all items from D."; .[ 3136]: static char copy__doc__[] = "D.copy() -> a shallow copy of D"; .[ 3139]: static PyObject *dictkeys_new(PyObject *); .[ 3140]: static PyObject *dictitems_new(PyObject *); .[ 3141]: static PyObject *dictvalues_new(PyObject *); .[ 3144]: static char keys__doc__[] = "D.keys() -> a set-like object providing a view on D's keys"; .[ 3146]: static char items__doc__[] = "D.items() -> a set-like object providing a view on D's items"; .[ 3148]: static char values__doc__[] = "D.values() -> an object providing a view on D's values"; .[ 3150]: static PyMethodDef mapp_methods[] = { .[ 3151]: {"__contains__", (PyCFunction)dict___contains__, 0x0008|0x0040, dict___contains____doc__}, .[ 3152]: {"__getitem__", (PyCFunction)dict_subscript, 0x0008 | 0x0040, .[ 3153]: getitem__doc__}, .[ 3154]: {"__sizeof__", (PyCFunction)dict_sizeof, 0x0004, .[ 3155]: sizeof__doc__}, .[ 3156]: {"get", (PyCFunction)dict_get, 0x0001, .[ 3157]: get__doc__}, .[ 3158]: {"setdefault", (PyCFunction)dict_setdefault, 0x0001, .[ 3159]: setdefault_doc__}, .[ 3160]: {"pop", (PyCFunction)dict_pop, 0x0001, .[ 3161]: pop__doc__}, .[ 3162]: {"popitem", (PyCFunction)dict_popitem, 0x0004, .[ 3163]: popitem__doc__}, .[ 3164]: {"keys", (PyCFunction)dictkeys_new, 0x0004, .[ 3165]: keys__doc__}, .[ 3166]: {"items", (PyCFunction)dictitems_new, 0x0004, .[ 3167]: items__doc__}, .[ 3168]: {"values", (PyCFunction)dictvalues_new, 0x0004, .[ 3169]: values__doc__}, .[ 3170]: {"update", (PyCFunction)dict_update, 0x0001 | 0x0002, .[ 3171]: update__doc__}, .[ 3172]: {"fromkeys", (PyCFunction)dict_fromkeys, 0x0001|0x0010, dict_fromkeys__doc__}, .[ 3173]: {"clear", (PyCFunction)dict_clear, 0x0004, .[ 3174]: clear__doc__}, .[ 3175]: {"copy", (PyCFunction)dict_copy, 0x0004, .[ 3176]: copy__doc__}, .[ 3177]: {((void *)0), ((void *)0)} .[ 3178]: }; .[ 3181]: int .[ 3182]: PyDict_Contains(PyObject *op, PyObject *key) .[ 3183]: { .[ 3184]: Py_hash_t hash; .[ 3185]: Py_ssize_t ix; .[ 3186]: PyDictObject *mp = (PyDictObject *)op; .[ 3187]: PyObject **value_addr; .[ 3189]: if (!((((PyObject*)(key))->ob_type) == &PyUnicode_Type) || .[ 3190]: (hash = ((PyASCIIObject *) key)->hash) == -1) { .[ 3191]: hash = PyObject_Hash(key); .[ 3192]: if (hash == -1) .[ 3193]: return -1; .[ 3194]: } .[ 3195]: ix = (mp->ma_keys->dk_lookup)(mp, key, hash, &value_addr, ((void *)0)); .[ 3196]: if (ix == (-3)) .[ 3197]: return -1; .[ 3198]: return (ix != (-1) && *value_addr != ((void *)0)); .[ 3199]: } .[ 3202]: int .[ 3203]: _PyDict_Contains(PyObject *op, PyObject *key, Py_hash_t hash) .[ 3204]: { .[ 3205]: PyDictObject *mp = (PyDictObject *)op; .[ 3206]: PyObject **value_addr; .[ 3207]: Py_ssize_t ix; .[ 3209]: ix = (mp->ma_keys->dk_lookup)(mp, key, hash, &value_addr, ((void *)0)); .[ 3210]: if (ix == (-3)) .[ 3211]: return -1; .[ 3212]: return (ix != (-1) && *value_addr != ((void *)0)); .[ 3213]: } .[ 3216]: static PySequenceMethods dict_as_sequence = { .[ 3217]: 0, .[ 3218]: 0, .[ 3219]: 0, .[ 3220]: 0, .[ 3221]: 0, .[ 3222]: 0, .[ 3223]: 0, .[ 3224]: PyDict_Contains, .[ 3225]: 0, .[ 3226]: 0, .[ 3227]: }; .[ 3229]: static PyObject * .[ 3230]: dict_new(PyTypeObject *type, PyObject *args, PyObject *kwds) .[ 3231]: { .[ 3232]: PyObject *self; .[ 3233]: PyDictObject *d; .[ 3235]: (__builtin_expect(!(type != ((void *)0) && type->tp_alloc != ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, \ . __LINE__, "type != NULL && type->tp_alloc != NULL") : (void)0); .[ 3236]: self = type->tp_alloc(type, 0); .[ 3237]: if (self == ((void *)0)) .[ 3238]: return ((void *)0); .[ 3239]: d = (PyDictObject *)self; .[ 3242]: if (type == &PyDict_Type) .[ 3243]: do { PyGC_Head *g = ((PyGC_Head *)(d)-1); (__builtin_expect(!(((g)->gc.gc_refs >> (1)) != (-2)), 0) ? __assert_rtn\ . (__func__, __FILE__, __LINE__, "_PyGCHead_REFS(g) != _PyGC_REFS_UNTRACKED") : (void)0); do { (g)->gc.gc_refs \ . = ((g)->gc.gc_refs & ~(((size_t) -1) << (1))) | (((size_t)( (-2))) << (1)); } while (0); g->gc.gc_prev->gc.gc_next = \ . g->gc.gc_next; g->gc.gc_next->gc.gc_prev = g->gc.gc_prev; g->gc.gc_next = ((void *)0); } while (0);; .[ 3245]: d->ma_used = 0; .[ 3246]: d->ma_version_tag = (++pydict_global_version); .[ 3247]: d->ma_keys = new_keys_object(8); .[ 3248]: if (d->ma_keys == ((void *)0)) { .[ 3249]: do { PyObject *_py_decref_tmp = (PyObject *)(self); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (\ . ((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 3250]: return ((void *)0); .[ 3251]: } .[ 3252]: (__builtin_expect(!(_PyDict_CheckConsistency(d)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "_PyDict_CheckConsistency(d)"\ . ) : (void)0); .[ 3253]: return self; .[ 3254]: } .[ 3256]: static int .[ 3257]: dict_init(PyObject *self, PyObject *args, PyObject *kwds) .[ 3258]: { .[ 3259]: return dict_update_common(self, args, kwds, "dict"); .[ 3260]: } .[ 3262]: static PyObject * .[ 3263]: dict_iter(PyDictObject *dict) .[ 3264]: { .[ 3265]: return dictiter_new(dict, &PyDictIterKey_Type); .[ 3266]: } .[ 3277]: static char dictionary_doc[] = "dict() -> new empty dictionary\n" "dict(mapping) -> new dictionary initialized from a mapping object's\n" \ . " (key, value) pairs\n" "dict(iterable) -> new dictionary initialized as if via:\n" " d = {}\n" " for k, v in iterable:\n" \ . " d[k] = v\n" "dict(**kwargs) -> new dictionary initialized with the name=value pairs\n" " in the keyword argument list. For example: dict(one=1, two=2)"\ . ; .[ 3279]: PyTypeObject PyDict_Type = { .[ 3280]: { { 0, 0, 1, &PyType_Type }, 0 }, .[ 3281]: "dict", .[ 3282]: sizeof(PyDictObject), .[ 3283]: 0, .[ 3284]: (destructor)dict_dealloc, .[ 3285]: 0, .[ 3286]: 0, .[ 3287]: 0, .[ 3288]: 0, .[ 3289]: (reprfunc)dict_repr, .[ 3290]: 0, .[ 3291]: &dict_as_sequence, .[ 3292]: &dict_as_mapping, .[ 3293]: PyObject_HashNotImplemented, .[ 3294]: 0, .[ 3295]: 0, .[ 3296]: PyObject_GenericGetAttr, .[ 3297]: 0, .[ 3298]: 0, .[ 3299]: ( 0 | (1UL << 18) | 0) | (1UL << 14) | .[ 3300]: (1UL << 10) | (1UL << 29), .[ 3301]: dictionary_doc, .[ 3302]: dict_traverse, .[ 3303]: dict_tp_clear, .[ 3304]: dict_richcompare, .[ 3305]: 0, .[ 3306]: (getiterfunc)dict_iter, .[ 3307]: 0, .[ 3308]: mapp_methods, .[ 3309]: 0, .[ 3310]: 0, .[ 3311]: 0, .[ 3312]: 0, .[ 3313]: 0, .[ 3314]: 0, .[ 3315]: 0, .[ 3316]: dict_init, .[ 3317]: PyType_GenericAlloc, .[ 3318]: dict_new, .[ 3319]: PyObject_GC_Del, .[ 3320]: }; .[ 3322]: PyObject * .[ 3323]: _PyDict_GetItemId(PyObject *dp, struct _Py_Identifier *key) .[ 3324]: { .[ 3325]: PyObject *kv; .[ 3326]: kv = _PyUnicode_FromId(key); .[ 3327]: if (kv == ((void *)0)) { .[ 3328]: PyErr_Clear(); .[ 3329]: return ((void *)0); .[ 3330]: } .[ 3331]: return PyDict_GetItem(dp, kv); .[ 3332]: } .[ 3336]: PyObject * .[ 3337]: PyDict_GetItemString(PyObject *v, __const char *key) .[ 3338]: { .[ 3339]: PyObject *kv, *rv; .[ 3340]: kv = PyUnicode_FromString(key); .[ 3341]: if (kv == ((void *)0)) { .[ 3342]: PyErr_Clear(); .[ 3343]: return ((void *)0); .[ 3344]: } .[ 3345]: rv = PyDict_GetItem(v, kv); .[ 3346]: do { PyObject *_py_decref_tmp = (PyObject *)(kv); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((\ . PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 3347]: return rv; .[ 3348]: } .[ 3350]: int .[ 3351]: _PyDict_SetItemId(PyObject *v, struct _Py_Identifier *key, PyObject *item) .[ 3352]: { .[ 3353]: PyObject *kv; .[ 3354]: kv = _PyUnicode_FromId(key); .[ 3355]: if (kv == ((void *)0)) .[ 3356]: return -1; .[ 3357]: return PyDict_SetItem(v, kv, item); .[ 3358]: } .[ 3360]: int .[ 3361]: PyDict_SetItemString(PyObject *v, __const char *key, PyObject *item) .[ 3362]: { .[ 3363]: PyObject *kv; .[ 3364]: int err; .[ 3365]: kv = PyUnicode_FromString(key); .[ 3366]: if (kv == ((void *)0)) .[ 3367]: return -1; .[ 3368]: PyUnicode_InternInPlace(&kv); .[ 3369]: err = PyDict_SetItem(v, kv, item); .[ 3370]: do { PyObject *_py_decref_tmp = (PyObject *)(kv); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((\ . PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 3371]: return err; .[ 3372]: } .[ 3374]: int .[ 3375]: _PyDict_DelItemId(PyObject *v, _Py_Identifier *key) .[ 3376]: { .[ 3377]: PyObject *kv = _PyUnicode_FromId(key); .[ 3378]: if (kv == ((void *)0)) .[ 3379]: return -1; .[ 3380]: return PyDict_DelItem(v, kv); .[ 3381]: } .[ 3383]: int .[ 3384]: PyDict_DelItemString(PyObject *v, __const char *key) .[ 3385]: { .[ 3386]: PyObject *kv; .[ 3387]: int err; .[ 3388]: kv = PyUnicode_FromString(key); .[ 3389]: if (kv == ((void *)0)) .[ 3390]: return -1; .[ 3391]: err = PyDict_DelItem(v, kv); .[ 3392]: do { PyObject *_py_decref_tmp = (PyObject *)(kv); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((\ . PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 3393]: return err; .[ 3394]: } .[ 3398]: typedef struct { .[ 3399]: PyObject ob_base; .[ 3400]: PyDictObject *di_dict; .[ 3401]: Py_ssize_t di_used; .[ 3402]: Py_ssize_t di_pos; .[ 3403]: PyObject* di_result; .[ 3404]: Py_ssize_t len; .[ 3405]: } dictiterobject; .[ 3407]: static PyObject * .[ 3408]: dictiter_new(PyDictObject *dict, PyTypeObject *itertype) .[ 3409]: { .[ 3410]: dictiterobject *di; .[ 3411]: di = ( (dictiterobject *) _PyObject_GC_New(itertype) ); .[ 3412]: if (di == ((void *)0)) .[ 3413]: return ((void *)0); .[ 3414]: ( _Py_RefTotal++ , ((PyObject *)(dict))->ob_refcnt++); .[ 3415]: di->di_dict = dict; .[ 3416]: di->di_used = dict->ma_used; .[ 3417]: di->di_pos = 0; .[ 3418]: di->len = dict->ma_used; .[ 3419]: if (itertype == &PyDictIterItem_Type) { .[ 3420]: di->di_result = PyTuple_Pack(2, (&_Py_NoneStruct), (&_Py_NoneStruct)); .[ 3421]: if (di->di_result == ((void *)0)) { .[ 3422]: do { PyObject *_py_decref_tmp = (PyObject *)(di); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((\ . PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 3423]: return ((void *)0); .[ 3424]: } .[ 3425]: } .[ 3426]: else .[ 3427]: di->di_result = ((void *)0); .[ 3428]: do { PyGC_Head *g = ((PyGC_Head *)(di)-1); if (((g)->gc.gc_refs >> (1)) != (-2)) Py_FatalError("GC object already tracked"\ . ); do { (g)->gc.gc_refs = ((g)->gc.gc_refs & ~(((size_t) -1) << (1))) | (((size_t)( (-3))) << (1)); } while (0); g->gc.\ . gc_next = _PyGC_generation0; g->gc.gc_prev = _PyGC_generation0->gc.gc_prev; g->gc.gc_prev->gc.gc_next = g; _PyGC_generation0\ . ->gc.gc_prev = g; } while (0);; .[ 3429]: return (PyObject *)di; .[ 3430]: } .[ 3432]: static void .[ 3433]: dictiter_dealloc(dictiterobject *di) .[ 3434]: { .[ 3435]: do { PyObject *_py_xdecref_tmp = (PyObject *)(di->di_dict); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp \ . = (PyObject *)(_py_xdecref_tmp); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject*)_py_decref_tmp\ . )->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } else _Py_Dealloc(\ . _py_decref_tmp); } while (0); } while (0); .[ 3436]: do { PyObject *_py_xdecref_tmp = (PyObject *)(di->di_result); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp \ . = (PyObject *)(_py_xdecref_tmp); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject*)_py_decref_tmp\ . )->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } else _Py_Dealloc(\ . _py_decref_tmp); } while (0); } while (0); .[ 3437]: PyObject_GC_Del(di); .[ 3438]: } .[ 3440]: static int .[ 3441]: dictiter_traverse(dictiterobject *di, visitproc visit, void *arg) .[ 3442]: { .[ 3443]: do { if (di->di_dict) { int vret = visit((PyObject *)(di->di_dict), arg); if (vret) return vret; } } while (0); .[ 3444]: do { if (di->di_result) { int vret = visit((PyObject *)(di->di_result), arg); if (vret) return vret; } } while (0); .[ 3445]: return 0; .[ 3446]: } .[ 3448]: static PyObject * .[ 3449]: dictiter_len(dictiterobject *di) .[ 3450]: { .[ 3451]: Py_ssize_t len = 0; .[ 3452]: if (di->di_dict != ((void *)0) && di->di_used == di->di_dict->ma_used) .[ 3453]: len = di->len; .[ 3454]: return PyLong_FromSize_t(len); .[ 3455]: } .[ 3458]: static char length_hint_doc[] = "Private method returning an estimate of len(list(it))."; .[ 3460]: static PyObject * .[ 3461]: dictiter_reduce(dictiterobject *di); .[ 3463]: static char reduce_doc[] = "Return state information for pickling."; .[ 3465]: static PyMethodDef dictiter_methods[] = { .[ 3466]: {"__length_hint__", (PyCFunction)dictiter_len, 0x0004, .[ 3467]: length_hint_doc}, .[ 3468]: {"__reduce__", (PyCFunction)dictiter_reduce, 0x0004, .[ 3469]: reduce_doc}, .[ 3470]: {((void *)0), ((void *)0)} .[ 3471]: }; .[ 3473]: static PyObject* .[ 3474]: dictiter_iternextkey(dictiterobject *di) .[ 3475]: { .[ 3476]: PyObject *key; .[ 3477]: Py_ssize_t i, n; .[ 3478]: PyDictKeysObject *k; .[ 3479]: PyDictObject *d = di->di_dict; .[ 3481]: if (d == ((void *)0)) .[ 3482]: return ((void *)0); .[ 3483]: (__builtin_expect(!(((( (((PyObject*)(d))->ob_type))->tp_flags & ( (1UL << 29))) != 0)), 0) ? __assert_rtn(__func__\ . , __FILE__, __LINE__, "PyDict_Check(d)") : (void)0); .[ 3485]: if (di->di_used != d->ma_used) { .[ 3486]: PyErr_SetString(PyExc_RuntimeError, .[ 3487]: "dictionary changed size during iteration"); .[ 3488]: di->di_used = -1; .[ 3489]: return ((void *)0); .[ 3490]: } .[ 3492]: i = di->di_pos; .[ 3493]: k = d->ma_keys; .[ 3494]: n = k->dk_nentries; .[ 3495]: if (d->ma_values) { .[ 3496]: PyObject **value_ptr = &d->ma_values[i]; .[ 3497]: while (i < n && *value_ptr == ((void *)0)) { .[ 3498]: value_ptr++; .[ 3499]: i++; .[ 3500]: } .[ 3501]: if (i >= n) .[ 3502]: goto fail; .[ 3503]: key = ((PyDictKeyEntry*)(&(k)->dk_indices.as_1[((k)->dk_size) * (((k)->dk_size) <= 0xff ? 1 : ((k)->dk_size) <= \ . 0xffff ? 2 : ((k)->dk_size) <= 0xffffffff ? 4 : sizeof(int64_t))]))[i].me_key; .[ 3504]: } .[ 3505]: else { .[ 3506]: PyDictKeyEntry *entry_ptr = &((PyDictKeyEntry*)(&(k)->dk_indices.as_1[((k)->dk_size) * (((k)->dk_size) <= 0xff \ . ? 1 : ((k)->dk_size) <= 0xffff ? 2 : ((k)->dk_size) <= 0xffffffff ? 4 : sizeof(int64_t))]))[i]; .[ 3507]: while (i < n && entry_ptr->me_value == ((void *)0)) { .[ 3508]: entry_ptr++; .[ 3509]: i++; .[ 3510]: } .[ 3511]: if (i >= n) .[ 3512]: goto fail; .[ 3513]: key = entry_ptr->me_key; .[ 3514]: } .[ 3515]: di->di_pos = i+1; .[ 3516]: di->len--; .[ 3517]: ( _Py_RefTotal++ , ((PyObject *)(key))->ob_refcnt++); .[ 3518]: return key; .[ 3520]: fail: .[ 3521]: di->di_dict = ((void *)0); .[ 3522]: do { PyObject *_py_decref_tmp = (PyObject *)(d); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject\ . *)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } \ . else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 3523]: return ((void *)0); .[ 3524]: } .[ 3526]: PyTypeObject PyDictIterKey_Type = { .[ 3527]: { { 0, 0, 1, &PyType_Type }, 0 }, .[ 3528]: "dict_keyiterator", .[ 3529]: sizeof(dictiterobject), .[ 3530]: 0, .[ 3532]: (destructor)dictiter_dealloc, .[ 3533]: 0, .[ 3534]: 0, .[ 3535]: 0, .[ 3536]: 0, .[ 3537]: 0, .[ 3538]: 0, .[ 3539]: 0, .[ 3540]: 0, .[ 3541]: 0, .[ 3542]: 0, .[ 3543]: 0, .[ 3544]: PyObject_GenericGetAttr, .[ 3545]: 0, .[ 3546]: 0, .[ 3547]: ( 0 | (1UL << 18) | 0) | (1UL << 14), .[ 3548]: 0, .[ 3549]: (traverseproc)dictiter_traverse, .[ 3550]: 0, .[ 3551]: 0, .[ 3552]: 0, .[ 3553]: PyObject_SelfIter, .[ 3554]: (iternextfunc)dictiter_iternextkey, .[ 3555]: dictiter_methods, .[ 3556]: 0, .[ 3557]: }; .[ 3559]: static PyObject * .[ 3560]: dictiter_iternextvalue(dictiterobject *di) .[ 3561]: { .[ 3562]: PyObject *value; .[ 3563]: Py_ssize_t i, n; .[ 3564]: PyDictObject *d = di->di_dict; .[ 3566]: if (d == ((void *)0)) .[ 3567]: return ((void *)0); .[ 3568]: (__builtin_expect(!(((( (((PyObject*)(d))->ob_type))->tp_flags & ( (1UL << 29))) != 0)), 0) ? __assert_rtn(__func__\ . , __FILE__, __LINE__, "PyDict_Check(d)") : (void)0); .[ 3570]: if (di->di_used != d->ma_used) { .[ 3571]: PyErr_SetString(PyExc_RuntimeError, .[ 3572]: "dictionary changed size during iteration"); .[ 3573]: di->di_used = -1; .[ 3574]: return ((void *)0); .[ 3575]: } .[ 3577]: i = di->di_pos; .[ 3578]: n = d->ma_keys->dk_nentries; .[ 3579]: if (d->ma_values) { .[ 3580]: PyObject **value_ptr = &d->ma_values[i]; .[ 3581]: while (i < n && *value_ptr == ((void *)0)) { .[ 3582]: value_ptr++; .[ 3583]: i++; .[ 3584]: } .[ 3585]: if (i >= n) .[ 3586]: goto fail; .[ 3587]: value = *value_ptr; .[ 3588]: } .[ 3589]: else { .[ 3590]: PyDictKeyEntry *entry_ptr = &((PyDictKeyEntry*)(&(d->ma_keys)->dk_indices.as_1[((d->ma_keys)->dk_size) * \ . (((d->ma_keys)->dk_size) <= 0xff ? 1 : ((d->ma_keys)->dk_size) <= 0xffff ? 2 : ((d->ma_keys)->dk_size) <= 0xffffffff \ . ? 4 : sizeof(int64_t))]))[i]; .[ 3591]: while (i < n && entry_ptr->me_value == ((void *)0)) { .[ 3592]: entry_ptr++; .[ 3593]: i++; .[ 3594]: } .[ 3595]: if (i >= n) .[ 3596]: goto fail; .[ 3597]: value = entry_ptr->me_value; .[ 3598]: } .[ 3599]: di->di_pos = i+1; .[ 3600]: di->len--; .[ 3601]: ( _Py_RefTotal++ , ((PyObject *)(value))->ob_refcnt++); .[ 3602]: return value; .[ 3604]: fail: .[ 3605]: di->di_dict = ((void *)0); .[ 3606]: do { PyObject *_py_decref_tmp = (PyObject *)(d); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject\ . *)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } \ . else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 3607]: return ((void *)0); .[ 3608]: } .[ 3610]: PyTypeObject PyDictIterValue_Type = { .[ 3611]: { { 0, 0, 1, &PyType_Type }, 0 }, .[ 3612]: "dict_valueiterator", .[ 3613]: sizeof(dictiterobject), .[ 3614]: 0, .[ 3616]: (destructor)dictiter_dealloc, .[ 3617]: 0, .[ 3618]: 0, .[ 3619]: 0, .[ 3620]: 0, .[ 3621]: 0, .[ 3622]: 0, .[ 3623]: 0, .[ 3624]: 0, .[ 3625]: 0, .[ 3626]: 0, .[ 3627]: 0, .[ 3628]: PyObject_GenericGetAttr, .[ 3629]: 0, .[ 3630]: 0, .[ 3631]: ( 0 | (1UL << 18) | 0) | (1UL << 14), .[ 3632]: 0, .[ 3633]: (traverseproc)dictiter_traverse, .[ 3634]: 0, .[ 3635]: 0, .[ 3636]: 0, .[ 3637]: PyObject_SelfIter, .[ 3638]: (iternextfunc)dictiter_iternextvalue, .[ 3639]: dictiter_methods, .[ 3640]: 0, .[ 3641]: }; .[ 3643]: static PyObject * .[ 3644]: dictiter_iternextitem(dictiterobject *di) .[ 3645]: { .[ 3646]: PyObject *key, *value, *result; .[ 3647]: Py_ssize_t i, n; .[ 3648]: PyDictObject *d = di->di_dict; .[ 3650]: if (d == ((void *)0)) .[ 3651]: return ((void *)0); .[ 3652]: (__builtin_expect(!(((( (((PyObject*)(d))->ob_type))->tp_flags & ( (1UL << 29))) != 0)), 0) ? __assert_rtn(__func__\ . , __FILE__, __LINE__, "PyDict_Check(d)") : (void)0); .[ 3654]: if (di->di_used != d->ma_used) { .[ 3655]: PyErr_SetString(PyExc_RuntimeError, .[ 3656]: "dictionary changed size during iteration"); .[ 3657]: di->di_used = -1; .[ 3658]: return ((void *)0); .[ 3659]: } .[ 3661]: i = di->di_pos; .[ 3662]: n = d->ma_keys->dk_nentries; .[ 3663]: if (d->ma_values) { .[ 3664]: PyObject **value_ptr = &d->ma_values[i]; .[ 3665]: while (i < n && *value_ptr == ((void *)0)) { .[ 3666]: value_ptr++; .[ 3667]: i++; .[ 3668]: } .[ 3669]: if (i >= n) .[ 3670]: goto fail; .[ 3671]: key = ((PyDictKeyEntry*)(&(d->ma_keys)->dk_indices.as_1[((d->ma_keys)->dk_size) * (((d->ma_keys)->dk_size\ . ) <= 0xff ? 1 : ((d->ma_keys)->dk_size) <= 0xffff ? 2 : ((d->ma_keys)->dk_size) <= 0xffffffff ? 4 : sizeof(int64_t))])\ . )[i].me_key; .[ 3672]: value = *value_ptr; .[ 3673]: } .[ 3674]: else { .[ 3675]: PyDictKeyEntry *entry_ptr = &((PyDictKeyEntry*)(&(d->ma_keys)->dk_indices.as_1[((d->ma_keys)->dk_size) * \ . (((d->ma_keys)->dk_size) <= 0xff ? 1 : ((d->ma_keys)->dk_size) <= 0xffff ? 2 : ((d->ma_keys)->dk_size) <= 0xffffffff \ . ? 4 : sizeof(int64_t))]))[i]; .[ 3676]: while (i < n && entry_ptr->me_value == ((void *)0)) { .[ 3677]: entry_ptr++; .[ 3678]: i++; .[ 3679]: } .[ 3680]: if (i >= n) .[ 3681]: goto fail; .[ 3682]: key = entry_ptr->me_key; .[ 3683]: value = entry_ptr->me_value; .[ 3684]: } .[ 3685]: di->di_pos = i+1; .[ 3686]: di->len--; .[ 3687]: ( _Py_RefTotal++ , ((PyObject *)(key))->ob_refcnt++); .[ 3688]: ( _Py_RefTotal++ , ((PyObject *)(value))->ob_refcnt++); .[ 3689]: result = di->di_result; .[ 3690]: if ((((PyObject*)(result))->ob_refcnt) == 1) { .[ 3691]: PyObject *oldkey = (((PyTupleObject *)(result))->ob_item[0]); .[ 3692]: PyObject *oldvalue = (((PyTupleObject *)(result))->ob_item[1]); .[ 3693]: (((PyTupleObject *)(result))->ob_item[0] = key); .[ 3694]: (((PyTupleObject *)(result))->ob_item[1] = value); .[ 3695]: ( _Py_RefTotal++ , ((PyObject *)(result))->ob_refcnt++); .[ 3696]: do { PyObject *_py_decref_tmp = (PyObject *)(oldkey); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if \ . (((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 3697]: do { PyObject *_py_decref_tmp = (PyObject *)(oldvalue); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) \ . { if (((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 3698]: } .[ 3699]: else { .[ 3700]: result = PyTuple_New(2); .[ 3701]: if (result == ((void *)0)) .[ 3702]: return ((void *)0); .[ 3703]: (((PyTupleObject *)(result))->ob_item[0] = key); .[ 3704]: (((PyTupleObject *)(result))->ob_item[1] = value); .[ 3705]: } .[ 3706]: return result; .[ 3708]: fail: .[ 3709]: di->di_dict = ((void *)0); .[ 3710]: do { PyObject *_py_decref_tmp = (PyObject *)(d); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject\ . *)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } \ . else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 3711]: return ((void *)0); .[ 3712]: } .[ 3714]: PyTypeObject PyDictIterItem_Type = { .[ 3715]: { { 0, 0, 1, &PyType_Type }, 0 }, .[ 3716]: "dict_itemiterator", .[ 3717]: sizeof(dictiterobject), .[ 3718]: 0, .[ 3720]: (destructor)dictiter_dealloc, .[ 3721]: 0, .[ 3722]: 0, .[ 3723]: 0, .[ 3724]: 0, .[ 3725]: 0, .[ 3726]: 0, .[ 3727]: 0, .[ 3728]: 0, .[ 3729]: 0, .[ 3730]: 0, .[ 3731]: 0, .[ 3732]: PyObject_GenericGetAttr, .[ 3733]: 0, .[ 3734]: 0, .[ 3735]: ( 0 | (1UL << 18) | 0) | (1UL << 14), .[ 3736]: 0, .[ 3737]: (traverseproc)dictiter_traverse, .[ 3738]: 0, .[ 3739]: 0, .[ 3740]: 0, .[ 3741]: PyObject_SelfIter, .[ 3742]: (iternextfunc)dictiter_iternextitem, .[ 3743]: dictiter_methods, .[ 3744]: 0, .[ 3745]: }; .[ 3748]: static PyObject * .[ 3749]: dictiter_reduce(dictiterobject *di) .[ 3750]: { .[ 3751]: PyObject *list; .[ 3752]: dictiterobject tmp; .[ 3754]: list = PyList_New(0); .[ 3755]: if (!list) .[ 3756]: return ((void *)0); .[ 3759]: tmp = *di; .[ 3760]: do { PyObject *_py_xincref_tmp = (PyObject *)(tmp.di_dict); if (_py_xincref_tmp != ((void *)0)) ( _Py_RefTotal++ , \ . ((PyObject *)(_py_xincref_tmp))->ob_refcnt++); } while (0); .[ 3763]: for(;;) { .[ 3764]: PyObject *element = 0; .[ 3765]: if ((((PyObject*)(di))->ob_type) == &PyDictIterItem_Type) .[ 3766]: element = dictiter_iternextitem(&tmp); .[ 3767]: else if ((((PyObject*)(di))->ob_type) == &PyDictIterKey_Type) .[ 3768]: element = dictiter_iternextkey(&tmp); .[ 3769]: else if ((((PyObject*)(di))->ob_type) == &PyDictIterValue_Type) .[ 3770]: element = dictiter_iternextvalue(&tmp); .[ 3771]: else .[ 3772]: (__builtin_expect(!(0), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "0") : (void)0); .[ 3773]: if (element) { .[ 3774]: if (PyList_Append(list, element)) { .[ 3775]: do { PyObject *_py_decref_tmp = (PyObject *)(element); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { \ . if (((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 3776]: do { PyObject *_py_decref_tmp = (PyObject *)(list); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (\ . ((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 3777]: do { PyObject *_py_xdecref_tmp = (PyObject *)(tmp.di_dict); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp \ . = (PyObject *)(_py_xdecref_tmp); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject*)_py_decref_tmp\ . )->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } else _Py_Dealloc(\ . _py_decref_tmp); } while (0); } while (0); .[ 3778]: return ((void *)0); .[ 3779]: } .[ 3780]: do { PyObject *_py_decref_tmp = (PyObject *)(element); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { \ . if (((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 3781]: } else .[ 3782]: break; .[ 3783]: } .[ 3784]: do { PyObject *_py_xdecref_tmp = (PyObject *)(tmp.di_dict); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp \ . = (PyObject *)(_py_xdecref_tmp); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject*)_py_decref_tmp\ . )->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } else _Py_Dealloc(\ . _py_decref_tmp); } while (0); } while (0); .[ 3786]: if (tmp.di_dict != ((void *)0)) { .[ 3788]: do { PyObject *_py_decref_tmp = (PyObject *)(list); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (\ . ((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 3789]: return ((void *)0); .[ 3790]: } .[ 3791]: return Py_BuildValue("N(N)", _PyObject_GetBuiltin("iter"), list); .[ 3792]: } .[ 3800]: static void .[ 3801]: dictview_dealloc(_PyDictViewObject *dv) .[ 3802]: { .[ 3803]: do { PyObject *_py_xdecref_tmp = (PyObject *)(dv->dv_dict); if (_py_xdecref_tmp != ((void *)0)) do { PyObject *_py_decref_tmp \ . = (PyObject *)(_py_xdecref_tmp); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((PyObject*)_py_decref_tmp\ . )->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp)); } else _Py_Dealloc(\ . _py_decref_tmp); } while (0); } while (0); .[ 3804]: PyObject_GC_Del(dv); .[ 3805]: } .[ 3807]: static int .[ 3808]: dictview_traverse(_PyDictViewObject *dv, visitproc visit, void *arg) .[ 3809]: { .[ 3810]: do { if (dv->dv_dict) { int vret = visit((PyObject *)(dv->dv_dict), arg); if (vret) return vret; } } while (0); .[ 3811]: return 0; .[ 3812]: } .[ 3814]: static Py_ssize_t .[ 3815]: dictview_len(_PyDictViewObject *dv) .[ 3816]: { .[ 3817]: Py_ssize_t len = 0; .[ 3818]: if (dv->dv_dict != ((void *)0)) .[ 3819]: len = dv->dv_dict->ma_used; .[ 3820]: return len; .[ 3821]: } .[ 3823]: PyObject * .[ 3824]: _PyDictView_New(PyObject *dict, PyTypeObject *type) .[ 3825]: { .[ 3826]: _PyDictViewObject *dv; .[ 3827]: if (dict == ((void *)0)) { .[ 3828]: _PyErr_BadInternalCall(__FILE__, __LINE__); .[ 3829]: return ((void *)0); .[ 3830]: } .[ 3831]: if (!((( (((PyObject*)(dict))->ob_type))->tp_flags & ( (1UL << 29))) != 0)) { .[ 3833]: PyErr_Format(PyExc_TypeError, .[ 3834]: "%s() requires a dict argument, not '%s'", .[ 3835]: type->tp_name, dict->ob_type->tp_name); .[ 3836]: return ((void *)0); .[ 3837]: } .[ 3838]: dv = ( (_PyDictViewObject *) _PyObject_GC_New(type) ); .[ 3839]: if (dv == ((void *)0)) .[ 3840]: return ((void *)0); .[ 3841]: ( _Py_RefTotal++ , ((PyObject *)(dict))->ob_refcnt++); .[ 3842]: dv->dv_dict = (PyDictObject *)dict; .[ 3843]: do { PyGC_Head *g = ((PyGC_Head *)(dv)-1); if (((g)->gc.gc_refs >> (1)) != (-2)) Py_FatalError("GC object already tracked"\ . ); do { (g)->gc.gc_refs = ((g)->gc.gc_refs & ~(((size_t) -1) << (1))) | (((size_t)( (-3))) << (1)); } while (0); g->gc.\ . gc_next = _PyGC_generation0; g->gc.gc_prev = _PyGC_generation0->gc.gc_prev; g->gc.gc_prev->gc.gc_next = g; _PyGC_generation0\ . ->gc.gc_prev = g; } while (0);; .[ 3844]: return (PyObject *)dv; .[ 3845]: } .[ 3857]: static int .[ 3858]: all_contained_in(PyObject *self, PyObject *other) .[ 3859]: { .[ 3860]: PyObject *iter = PyObject_GetIter(self); .[ 3861]: int ok = 1; .[ 3863]: if (iter == ((void *)0)) .[ 3864]: return -1; .[ 3865]: for (;;) { .[ 3866]: PyObject *next = PyIter_Next(iter); .[ 3867]: if (next == ((void *)0)) { .[ 3868]: if (PyErr_Occurred()) .[ 3869]: ok = -1; .[ 3870]: break; .[ 3871]: } .[ 3872]: ok = PySequence_Contains(other, next); .[ 3873]: do { PyObject *_py_decref_tmp = (PyObject *)(next); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (\ . ((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 3874]: if (ok <= 0) .[ 3875]: break; .[ 3876]: } .[ 3877]: do { PyObject *_py_decref_tmp = (PyObject *)(iter); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (\ . ((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 3878]: return ok; .[ 3879]: } .[ 3881]: static PyObject * .[ 3882]: dictview_richcompare(PyObject *self, PyObject *other, int op) .[ 3883]: { .[ 3884]: Py_ssize_t len_self, len_other; .[ 3885]: int ok; .[ 3886]: PyObject *result; .[ 3888]: (__builtin_expect(!(self != ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "self != NULL") : (void\ . )0); .[ 3889]: (__builtin_expect(!((((((PyObject*)(self))->ob_type) == (&PyDictKeys_Type) || PyType_IsSubtype((((PyObject\ . *)(self))->ob_type), (&PyDictKeys_Type))) || ((((PyObject*)(self))->ob_type) == (&PyDictItems_Type) || PyType_IsSubtype\ . ((((PyObject*)(self))->ob_type), (&PyDictItems_Type))))), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "PyDictViewSet_Check(self)"\ . ) : (void)0); .[ 3890]: (__builtin_expect(!(other != ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "other != NULL") : (\ . void)0); .[ 3892]: if (!((((PyObject*)(other))->ob_type) == &PySet_Type || (((PyObject*)(other))->ob_type) == &PyFrozenSet_Type \ . || PyType_IsSubtype((((PyObject*)(other))->ob_type), &PySet_Type) || PyType_IsSubtype((((PyObject*)(other\ . ))->ob_type), &PyFrozenSet_Type)) && !(((((PyObject*)(other))->ob_type) == (&PyDictKeys_Type) || PyType_IsSubtype\ . ((((PyObject*)(other))->ob_type), (&PyDictKeys_Type))) || ((((PyObject*)(other))->ob_type) == (&PyDictItems_Type\ . ) || PyType_IsSubtype((((PyObject*)(other))->ob_type), (&PyDictItems_Type))))) .[ 3893]: return ( _Py_RefTotal++ , ((PyObject *)( (&_Py_NotImplementedStruct)))->ob_refcnt++), (&_Py_NotImplementedStruct\ . ); .[ 3895]: len_self = PyObject_Size(self); .[ 3896]: if (len_self < 0) .[ 3897]: return ((void *)0); .[ 3898]: len_other = PyObject_Size(other); .[ 3899]: if (len_other < 0) .[ 3900]: return ((void *)0); .[ 3902]: ok = 0; .[ 3903]: switch(op) { .[ 3905]: case 3: .[ 3906]: case 2: .[ 3907]: if (len_self == len_other) .[ 3908]: ok = all_contained_in(self, other); .[ 3909]: if (op == 3 && ok >= 0) .[ 3910]: ok = !ok; .[ 3911]: break; .[ 3913]: case 0: .[ 3914]: if (len_self < len_other) .[ 3915]: ok = all_contained_in(self, other); .[ 3916]: break; .[ 3918]: case 1: .[ 3919]: if (len_self <= len_other) .[ 3920]: ok = all_contained_in(self, other); .[ 3921]: break; .[ 3923]: case 4: .[ 3924]: if (len_self > len_other) .[ 3925]: ok = all_contained_in(other, self); .[ 3926]: break; .[ 3928]: case 5: .[ 3929]: if (len_self >= len_other) .[ 3930]: ok = all_contained_in(other, self); .[ 3931]: break; .[ 3933]: } .[ 3934]: if (ok < 0) .[ 3935]: return ((void *)0); .[ 3936]: result = ok ? ((PyObject *) &_Py_TrueStruct) : ((PyObject *) &_Py_FalseStruct); .[ 3937]: ( _Py_RefTotal++ , ((PyObject *)(result))->ob_refcnt++); .[ 3938]: return result; .[ 3939]: } .[ 3941]: static PyObject * .[ 3942]: dictview_repr(_PyDictViewObject *dv) .[ 3943]: { .[ 3944]: PyObject *seq; .[ 3945]: PyObject *result; .[ 3947]: seq = PySequence_List((PyObject *)dv); .[ 3948]: if (seq == ((void *)0)) .[ 3949]: return ((void *)0); .[ 3951]: result = PyUnicode_FromFormat("%s(%R)", (((PyObject*)(dv))->ob_type)->tp_name, seq); .[ 3952]: do { PyObject *_py_decref_tmp = (PyObject *)(seq); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if ((\ . (PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 3953]: return result; .[ 3954]: } .[ 3958]: static PyObject * .[ 3959]: dictkeys_iter(_PyDictViewObject *dv) .[ 3960]: { .[ 3961]: if (dv->dv_dict == ((void *)0)) { .[ 3962]: return ( _Py_RefTotal++ , ((PyObject *)( (&_Py_NoneStruct)))->ob_refcnt++), (&_Py_NoneStruct); .[ 3963]: } .[ 3964]: return dictiter_new(dv->dv_dict, &PyDictIterKey_Type); .[ 3965]: } .[ 3967]: static int .[ 3968]: dictkeys_contains(_PyDictViewObject *dv, PyObject *obj) .[ 3969]: { .[ 3970]: if (dv->dv_dict == ((void *)0)) .[ 3971]: return 0; .[ 3972]: return PyDict_Contains((PyObject *)dv->dv_dict, obj); .[ 3973]: } .[ 3975]: static PySequenceMethods dictkeys_as_sequence = { .[ 3976]: (lenfunc)dictview_len, .[ 3977]: 0, .[ 3978]: 0, .[ 3979]: 0, .[ 3980]: 0, .[ 3981]: 0, .[ 3982]: 0, .[ 3983]: (objobjproc)dictkeys_contains, .[ 3984]: }; .[ 3986]: static PyObject* .[ 3987]: dictviews_sub(PyObject* self, PyObject *other) .[ 3988]: { .[ 3989]: PyObject *result = PySet_New(self); .[ 3990]: PyObject *tmp; .[ 3991]: static _Py_Identifier PyId_difference_update = { .next = ((void *)0), .string = "difference_update", .object = ((void \ . *)0) }; .[ 3993]: if (result == ((void *)0)) .[ 3994]: return ((void *)0); .[ 3996]: tmp = _PyObject_CallMethodIdObjArgs(result, &PyId_difference_update, other, ((void *)0)); .[ 3997]: if (tmp == ((void *)0)) { .[ 3998]: do { PyObject *_py_decref_tmp = (PyObject *)(result); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if \ . (((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 3999]: return ((void *)0); .[ 4000]: } .[ 4002]: do { PyObject *_py_decref_tmp = (PyObject *)(tmp); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if ((\ . (PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 4003]: return result; .[ 4004]: } .[ 4006]: PyObject* .[ 4007]: _PyDictView_Intersect(PyObject* self, PyObject *other) .[ 4008]: { .[ 4009]: PyObject *result = PySet_New(self); .[ 4010]: PyObject *tmp; .[ 4011]: static _Py_Identifier PyId_intersection_update = { .next = ((void *)0), .string = "intersection_update", .object \ . = ((void *)0) }; .[ 4013]: if (result == ((void *)0)) .[ 4014]: return ((void *)0); .[ 4016]: tmp = _PyObject_CallMethodIdObjArgs(result, &PyId_intersection_update, other, ((void *)0)); .[ 4017]: if (tmp == ((void *)0)) { .[ 4018]: do { PyObject *_py_decref_tmp = (PyObject *)(result); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if \ . (((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 4019]: return ((void *)0); .[ 4020]: } .[ 4022]: do { PyObject *_py_decref_tmp = (PyObject *)(tmp); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if ((\ . (PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 4023]: return result; .[ 4024]: } .[ 4026]: static PyObject* .[ 4027]: dictviews_or(PyObject* self, PyObject *other) .[ 4028]: { .[ 4029]: PyObject *result = PySet_New(self); .[ 4030]: PyObject *tmp; .[ 4031]: static _Py_Identifier PyId_update = { .next = ((void *)0), .string = "update", .object = ((void *)0) }; .[ 4033]: if (result == ((void *)0)) .[ 4034]: return ((void *)0); .[ 4036]: tmp = _PyObject_CallMethodIdObjArgs(result, &PyId_update, other, ((void *)0)); .[ 4037]: if (tmp == ((void *)0)) { .[ 4038]: do { PyObject *_py_decref_tmp = (PyObject *)(result); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if \ . (((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 4039]: return ((void *)0); .[ 4040]: } .[ 4042]: do { PyObject *_py_decref_tmp = (PyObject *)(tmp); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if ((\ . (PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 4043]: return result; .[ 4044]: } .[ 4046]: static PyObject* .[ 4047]: dictviews_xor(PyObject* self, PyObject *other) .[ 4048]: { .[ 4049]: PyObject *result = PySet_New(self); .[ 4050]: PyObject *tmp; .[ 4051]: static _Py_Identifier PyId_symmetric_difference_update = { .next = ((void *)0), .string = "symmetric_difference_update"\ . , .object = ((void *)0) }; .[ 4053]: if (result == ((void *)0)) .[ 4054]: return ((void *)0); .[ 4056]: tmp = _PyObject_CallMethodIdObjArgs(result, &PyId_symmetric_difference_update, other, ((void *)0)); .[ 4057]: if (tmp == ((void *)0)) { .[ 4058]: do { PyObject *_py_decref_tmp = (PyObject *)(result); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if \ . (((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 4059]: return ((void *)0); .[ 4060]: } .[ 4062]: do { PyObject *_py_decref_tmp = (PyObject *)(tmp); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if ((\ . (PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 4063]: return result; .[ 4064]: } .[ 4066]: static PyNumberMethods dictviews_as_number = { .[ 4067]: 0, .[ 4068]: (binaryfunc)dictviews_sub, .[ 4069]: 0, .[ 4070]: 0, .[ 4071]: 0, .[ 4072]: 0, .[ 4073]: 0, .[ 4074]: 0, .[ 4075]: 0, .[ 4076]: 0, .[ 4077]: 0, .[ 4078]: 0, .[ 4079]: 0, .[ 4080]: (binaryfunc)_PyDictView_Intersect, .[ 4081]: (binaryfunc)dictviews_xor, .[ 4082]: (binaryfunc)dictviews_or, .[ 4083]: }; .[ 4085]: static PyObject* .[ 4086]: dictviews_isdisjoint(PyObject *self, PyObject *other) .[ 4087]: { .[ 4088]: PyObject *it; .[ 4089]: PyObject *item = ((void *)0); .[ 4091]: if (self == other) { .[ 4092]: if (dictview_len((_PyDictViewObject *)self) == 0) .[ 4093]: return ( _Py_RefTotal++ , ((PyObject *)( ((PyObject *) &_Py_TrueStruct)))->ob_refcnt++), ((PyObject *) &_Py_TrueStruct\ . ); .[ 4094]: else .[ 4095]: return ( _Py_RefTotal++ , ((PyObject *)( ((PyObject *) &_Py_FalseStruct)))->ob_refcnt++), ((PyObject *) &_Py_FalseStruct\ . ); .[ 4096]: } .[ 4100]: if (((((PyObject*)(other))->ob_type) == &PySet_Type || (((PyObject*)(other))->ob_type) == &PyFrozenSet_Type \ . || PyType_IsSubtype((((PyObject*)(other))->ob_type), &PySet_Type) || PyType_IsSubtype((((PyObject*)(other\ . ))->ob_type), &PyFrozenSet_Type)) || (((((PyObject*)(other))->ob_type) == (&PyDictKeys_Type) || PyType_IsSubtype\ . ((((PyObject*)(other))->ob_type), (&PyDictKeys_Type))) || ((((PyObject*)(other))->ob_type) == (&PyDictItems_Type\ . ) || PyType_IsSubtype((((PyObject*)(other))->ob_type), (&PyDictItems_Type))))) { .[ 4101]: Py_ssize_t len_self = dictview_len((_PyDictViewObject *)self); .[ 4102]: Py_ssize_t len_other = PyObject_Size(other); .[ 4103]: if (len_other == -1) .[ 4104]: return ((void *)0); .[ 4106]: if ((len_other > len_self)) { .[ 4107]: PyObject *tmp = other; .[ 4108]: other = self; .[ 4109]: self = tmp; .[ 4110]: } .[ 4111]: } .[ 4113]: it = PyObject_GetIter(other); .[ 4114]: if (it == ((void *)0)) .[ 4115]: return ((void *)0); .[ 4117]: while ((item = PyIter_Next(it)) != ((void *)0)) { .[ 4118]: int contains = PySequence_Contains(self, item); .[ 4119]: do { PyObject *_py_decref_tmp = (PyObject *)(item); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (\ . ((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 4120]: if (contains == -1) { .[ 4121]: do { PyObject *_py_decref_tmp = (PyObject *)(it); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((\ . PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 4122]: return ((void *)0); .[ 4123]: } .[ 4125]: if (contains) { .[ 4126]: do { PyObject *_py_decref_tmp = (PyObject *)(it); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((\ . PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 4127]: return ( _Py_RefTotal++ , ((PyObject *)( ((PyObject *) &_Py_FalseStruct)))->ob_refcnt++), ((PyObject *) &_Py_FalseStruct\ . ); .[ 4128]: } .[ 4129]: } .[ 4130]: do { PyObject *_py_decref_tmp = (PyObject *)(it); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if (((\ . PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 4131]: if (PyErr_Occurred()) .[ 4132]: return ((void *)0); .[ 4133]: return ( _Py_RefTotal++ , ((PyObject *)( ((PyObject *) &_Py_TrueStruct)))->ob_refcnt++), ((PyObject *) &_Py_TrueStruct\ . ); .[ 4134]: } .[ 4137]: static char isdisjoint_doc[] = "Return True if the view and the given iterable have a null intersection."\ . ; .[ 4139]: static PyMethodDef dictkeys_methods[] = { .[ 4140]: {"isdisjoint", (PyCFunction)dictviews_isdisjoint, 0x0008, .[ 4141]: isdisjoint_doc}, .[ 4142]: {((void *)0), ((void *)0)} .[ 4143]: }; .[ 4145]: PyTypeObject PyDictKeys_Type = { .[ 4146]: { { 0, 0, 1, &PyType_Type }, 0 }, .[ 4147]: "dict_keys", .[ 4148]: sizeof(_PyDictViewObject), .[ 4149]: 0, .[ 4151]: (destructor)dictview_dealloc, .[ 4152]: 0, .[ 4153]: 0, .[ 4154]: 0, .[ 4155]: 0, .[ 4156]: (reprfunc)dictview_repr, .[ 4157]: &dictviews_as_number, .[ 4158]: &dictkeys_as_sequence, .[ 4159]: 0, .[ 4160]: 0, .[ 4161]: 0, .[ 4162]: 0, .[ 4163]: PyObject_GenericGetAttr, .[ 4164]: 0, .[ 4165]: 0, .[ 4166]: ( 0 | (1UL << 18) | 0) | (1UL << 14), .[ 4167]: 0, .[ 4168]: (traverseproc)dictview_traverse, .[ 4169]: 0, .[ 4170]: dictview_richcompare, .[ 4171]: 0, .[ 4172]: (getiterfunc)dictkeys_iter, .[ 4173]: 0, .[ 4174]: dictkeys_methods, .[ 4175]: 0, .[ 4176]: }; .[ 4178]: static PyObject * .[ 4179]: dictkeys_new(PyObject *dict) .[ 4180]: { .[ 4181]: return _PyDictView_New(dict, &PyDictKeys_Type); .[ 4182]: } .[ 4186]: static PyObject * .[ 4187]: dictitems_iter(_PyDictViewObject *dv) .[ 4188]: { .[ 4189]: if (dv->dv_dict == ((void *)0)) { .[ 4190]: return ( _Py_RefTotal++ , ((PyObject *)( (&_Py_NoneStruct)))->ob_refcnt++), (&_Py_NoneStruct); .[ 4191]: } .[ 4192]: return dictiter_new(dv->dv_dict, &PyDictIterItem_Type); .[ 4193]: } .[ 4195]: static int .[ 4196]: dictitems_contains(_PyDictViewObject *dv, PyObject *obj) .[ 4197]: { .[ 4198]: int result; .[ 4199]: PyObject *key, *value, *found; .[ 4200]: if (dv->dv_dict == ((void *)0)) .[ 4201]: return 0; .[ 4202]: if (!((( (((PyObject*)(obj))->ob_type))->tp_flags & ( (1UL << 26))) != 0) || (((PyVarObject*)(obj))->ob_size) != \ . 2) .[ 4203]: return 0; .[ 4204]: key = (((PyTupleObject *)(obj))->ob_item[0]); .[ 4205]: value = (((PyTupleObject *)(obj))->ob_item[1]); .[ 4206]: found = PyDict_GetItemWithError((PyObject *)dv->dv_dict, key); .[ 4207]: if (found == ((void *)0)) { .[ 4208]: if (PyErr_Occurred()) .[ 4209]: return -1; .[ 4210]: return 0; .[ 4211]: } .[ 4212]: ( _Py_RefTotal++ , ((PyObject *)(found))->ob_refcnt++); .[ 4213]: result = PyObject_RichCompareBool(value, found, 2); .[ 4214]: do { PyObject *_py_decref_tmp = (PyObject *)(found); if (_Py_RefTotal-- , --(_py_decref_tmp)->ob_refcnt != 0) { if \ . (((PyObject*)_py_decref_tmp)->ob_refcnt < 0) _Py_NegativeRefcount(__FILE__, __LINE__, (PyObject *)(_py_decref_tmp\ . )); } else _Py_Dealloc(_py_decref_tmp); } while (0); .[ 4215]: return result; .[ 4216]: } .[ 4218]: static PySequenceMethods dictitems_as_sequence = { .[ 4219]: (lenfunc)dictview_len, .[ 4220]: 0, .[ 4221]: 0, .[ 4222]: 0, .[ 4223]: 0, .[ 4224]: 0, .[ 4225]: 0, .[ 4226]: (objobjproc)dictitems_contains, .[ 4227]: }; .[ 4229]: static PyMethodDef dictitems_methods[] = { .[ 4230]: {"isdisjoint", (PyCFunction)dictviews_isdisjoint, 0x0008, .[ 4231]: isdisjoint_doc}, .[ 4232]: {((void *)0), ((void *)0)} .[ 4233]: }; .[ 4235]: PyTypeObject PyDictItems_Type = { .[ 4236]: { { 0, 0, 1, &PyType_Type }, 0 }, .[ 4237]: "dict_items", .[ 4238]: sizeof(_PyDictViewObject), .[ 4239]: 0, .[ 4241]: (destructor)dictview_dealloc, .[ 4242]: 0, .[ 4243]: 0, .[ 4244]: 0, .[ 4245]: 0, .[ 4246]: (reprfunc)dictview_repr, .[ 4247]: &dictviews_as_number, .[ 4248]: &dictitems_as_sequence, .[ 4249]: 0, .[ 4250]: 0, .[ 4251]: 0, .[ 4252]: 0, .[ 4253]: PyObject_GenericGetAttr, .[ 4254]: 0, .[ 4255]: 0, .[ 4256]: ( 0 | (1UL << 18) | 0) | (1UL << 14), .[ 4257]: 0, .[ 4258]: (traverseproc)dictview_traverse, .[ 4259]: 0, .[ 4260]: dictview_richcompare, .[ 4261]: 0, .[ 4262]: (getiterfunc)dictitems_iter, .[ 4263]: 0, .[ 4264]: dictitems_methods, .[ 4265]: 0, .[ 4266]: }; .[ 4268]: static PyObject * .[ 4269]: dictitems_new(PyObject *dict) .[ 4270]: { .[ 4271]: return _PyDictView_New(dict, &PyDictItems_Type); .[ 4272]: } .[ 4276]: static PyObject * .[ 4277]: dictvalues_iter(_PyDictViewObject *dv) .[ 4278]: { .[ 4279]: if (dv->dv_dict == ((void *)0)) { .[ 4280]: return ( _Py_RefTotal++ , ((PyObject *)( (&_Py_NoneStruct)))->ob_refcnt++), (&_Py_NoneStruct); .[ 4281]: } .[ 4282]: return dictiter_new(dv->dv_dict, &PyDictIterValue_Type); .[ 4283]: } .[ 4285]: static PySequenceMethods dictvalues_as_sequence = { .[ 4286]: (lenfunc)dictview_len, .[ 4287]: 0, .[ 4288]: 0, .[ 4289]: 0, .[ 4290]: 0, .[ 4291]: 0, .[ 4292]: 0, .[ 4293]: (objobjproc)0, .[ 4294]: }; .[ 4296]: static PyMethodDef dictvalues_methods[] = { .[ 4297]: {((void *)0), ((void *)0)} .[ 4298]: }; .[ 4300]: PyTypeObject PyDictValues_Type = { .[ 4301]: { { 0, 0, 1, &PyType_Type }, 0 }, .[ 4302]: "dict_values", .[ 4303]: sizeof(_PyDictViewObject), .[ 4304]: 0, .[ 4306]: (destructor)dictview_dealloc, .[ 4307]: 0, .[ 4308]: 0, .[ 4309]: 0, .[ 4310]: 0, .[ 4311]: (reprfunc)dictview_repr, .[ 4312]: 0, .[ 4313]: &dictvalues_as_sequence, .[ 4314]: 0, .[ 4315]: 0, .[ 4316]: 0, .[ 4317]: 0, .[ 4318]: PyObject_GenericGetAttr, .[ 4319]: 0, .[ 4320]: 0, .[ 4321]: ( 0 | (1UL << 18) | 0) | (1UL << 14), .[ 4322]: 0, .[ 4323]: (traverseproc)dictview_traverse, .[ 4324]: 0, .[ 4325]: 0, .[ 4326]: 0, .[ 4327]: (getiterfunc)dictvalues_iter, .[ 4328]: 0, .[ 4329]: dictvalues_methods, .[ 4330]: 0, .[ 4331]: }; .[ 4333]: static PyObject * .[ 4334]: dictvalues_new(PyObject *dict) .[ 4335]: { .[ 4336]: return _PyDictView_New(dict, &PyDictValues_Type); .[ 4337]: } .[ 4341]: PyDictKeysObject * .[ 4342]: _PyDict_NewKeysForClass(void) .[ 4343]: { .[ 4344]: PyDictKeysObject *keys = new_keys_object(8); .[ 4345]: if (keys == ((void *)0)) .[ 4346]: PyErr_Clear(); .[ 4347]: else .[ 4348]: keys->dk_lookup = lookdict_split; .[ 4349]: return keys; .[ 4350]: } .[ 4354]: PyObject * .[ 4355]: PyObject_GenericGetDict(PyObject *obj, void *context) .[ 4356]: { .[ 4357]: PyObject *dict, **dictptr = _PyObject_GetDictPtr(obj); .[ 4358]: if (dictptr == ((void *)0)) { .[ 4359]: PyErr_SetString(PyExc_AttributeError, .[ 4360]: "This object has no __dict__"); .[ 4361]: return ((void *)0); .[ 4362]: } .[ 4363]: dict = *dictptr; .[ 4364]: if (dict == ((void *)0)) { .[ 4365]: PyTypeObject *tp = (((PyObject*)(obj))->ob_type); .[ 4366]: if ((tp->tp_flags & (1UL << 9)) && (((PyHeapTypeObject*)tp)->ht_cached_keys)) { .[ 4367]: (_Py_RefTotal++ , ++( (((PyHeapTypeObject*)tp)->ht_cached_keys))->dk_refcnt); .[ 4368]: *dictptr = dict = new_dict_with_shared_keys((((PyHeapTypeObject*)tp)->ht_cached_keys)); .[ 4369]: } .[ 4370]: else { .[ 4371]: *dictptr = dict = PyDict_New(); .[ 4372]: } .[ 4373]: } .[ 4374]: do { PyObject *_py_xincref_tmp = (PyObject *)(dict); if (_py_xincref_tmp != ((void *)0)) ( _Py_RefTotal++ , ((PyObject \ . *)(_py_xincref_tmp))->ob_refcnt++); } while (0); .[ 4375]: return dict; .[ 4376]: } .[ 4378]: int .[ 4379]: _PyObjectDict_SetItem(PyTypeObject *tp, PyObject **dictptr, .[ 4380]: PyObject *key, PyObject *value) .[ 4381]: { .[ 4382]: PyObject *dict; .[ 4383]: int res; .[ 4384]: PyDictKeysObject *cached; .[ 4386]: (__builtin_expect(!(dictptr != ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "dictptr != NULL"\ . ) : (void)0); .[ 4387]: if ((tp->tp_flags & (1UL << 9)) && (cached = (((PyHeapTypeObject*)tp)->ht_cached_keys))) { .[ 4388]: (__builtin_expect(!(dictptr != ((void *)0)), 0) ? __assert_rtn(__func__, __FILE__, __LINE__, "dictptr != NULL"\ . ) : (void)0); .[ 4389]: dict = *dictptr; .[ 4390]: if (dict == ((void *)0)) { .[ 4391]: (_Py_RefTotal++ , ++(cached)->dk_refcnt); .[ 4392]: dict = new_dict_with_shared_keys(cached); .[ 4393]: if (dict == ((void *)0)) .[ 4394]: return -1; .[ 4395]: *dictptr = dict; .[ 4396]: } .[ 4397]: if (value == ((void *)0)) { .[ 4398]: res = PyDict_DelItem(dict, key); .[ 4401]: if ((cached = (((PyHeapTypeObject*)tp)->ht_cached_keys)) != ((void *)0)) { .[ 4402]: (((PyHeapTypeObject*)tp)->ht_cached_keys) = ((void *)0); .[ 4403]: if (_Py_RefTotal-- , (--(cached)->dk_refcnt) == 0) free_keys_object(cached); .[ 4404]: } .[ 4405]: } .[ 4406]: else { .[ 4407]: int was_shared = (cached == ((PyDictObject *)dict)->ma_keys); .[ 4408]: res = PyDict_SetItem(dict, key, value); .[ 4409]: if (was_shared && .[ 4410]: (cached = (((PyHeapTypeObject*)tp)->ht_cached_keys)) != ((void *)0) && .[ 4411]: cached != ((PyDictObject *)dict)->ma_keys) { .[ 4426]: if (cached->dk_refcnt == 1) { .[ 4427]: (((PyHeapTypeObject*)tp)->ht_cached_keys) = make_keys_shared(dict); .[ 4428]: } .[ 4429]: else { .[ 4430]: (((PyHeapTypeObject*)tp)->ht_cached_keys) = ((void *)0); .[ 4431]: } .[ 4432]: if (_Py_RefTotal-- , (--(cached)->dk_refcnt) == 0) free_keys_object(cached); .[ 4433]: if ((((PyHeapTypeObject*)tp)->ht_cached_keys) == ((void *)0) && PyErr_Occurred()) .[ 4434]: return -1; .[ 4435]: } .[ 4436]: } .[ 4437]: } else { .[ 4438]: dict = *dictptr; .[ 4439]: if (dict == ((void *)0)) { .[ 4440]: dict = PyDict_New(); .[ 4441]: if (dict == ((void *)0)) .[ 4442]: return -1; .[ 4443]: *dictptr = dict; .[ 4444]: } .[ 4445]: if (value == ((void *)0)) { .[ 4446]: res = PyDict_DelItem(dict, key); .[ 4447]: } else { .[ 4448]: res = PyDict_SetItem(dict, key, value); .[ 4449]: } .[ 4450]: } .[ 4451]: return res; .[ 4452]: } .[ 4454]: void .[ 4455]: _PyDictKeys_DecRef(PyDictKeysObject *keys) .[ 4456]: { .[ 4457]: if (_Py_RefTotal-- , (--(keys)->dk_refcnt) == 0) free_keys_object(keys); .[ 4458]: } .[ 4459]:
Return to Index