Translation Unit: /Users/paulross/dev/Python-3.6.2/Objects/dictobject.c

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