This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

c/10148: Compiler dumps core on MINGW (3.2) and Cygwin (2.95)


>Number:         10148
>Category:       c
>Synopsis:       Compiler dumps core on MINGW (3.2) and Cygwin (2.95)
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Mar 19 13:06:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Gerhard Häring <gh at ghaering dot de>
>Release:        3.2
>Organization:
>Environment:
Windows 2000SP3 x86
>Description:
D:\Gerhard\src\db_row-0.71>gcc -v
Reading specs from c:/MinGW/bin/../lib/gcc-lib/mingw32/3.2/specs
Configured with: ../gcc/configure --with-gcc --with-gnu-ld --with-gnu-as --host=mingw32 --target=min
gw32 --prefix=/mingw --enable-threads --disable-nls --enable-languages=f77,c++,objc,ada --disable-wi
n32-registry --disable-shared
Thread model: win32
gcc version 3.2 (mingw special 20020817-1)


D:\Gerhard\src\db_row-0.71>c:\MinGW\bin\gcc.exe -save-temps -mno-cygwin -mdll -O -Wall -I. -Ic:\python22\include -c fields.c -o build\temp.win32-2.2\Release\fields.o
fields.c:451: warning: static declaration for `fields_ass_item' follows non-static
fields.c:804: internal error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
>How-To-Repeat:
Compile attached file.
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: text/plain; name="fields.i"
Content-Disposition: inline; filename="fields.i"

# 1 "fields.c"
# 1 "<built-in>"
# 1 "<command line>"
# 1 "fields.c"
# 37 "fields.c"
# 1 "c:/python22/include/Python.h" 1
# 23 "c:/python22/include/Python.h"
# 1 "c:/python22/include/patchlevel.h" 1
# 24 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/pyconfig.h" 1
# 37 "c:/python22/include/pyconfig.h"
# 1 "c:/MinGW/include/io.h" 1 3
# 33 "c:/MinGW/include/io.h" 3
# 1 "c:/MinGW/include/_mingw.h" 1 3
# 34 "c:/MinGW/include/io.h" 2 3


# 1 "c:/MinGW/include/stdio.h" 1 3
# 42 "c:/MinGW/include/stdio.h" 3
# 1 "c:/MinGW/include/stddef.h" 1 3





# 1 "c:/MinGW/lib/gcc-lib/mingw32/3.2/include/stddef.h" 1 3
# 203 "c:/MinGW/lib/gcc-lib/mingw32/3.2/include/stddef.h" 3
typedef unsigned int size_t;
# 296 "c:/MinGW/lib/gcc-lib/mingw32/3.2/include/stddef.h" 3
typedef short unsigned int wchar_t;
# 323 "c:/MinGW/lib/gcc-lib/mingw32/3.2/include/stddef.h" 3
typedef short unsigned int wint_t;
# 7 "c:/MinGW/include/stddef.h" 2 3
# 43 "c:/MinGW/include/stdio.h" 2 3

# 1 "c:/MinGW/include/stdarg.h" 1 3





# 1 "c:/MinGW/lib/gcc-lib/mingw32/3.2/include/stdarg.h" 1 3
# 44 "c:/MinGW/lib/gcc-lib/mingw32/3.2/include/stdarg.h" 3
typedef __builtin_va_list __gnuc_va_list;
# 7 "c:/MinGW/include/stdarg.h" 2 3
# 45 "c:/MinGW/include/stdio.h" 2 3
# 149 "c:/MinGW/include/stdio.h" 3
typedef struct _iobuf
{
        char* _ptr;
        int _cnt;
        char* _base;
        int _flag;
        int _file;
        int _charbuf;
        int _bufsiz;
        char* _tmpfname;
} FILE;
# 174 "c:/MinGW/include/stdio.h" 3
extern __attribute__((dllimport)) FILE _iob[];
# 189 "c:/MinGW/include/stdio.h" 3
FILE* fopen (const char*, const char*);
FILE* freopen (const char*, const char*, FILE*);
int fflush (FILE*);
int fclose (FILE*);

int remove (const char*);
int rename (const char*, const char*);
FILE* tmpfile (void);
char* tmpnam (char*);
char* _tempnam (const char*, const char*);


char* tempnam (const char*, const char*);


int setvbuf (FILE*, char*, int, size_t);

void setbuf (FILE*, char*);





int fprintf (FILE*, const char*, ...);
int printf (const char*, ...);
int sprintf (char*, const char*, ...);
int _snprintf (char*, size_t, const char*, ...);
int vfprintf (FILE*, const char*, __gnuc_va_list);
int vprintf (const char*, __gnuc_va_list);
int vsprintf (char*, const char*, __gnuc_va_list);
int _vsnprintf (char*, size_t, const char*, __gnuc_va_list);


int snprintf(char* s, size_t n, const char* format, ...);
extern __inline__ int vsnprintf (char* s, size_t n, const char* format,
                           __gnuc_va_list arg)
  { return _vsnprintf ( s, n, format, arg); }






int fscanf (FILE*, const char*, ...);
int scanf (const char*, ...);
int sscanf (const char*, const char*, ...);




int fgetc (FILE*);
char* fgets (char*, int, FILE*);
int fputc (int, FILE*);
int fputs (const char*, FILE*);
int getc (FILE*);
int getchar (void);
char* gets (char*);
int putc (int, FILE*);
int putchar (int);
int puts (const char*);
int ungetc (int, FILE*);





size_t fread (void*, size_t, size_t, FILE*);
size_t fwrite (const void*, size_t, size_t, FILE*);





int fseek (FILE*, long, int);
long ftell (FILE*);
void rewind (FILE*);
# 288 "c:/MinGW/include/stdio.h" 3
typedef long long fpos_t;




int fgetpos (FILE*, fpos_t*);
int fsetpos (FILE*, const fpos_t*);





void clearerr (FILE*);
int feof (FILE*);
int ferror (FILE*);
void perror (const char*);






FILE* _popen (const char*, const char*);
int _pclose (FILE*);


FILE* popen (const char*, const char*);
int pclose (FILE*);





int _flushall (void);
int _fgetchar (void);
int _fputchar (int);
FILE* _fdopen (int, const char*);
int _fileno (FILE*);
int _fcloseall(void);


int fgetchar (void);
int fputchar (int);
FILE* fdopen (int, const char*);
int fileno (FILE*);
# 341 "c:/MinGW/include/stdio.h" 3
int fwprintf (FILE*, const wchar_t*, ...);
int wprintf (const wchar_t*, ...);
int swprintf (wchar_t*, const wchar_t*, ...);
int _snwprintf (wchar_t*, size_t, const wchar_t*, ...);
int vfwprintf (FILE*, const wchar_t*, __gnuc_va_list);
int vwprintf (const wchar_t*, __gnuc_va_list);
int vswprintf (wchar_t*, const wchar_t*, __gnuc_va_list);
int _vsnwprintf (wchar_t*, size_t, const wchar_t*, __gnuc_va_list);
int fwscanf (FILE*, const wchar_t*, ...);
int wscanf (const wchar_t*, ...);
int swscanf (const wchar_t*, const wchar_t*, ...);
wint_t fgetwc (FILE*);
wint_t fputwc (wchar_t, FILE*);
wint_t ungetwc (wchar_t, FILE*);

wchar_t* fgetws (wchar_t*, int, FILE*);
int fputws (const wchar_t*, FILE*);
wint_t getwc (FILE*);
wint_t getwchar (void);
wchar_t* _getws (wchar_t*);
wint_t putwc (wint_t, FILE*);
int _putws (const wchar_t*);
wint_t putwchar (wint_t);
FILE* _wfdopen(int, wchar_t *);
FILE* _wfopen (const wchar_t*, const wchar_t*);
FILE* _wfreopen (const wchar_t*, const wchar_t*, FILE*);
FILE* _wfsopen (const wchar_t*, const wchar_t*, int);
wchar_t* _wtmpnam (wchar_t*);
wchar_t* _wtempnam (const wchar_t*, const wchar_t*);
int _wrename (const wchar_t*, const wchar_t*);
int _wremove (const wchar_t*);
void _wperror (const wchar_t*);
FILE* _wpopen (const wchar_t*, const wchar_t*);



int snwprintf(wchar_t* s, size_t n, const wchar_t* format, ...);
extern __inline__ int
vsnwprintf (wchar_t* s, size_t n, const wchar_t* format, __gnuc_va_list arg)
  { return _vsnwprintf ( s, n, format, arg);}
# 389 "c:/MinGW/include/stdio.h" 3
FILE* wpopen (const wchar_t*, const wchar_t*);






wint_t _fgetwchar (void);
wint_t _fputwchar (wint_t);
int _getw (FILE*);
int _putw (int, FILE*);


wint_t fgetwchar (void);
wint_t fputwchar (wint_t);
int getw (FILE*);
int putw (int, FILE*);
# 37 "c:/MinGW/include/io.h" 2 3






# 1 "c:/MinGW/include/sys/types.h" 1 3
# 38 "c:/MinGW/include/sys/types.h" 3
# 1 "c:/MinGW/include/stddef.h" 1 3





# 1 "c:/MinGW/lib/gcc-lib/mingw32/3.2/include/stddef.h" 1 3
# 149 "c:/MinGW/lib/gcc-lib/mingw32/3.2/include/stddef.h" 3
typedef int ptrdiff_t;
# 7 "c:/MinGW/include/stddef.h" 2 3
# 39 "c:/MinGW/include/sys/types.h" 2 3





typedef long time_t;
# 53 "c:/MinGW/include/sys/types.h" 3
typedef long _off_t;


typedef _off_t off_t;







typedef unsigned int _dev_t;





typedef _dev_t dev_t;






typedef short _ino_t;


typedef _ino_t ino_t;






typedef int _pid_t;


typedef _pid_t pid_t;






typedef unsigned short _mode_t;


typedef _mode_t mode_t;






typedef int _sigset_t;


typedef _sigset_t sigset_t;
# 44 "c:/MinGW/include/io.h" 2 3
# 60 "c:/MinGW/include/io.h" 3
typedef unsigned long _fsize_t;







struct _finddata_t
{
        unsigned attrib;
        time_t time_create;
        time_t time_access;
        time_t time_write;
        _fsize_t size;
        char name[(260)];
};

struct _finddatai64_t {
    unsigned attrib;
    time_t time_create;
    time_t time_access;
    time_t time_write;
    long long size;
    char name[(260)];
};



struct _wfinddata_t {
        unsigned attrib;
        time_t time_create;
        time_t time_access;
        time_t time_write;
        _fsize_t size;
        wchar_t name[(260)];
};
struct _wfinddatai64_t {
    unsigned attrib;
    time_t time_create;
    time_t time_access;
    time_t time_write;
    long long size;
    wchar_t name[(260)];
};
# 119 "c:/MinGW/include/io.h" 3
int _findfirst (const char*, struct _finddata_t*);
int _findnext (int, struct _finddata_t*);
int _findclose (int);

int _chdir (const char*);
char* _getcwd (char*, int);
int _mkdir (const char*);
char* _mktemp (char*);
int _rmdir (const char*);
int _chmod (const char*, int);



long long _filelengthi64(int);
long _findfirsti64(const char*, struct _finddatai64_t*);
int _findnexti64(long, struct _finddatai64_t*);
long long _lseeki64(int, long long, int);
long long _telli64(int);






int chdir (const char*);
char* getcwd (char*, int);
int mkdir (const char*);
char* mktemp (char*);
int rmdir (const char*);
int chmod (const char*, int);
# 179 "c:/MinGW/include/io.h" 3
int _access (const char*, int);
int _chsize (int, long);
int _close (int);
int _commit(int);



int _creat (const char*, int);

int _dup (int);
int _dup2 (int, int);
long _filelength (int);
int _fileno (FILE*);
long _get_osfhandle (int);
int _isatty (int);







int _eof (int);



int _locking (int, int, long);

long _lseek (int, long, int);


int _open (const char*, int, ...);

int _open_osfhandle (long, int);
int _pipe (int *, unsigned int, int);
int _read (int, void*, unsigned int);



int _sopen (const char*, int, int, ...);

long _tell (int);

int _umask (int);
int _unlink (const char*);
int _write (int, const void*, unsigned int);





int _waccess(const wchar_t*, int);
int _wchmod(const wchar_t*, int);
int _wcreat(const wchar_t*, int);
long _wfindfirst(const wchar_t*, struct _wfinddata_t*);
int _wfindnext(long, struct _wfinddata_t *);
int _wunlink(const wchar_t*);
int _wopen(const wchar_t*, int, ...);
int _wsopen(const wchar_t*, int, int, ...);
wchar_t * _wmktemp(wchar_t*);
long _wfindfirsti64(const wchar_t*, struct _wfinddatai64_t*);
int _wfindnexti64(long, struct _wfinddatai64_t*);
# 252 "c:/MinGW/include/io.h" 3
int access (const char*, int);
int chsize (int, long );
int close (int);
int creat (const char*, int);
int dup (int);
int dup2 (int, int);
int eof (int);
long filelength (int);
int fileno (FILE*);
int isatty (int);
long lseek (int, long, int);
int open (const char*, int, ...);
int read (int, void*, unsigned int);
int sopen (const char*, int, int, ...);
long tell (int);
int umask (int);
int unlink (const char*);
int write (int, const void*, unsigned int);
# 38 "c:/python22/include/pyconfig.h" 2
# 25 "c:/python22/include/Python.h" 2


# 1 "c:/MinGW/include/limits.h" 1 3
# 28 "c:/python22/include/Python.h" 2
# 47 "c:/python22/include/Python.h"
# 1 "c:/MinGW/include/string.h" 1 3
# 40 "c:/MinGW/include/string.h" 3
# 1 "c:/MinGW/include/stddef.h" 1 3





# 1 "c:/MinGW/lib/gcc-lib/mingw32/3.2/include/stddef.h" 1 3
# 7 "c:/MinGW/include/stddef.h" 2 3
# 41 "c:/MinGW/include/string.h" 2 3
# 52 "c:/MinGW/include/string.h" 3
void* memchr (const void*, int, size_t);
int memcmp (const void*, const void*, size_t);
void* memcpy (void*, const void*, size_t);
void* memmove (void*, const void*, size_t);
void* memset (void*, int, size_t);
char* strcat (char*, const char*);
char* strchr (const char*, int);
int strcmp (const char*, const char*);
int strcoll (const char*, const char*);
char* strcpy (char*, const char*);
size_t strcspn (const char*, const char*);
char* strerror (int);
char* _strerror (const char *);
size_t strlen (const char*);
char* strncat (char*, const char*, size_t);
int strncmp (const char*, const char*, size_t);
char* strncpy (char*, const char*, size_t);
char* strpbrk (const char*, const char*);
char* strrchr (const char*, int);
size_t strspn (const char*, const char*);
char* strstr (const char*, const char*);
char* strtok (char*, const char*);
size_t strxfrm (char*, const char*, size_t);





void* _memccpy (void*, const void*, int, size_t);
int _memicmp (const void*, const void*, size_t);
char* _strdup (const char*);
int _strcmpi (const char*, const char*);
int _stricmp (const char*, const char*);
int _stricoll (const char*, const char*);
char* _strlwr (char*);
int _strnicmp (const char*, const char*, size_t);
char* _strnset (char*, int, size_t);
char* _strrev (char*);
char* _strset (char*, int);
char* _strupr (char*);
void _swab (const char*, char*, size_t);


int _strncoll(const char*, const char*, size_t);
int _strnicoll(const char*, const char*, size_t);







wchar_t* wcscat (wchar_t*, const wchar_t*);
wchar_t* wcschr (const wchar_t*, wchar_t);
int wcscmp (const wchar_t*, const wchar_t*);
int wcscoll (const wchar_t*, const wchar_t*);
wchar_t* wcscpy (wchar_t*, const wchar_t*);
size_t wcscspn (const wchar_t*, const wchar_t*);

size_t wcslen (const wchar_t*);
wchar_t* wcsncat (wchar_t*, const wchar_t*, size_t);
int wcsncmp(const wchar_t*, const wchar_t*, size_t);
wchar_t* wcsncpy(wchar_t*, const wchar_t*, size_t);
wchar_t* wcspbrk(const wchar_t*, const wchar_t*);
wchar_t* wcsrchr(const wchar_t*, wchar_t);
size_t wcsspn(const wchar_t*, const wchar_t*);
wchar_t* wcsstr(const wchar_t*, const wchar_t*);
wchar_t* wcstok(wchar_t*, const wchar_t*);
size_t wcsxfrm(wchar_t*, const wchar_t*, size_t);
# 130 "c:/MinGW/include/string.h" 3
wchar_t* _wcsdup (const wchar_t*);
int _wcsicmp (const wchar_t*, const wchar_t*);
int _wcsicoll (const wchar_t*, const wchar_t*);
wchar_t* _wcslwr (wchar_t*);
int _wcsnicmp (const wchar_t*, const wchar_t*, size_t);
wchar_t* _wcsnset (wchar_t*, wchar_t, size_t);
wchar_t* _wcsrev (wchar_t*);
wchar_t* _wcsset (wchar_t*, wchar_t);
wchar_t* _wcsupr (wchar_t*);


int _wcsncoll(const wchar_t*, const wchar_t*, size_t);
int _wcsnicoll(const wchar_t*, const wchar_t*, size_t);
# 158 "c:/MinGW/include/string.h" 3
void* memccpy (void*, const void*, int, size_t);
int memicmp (const void*, const void*, size_t);
char* strdup (const char*);
int strcmpi (const char*, const char*);
int stricmp (const char*, const char*);
int strcasecmp (const char*, const char*);
int stricoll (const char*, const char*);
char* strlwr (char*);
int strnicmp (const char*, const char*, size_t);
int strncasecmp (const char*, const char*, size_t);
char* strnset (char*, int, size_t);
char* strrev (char*);
char* strset (char*, int);
char* strupr (char*);

void swab (const char*, char*, size_t);



int wcscmpi (const wchar_t*, const wchar_t*);
wchar_t* wcsdup (wchar_t*);
int wcsicmp (const wchar_t*, const wchar_t*);
int wcsicoll (const wchar_t*, const wchar_t*);
wchar_t* wcslwr (wchar_t*);
int wcsnicmp (const wchar_t*, const wchar_t*, size_t);
wchar_t* wcsnset (wchar_t*, wchar_t, size_t);
wchar_t* wcsrev (wchar_t*);
wchar_t* wcsset (wchar_t*, wchar_t);
wchar_t* wcsupr (wchar_t*);
# 48 "c:/python22/include/Python.h" 2
# 1 "c:/MinGW/include/errno.h" 1 3
# 107 "c:/MinGW/include/errno.h" 3
int* _errno(void);
# 49 "c:/python22/include/Python.h" 2

# 1 "c:/MinGW/include/stdlib.h" 1 3
# 38 "c:/MinGW/include/stdlib.h" 3
# 1 "c:/MinGW/include/stddef.h" 1 3





# 1 "c:/MinGW/lib/gcc-lib/mingw32/3.2/include/stddef.h" 1 3
# 7 "c:/MinGW/include/stddef.h" 2 3
# 39 "c:/MinGW/include/stdlib.h" 2 3
# 86 "c:/MinGW/include/stdlib.h" 3
extern int _argc;
extern char** _argv;




extern int* __p___argc(void);
extern char*** __p___argv(void);
extern wchar_t*** __p___wargv(void);
# 129 "c:/MinGW/include/stdlib.h" 3
   extern __attribute__((dllimport)) int __mb_cur_max;
# 153 "c:/MinGW/include/stdlib.h" 3
int* _errno(void);


int* __doserrno(void);







  extern char *** __p__environ(void);
  extern wchar_t *** __p__wenviron(void);
# 187 "c:/MinGW/include/stdlib.h" 3
  extern __attribute__((dllimport)) int _sys_nerr;
# 211 "c:/MinGW/include/stdlib.h" 3
extern __attribute__((dllimport)) char* _sys_errlist[];
# 225 "c:/MinGW/include/stdlib.h" 3
extern unsigned int* __p__osver(void);
extern unsigned int* __p__winver(void);
extern unsigned int* __p__winmajor(void);
extern unsigned int* __p__winminor(void);
# 269 "c:/MinGW/include/stdlib.h" 3
char** __p__pgmptr(void);

wchar_t** __p__wpgmptr(void);
# 292 "c:/MinGW/include/stdlib.h" 3
double atof (const char*);
int atoi (const char*);
long atol (const char*);
int _wtoi (const wchar_t *);
long _wtol (const wchar_t *);

double strtod (const char*, char**);

extern __inline__ float strtof (const char *nptr, char **endptr)
  { return (strtod (nptr, endptr));}


long strtol (const char*, char**, int);
unsigned long strtoul (const char*, char**, int);



double wcstod (const wchar_t*, wchar_t**);

extern __inline__ float wcstof( const wchar_t *nptr, wchar_t **endptr)
{ return (wcstod(nptr, endptr)); }


long wcstol (const wchar_t*, wchar_t**, int);
unsigned long wcstoul (const wchar_t*, wchar_t**, int);



size_t wcstombs (char*, const wchar_t*, size_t);
int wctomb (char*, wchar_t);

int mblen (const char*, size_t);
size_t mbstowcs (wchar_t*, const char*, size_t);
int mbtowc (wchar_t*, const char*, size_t);

int rand (void);
void srand (unsigned int);

void* calloc (size_t, size_t);
void* malloc (size_t);
void* realloc (void*, size_t);
void free (void*);

void abort (void) __attribute__ ((noreturn));
void exit (int) __attribute__ ((noreturn));
int atexit (void (*)(void));

int system (const char*);
char* getenv (const char*);

void* bsearch (const void*, const void*, size_t, size_t,
                 int (*)(const void*, const void*));
void qsort (const void*, size_t, size_t,
                 int (*)(const void*, const void*));

int abs (int);
long labs (long);
# 358 "c:/MinGW/include/stdlib.h" 3
typedef struct { int quot, rem; } div_t;
typedef struct { long quot, rem; } ldiv_t;

div_t div (int, int);
ldiv_t ldiv (long, long);







void _beep (unsigned int, unsigned int);
void _seterrormode (int);
void _sleep (unsigned long);

void _exit (int) __attribute__ ((noreturn));


void _Exit(int) __attribute__ ((noreturn));
extern __inline__ void _Exit(int status)
        { _exit(status); }


typedef int (* _onexit_t)(void);
_onexit_t _onexit( _onexit_t );

int _putenv (const char*);
void _searchenv (const char*, const char*, char*);


char* _ecvt (double, int, int*, int*);
char* _fcvt (double, int, int*, int*);
char* _gcvt (double, int, char*);

void _makepath (char*, const char*, const char*, const char*, const char*);
void _splitpath (const char*, char*, char*, char*, char*);
char* _fullpath (char*, const char*, size_t);


char* _itoa (int, char*, int);
char* _ltoa (long, char*, int);
char* _ultoa(unsigned long, char*, int);
wchar_t* _itow (int, wchar_t*, int);
wchar_t* _ltow (long, wchar_t*, int);
wchar_t* _ultow (unsigned long, wchar_t*, int);


long long _atoi64(const char *);
char* _i64toa(long long, char *, int);
char* _ui64toa(unsigned long long, char *, int);
long long _wtoi64(const wchar_t *);
wchar_t* _i64tow(long long, wchar_t *, int);
wchar_t* _ui64tow(unsigned long long, wchar_t *, int);

wchar_t* _wgetenv(const wchar_t*);
int _wputenv(const wchar_t*);
void _wsearchenv(const wchar_t*, const wchar_t*, wchar_t*);
void _wmakepath(wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*);
void _wsplitpath (const wchar_t*, wchar_t*, wchar_t*, wchar_t*, wchar_t*);
wchar_t* _wfullpath (wchar_t*, const wchar_t*, size_t);

unsigned int _rotl(unsigned int, int);
unsigned int _rotr(unsigned int, int);
unsigned long _lrotl(unsigned long, int);
unsigned long _lrotr(unsigned long, int);




int putenv (const char*);
void searchenv (const char*, const char*, char*);

char* itoa (int, char*, int);
char* ltoa (long, char*, int);


char* ecvt (double, int, int*, int*);
char* fcvt (double, int, int*, int*);
char* gcvt (double, int, char*);
# 447 "c:/MinGW/include/stdlib.h" 3
typedef struct { long long quot, rem; } lldiv_t;

lldiv_t lldiv (long long, long long);

extern __inline__ long long llabs(long long _j)
  {return (_j >= 0 ? _j : -_j);}

long long strtoll (const char* __restrict__, char** __restrict, int);
unsigned long long strtoull (const char* __restrict__, char** __restrict__, int);


long long atoll (const char *);


long long wtoll(const wchar_t *);
char* lltoa(long long, char *, int);
char* ulltoa(unsigned long long , char *, int);
wchar_t* lltow(long long, wchar_t *, int);
wchar_t* ulltow(unsigned long long, wchar_t *, int);


extern __inline__ long long atoll (const char * _c)
        { return _atoi64 (_c); }
extern __inline__ char* lltoa(long long _n, char * _c, int _i)
        { return _i64toa (_n, _c, _i); }
extern __inline__ char* ulltoa(unsigned long long _n, char * _c, int _i)
        { return _ui64toa (_n, _c, _i); }
extern __inline__ long long wtoll(const wchar_t * _w)
        { return _wtoi64 (_w); }
extern __inline__ wchar_t* lltow(long long _n, wchar_t * _w, int _i)
        { return _i64tow (_n, _w, _i); }
extern __inline__ wchar_t* ulltow(unsigned long long _n, wchar_t * _w, int _i)
        { return _ui64tow (_n, _w, _i); }
# 51 "c:/python22/include/Python.h" 2
# 60 "c:/python22/include/Python.h"
# 1 "c:/MinGW/include/assert.h" 1 3
# 52 "c:/MinGW/include/assert.h" 3
void _assert (const char*, const char*, int)

        __attribute__ ((noreturn))

        ;
# 61 "c:/python22/include/Python.h" 2

# 1 "c:/python22/include/pyport.h" 1
# 74 "c:/python22/include/pyport.h"
typedef unsigned int Py_uintptr_t;
typedef int Py_intptr_t;
# 93 "c:/python22/include/pyport.h"
# 1 "c:/MinGW/include/math.h" 1 3
# 112 "c:/MinGW/include/math.h" 3
extern __attribute__((dllimport)) double _HUGE;
# 122 "c:/MinGW/include/math.h" 3
struct _exception
{
        int type;
        char *name;
        double arg1;
        double arg2;
        double retval;
};


double sin (double);
double cos (double);
double tan (double);
double sinh (double);
double cosh (double);
double tanh (double);
double asin (double);
double acos (double);
double atan (double);
double atan2 (double, double);
double exp (double);
double log (double);
double log10 (double);
double pow (double, double);
double sqrt (double);
extern __inline__ double sqrt (double x)
{
  double res;
  __asm__ ("fsqrt;" : "=t" (res) : "0" (x));
  return res;
}
double ceil (double);
double floor (double);
double fabs (double);
extern __inline__ double fabs (double x)
{
  double res;
  __asm__ ("fabs;" : "=t" (res) : "0" (x));
  return res;
}
double ldexp (double, int);
double frexp (double, int*);
double modf (double, double*);
double fmod (double, double);





struct _complex
{
        double x;
        double y;
};

double _cabs (struct _complex);

double _hypot (double, double);
double _j0 (double);
double _j1 (double);
double _jn (int, double);
double _y0 (double);
double _y1 (double);
double _yn (int, double);
int _matherr (struct _exception *);
# 195 "c:/MinGW/include/math.h" 3
double _chgsign (double);
double _copysign (double, double);
double _logb (double);
double _nextafter (double, double);
double _scalb (double, long);

int _finite (double);
int _fpclass (double);
int _isnan (double);
# 215 "c:/MinGW/include/math.h" 3
double cabs (struct _complex);
double j0 (double);
double j1 (double);
double jn (int, double);
double y0 (double);
double y1 (double);
double yn (int, double);

double chgsign (double);
double scalb (double, long);
int finite (double);
int fpclass (double);
# 265 "c:/MinGW/include/math.h" 3
extern int __fpclassifyf (float);
extern int __fpclassify (double);

extern __inline__ int __fpclassifyl (long double x){
  unsigned short sw;
  __asm__ ("fxam; fstsw %%ax;" : "=a" (sw): "t" (x));
  return sw & (0x0100 | 0x0400 | 0x4000 );
}
# 288 "c:/MinGW/include/math.h" 3
extern __inline__ int __isnan (double _x)
{
  unsigned short sw;
  __asm__ ("fxam;"
           "fstsw %%ax": "=a" (sw) : "t" (_x));
  return (sw & (0x0100 | 0x0400 | (0x0100 | 0x0400) | 0x4000 | (0x0400 | 0x4000)))
    == 0x0100;
}

extern __inline__ int __isnanf (float _x)
{
  unsigned short sw;
  __asm__ ("fxam;"
            "fstsw %%ax": "=a" (sw) : "t" (_x));
  return (sw & (0x0100 | 0x0400 | (0x0100 | 0x0400) | 0x4000 | (0x0400 | 0x4000)))
    == 0x0100;
}

extern __inline__ int __isnanl (long double _x)
{
  unsigned short sw;
  __asm__ ("fxam;"
            "fstsw %%ax": "=a" (sw) : "t" (_x));
  return (sw & (0x0100 | 0x0400 | (0x0100 | 0x0400) | 0x4000 | (0x0400 | 0x4000)))
    == 0x0100;
}
# 324 "c:/MinGW/include/math.h" 3
extern __inline__ int __signbit (double x) {
  unsigned short stw;
  __asm__ ( "fxam; fstsw %%ax;": "=a" (stw) : "t" (x));
  return stw & 0x0200;
}

extern __inline__ int __signbitf (float x) {
  unsigned short stw;
  __asm__ ("fxam; fstsw %%ax;": "=a" (stw) : "t" (x));
  return stw & 0x0200;
}
extern __inline__ int __signbitl (long double x) {
  unsigned short stw;
  __asm__ ("fxam; fstsw %%ax;": "=a" (stw) : "t" (x));
  return stw & 0x0200;
}







extern float sinf (float);
extern long double sinl (long double);

extern float cosf (float);
extern long double cosl (long double);

extern float tanf (float);
extern long double tanl (long double);

extern float asinf (float);
extern long double asinl (long double);

extern float acosf (float);
extern long double acosl (long double);

extern float atanf (float);
extern long double atanl (long double);

extern float atan2f (float, float);
extern long double atan2l (long double, long double);


extern __inline__ float sinhf (float x)
  {return (float) sinh (x);}
extern long double sinhl (long double);

extern __inline__ float coshf (float x)
  {return (float) cosh (x);}
extern long double coshl (long double);

extern __inline__ float tanhf (float x)
  {return (float) tanh (x);}
extern long double tanhl (long double);






extern __inline__ float expf (float x)
  {return (float) exp (x);}
extern long double expl (long double);


extern double exp2(double);
extern float exp2f(float);
extern long double exp2l(long double);




extern __inline__ float frexpf (float x, int* expn)
  {return (float) frexp (x, expn);}
extern long double frexpl (long double, int*);




extern int ilogb (double);
extern int ilogbf (float);
extern int ilogbl (long double);


extern __inline__ float ldexpf (float x, int expn)
  {return (float) ldexp (x, expn);}
extern long double ldexpl (long double, int);


extern float logf (float);
extern long double logl (long double);


extern float log10f (float);
extern long double log10l (long double);


extern double log1p(double);
extern float log1pf(float);
extern long double log1pl(long double);


extern double log2 (double);
extern float log2f (float);
extern long double log2l (long double);


extern double logb (double);
extern float logbf (float);
extern long double logbl (long double);

extern __inline__ double logb (double x)
{
  double res;
  __asm__ ("fxtract\n\t"
       "fstp	%%st" : "=t" (res) : "0" (x));
  return res;
}

extern __inline__ float logbf (float x)
{
  float res;
  __asm__ ("fxtract\n\t"
       "fstp	%%st" : "=t" (res) : "0" (x));
  return res;
}

extern __inline__ long double logbl (long double x)
{
  long double res;
  __asm__ ("fxtract\n\t"
       "fstp	%%st" : "=t" (res) : "0" (x));
  return res;
}


extern float modff (float, float*);
extern long double modfl (long double, long double*);


extern double scalbn (double, int);
extern float scalbnf (float, int);
extern long double scalbnl (long double, int);

extern double scalbln (double, long);
extern float scalblnf (float, long);
extern long double scalblnl (long double, long);



extern double cbrt (double);
extern float cbrtf (float);
extern long double cbrtl (long double);


extern __inline__ float fabsf (float x)
{
  float res;
  __asm__ ("fabs;" : "=t" (res) : "0" (x));
  return res;
}

extern __inline__ long double fabsl (long double x)
{
  long double res;
  __asm__ ("fabs;" : "=t" (res) : "0" (x));
  return res;
}


extern double _hypot (double, double);
extern __inline__ float hypotf (float x, float y)
  { return (float) _hypot (x, y);}
extern long double hypotl (long double, long double);


extern __inline__ float powf (float x, float y)
  {return (float) pow (x, y);}
extern long double powl (long double, long double);


extern __inline__ float sqrtf (float x)
{
  float res;
  __asm__ ("fsqrt" : "=t" (res) : "0" (x));
  return res;
}

extern __inline__ long double sqrtl (long double x)
{
  long double res;
  __asm__ ("fsqrt" : "=t" (res) : "0" (x));
  return res;
}




extern float ceilf (float);
extern long double ceill (long double);


extern float floorf (float);
extern long double floorl (long double);


extern double nearbyint ( double);
extern float nearbyintf (float);
extern long double nearbyintl (long double);



extern __inline__ double rint (double x)
{
  double retval;
  __asm__ ("frndint;": "=t" (retval) : "0" (x));
  return retval;
}

extern __inline__ float rintf (float x)
{
  float retval;
  __asm__ ("frndint;" : "=t" (retval) : "0" (x) );
  return retval;
}

extern __inline__ long double rintl (long double x)
{
  long double retval;
  __asm__ ("frndint;" : "=t" (retval) : "0" (x) );
  return retval;
}


extern __inline__ long lrint (double x)
{
  long retval;
  __asm__ __volatile__ ("fistpl %0" : "=m" (retval) : "t" (x) : "st"); return retval;


}

extern __inline__ long lrintf (float x)
{
  long retval;
  __asm__ __volatile__ ("fistpl %0" : "=m" (retval) : "t" (x) : "st"); return retval;


}

extern __inline__ long lrintl (long double x)
{
  long retval;
  __asm__ __volatile__ ("fistpl %0" : "=m" (retval) : "t" (x) : "st"); return retval;


}

extern __inline__ long long llrint (double x)
{
  long long retval;
  __asm__ __volatile__ ("fistpll %0" : "=m" (retval) : "t" (x) : "st"); return retval;


}

extern __inline__ long long llrintf (float x)
{
  long long retval;
  __asm__ __volatile__ ("fistpll %0" : "=m" (retval) : "t" (x) : "st"); return retval;


}

extern __inline__ long long llrintl (long double x)
{
  long long retval;
  __asm__ __volatile__ ("fistpll %0" : "=m" (retval) : "t" (x) : "st"); return retval;


}



extern double round (double);
extern float roundf (float);
extern long double roundl (long double);


extern long lround (double);
extern long lroundf (float);
extern long lroundl (long double);

extern long long llround (double);
extern long long llroundf (float);
extern long long llroundl (long double);



extern double trunc (double);
extern float truncf (float);
extern long double truncl (long double);


extern float fmodf (float, float);
extern long double fmodl (long double, long double);


extern double remainder (double, double);
extern float remainderf (float, float);
extern long double remainderl (long double, long double);


extern double remquo(double, double, int *);
extern float remquof(float, float, int *);
extern long double remquol(long double, long double, int *);


extern double copysign (double, double);
extern float copysignf (float, float);
extern long double copysignl (long double, long double);


extern double nan(const char *tagp);
extern float nanf(const char *tagp);
extern long double nanl(const char *tagp);
# 660 "c:/MinGW/include/math.h" 3
extern double nextafter (double, double);
extern float nextafterf (float, float);







extern double fdim (double x, double y);
extern float fdimf (float x, float y);
extern long double fdiml (long double x, long double y);







extern double fmax (double, double);
extern float fmaxf (float, float);
extern long double fmaxl (long double, long double);


extern double fmin (double, double);
extern float fminf (float, float);
extern long double fminl (long double, long double);



extern double fma (double, double, double);
extern float fmaf (float, float, float);
extern long double fmal (long double, long double, long double);
# 94 "c:/python22/include/pyport.h" 2
# 106 "c:/python22/include/pyport.h"
# 1 "c:/MinGW/include/time.h" 1 3
# 36 "c:/MinGW/include/time.h" 3
# 1 "c:/MinGW/include/stddef.h" 1 3





# 1 "c:/MinGW/lib/gcc-lib/mingw32/3.2/include/stddef.h" 1 3
# 7 "c:/MinGW/include/stddef.h" 2 3
# 37 "c:/MinGW/include/time.h" 2 3
# 68 "c:/MinGW/include/time.h" 3
typedef long clock_t;
# 77 "c:/MinGW/include/time.h" 3
struct tm
{
        int tm_sec;
        int tm_min;
        int tm_hour;
        int tm_mday;
        int tm_mon;
        int tm_year;
        int tm_wday;
        int tm_yday;
        int tm_isdst;

};





clock_t clock (void);
time_t time (time_t*);
double difftime (time_t, time_t);
time_t mktime (struct tm*);
# 110 "c:/MinGW/include/time.h" 3
char* asctime (const struct tm*);
char* ctime (const time_t*);
struct tm* gmtime (const time_t*);
struct tm* localtime (const time_t*);


size_t strftime (char*, size_t, const char*, const struct tm*);

size_t wcsftime (wchar_t*, size_t, const wchar_t*, const struct tm*);


extern void _tzset (void);


extern void tzset (void);


size_t strftime(char*, size_t, const char*, const struct tm*);
char* _strdate(char*);
char* _strtime(char*);
# 142 "c:/MinGW/include/time.h" 3
extern int* __p__daylight (void);
extern long* __p__timezone (void);
extern char** __p__tzname (void);

extern __attribute__((dllimport)) int _daylight;
extern __attribute__((dllimport)) long _timezone;
extern __attribute__((dllimport)) char *_tzname[2];
# 180 "c:/MinGW/include/time.h" 3
extern __attribute__((dllimport)) int daylight;
extern __attribute__((dllimport)) long timezone;
extern __attribute__((dllimport)) char *tzname[2];





wchar_t * _wasctime(const struct tm*);
wchar_t * _wctime(const time_t*);
wchar_t* _wstrdate(wchar_t*);
wchar_t* _wstrtime(wchar_t*);
# 107 "c:/python22/include/pyport.h" 2
# 161 "c:/python22/include/pyport.h"
# 1 "c:/MinGW/include/sys/stat.h" 1 3
# 39 "c:/MinGW/include/sys/stat.h" 3
# 1 "c:/MinGW/include/stddef.h" 1 3





# 1 "c:/MinGW/lib/gcc-lib/mingw32/3.2/include/stddef.h" 1 3
# 7 "c:/MinGW/include/stddef.h" 2 3
# 40 "c:/MinGW/include/sys/stat.h" 2 3
# 104 "c:/MinGW/include/sys/stat.h" 3
struct _stat
{
        _dev_t st_dev;
        _ino_t st_ino;
        _mode_t st_mode;
        short st_nlink;
        short st_uid;
        short st_gid;
        _dev_t st_rdev;
        _off_t st_size;
        time_t st_atime;

        time_t st_mtime;
        time_t st_ctime;
};

struct stat
{
        _dev_t st_dev;
        _ino_t st_ino;
        _mode_t st_mode;
        short st_nlink;
        short st_uid;
        short st_gid;
        _dev_t st_rdev;
        _off_t st_size;
        time_t st_atime;

        time_t st_mtime;
        time_t st_ctime;
};

struct _stati64 {
    _dev_t st_dev;
    _ino_t st_ino;
    unsigned short st_mode;
    short st_nlink;
    short st_uid;
    short st_gid;
    _dev_t st_rdev;
    long long st_size;
    time_t st_atime;
    time_t st_mtime;
    time_t st_ctime;
};
# 157 "c:/MinGW/include/sys/stat.h" 3
int _fstat (int, struct _stat*);
int _chmod (const char*, int);
int _stat (const char*, struct _stat*);


int _fstati64(int, struct _stati64 *);
int _stati64(const char *, struct _stati64 *);

int _wstat(const wchar_t*, struct _stat*);
int _wstati64 (const wchar_t*, struct _stati64*);







int fstat (int, struct stat*);
int chmod (const char*, int);
int stat (const char*, struct stat*);
# 162 "c:/python22/include/pyport.h" 2
# 63 "c:/python22/include/Python.h" 2

# 1 "c:/python22/include/pymem.h" 1
# 87 "c:/python22/include/pymem.h"
extern __attribute__((dllimport)) void * PyMem_Malloc(size_t);
extern __attribute__((dllimport)) void * PyMem_Realloc(void *, size_t);
extern __attribute__((dllimport)) void PyMem_Free(void *);
# 65 "c:/python22/include/Python.h" 2

# 1 "c:/python22/include/object.h" 1
# 80 "c:/python22/include/object.h"
typedef struct _object {
        int ob_refcnt; struct _typeobject *ob_type;
} PyObject;

typedef struct {
        int ob_refcnt; struct _typeobject *ob_type; int ob_size;
} PyVarObject;
# 103 "c:/python22/include/object.h"
typedef PyObject * (*unaryfunc)(PyObject *);
typedef PyObject * (*binaryfunc)(PyObject *, PyObject *);
typedef PyObject * (*ternaryfunc)(PyObject *, PyObject *, PyObject *);
typedef int (*inquiry)(PyObject *);
typedef int (*coercion)(PyObject **, PyObject **);
typedef PyObject *(*intargfunc)(PyObject *, int);
typedef PyObject *(*intintargfunc)(PyObject *, int, int);
typedef int(*intobjargproc)(PyObject *, int, PyObject *);
typedef int(*intintobjargproc)(PyObject *, int, int, PyObject *);
typedef int(*objobjargproc)(PyObject *, PyObject *, PyObject *);
typedef int (*getreadbufferproc)(PyObject *, int, void **);
typedef int (*getwritebufferproc)(PyObject *, int, void **);
typedef int (*getsegcountproc)(PyObject *, int *);
typedef int (*getcharbufferproc)(PyObject *, int, const char **);
typedef int (*objobjproc)(PyObject *, PyObject *);
typedef int (*visitproc)(PyObject *, void *);
typedef int (*traverseproc)(PyObject *, visitproc, void *);

typedef struct {
# 130 "c:/python22/include/object.h"
        binaryfunc nb_add;
        binaryfunc nb_subtract;
        binaryfunc nb_multiply;
        binaryfunc nb_divide;
        binaryfunc nb_remainder;
        binaryfunc nb_divmod;
        ternaryfunc nb_power;
        unaryfunc nb_negative;
        unaryfunc nb_positive;
        unaryfunc nb_absolute;
        inquiry nb_nonzero;
        unaryfunc nb_invert;
        binaryfunc nb_lshift;
        binaryfunc nb_rshift;
        binaryfunc nb_and;
        binaryfunc nb_xor;
        binaryfunc nb_or;
        coercion nb_coerce;
        unaryfunc nb_int;
        unaryfunc nb_long;
        unaryfunc nb_float;
        unaryfunc nb_oct;
        unaryfunc nb_hex;

        binaryfunc nb_inplace_add;
        binaryfunc nb_inplace_subtract;
        binaryfunc nb_inplace_multiply;
        binaryfunc nb_inplace_divide;
        binaryfunc nb_inplace_remainder;
        ternaryfunc nb_inplace_power;
        binaryfunc nb_inplace_lshift;
        binaryfunc nb_inplace_rshift;
        binaryfunc nb_inplace_and;
        binaryfunc nb_inplace_xor;
        binaryfunc nb_inplace_or;



        binaryfunc nb_floor_divide;
        binaryfunc nb_true_divide;
        binaryfunc nb_inplace_floor_divide;
        binaryfunc nb_inplace_true_divide;
} PyNumberMethods;

typedef struct {
        inquiry sq_length;
        binaryfunc sq_concat;
        intargfunc sq_repeat;
        intargfunc sq_item;
        intintargfunc sq_slice;
        intobjargproc sq_ass_item;
        intintobjargproc sq_ass_slice;
        objobjproc sq_contains;

        binaryfunc sq_inplace_concat;
        intargfunc sq_inplace_repeat;
} PySequenceMethods;

typedef struct {
        inquiry mp_length;
        binaryfunc mp_subscript;
        objobjargproc mp_ass_subscript;
} PyMappingMethods;

typedef struct {
        getreadbufferproc bf_getreadbuffer;
        getwritebufferproc bf_getwritebuffer;
        getsegcountproc bf_getsegcount;
        getcharbufferproc bf_getcharbuffer;
} PyBufferProcs;


typedef void (*destructor)(PyObject *);
typedef int (*printfunc)(PyObject *, FILE *, int);
typedef PyObject *(*getattrfunc)(PyObject *, char *);
typedef PyObject *(*getattrofunc)(PyObject *, PyObject *);
typedef int (*setattrfunc)(PyObject *, char *, PyObject *);
typedef int (*setattrofunc)(PyObject *, PyObject *, PyObject *);
typedef int (*cmpfunc)(PyObject *, PyObject *);
typedef PyObject *(*reprfunc)(PyObject *);
typedef long (*hashfunc)(PyObject *);
typedef PyObject *(*richcmpfunc) (PyObject *, PyObject *, int);
typedef PyObject *(*getiterfunc) (PyObject *);
typedef PyObject *(*iternextfunc) (PyObject *);
typedef PyObject *(*descrgetfunc) (PyObject *, PyObject *, PyObject *);
typedef int (*descrsetfunc) (PyObject *, PyObject *, PyObject *);
typedef int (*initproc)(PyObject *, PyObject *, PyObject *);
typedef PyObject *(*newfunc)(struct _typeobject *, PyObject *, PyObject *);
typedef PyObject *(*allocfunc)(struct _typeobject *, int);

typedef struct _typeobject {
        int ob_refcnt; struct _typeobject *ob_type; int ob_size;
        char *tp_name;
        int tp_basicsize, tp_itemsize;



        destructor tp_dealloc;
        printfunc tp_print;
        getattrfunc tp_getattr;
        setattrfunc tp_setattr;
        cmpfunc tp_compare;
        reprfunc tp_repr;



        PyNumberMethods *tp_as_number;
        PySequenceMethods *tp_as_sequence;
        PyMappingMethods *tp_as_mapping;



        hashfunc tp_hash;
        ternaryfunc tp_call;
        reprfunc tp_str;
        getattrofunc tp_getattro;
        setattrofunc tp_setattro;


        PyBufferProcs *tp_as_buffer;


        long tp_flags;

        char *tp_doc;



        traverseproc tp_traverse;


        inquiry tp_clear;



        richcmpfunc tp_richcompare;


        long tp_weaklistoffset;



        getiterfunc tp_iter;
        iternextfunc tp_iternext;


        struct PyMethodDef *tp_methods;
        struct PyMemberDef *tp_members;
        struct PyGetSetDef *tp_getset;
        struct _typeobject *tp_base;
        PyObject *tp_dict;
        descrgetfunc tp_descr_get;
        descrsetfunc tp_descr_set;
        long tp_dictoffset;
        initproc tp_init;
        allocfunc tp_alloc;
        newfunc tp_new;
        destructor tp_free;
        inquiry tp_is_gc;
        PyObject *tp_bases;
        PyObject *tp_mro;
        PyObject *tp_cache;
        PyObject *tp_subclasses;
        PyObject *tp_weaklist;
# 302 "c:/python22/include/object.h"
} PyTypeObject;



extern __attribute__((dllimport)) int PyType_IsSubtype(PyTypeObject *, PyTypeObject *);



extern __attribute__((dllimport)) PyTypeObject PyType_Type;
extern __attribute__((dllimport)) PyTypeObject PyBaseObject_Type;
extern __attribute__((dllimport)) PyTypeObject PySuper_Type;




extern __attribute__((dllimport)) int PyType_Ready(PyTypeObject *);
extern __attribute__((dllimport)) PyObject * PyType_GenericAlloc(PyTypeObject *, int);
extern __attribute__((dllimport)) PyObject * PyType_GenericNew(PyTypeObject *,
                                               PyObject *, PyObject *);
extern __attribute__((dllimport)) PyObject * _PyType_Lookup(PyTypeObject *, PyObject *);


extern __attribute__((dllimport)) int PyObject_Print(PyObject *, FILE *, int);
extern __attribute__((dllimport)) void _PyObject_Dump(PyObject *);
extern __attribute__((dllimport)) PyObject * PyObject_Repr(PyObject *);
extern __attribute__((dllimport)) PyObject * PyObject_Str(PyObject *);

extern __attribute__((dllimport)) PyObject * PyObject_Unicode(PyObject *);

extern __attribute__((dllimport)) int PyObject_Compare(PyObject *, PyObject *);
extern __attribute__((dllimport)) PyObject * PyObject_RichCompare(PyObject *, PyObject *, int);
extern __attribute__((dllimport)) int PyObject_RichCompareBool(PyObject *, PyObject *, int);
extern __attribute__((dllimport)) PyObject * PyObject_GetAttrString(PyObject *, char *);
extern __attribute__((dllimport)) int PyObject_SetAttrString(PyObject *, char *, PyObject *);
extern __attribute__((dllimport)) int PyObject_HasAttrString(PyObject *, char *);
extern __attribute__((dllimport)) PyObject * PyObject_GetAttr(PyObject *, PyObject *);
extern __attribute__((dllimport)) int PyObject_SetAttr(PyObject *, PyObject *, PyObject *);
extern __attribute__((dllimport)) int PyObject_HasAttr(PyObject *, PyObject *);
extern __attribute__((dllimport)) PyObject ** _PyObject_GetDictPtr(PyObject *);
extern __attribute__((dllimport)) PyObject * PyObject_GenericGetAttr(PyObject *, PyObject *);
extern __attribute__((dllimport)) int PyObject_GenericSetAttr(PyObject *,
                                              PyObject *, PyObject *);
extern __attribute__((dllimport)) long PyObject_Hash(PyObject *);
extern __attribute__((dllimport)) int PyObject_IsTrue(PyObject *);
extern __attribute__((dllimport)) int PyObject_Not(PyObject *);
extern __attribute__((dllimport)) int PyCallable_Check(PyObject *);
extern __attribute__((dllimport)) int PyNumber_Coerce(PyObject **, PyObject **);
extern __attribute__((dllimport)) int PyNumber_CoerceEx(PyObject **, PyObject **);

extern __attribute__((dllimport)) void PyObject_ClearWeakRefs(PyObject *);


extern int _PyObject_SlotCompare(PyObject *, PyObject *);







extern __attribute__((dllimport)) PyObject * PyObject_Dir(PyObject *);



extern __attribute__((dllimport)) int Py_ReprEnter(PyObject *);
extern __attribute__((dllimport)) void Py_ReprLeave(PyObject *);


extern __attribute__((dllimport)) long _Py_HashDouble(double);
extern __attribute__((dllimport)) long _Py_HashPointer(void*);
# 564 "c:/python22/include/object.h"
extern __attribute__((dllimport)) PyObject _Py_NoneStruct;
# 573 "c:/python22/include/object.h"
extern __attribute__((dllimport)) PyObject _Py_NotImplementedStruct;
# 702 "c:/python22/include/object.h"
extern __attribute__((dllimport)) void _PyTrash_deposit_object(PyObject*);
extern __attribute__((dllimport)) void _PyTrash_destroy_chain(void);

extern __attribute__((dllimport)) int _PyTrash_delete_nesting;
extern __attribute__((dllimport)) PyObject * _PyTrash_delete_later;
# 67 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/objimpl.h" 1
# 139 "c:/python22/include/objimpl.h"
extern __attribute__((dllimport)) void * PyObject_Malloc(size_t);
extern __attribute__((dllimport)) void * PyObject_Realloc(void *, size_t);
extern __attribute__((dllimport)) void PyObject_Free(void *);
# 154 "c:/python22/include/objimpl.h"
extern __attribute__((dllimport)) PyObject * PyObject_Init(PyObject *, PyTypeObject *);
extern __attribute__((dllimport)) PyVarObject * PyObject_InitVar(PyVarObject *,
                                                 PyTypeObject *, int);
extern __attribute__((dllimport)) PyObject * _PyObject_New(PyTypeObject *);
extern __attribute__((dllimport)) PyVarObject * _PyObject_NewVar(PyTypeObject *, int);
extern __attribute__((dllimport)) void _PyObject_Del(PyObject *);
# 254 "c:/python22/include/objimpl.h"
extern __attribute__((dllimport)) PyObject * _PyObject_GC_Malloc(PyTypeObject *, int);
extern __attribute__((dllimport)) PyVarObject * _PyObject_GC_Resize(PyVarObject *, int);




extern __attribute__((dllimport)) PyObject * _PyObject_GC_New(PyTypeObject *);
extern __attribute__((dllimport)) PyVarObject * _PyObject_GC_NewVar(PyTypeObject *, int);
extern __attribute__((dllimport)) void _PyObject_GC_Del(PyObject *);
extern __attribute__((dllimport)) void _PyObject_GC_Track(PyObject *);
extern __attribute__((dllimport)) void _PyObject_GC_UnTrack(PyObject *);




typedef union _gc_head {
        struct {
                union _gc_head *gc_next;
                union _gc_head *gc_prev;
                int gc_refs;
        } gc;
        double dummy;
} PyGC_Head;

extern PyGC_Head _PyGC_generation0;
# 68 "c:/python22/include/Python.h" 2

# 1 "c:/python22/include/pydebug.h" 1







extern __attribute__((dllimport)) int Py_DebugFlag;
extern __attribute__((dllimport)) int Py_VerboseFlag;
extern __attribute__((dllimport)) int Py_InteractiveFlag;
extern __attribute__((dllimport)) int Py_OptimizeFlag;
extern __attribute__((dllimport)) int Py_NoSiteFlag;
extern __attribute__((dllimport)) int Py_UseClassExceptionsFlag;
extern __attribute__((dllimport)) int Py_FrozenFlag;
extern __attribute__((dllimport)) int Py_TabcheckFlag;
extern __attribute__((dllimport)) int Py_UnicodeFlag;
extern __attribute__((dllimport)) int Py_IgnoreEnvironmentFlag;
extern __attribute__((dllimport)) int Py_DivisionWarningFlag;



extern __attribute__((dllimport)) int _Py_QnewFlag;






__attribute__((dllimport)) void Py_FatalError(char *message);
# 70 "c:/python22/include/Python.h" 2

# 1 "c:/python22/include/unicodeobject.h" 1
# 55 "c:/python22/include/unicodeobject.h"
# 1 "c:/MinGW/include/ctype.h" 1 3
# 36 "c:/MinGW/include/ctype.h" 3
# 1 "c:/MinGW/include/stddef.h" 1 3





# 1 "c:/MinGW/lib/gcc-lib/mingw32/3.2/include/stddef.h" 1 3
# 7 "c:/MinGW/include/stddef.h" 2 3
# 37 "c:/MinGW/include/ctype.h" 2 3
# 62 "c:/MinGW/include/ctype.h" 3
int isalnum(int);
int isalpha(int);
int iscntrl(int);
int isdigit(int);
int isgraph(int);
int islower(int);
int isprint(int);
int ispunct(int);
int isspace(int);
int isupper(int);
int isxdigit(int);


int _isctype (int, int);



int tolower(int);
int toupper(int);
# 92 "c:/MinGW/include/ctype.h" 3
int _tolower(int);
int _toupper(int);
# 120 "c:/MinGW/include/ctype.h" 3
extern __attribute__((dllimport)) unsigned short _ctype[];

  extern __attribute__((dllimport)) unsigned short* _pctype;
# 158 "c:/MinGW/include/ctype.h" 3
extern __inline__ int isalnum(int c) {return (__mb_cur_max == 1 ? (_pctype[c] & (0x0103|0x0004)) : _isctype(c, (0x0103|0x0004)));}
extern __inline__ int isalpha(int c) {return (__mb_cur_max == 1 ? (_pctype[c] & 0x0103) : _isctype(c, 0x0103));}
extern __inline__ int iscntrl(int c) {return (__mb_cur_max == 1 ? (_pctype[c] & 0x0020) : _isctype(c, 0x0020));}
extern __inline__ int isdigit(int c) {return (__mb_cur_max == 1 ? (_pctype[c] & 0x0004) : _isctype(c, 0x0004));}
extern __inline__ int isgraph(int c) {return (__mb_cur_max == 1 ? (_pctype[c] & (0x0010|0x0103|0x0004)) : _isctype(c, (0x0010|0x0103|0x0004)));}
extern __inline__ int islower(int c) {return (__mb_cur_max == 1 ? (_pctype[c] & 0x0002) : _isctype(c, 0x0002));}
extern __inline__ int isprint(int c) {return (__mb_cur_max == 1 ? (_pctype[c] & (0x0040|0x0010|0x0103|0x0004)) : _isctype(c, (0x0040|0x0010|0x0103|0x0004)));}
extern __inline__ int ispunct(int c) {return (__mb_cur_max == 1 ? (_pctype[c] & 0x0010) : _isctype(c, 0x0010));}
extern __inline__ int isspace(int c) {return (__mb_cur_max == 1 ? (_pctype[c] & 0x0008) : _isctype(c, 0x0008));}
extern __inline__ int isupper(int c) {return (__mb_cur_max == 1 ? (_pctype[c] & 0x0001) : _isctype(c, 0x0001));}
extern __inline__ int isxdigit(int c) {return (__mb_cur_max == 1 ? (_pctype[c] & 0x0080) : _isctype(c, 0x0080));}


extern __inline__ int _tolower(int c) {return ( c -'A'+'a');}
extern __inline__ int _toupper(int c) {return ( c -'a'+'A');}
# 186 "c:/MinGW/include/ctype.h" 3
typedef wchar_t wctype_t;



int iswalnum(wint_t);
int iswalpha(wint_t);
int iswascii(wint_t);
int iswcntrl(wint_t);
int iswctype(wint_t, wctype_t);
int is_wctype(wint_t, wctype_t);
int iswdigit(wint_t);
int iswgraph(wint_t);
int iswlower(wint_t);
int iswprint(wint_t);
int iswpunct(wint_t);
int iswspace(wint_t);
int iswupper(wint_t);
int iswxdigit(wint_t);

wchar_t towlower(wchar_t);
wchar_t towupper(wchar_t);

int isleadbyte (int);




extern __inline__ int iswalnum(wint_t wc) {return (iswctype(wc,0x0103|0x0004));}
extern __inline__ int iswalpha(wint_t wc) {return (iswctype(wc,0x0103));}
extern __inline__ int iswascii(wint_t wc) {return (((unsigned)wc & 0x7F) ==0);}
extern __inline__ int iswcntrl(wint_t wc) {return (iswctype(wc,0x0020));}
extern __inline__ int iswdigit(wint_t wc) {return (iswctype(wc,0x0004));}
extern __inline__ int iswgraph(wint_t wc) {return (iswctype(wc,0x0010|0x0103|0x0004));}
extern __inline__ int iswlower(wint_t wc) {return (iswctype(wc,0x0002));}
extern __inline__ int iswprint(wint_t wc) {return (iswctype(wc,0x0040|0x0010|0x0103|0x0004));}
extern __inline__ int iswpunct(wint_t wc) {return (iswctype(wc,0x0010));}
extern __inline__ int iswspace(wint_t wc) {return (iswctype(wc,0x0008));}
extern __inline__ int iswupper(wint_t wc) {return (iswctype(wc,0x0001));}
extern __inline__ int iswxdigit(wint_t wc) {return (iswctype(wc,0x0080));}
extern __inline__ int isleadbyte(int c) {return (_pctype[(unsigned char)(c)] & 0x8000);}



int __isascii (int);
int __toascii (int);
int __iscsymf (int);
int __iscsym (int);


extern __inline__ int __isascii(int c) {return (((unsigned)c & ~0x7F) == 0);}
extern __inline__ int __toascii(int c) {return (c & 0x7F);}
extern __inline__ int __iscsymf(int c) {return (isalpha(c) || (c == '_'));}
extern __inline__ int __iscsym(int c) {return (isalnum(c) || (c == '_'));}



int isascii (int);
int toascii (int);
int iscsymf (int);
int iscsym (int);
# 56 "c:/python22/include/unicodeobject.h" 2
# 118 "c:/python22/include/unicodeobject.h"
# 1 "c:/MinGW/include/wchar.h" 1 3
# 44 "c:/MinGW/include/wchar.h" 3
# 1 "c:/MinGW/include/stddef.h" 1 3





# 1 "c:/MinGW/lib/gcc-lib/mingw32/3.2/include/stddef.h" 1 3
# 7 "c:/MinGW/include/stddef.h" 2 3
# 45 "c:/MinGW/include/wchar.h" 2 3
# 154 "c:/MinGW/include/wchar.h" 3
int _wchdir (const wchar_t*);
wchar_t* _wgetcwd (wchar_t*, int);
wchar_t* _wgetdcwd (int, wchar_t*, int);
int _wmkdir (const wchar_t*);
int _wrmdir (const wchar_t*);
# 242 "c:/MinGW/include/wchar.h" 3
wchar_t* _wsetlocale (int, const wchar_t*);
# 282 "c:/MinGW/include/wchar.h" 3
typedef int mbstate_t;
typedef wchar_t _Wint_t;

wint_t btowc(int);
size_t mbrlen(const char *, size_t, mbstate_t *);
size_t mbrtowc(wchar_t *, const char *, size_t, mbstate_t *);
size_t mbsrtowcs(wchar_t *, const char **, size_t, mbstate_t *);

size_t wcrtomb(char *, wchar_t, mbstate_t *);
size_t wcsrtombs(char *, const wchar_t **, size_t, mbstate_t *);
int wctob(wint_t);


extern __inline__ int fwide(FILE* stream, int mode) {return -1;}
extern __inline__ int mbsinit(const mbstate_t* ps) {return 1;}
wchar_t* wmemset(wchar_t* s, wchar_t c, size_t n);
wchar_t* wmemchr(const wchar_t* s, wchar_t c, size_t n);
int wmemcmp(const wchar_t* s1, const wchar_t * s2, size_t n);
wchar_t* wmemcpy(wchar_t* __restrict__ s1, const wchar_t* __restrict__ s2,
                 size_t n);
wchar_t* wmemmove(wchar_t* s1, const wchar_t* s2, size_t n);
long long wcstoll(const wchar_t* __restrict__ nptr,
                  wchar_t** __restrict__ endptr, int base);
unsigned long long wcstoull(const wchar_t* __restrict__ nptr,
                            wchar_t ** __restrict__ endptr, int base);
# 119 "c:/python22/include/unicodeobject.h" 2







typedef unsigned int Py_UCS4;




typedef unsigned short Py_UNICODE;
# 364 "c:/python22/include/unicodeobject.h"
typedef struct {
    int ob_refcnt; struct _typeobject *ob_type;
    int length;
    Py_UNICODE *str;
    long hash;
    PyObject *defenc;


} PyUnicodeObject;

extern __attribute__((dllimport)) PyTypeObject PyUnicode_Type;
# 412 "c:/python22/include/unicodeobject.h"
extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_FromUnicode(
    const Py_UNICODE *u,
    int size
    );




extern __attribute__((dllimport)) Py_UNICODE * PyUnicodeUCS2_AsUnicode(
    PyObject *unicode
    );



extern __attribute__((dllimport)) int PyUnicodeUCS2_GetSize(
    PyObject *unicode
    );


extern __attribute__((dllimport)) Py_UNICODE PyUnicodeUCS2_GetMax(void);
# 447 "c:/python22/include/unicodeobject.h"
extern __attribute__((dllimport)) int PyUnicodeUCS2_Resize(
    PyObject **unicode,
    int length
    );
# 469 "c:/python22/include/unicodeobject.h"
extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_FromEncodedObject(
    register PyObject *obj,
    const char *encoding,
    const char *errors
    );
# 488 "c:/python22/include/unicodeobject.h"
extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_FromObject(
    register PyObject *obj
    );
# 501 "c:/python22/include/unicodeobject.h"
extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_FromWideChar(
    register const wchar_t *w,
    int size
    );







extern __attribute__((dllimport)) int PyUnicodeUCS2_AsWideChar(
    PyUnicodeObject *unicode,
    register wchar_t *w,
    int size
    );
# 530 "c:/python22/include/unicodeobject.h"
extern __attribute__((dllimport)) PyObject* PyUnicode_FromOrdinal(int ordinal);
# 566 "c:/python22/include/unicodeobject.h"
extern __attribute__((dllimport)) PyObject * _PyUnicodeUCS2_AsDefaultEncodedString(
    PyObject *, const char *);
# 578 "c:/python22/include/unicodeobject.h"
extern __attribute__((dllimport)) const char* PyUnicodeUCS2_GetDefaultEncoding(void);







extern __attribute__((dllimport)) int PyUnicodeUCS2_SetDefaultEncoding(
    const char *encoding
    );






extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_Decode(
    const char *s,
    int size,
    const char *encoding,
    const char *errors
    );




extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_Encode(
    const Py_UNICODE *s,
    int size,
    const char *encoding,
    const char *errors
    );




extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_AsEncodedString(
    PyObject *unicode,
    const char *encoding,
    const char *errors
    );



extern __attribute__((dllimport)) PyObject* PyUnicode_DecodeUTF7(
    const char *string,
    int length,
    const char *errors
    );

extern __attribute__((dllimport)) PyObject* PyUnicode_EncodeUTF7(
    const Py_UNICODE *data,
    int length,
    int encodeSetO,

    int encodeWhiteSpace,

    const char *errors
    );



extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_DecodeUTF8(
    const char *string,
    int length,
    const char *errors
    );

extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_AsUTF8String(
    PyObject *unicode
    );

extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_EncodeUTF8(
    const Py_UNICODE *data,
    int length,
    const char *errors
    );
# 682 "c:/python22/include/unicodeobject.h"
extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_DecodeUTF16(
    const char *string,
    int length,
    const char *errors,
    int *byteorder


    );




extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_AsUTF16String(
    PyObject *unicode
    );
# 718 "c:/python22/include/unicodeobject.h"
extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_EncodeUTF16(
    const Py_UNICODE *data,
    int length,
    const char *errors,
    int byteorder
    );



extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_DecodeUnicodeEscape(
    const char *string,
    int length,
    const char *errors
    );

extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_AsUnicodeEscapeString(
    PyObject *unicode
    );

extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_EncodeUnicodeEscape(
    const Py_UNICODE *data,
    int length
    );



extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_DecodeRawUnicodeEscape(
    const char *string,
    int length,
    const char *errors
    );

extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_AsRawUnicodeEscapeString(
    PyObject *unicode
    );

extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_EncodeRawUnicodeEscape(
    const Py_UNICODE *data,
    int length
    );







extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_DecodeLatin1(
    const char *string,
    int length,
    const char *errors
    );

extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_AsLatin1String(
    PyObject *unicode
    );

extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_EncodeLatin1(
    const Py_UNICODE *data,
    int length,
    const char *errors
    );







extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_DecodeASCII(
    const char *string,
    int length,
    const char *errors
    );

extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_AsASCIIString(
    PyObject *unicode
    );

extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_EncodeASCII(
    const Py_UNICODE *data,
    int length,
    const char *errors
    );
# 825 "c:/python22/include/unicodeobject.h"
extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_DecodeCharmap(
    const char *string,
    int length,
    PyObject *mapping,

    const char *errors
    );

extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_AsCharmapString(
    PyObject *unicode,
    PyObject *mapping

    );

extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_EncodeCharmap(
    const Py_UNICODE *data,
    int length,
    PyObject *mapping,

    const char *errors
    );
# 860 "c:/python22/include/unicodeobject.h"
extern __attribute__((dllimport)) PyObject * PyUnicodeUCS2_TranslateCharmap(
    const Py_UNICODE *data,
    int length,
    PyObject *table,
    const char *errors
    );





extern __attribute__((dllimport)) PyObject* PyUnicode_DecodeMBCS(
    const char *string,
    int length,
    const char *errors
    );

extern __attribute__((dllimport)) PyObject* PyUnicode_AsMBCSString(
    PyObject *unicode
    );

extern __attribute__((dllimport)) PyObject* PyUnicode_EncodeMBCS(
    const Py_UNICODE *data,
    int length,
    const char *errors
    );
# 913 "c:/python22/include/unicodeobject.h"
extern __attribute__((dllimport)) int PyUnicodeUCS2_EncodeDecimal(
    Py_UNICODE *s,
    int length,
    char *output,
    const char *errors
    );
# 928 "c:/python22/include/unicodeobject.h"
extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_Concat(
    PyObject *left,
    PyObject *right
    );
# 944 "c:/python22/include/unicodeobject.h"
extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_Split(
    PyObject *s,
    PyObject *sep,
    int maxsplit
    );






extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_Splitlines(
    PyObject *s,
    int keepends
    );
# 972 "c:/python22/include/unicodeobject.h"
extern __attribute__((dllimport)) PyObject * PyUnicodeUCS2_Translate(
    PyObject *str,
    PyObject *table,
    const char *errors
    );




extern __attribute__((dllimport)) PyObject* PyUnicodeUCS2_Join(
    PyObject *separator,
    PyObject *seq
    );




extern __attribute__((dllimport)) int PyUnicodeUCS2_Tailmatch(
    PyObject *str,
    PyObject *substr,
    int start,
    int end,
    int direction
    );




extern __attribute__((dllimport)) int PyUnicodeUCS2_Find(
    PyObject *str,
    PyObject *substr,
    int start,
    int end,
    int direction
    );



extern __attribute__((dllimport)) int PyUnicodeUCS2_Count(
    PyObject *str,
    PyObject *substr,
    int start,
    int end
    );




extern __attribute__((dllimport)) PyObject * PyUnicodeUCS2_Replace(
    PyObject *str,
    PyObject *substr,
    PyObject *replstr,
    int maxcount

    );




extern __attribute__((dllimport)) int PyUnicodeUCS2_Compare(
    PyObject *left,
    PyObject *right
    );




extern __attribute__((dllimport)) PyObject * PyUnicodeUCS2_Format(
    PyObject *format,
    PyObject *args
    );







extern __attribute__((dllimport)) int PyUnicodeUCS2_Contains(
    PyObject *container,
    PyObject *element
    );


extern __attribute__((dllimport)) PyObject * _PyUnicode_XStrip(
    PyUnicodeObject *self,
    int striptype,
    PyObject *sepobj
    );
# 1071 "c:/python22/include/unicodeobject.h"
extern __attribute__((dllimport)) int _PyUnicodeUCS2_IsLowercase(
    Py_UNICODE ch
    );

extern __attribute__((dllimport)) int _PyUnicodeUCS2_IsUppercase(
    Py_UNICODE ch
    );

extern __attribute__((dllimport)) int _PyUnicodeUCS2_IsTitlecase(
    Py_UNICODE ch
    );

extern __attribute__((dllimport)) int _PyUnicodeUCS2_IsWhitespace(
    Py_UNICODE ch
    );

extern __attribute__((dllimport)) int _PyUnicodeUCS2_IsLinebreak(
    Py_UNICODE ch
    );

extern __attribute__((dllimport)) Py_UNICODE _PyUnicodeUCS2_ToLowercase(
    Py_UNICODE ch
    );

extern __attribute__((dllimport)) Py_UNICODE _PyUnicodeUCS2_ToUppercase(
    Py_UNICODE ch
    );

extern __attribute__((dllimport)) Py_UNICODE _PyUnicodeUCS2_ToTitlecase(
    Py_UNICODE ch
    );

extern __attribute__((dllimport)) int _PyUnicodeUCS2_ToDecimalDigit(
    Py_UNICODE ch
    );

extern __attribute__((dllimport)) int _PyUnicodeUCS2_ToDigit(
    Py_UNICODE ch
    );

extern __attribute__((dllimport)) double _PyUnicodeUCS2_ToNumeric(
    Py_UNICODE ch
    );

extern __attribute__((dllimport)) int _PyUnicodeUCS2_IsDecimalDigit(
    Py_UNICODE ch
    );

extern __attribute__((dllimport)) int _PyUnicodeUCS2_IsDigit(
    Py_UNICODE ch
    );

extern __attribute__((dllimport)) int _PyUnicodeUCS2_IsNumeric(
    Py_UNICODE ch
    );

extern __attribute__((dllimport)) int _PyUnicodeUCS2_IsAlpha(
    Py_UNICODE ch
    );
# 72 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/intobject.h" 1
# 23 "c:/python22/include/intobject.h"
typedef struct {
    int ob_refcnt; struct _typeobject *ob_type;
    long ob_ival;
} PyIntObject;

extern __attribute__((dllimport)) PyTypeObject PyInt_Type;




extern __attribute__((dllimport)) PyObject * PyInt_FromString(char*, char**, int);

extern __attribute__((dllimport)) PyObject * PyInt_FromUnicode(Py_UNICODE*, int, int);

extern __attribute__((dllimport)) PyObject * PyInt_FromLong(long);
extern __attribute__((dllimport)) long PyInt_AsLong(PyObject *);
extern __attribute__((dllimport)) long PyInt_GetMax(void);
# 51 "c:/python22/include/intobject.h"
extern __attribute__((dllimport)) PyIntObject _Py_ZeroStruct, _Py_TrueStruct;
# 65 "c:/python22/include/intobject.h"
extern __attribute__((dllimport)) unsigned long PyOS_strtoul(char *, char **, int);
extern __attribute__((dllimport)) long PyOS_strtol(char *, char **, int);
# 73 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/longobject.h" 1
# 10 "c:/python22/include/longobject.h"
typedef struct _longobject PyLongObject;

extern __attribute__((dllimport)) PyTypeObject PyLong_Type;




extern __attribute__((dllimport)) PyObject * PyLong_FromLong(long);
extern __attribute__((dllimport)) PyObject * PyLong_FromUnsignedLong(unsigned long);
extern __attribute__((dllimport)) PyObject * PyLong_FromDouble(double);
extern __attribute__((dllimport)) long PyLong_AsLong(PyObject *);
extern __attribute__((dllimport)) unsigned long PyLong_AsUnsignedLong(PyObject *);







extern __attribute__((dllimport)) double _PyLong_AsScaledDouble(PyObject *vv, int *e);

extern __attribute__((dllimport)) double PyLong_AsDouble(PyObject *);
extern __attribute__((dllimport)) PyObject * PyLong_FromVoidPtr(void *);
extern __attribute__((dllimport)) void * PyLong_AsVoidPtr(PyObject *);
# 48 "c:/python22/include/longobject.h"
extern __attribute__((dllimport)) PyObject * PyLong_FromLongLong(long long);
extern __attribute__((dllimport)) PyObject * PyLong_FromUnsignedLongLong(unsigned long long);
extern __attribute__((dllimport)) long long PyLong_AsLongLong(PyObject *);
extern __attribute__((dllimport)) unsigned long long PyLong_AsUnsignedLongLong(PyObject *);


__attribute__((dllimport)) PyObject * PyLong_FromString(char *, char **, int);

__attribute__((dllimport)) PyObject * PyLong_FromUnicode(Py_UNICODE*, int, int);
# 72 "c:/python22/include/longobject.h"
extern __attribute__((dllimport)) PyObject * _PyLong_FromByteArray(
        const unsigned char* bytes, size_t n,
        int little_endian, int is_signed);
# 95 "c:/python22/include/longobject.h"
extern __attribute__((dllimport)) int _PyLong_AsByteArray(PyLongObject* v,
        unsigned char* bytes, size_t n,
        int little_endian, int is_signed);
# 74 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/floatobject.h" 1
# 14 "c:/python22/include/floatobject.h"
typedef struct {
    int ob_refcnt; struct _typeobject *ob_type;
    double ob_fval;
} PyFloatObject;

extern __attribute__((dllimport)) PyTypeObject PyFloat_Type;







extern __attribute__((dllimport)) PyObject * PyFloat_FromString(PyObject*, char** junk);


extern __attribute__((dllimport)) PyObject * PyFloat_FromDouble(double);



extern __attribute__((dllimport)) double PyFloat_AsDouble(PyObject *);






extern __attribute__((dllimport)) void PyFloat_AsReprString(char*, PyFloatObject *v);






extern __attribute__((dllimport)) void PyFloat_AsString(char*, PyFloatObject *v);
# 75 "c:/python22/include/Python.h" 2

# 1 "c:/python22/include/complexobject.h" 1
# 9 "c:/python22/include/complexobject.h"
typedef struct {
    double real;
    double imag;
} Py_complex;
# 23 "c:/python22/include/complexobject.h"
extern __attribute__((dllimport)) Py_complex _Py_c_sum(Py_complex, Py_complex);
extern __attribute__((dllimport)) Py_complex _Py_c_diff(Py_complex, Py_complex);
extern __attribute__((dllimport)) Py_complex _Py_c_neg(Py_complex);
extern __attribute__((dllimport)) Py_complex _Py_c_prod(Py_complex, Py_complex);
extern __attribute__((dllimport)) Py_complex _Py_c_quot(Py_complex, Py_complex);
extern __attribute__((dllimport)) Py_complex _Py_c_pow(Py_complex, Py_complex);
# 38 "c:/python22/include/complexobject.h"
typedef struct {
    int ob_refcnt; struct _typeobject *ob_type;
    Py_complex cval;
} PyComplexObject;

extern __attribute__((dllimport)) PyTypeObject PyComplex_Type;




extern __attribute__((dllimport)) PyObject * PyComplex_FromCComplex(Py_complex);
extern __attribute__((dllimport)) PyObject * PyComplex_FromDoubles(double real, double imag);

extern __attribute__((dllimport)) double PyComplex_RealAsDouble(PyObject *op);
extern __attribute__((dllimport)) double PyComplex_ImagAsDouble(PyObject *op);
extern __attribute__((dllimport)) Py_complex PyComplex_AsCComplex(PyObject *op);
# 77 "c:/python22/include/Python.h" 2

# 1 "c:/python22/include/rangeobject.h" 1
# 18 "c:/python22/include/rangeobject.h"
extern __attribute__((dllimport)) PyTypeObject PyRange_Type;



extern __attribute__((dllimport)) PyObject * PyRange_New(long, long, long, int);
# 79 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/stringobject.h" 1
# 10 "c:/python22/include/stringobject.h"
# 1 "c:/MinGW/include/stdarg.h" 1 3





# 1 "c:/MinGW/lib/gcc-lib/mingw32/3.2/include/stdarg.h" 1 3
# 111 "c:/MinGW/lib/gcc-lib/mingw32/3.2/include/stdarg.h" 3
typedef __gnuc_va_list va_list;
# 7 "c:/MinGW/include/stdarg.h" 2 3
# 11 "c:/python22/include/stringobject.h" 2
# 41 "c:/python22/include/stringobject.h"
typedef struct {
    int ob_refcnt; struct _typeobject *ob_type; int ob_size;

    long ob_shash;


    PyObject *ob_sinterned;

    char ob_sval[1];
} PyStringObject;

extern __attribute__((dllimport)) PyTypeObject PyString_Type;




extern __attribute__((dllimport)) PyObject * PyString_FromStringAndSize(const char *, int);
extern __attribute__((dllimport)) PyObject * PyString_FromString(const char *);
extern __attribute__((dllimport)) PyObject * PyString_FromFormatV(const char*, va_list)
                                __attribute__((format(printf, 1, 0)));
extern __attribute__((dllimport)) PyObject * PyString_FromFormat(const char*, ...)
                                __attribute__((format(printf, 1, 2)));
extern __attribute__((dllimport)) int PyString_Size(PyObject *);
extern __attribute__((dllimport)) char * PyString_AsString(PyObject *);
extern __attribute__((dllimport)) void PyString_Concat(PyObject **, PyObject *);
extern __attribute__((dllimport)) void PyString_ConcatAndDel(PyObject **, PyObject *);
extern __attribute__((dllimport)) int _PyString_Resize(PyObject **, int);
extern __attribute__((dllimport)) int _PyString_Eq(PyObject *, PyObject*);
extern __attribute__((dllimport)) PyObject * PyString_Format(PyObject *, PyObject *);
extern __attribute__((dllimport)) PyObject * _PyString_FormatLong(PyObject*, int, int,
                                                  int, char**, int*);


extern __attribute__((dllimport)) void PyString_InternInPlace(PyObject **);
extern __attribute__((dllimport)) PyObject * PyString_InternFromString(const char *);
extern __attribute__((dllimport)) void _Py_ReleaseInternedStrings(void);
# 89 "c:/python22/include/stringobject.h"
extern __attribute__((dllimport)) PyObject * _PyString_Join(PyObject *sep, PyObject *x);






extern __attribute__((dllimport)) PyObject* PyString_Decode(
    const char *s,
    int size,
    const char *encoding,
    const char *errors
    );




extern __attribute__((dllimport)) PyObject* PyString_Encode(
    const char *s,
    int size,
    const char *encoding,
    const char *errors
    );




extern __attribute__((dllimport)) PyObject* PyString_AsEncodedObject(
    PyObject *str,
    const char *encoding,
    const char *errors
    );
# 130 "c:/python22/include/stringobject.h"
extern __attribute__((dllimport)) PyObject* PyString_AsEncodedString(
    PyObject *str,
    const char *encoding,
    const char *errors
    );




extern __attribute__((dllimport)) PyObject* PyString_AsDecodedObject(
    PyObject *str,
    const char *encoding,
    const char *errors
    );
# 153 "c:/python22/include/stringobject.h"
extern __attribute__((dllimport)) PyObject* PyString_AsDecodedString(
    PyObject *str,
    const char *encoding,
    const char *errors
    );







extern __attribute__((dllimport)) int PyString_AsStringAndSize(
    register PyObject *obj,
    register char **s,
    register int *len


    );
# 80 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/bufferobject.h" 1
# 13 "c:/python22/include/bufferobject.h"
extern __attribute__((dllimport)) PyTypeObject PyBuffer_Type;





extern __attribute__((dllimport)) PyObject * PyBuffer_FromObject(PyObject *base,
                                                 int offset, int size);
extern __attribute__((dllimport)) PyObject * PyBuffer_FromReadWriteObject(PyObject *base,
                                                          int offset,
                                                          int size);

extern __attribute__((dllimport)) PyObject * PyBuffer_FromMemory(void *ptr, int size);
extern __attribute__((dllimport)) PyObject * PyBuffer_FromReadWriteMemory(void *ptr, int size);

extern __attribute__((dllimport)) PyObject * PyBuffer_New(int size);
# 81 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/tupleobject.h" 1
# 22 "c:/python22/include/tupleobject.h"
typedef struct {
    int ob_refcnt; struct _typeobject *ob_type; int ob_size;
    PyObject *ob_item[1];
} PyTupleObject;

extern __attribute__((dllimport)) PyTypeObject PyTuple_Type;




extern __attribute__((dllimport)) PyObject * PyTuple_New(int size);
extern __attribute__((dllimport)) int PyTuple_Size(PyObject *);
extern __attribute__((dllimport)) PyObject * PyTuple_GetItem(PyObject *, int);
extern __attribute__((dllimport)) int PyTuple_SetItem(PyObject *, int, PyObject *);
extern __attribute__((dllimport)) PyObject * PyTuple_GetSlice(PyObject *, int, int);
extern __attribute__((dllimport)) int _PyTuple_Resize(PyObject **, int);
# 82 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/listobject.h" 1
# 22 "c:/python22/include/listobject.h"
typedef struct {
    int ob_refcnt; struct _typeobject *ob_type; int ob_size;
    PyObject **ob_item;
} PyListObject;

extern __attribute__((dllimport)) PyTypeObject PyList_Type;




extern __attribute__((dllimport)) PyObject * PyList_New(int size);
extern __attribute__((dllimport)) int PyList_Size(PyObject *);
extern __attribute__((dllimport)) PyObject * PyList_GetItem(PyObject *, int);
extern __attribute__((dllimport)) int PyList_SetItem(PyObject *, int, PyObject *);
extern __attribute__((dllimport)) int PyList_Insert(PyObject *, int, PyObject *);
extern __attribute__((dllimport)) int PyList_Append(PyObject *, PyObject *);
extern __attribute__((dllimport)) PyObject * PyList_GetSlice(PyObject *, int, int);
extern __attribute__((dllimport)) int PyList_SetSlice(PyObject *, int, int, PyObject *);
extern __attribute__((dllimport)) int PyList_Sort(PyObject *);
extern __attribute__((dllimport)) int PyList_Reverse(PyObject *);
extern __attribute__((dllimport)) PyObject * PyList_AsTuple(PyObject *);
# 83 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/dictobject.h" 1
# 44 "c:/python22/include/dictobject.h"
typedef struct {
        long me_hash;
        PyObject *me_key;
        PyObject *me_value;



} PyDictEntry;
# 62 "c:/python22/include/dictobject.h"
typedef struct _dictobject PyDictObject;
struct _dictobject {
        int ob_refcnt; struct _typeobject *ob_type;
        int ma_fill;
        int ma_used;





        int ma_mask;






        PyDictEntry *ma_table;
        PyDictEntry *(*ma_lookup)(PyDictObject *mp, PyObject *key, long hash);
        PyDictEntry ma_smalltable[8];
};

extern __attribute__((dllimport)) PyTypeObject PyDict_Type;



extern __attribute__((dllimport)) PyObject * PyDict_New(void);
extern __attribute__((dllimport)) PyObject * PyDict_GetItem(PyObject *mp, PyObject *key);
extern __attribute__((dllimport)) int PyDict_SetItem(PyObject *mp, PyObject *key, PyObject *item);
extern __attribute__((dllimport)) int PyDict_DelItem(PyObject *mp, PyObject *key);
extern __attribute__((dllimport)) void PyDict_Clear(PyObject *mp);
extern __attribute__((dllimport)) int PyDict_Next
        (PyObject *mp, int *pos, PyObject **key, PyObject **value);
extern __attribute__((dllimport)) PyObject * PyDict_Keys(PyObject *mp);
extern __attribute__((dllimport)) PyObject * PyDict_Values(PyObject *mp);
extern __attribute__((dllimport)) PyObject * PyDict_Items(PyObject *mp);
extern __attribute__((dllimport)) int PyDict_Size(PyObject *mp);
extern __attribute__((dllimport)) PyObject * PyDict_Copy(PyObject *mp);


extern __attribute__((dllimport)) int PyDict_Update(PyObject *mp, PyObject *other);






extern __attribute__((dllimport)) int PyDict_Merge(PyObject *mp,
                                   PyObject *other,
                                   int override);






extern __attribute__((dllimport)) int PyDict_MergeFromSeq2(PyObject *d,
                                           PyObject *seq2,
                                           int override);

extern __attribute__((dllimport)) PyObject * PyDict_GetItemString(PyObject *dp, char *key);
extern __attribute__((dllimport)) int PyDict_SetItemString(PyObject *dp, char *key, PyObject *item);
extern __attribute__((dllimport)) int PyDict_DelItemString(PyObject *dp, char *key);
# 84 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/methodobject.h" 1
# 10 "c:/python22/include/methodobject.h"
extern __attribute__((dllimport)) PyTypeObject PyCFunction_Type;



typedef PyObject *(*PyCFunction)(PyObject *, PyObject *);
typedef PyObject *(*PyCFunctionWithKeywords)(PyObject *, PyObject *,
                                             PyObject *);
typedef PyObject *(*PyNoArgsFunction)(PyObject *);

extern __attribute__((dllimport)) PyCFunction PyCFunction_GetFunction(PyObject *);
extern __attribute__((dllimport)) PyObject * PyCFunction_GetSelf(PyObject *);
extern __attribute__((dllimport)) int PyCFunction_GetFlags(PyObject *);
# 31 "c:/python22/include/methodobject.h"
extern __attribute__((dllimport)) PyObject * PyCFunction_Call(PyObject *, PyObject *, PyObject *);

struct PyMethodDef {
    char *ml_name;
    PyCFunction ml_meth;
    int ml_flags;
    char *ml_doc;
};
typedef struct PyMethodDef PyMethodDef;

extern __attribute__((dllimport)) PyObject * Py_FindMethod(PyMethodDef[], PyObject *, char *);

extern __attribute__((dllimport)) PyObject * PyCFunction_New(PyMethodDef *, PyObject *);
# 53 "c:/python22/include/methodobject.h"
typedef struct PyMethodChain {
    PyMethodDef *methods;
    struct PyMethodChain *link;
} PyMethodChain;

extern __attribute__((dllimport)) PyObject * Py_FindMethodInChain(PyMethodChain *, PyObject *,
                                                  char *);

typedef struct {
    int ob_refcnt; struct _typeobject *ob_type;
    PyMethodDef *m_ml;
    PyObject *m_self;
} PyCFunctionObject;
# 85 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/moduleobject.h" 1
# 10 "c:/python22/include/moduleobject.h"
extern __attribute__((dllimport)) PyTypeObject PyModule_Type;




extern __attribute__((dllimport)) PyObject * PyModule_New(char *);
extern __attribute__((dllimport)) PyObject * PyModule_GetDict(PyObject *);
extern __attribute__((dllimport)) char * PyModule_GetName(PyObject *);
extern __attribute__((dllimport)) char * PyModule_GetFilename(PyObject *);
extern __attribute__((dllimport)) void _PyModule_Clear(PyObject *);
# 86 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/funcobject.h" 1
# 10 "c:/python22/include/funcobject.h"
typedef struct {
    int ob_refcnt; struct _typeobject *ob_type;
    PyObject *func_code;
    PyObject *func_globals;
    PyObject *func_defaults;
    PyObject *func_closure;
    PyObject *func_doc;
    PyObject *func_name;
    PyObject *func_dict;
    PyObject *func_weakreflist;
} PyFunctionObject;

extern __attribute__((dllimport)) PyTypeObject PyFunction_Type;



extern __attribute__((dllimport)) PyObject * PyFunction_New(PyObject *, PyObject *);
extern __attribute__((dllimport)) PyObject * PyFunction_GetCode(PyObject *);
extern __attribute__((dllimport)) PyObject * PyFunction_GetGlobals(PyObject *);
extern __attribute__((dllimport)) PyObject * PyFunction_GetDefaults(PyObject *);
extern __attribute__((dllimport)) int PyFunction_SetDefaults(PyObject *, PyObject *);
extern __attribute__((dllimport)) PyObject * PyFunction_GetClosure(PyObject *);
extern __attribute__((dllimport)) int PyFunction_SetClosure(PyObject *, PyObject *);
# 46 "c:/python22/include/funcobject.h"
extern __attribute__((dllimport)) PyTypeObject PyClassMethod_Type;
extern __attribute__((dllimport)) PyTypeObject PyStaticMethod_Type;

extern __attribute__((dllimport)) PyObject * PyClassMethod_New(PyObject *);
extern __attribute__((dllimport)) PyObject * PyStaticMethod_New(PyObject *);
# 87 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/classobject.h" 1
# 12 "c:/python22/include/classobject.h"
typedef struct {
    int ob_refcnt; struct _typeobject *ob_type;
    PyObject *cl_bases;
    PyObject *cl_dict;
    PyObject *cl_name;

    PyObject *cl_getattr;
    PyObject *cl_setattr;
    PyObject *cl_delattr;
} PyClassObject;

typedef struct {
    int ob_refcnt; struct _typeobject *ob_type;
    PyClassObject *in_class;
    PyObject *in_dict;
    PyObject *in_weakreflist;
} PyInstanceObject;

typedef struct {
    int ob_refcnt; struct _typeobject *ob_type;
    PyObject *im_func;
    PyObject *im_self;
    PyObject *im_class;
    PyObject *im_weakreflist;
} PyMethodObject;

extern __attribute__((dllimport)) PyTypeObject PyClass_Type, PyInstance_Type, PyMethod_Type;





extern __attribute__((dllimport)) PyObject * PyClass_New(PyObject *, PyObject *, PyObject *);
extern __attribute__((dllimport)) PyObject * PyInstance_New(PyObject *, PyObject *,
                                            PyObject *);
extern __attribute__((dllimport)) PyObject * PyInstance_NewRaw(PyObject *, PyObject *);
extern __attribute__((dllimport)) PyObject * PyMethod_New(PyObject *, PyObject *, PyObject *);

extern __attribute__((dllimport)) PyObject * PyMethod_Function(PyObject *);
extern __attribute__((dllimport)) PyObject * PyMethod_Self(PyObject *);
extern __attribute__((dllimport)) PyObject * PyMethod_Class(PyObject *);
# 63 "c:/python22/include/classobject.h"
extern __attribute__((dllimport)) int PyClass_IsSubclass(PyObject *, PyObject *);
# 88 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/fileobject.h" 1
# 10 "c:/python22/include/fileobject.h"
extern __attribute__((dllimport)) PyTypeObject PyFile_Type;




extern __attribute__((dllimport)) PyObject * PyFile_FromString(char *, char *);
extern __attribute__((dllimport)) void PyFile_SetBufSize(PyObject *, int);
extern __attribute__((dllimport)) PyObject * PyFile_FromFile(FILE *, char *, char *,
                                             int (*)(FILE *));
extern __attribute__((dllimport)) FILE * PyFile_AsFile(PyObject *);
extern __attribute__((dllimport)) PyObject * PyFile_Name(PyObject *);
extern __attribute__((dllimport)) PyObject * PyFile_GetLine(PyObject *, int);
extern __attribute__((dllimport)) int PyFile_WriteObject(PyObject *, PyObject *, int);
extern __attribute__((dllimport)) int PyFile_SoftSpace(PyObject *, int);
extern __attribute__((dllimport)) int PyFile_WriteString(const char *, PyObject *);
extern __attribute__((dllimport)) int PyObject_AsFileDescriptor(PyObject *);




extern __attribute__((dllimport)) const char * Py_FileSystemDefaultEncoding;
# 89 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/cobject.h" 1
# 17 "c:/python22/include/cobject.h"
extern __attribute__((dllimport)) PyTypeObject PyCObject_Type;
# 27 "c:/python22/include/cobject.h"
extern __attribute__((dllimport)) PyObject *
PyCObject_FromVoidPtr(void *cobj, void (*destruct)(void*));







extern __attribute__((dllimport)) PyObject *
PyCObject_FromVoidPtrAndDesc(void *cobj, void *desc,
                             void (*destruct)(void*,void*));


extern __attribute__((dllimport)) void *
PyCObject_AsVoidPtr(PyObject *);


extern __attribute__((dllimport)) void *
PyCObject_GetDesc(PyObject *);


extern __attribute__((dllimport)) void *
PyCObject_Import(char *module_name, char *cobject_name);
# 90 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/traceback.h" 1
# 10 "c:/python22/include/traceback.h"
struct _frame;

__attribute__((dllimport)) int PyTraceBack_Here(struct _frame *);
__attribute__((dllimport)) int PyTraceBack_Print(PyObject *, PyObject *);


extern __attribute__((dllimport)) PyTypeObject PyTraceBack_Type;
# 91 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/sliceobject.h" 1
# 9 "c:/python22/include/sliceobject.h"
extern __attribute__((dllimport)) PyObject _Py_EllipsisObject;
# 22 "c:/python22/include/sliceobject.h"
typedef struct {
    int ob_refcnt; struct _typeobject *ob_type;
    PyObject *start, *stop, *step;
} PySliceObject;

extern __attribute__((dllimport)) PyTypeObject PySlice_Type;



__attribute__((dllimport)) PyObject * PySlice_New(PyObject* start, PyObject* stop,
                                  PyObject* step);
__attribute__((dllimport)) int PySlice_GetIndices(PySliceObject *r, int length,
                                  int *start, int *stop, int *step);
# 92 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/cellobject.h" 1
# 9 "c:/python22/include/cellobject.h"
typedef struct {
        int ob_refcnt; struct _typeobject *ob_type;
        PyObject *ob_ref;
} PyCellObject;

extern __attribute__((dllimport)) PyTypeObject PyCell_Type;



extern __attribute__((dllimport)) PyObject * PyCell_New(PyObject *);
extern __attribute__((dllimport)) PyObject * PyCell_Get(PyObject *);
extern __attribute__((dllimport)) int PyCell_Set(PyObject *, PyObject *);
# 93 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/iterobject.h" 1







extern __attribute__((dllimport)) PyTypeObject PySeqIter_Type;



extern __attribute__((dllimport)) PyObject * PySeqIter_New(PyObject *);

extern __attribute__((dllimport)) PyTypeObject PyCallIter_Type;



extern __attribute__((dllimport)) PyObject * PyCallIter_New(PyObject *, PyObject *);
# 94 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/descrobject.h" 1







typedef PyObject *(*getter)(PyObject *, void *);
typedef int (*setter)(PyObject *, PyObject *, void *);

typedef struct PyGetSetDef {
        char *name;
        getter get;
        setter set;
        char *doc;
        void *closure;
} PyGetSetDef;

typedef PyObject *(*wrapperfunc)(PyObject *self, PyObject *args,
                                 void *wrapped);

typedef PyObject *(*wrapperfunc_kwds)(PyObject *self, PyObject *args,
                                      void *wrapped, PyObject *kwds);

struct wrapperbase {
        char *name;
        int offset;
        void *function;
        wrapperfunc wrapper;
        char *doc;
        int flags;
        PyObject *name_strobj;
};
# 45 "c:/python22/include/descrobject.h"
typedef struct {
        int ob_refcnt; struct _typeobject *ob_type; PyTypeObject *d_type; PyObject *d_name;
} PyDescrObject;

typedef struct {
        int ob_refcnt; struct _typeobject *ob_type; PyTypeObject *d_type; PyObject *d_name;
        PyMethodDef *d_method;
} PyMethodDescrObject;

typedef struct {
        int ob_refcnt; struct _typeobject *ob_type; PyTypeObject *d_type; PyObject *d_name;
        struct PyMemberDef *d_member;
} PyMemberDescrObject;

typedef struct {
        int ob_refcnt; struct _typeobject *ob_type; PyTypeObject *d_type; PyObject *d_name;
        PyGetSetDef *d_getset;
} PyGetSetDescrObject;

typedef struct {
        int ob_refcnt; struct _typeobject *ob_type; PyTypeObject *d_type; PyObject *d_name;
        struct wrapperbase *d_base;
        void *d_wrapped;
} PyWrapperDescrObject;

extern __attribute__((dllimport)) PyTypeObject PyWrapperDescr_Type;

extern __attribute__((dllimport)) PyObject * PyDescr_NewMethod(PyTypeObject *, PyMethodDef *);
extern __attribute__((dllimport)) PyObject * PyDescr_NewMember(PyTypeObject *,
                                               struct PyMemberDef *);
extern __attribute__((dllimport)) PyObject * PyDescr_NewGetSet(PyTypeObject *,
                                               struct PyGetSetDef *);
extern __attribute__((dllimport)) PyObject * PyDescr_NewWrapper(PyTypeObject *,
                                                struct wrapperbase *, void *);
extern __attribute__((dllimport)) int PyDescr_IsData(PyObject *);

extern __attribute__((dllimport)) PyObject * PyDictProxy_New(PyObject *);
extern __attribute__((dllimport)) PyObject * PyWrapper_New(PyObject *, PyObject *);


extern __attribute__((dllimport)) PyTypeObject PyProperty_Type;
# 95 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/weakrefobject.h" 1
# 10 "c:/python22/include/weakrefobject.h"
typedef struct _PyWeakReference PyWeakReference;

struct _PyWeakReference {
    int ob_refcnt; struct _typeobject *ob_type;
    PyObject *wr_object;
    PyObject *wr_callback;
    long hash;
    PyWeakReference *wr_prev;
    PyWeakReference *wr_next;
};

extern __attribute__((dllimport)) PyTypeObject _PyWeakref_RefType;
extern __attribute__((dllimport)) PyTypeObject _PyWeakref_ProxyType;
extern __attribute__((dllimport)) PyTypeObject _PyWeakref_CallableProxyType;
# 34 "c:/python22/include/weakrefobject.h"
extern __attribute__((dllimport)) PyObject * PyWeakref_NewRef(PyObject *ob,
                                              PyObject *callback);
extern __attribute__((dllimport)) PyObject * PyWeakref_NewProxy(PyObject *ob,
                                                PyObject *callback);
extern __attribute__((dllimport)) PyObject * PyWeakref_GetObject(PyObject *ref);

extern __attribute__((dllimport)) long _PyWeakref_GetWeakrefCount(PyWeakReference *head);
# 96 "c:/python22/include/Python.h" 2

# 1 "c:/python22/include/codecs.h" 1
# 26 "c:/python22/include/codecs.h"
extern __attribute__((dllimport)) int PyCodec_Register(
       PyObject *search_function
       );
# 48 "c:/python22/include/codecs.h"
extern __attribute__((dllimport)) PyObject * _PyCodec_Lookup(
       const char *encoding
       );
# 62 "c:/python22/include/codecs.h"
extern __attribute__((dllimport)) PyObject * PyCodec_Encode(
       PyObject *object,
       const char *encoding,
       const char *errors
       );
# 78 "c:/python22/include/codecs.h"
extern __attribute__((dllimport)) PyObject * PyCodec_Decode(
       PyObject *object,
       const char *encoding,
       const char *errors
       );
# 94 "c:/python22/include/codecs.h"
extern __attribute__((dllimport)) PyObject * PyCodec_Encoder(
       const char *encoding
       );



extern __attribute__((dllimport)) PyObject * PyCodec_Decoder(
       const char *encoding
       );



extern __attribute__((dllimport)) PyObject * PyCodec_StreamReader(
       const char *encoding,
       PyObject *stream,
       const char *errors
       );



extern __attribute__((dllimport)) PyObject * PyCodec_StreamWriter(
       const char *encoding,
       PyObject *stream,
       const char *errors
       );
# 98 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/pyerrors.h" 1
# 10 "c:/python22/include/pyerrors.h"
__attribute__((dllimport)) void PyErr_SetNone(PyObject *);
__attribute__((dllimport)) void PyErr_SetObject(PyObject *, PyObject *);
__attribute__((dllimport)) void PyErr_SetString(PyObject *, const char *);
__attribute__((dllimport)) PyObject * PyErr_Occurred(void);
__attribute__((dllimport)) void PyErr_Clear(void);
__attribute__((dllimport)) void PyErr_Fetch(PyObject **, PyObject **, PyObject **);
__attribute__((dllimport)) void PyErr_Restore(PyObject *, PyObject *, PyObject *);


__attribute__((dllimport)) int PyErr_GivenExceptionMatches(PyObject *, PyObject *);
__attribute__((dllimport)) int PyErr_ExceptionMatches(PyObject *);
__attribute__((dllimport)) void PyErr_NormalizeException(PyObject**, PyObject**, PyObject**);




extern __attribute__((dllimport)) PyObject * PyExc_Exception;
extern __attribute__((dllimport)) PyObject * PyExc_StopIteration;
extern __attribute__((dllimport)) PyObject * PyExc_StandardError;
extern __attribute__((dllimport)) PyObject * PyExc_ArithmeticError;
extern __attribute__((dllimport)) PyObject * PyExc_LookupError;

extern __attribute__((dllimport)) PyObject * PyExc_AssertionError;
extern __attribute__((dllimport)) PyObject * PyExc_AttributeError;
extern __attribute__((dllimport)) PyObject * PyExc_EOFError;
extern __attribute__((dllimport)) PyObject * PyExc_FloatingPointError;
extern __attribute__((dllimport)) PyObject * PyExc_EnvironmentError;
extern __attribute__((dllimport)) PyObject * PyExc_IOError;
extern __attribute__((dllimport)) PyObject * PyExc_OSError;
extern __attribute__((dllimport)) PyObject * PyExc_ImportError;
extern __attribute__((dllimport)) PyObject * PyExc_IndexError;
extern __attribute__((dllimport)) PyObject * PyExc_KeyError;
extern __attribute__((dllimport)) PyObject * PyExc_KeyboardInterrupt;
extern __attribute__((dllimport)) PyObject * PyExc_MemoryError;
extern __attribute__((dllimport)) PyObject * PyExc_NameError;
extern __attribute__((dllimport)) PyObject * PyExc_OverflowError;
extern __attribute__((dllimport)) PyObject * PyExc_RuntimeError;
extern __attribute__((dllimport)) PyObject * PyExc_NotImplementedError;
extern __attribute__((dllimport)) PyObject * PyExc_SyntaxError;
extern __attribute__((dllimport)) PyObject * PyExc_IndentationError;
extern __attribute__((dllimport)) PyObject * PyExc_TabError;
extern __attribute__((dllimport)) PyObject * PyExc_ReferenceError;
extern __attribute__((dllimport)) PyObject * PyExc_SystemError;
extern __attribute__((dllimport)) PyObject * PyExc_SystemExit;
extern __attribute__((dllimport)) PyObject * PyExc_TypeError;
extern __attribute__((dllimport)) PyObject * PyExc_UnboundLocalError;
extern __attribute__((dllimport)) PyObject * PyExc_UnicodeError;
extern __attribute__((dllimport)) PyObject * PyExc_ValueError;
extern __attribute__((dllimport)) PyObject * PyExc_ZeroDivisionError;

extern __attribute__((dllimport)) PyObject * PyExc_WindowsError;


extern __attribute__((dllimport)) PyObject * PyExc_MemoryErrorInst;


extern __attribute__((dllimport)) PyObject * PyExc_Warning;
extern __attribute__((dllimport)) PyObject * PyExc_UserWarning;
extern __attribute__((dllimport)) PyObject * PyExc_DeprecationWarning;
extern __attribute__((dllimport)) PyObject * PyExc_SyntaxWarning;
extern __attribute__((dllimport)) PyObject * PyExc_OverflowWarning;
extern __attribute__((dllimport)) PyObject * PyExc_RuntimeWarning;




extern __attribute__((dllimport)) int PyErr_BadArgument(void);
extern __attribute__((dllimport)) PyObject * PyErr_NoMemory(void);
extern __attribute__((dllimport)) PyObject * PyErr_SetFromErrno(PyObject *);
extern __attribute__((dllimport)) PyObject * PyErr_SetFromErrnoWithFilename(PyObject *, char *);
extern __attribute__((dllimport)) PyObject * PyErr_Format(PyObject *, const char *, ...)
                        __attribute__((format(printf, 2, 3)));

extern __attribute__((dllimport)) PyObject * PyErr_SetFromWindowsErrWithFilename(int, const char *);
extern __attribute__((dllimport)) PyObject * PyErr_SetFromWindowsErr(int);



extern __attribute__((dllimport)) void PyErr_BadInternalCall(void);
extern __attribute__((dllimport)) void _PyErr_BadInternalCall(char *filename, int lineno);





__attribute__((dllimport)) PyObject * PyErr_NewException(char *name, PyObject *base,
                                         PyObject *dict);
extern __attribute__((dllimport)) void PyErr_WriteUnraisable(PyObject *);


extern __attribute__((dllimport)) int PyErr_Warn(PyObject *, char *);
extern __attribute__((dllimport)) int PyErr_WarnExplicit(PyObject *, char *,
                                         char *, int, char *, PyObject *);


extern __attribute__((dllimport)) int PyErr_CheckSignals(void);
extern __attribute__((dllimport)) void PyErr_SetInterrupt(void);


extern __attribute__((dllimport)) void PyErr_SyntaxLocation(char *, int);
extern __attribute__((dllimport)) PyObject * PyErr_ProgramText(char *, int);
# 126 "c:/python22/include/pyerrors.h"
# 1 "c:/MinGW/include/stdarg.h" 1 3
# 127 "c:/python22/include/pyerrors.h" 2
extern __attribute__((dllimport)) int PyOS_snprintf(char *str, size_t size, const char *format, ...)
                        __attribute__((format(printf, 3, 4)));
extern __attribute__((dllimport)) int PyOS_vsnprintf(char *str, size_t size, const char *format, va_list va)
                        __attribute__((format(printf, 3, 0)));
# 99 "c:/python22/include/Python.h" 2

# 1 "c:/python22/include/pystate.h" 1
# 13 "c:/python22/include/pystate.h"
struct _ts;
struct _is;

typedef struct _is {

    struct _is *next;
    struct _ts *tstate_head;

    PyObject *modules;
    PyObject *sysdict;
    PyObject *builtins;

    int checkinterval;




} PyInterpreterState;




struct _frame;


typedef int (*Py_tracefunc)(PyObject *, struct _frame *, int, PyObject *);







typedef struct _ts {

    struct _ts *next;
    PyInterpreterState *interp;

    struct _frame *frame;
    int recursion_depth;
    int ticker;
    int tracing;
    int use_tracing;

    Py_tracefunc c_profilefunc;
    Py_tracefunc c_tracefunc;
    PyObject *c_profileobj;
    PyObject *c_traceobj;

    PyObject *curexc_type;
    PyObject *curexc_value;
    PyObject *curexc_traceback;

    PyObject *exc_type;
    PyObject *exc_value;
    PyObject *exc_traceback;

    PyObject *dict;

    int tick_counter;



} PyThreadState;


__attribute__((dllimport)) PyInterpreterState * PyInterpreterState_New(void);
__attribute__((dllimport)) void PyInterpreterState_Clear(PyInterpreterState *);
__attribute__((dllimport)) void PyInterpreterState_Delete(PyInterpreterState *);

__attribute__((dllimport)) PyThreadState * PyThreadState_New(PyInterpreterState *);
__attribute__((dllimport)) void PyThreadState_Clear(PyThreadState *);
__attribute__((dllimport)) void PyThreadState_Delete(PyThreadState *);

__attribute__((dllimport)) void PyThreadState_DeleteCurrent(void);


__attribute__((dllimport)) PyThreadState * PyThreadState_Get(void);
__attribute__((dllimport)) PyThreadState * PyThreadState_Swap(PyThreadState *);
__attribute__((dllimport)) PyObject * PyThreadState_GetDict(void);




extern __attribute__((dllimport)) PyThreadState * _PyThreadState_Current;
# 107 "c:/python22/include/pystate.h"
__attribute__((dllimport)) PyInterpreterState * PyInterpreterState_Head(void);
__attribute__((dllimport)) PyInterpreterState * PyInterpreterState_Next(PyInterpreterState *);
__attribute__((dllimport)) PyThreadState * PyInterpreterState_ThreadHead(PyInterpreterState *);
__attribute__((dllimport)) PyThreadState * PyThreadState_Next(PyThreadState *);


extern __attribute__((dllimport)) unaryfunc _PyThreadState_GetFrame;
# 101 "c:/python22/include/Python.h" 2

# 1 "c:/python22/include/modsupport.h" 1
# 10 "c:/python22/include/modsupport.h"
# 1 "c:/MinGW/include/stdarg.h" 1 3
# 11 "c:/python22/include/modsupport.h" 2

extern __attribute__((dllimport)) int PyArg_Parse(PyObject *, char *, ...);
extern __attribute__((dllimport)) int PyArg_ParseTuple(PyObject *, char *, ...);
extern __attribute__((dllimport)) int PyArg_ParseTupleAndKeywords(PyObject *, PyObject *,
                                                  char *, char **, ...);
extern __attribute__((dllimport)) int PyArg_UnpackTuple(PyObject *, char *, int, int, ...);
extern __attribute__((dllimport)) PyObject * Py_BuildValue(char *, ...);

extern __attribute__((dllimport)) int PyArg_VaParse(PyObject *, char *, va_list);
extern __attribute__((dllimport)) PyObject * Py_VaBuildValue(char *, va_list);

extern __attribute__((dllimport)) int PyModule_AddObject(PyObject *, char *, PyObject *);
extern __attribute__((dllimport)) int PyModule_AddIntConstant(PyObject *, char *, long);
extern __attribute__((dllimport)) int PyModule_AddStringConstant(PyObject *, char *, char *);
# 81 "c:/python22/include/modsupport.h"
extern __attribute__((dllimport)) PyObject * Py_InitModule4(char *name, PyMethodDef *methods,
                                            char *doc, PyObject *self,
                                            int apiver);
# 93 "c:/python22/include/modsupport.h"
extern __attribute__((dllimport)) char * _Py_PackageContext;
# 103 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/pythonrun.h" 1
# 13 "c:/python22/include/pythonrun.h"
typedef struct {
        int cf_flags;
} PyCompilerFlags;

__attribute__((dllimport)) void Py_SetProgramName(char *);
__attribute__((dllimport)) char * Py_GetProgramName(void);

__attribute__((dllimport)) void Py_SetPythonHome(char *);
__attribute__((dllimport)) char * Py_GetPythonHome(void);

__attribute__((dllimport)) void Py_Initialize(void);
__attribute__((dllimport)) void Py_Finalize(void);
__attribute__((dllimport)) int Py_IsInitialized(void);
__attribute__((dllimport)) PyThreadState * Py_NewInterpreter(void);
__attribute__((dllimport)) void Py_EndInterpreter(PyThreadState *);

__attribute__((dllimport)) int PyRun_AnyFile(FILE *, char *);
__attribute__((dllimport)) int PyRun_AnyFileEx(FILE *, char *, int);

__attribute__((dllimport)) int PyRun_AnyFileFlags(FILE *, char *, PyCompilerFlags *);
__attribute__((dllimport)) int PyRun_AnyFileExFlags(FILE *, char *, int, PyCompilerFlags *);

__attribute__((dllimport)) int PyRun_SimpleString(char *);
__attribute__((dllimport)) int PyRun_SimpleStringFlags(char *, PyCompilerFlags *);
__attribute__((dllimport)) int PyRun_SimpleFile(FILE *, char *);
__attribute__((dllimport)) int PyRun_SimpleFileEx(FILE *, char *, int);
__attribute__((dllimport)) int PyRun_SimpleFileExFlags(FILE *, char *, int, PyCompilerFlags *);
__attribute__((dllimport)) int PyRun_InteractiveOne(FILE *, char *);
__attribute__((dllimport)) int PyRun_InteractiveOneFlags(FILE *, char *, PyCompilerFlags *);
__attribute__((dllimport)) int PyRun_InteractiveLoop(FILE *, char *);
__attribute__((dllimport)) int PyRun_InteractiveLoopFlags(FILE *, char *, PyCompilerFlags *);

__attribute__((dllimport)) struct _node * PyParser_SimpleParseString(char *, int);
__attribute__((dllimport)) struct _node * PyParser_SimpleParseFile(FILE *, char *, int);
__attribute__((dllimport)) struct _node * PyParser_SimpleParseStringFlags(char *, int, int);
__attribute__((dllimport)) struct _node * PyParser_SimpleParseFileFlags(FILE *, char *,
                                                        int, int);

__attribute__((dllimport)) PyObject * PyRun_String(char *, int, PyObject *, PyObject *);
__attribute__((dllimport)) PyObject * PyRun_File(FILE *, char *, int, PyObject *, PyObject *);
__attribute__((dllimport)) PyObject * PyRun_FileEx(FILE *, char *, int,
                                   PyObject *, PyObject *, int);
__attribute__((dllimport)) PyObject * PyRun_StringFlags(char *, int, PyObject *, PyObject *,
                                        PyCompilerFlags *);
__attribute__((dllimport)) PyObject * PyRun_FileFlags(FILE *, char *, int, PyObject *,
                                      PyObject *, PyCompilerFlags *);
__attribute__((dllimport)) PyObject * PyRun_FileExFlags(FILE *, char *, int, PyObject *,
                                        PyObject *, int, PyCompilerFlags *);

__attribute__((dllimport)) PyObject * Py_CompileString(char *, char *, int);
__attribute__((dllimport)) PyObject * Py_CompileStringFlags(char *, char *, int,
                                            PyCompilerFlags *);
__attribute__((dllimport)) struct symtable * Py_SymtableString(char *, char *, int);

__attribute__((dllimport)) void PyErr_Print(void);
__attribute__((dllimport)) void PyErr_PrintEx(int);
__attribute__((dllimport)) void PyErr_Display(PyObject *, PyObject *, PyObject *);

__attribute__((dllimport)) int Py_AtExit(void (*func)(void));

__attribute__((dllimport)) void Py_Exit(int);

__attribute__((dllimport)) int Py_FdIsInteractive(FILE *, char *);


__attribute__((dllimport)) char * Py_GetProgramFullPath(void);
__attribute__((dllimport)) char * Py_GetPrefix(void);
__attribute__((dllimport)) char * Py_GetExecPrefix(void);
__attribute__((dllimport)) char * Py_GetPath(void);


__attribute__((dllimport)) const char * Py_GetVersion(void);
__attribute__((dllimport)) const char * Py_GetPlatform(void);
__attribute__((dllimport)) const char * Py_GetCopyright(void);
__attribute__((dllimport)) const char * Py_GetCompiler(void);
__attribute__((dllimport)) const char * Py_GetBuildInfo(void);


__attribute__((dllimport)) PyObject * _PyBuiltin_Init(void);
__attribute__((dllimport)) PyObject * _PySys_Init(void);
__attribute__((dllimport)) void _PyImport_Init(void);
__attribute__((dllimport)) void _PyExc_Init(void);


__attribute__((dllimport)) void _PyExc_Fini(void);
__attribute__((dllimport)) void _PyImport_Fini(void);
__attribute__((dllimport)) void PyMethod_Fini(void);
__attribute__((dllimport)) void PyFrame_Fini(void);
__attribute__((dllimport)) void PyCFunction_Fini(void);
__attribute__((dllimport)) void PyTuple_Fini(void);
__attribute__((dllimport)) void PyString_Fini(void);
__attribute__((dllimport)) void PyInt_Fini(void);
__attribute__((dllimport)) void PyFloat_Fini(void);
__attribute__((dllimport)) void PyOS_FiniInterrupts(void);


__attribute__((dllimport)) char * PyOS_Readline(char *);
extern __attribute__((dllimport)) int (*PyOS_InputHook)(void);
extern __attribute__((dllimport)) char *(*PyOS_ReadlineFunctionPointer)(char *);
# 129 "c:/python22/include/pythonrun.h"
typedef void (*PyOS_sighandler_t)(int);
__attribute__((dllimport)) PyOS_sighandler_t PyOS_getsig(int);
__attribute__((dllimport)) PyOS_sighandler_t PyOS_setsig(int, PyOS_sighandler_t);
# 104 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/ceval.h" 1
# 10 "c:/python22/include/ceval.h"
__attribute__((dllimport)) PyObject * PyEval_CallObjectWithKeywords
        (PyObject *, PyObject *, PyObject *);



__attribute__((dllimport)) PyObject * PyEval_CallObject(PyObject *, PyObject *);





__attribute__((dllimport)) PyObject * PyEval_CallFunction(PyObject *obj, char *format, ...);
__attribute__((dllimport)) PyObject * PyEval_CallMethod(PyObject *obj,
                                        char *methodname, char *format, ...);

__attribute__((dllimport)) void PyEval_SetProfile(Py_tracefunc, PyObject *);
__attribute__((dllimport)) void PyEval_SetTrace(Py_tracefunc, PyObject *);

__attribute__((dllimport)) PyObject * PyEval_GetBuiltins(void);
__attribute__((dllimport)) PyObject * PyEval_GetGlobals(void);
__attribute__((dllimport)) PyObject * PyEval_GetLocals(void);
__attribute__((dllimport)) PyObject * PyEval_GetOwner(void);
__attribute__((dllimport)) PyObject * PyEval_GetFrame(void);
__attribute__((dllimport)) int PyEval_GetRestricted(void);




__attribute__((dllimport)) int PyEval_MergeCompilerFlags(PyCompilerFlags *cf);

__attribute__((dllimport)) int Py_FlushLine(void);

__attribute__((dllimport)) int Py_AddPendingCall(int (*func)(void *), void *arg);
__attribute__((dllimport)) int Py_MakePendingCalls(void);

__attribute__((dllimport)) void Py_SetRecursionLimit(int);
__attribute__((dllimport)) int Py_GetRecursionLimit(void);

__attribute__((dllimport)) char * PyEval_GetFuncName(PyObject *);
__attribute__((dllimport)) char * PyEval_GetFuncDesc(PyObject *);
# 96 "c:/python22/include/ceval.h"
extern __attribute__((dllimport)) PyThreadState * PyEval_SaveThread(void);
extern __attribute__((dllimport)) void PyEval_RestoreThread(PyThreadState *);



extern __attribute__((dllimport)) void PyEval_InitThreads(void);
extern __attribute__((dllimport)) void PyEval_AcquireLock(void);
extern __attribute__((dllimport)) void PyEval_ReleaseLock(void);
extern __attribute__((dllimport)) void PyEval_AcquireThread(PyThreadState *tstate);
extern __attribute__((dllimport)) void PyEval_ReleaseThread(PyThreadState *tstate);
extern __attribute__((dllimport)) void PyEval_ReInitThreads(void);
# 125 "c:/python22/include/ceval.h"
extern __attribute__((dllimport)) int _PyEval_SliceIndex(PyObject *, int *);
# 105 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/sysmodule.h" 1
# 10 "c:/python22/include/sysmodule.h"
__attribute__((dllimport)) PyObject * PySys_GetObject(char *);
__attribute__((dllimport)) int PySys_SetObject(char *, PyObject *);
__attribute__((dllimport)) FILE * PySys_GetFile(char *, FILE *);
__attribute__((dllimport)) void PySys_SetArgv(int, char **);
__attribute__((dllimport)) void PySys_SetPath(char *);

__attribute__((dllimport)) void PySys_WriteStdout(const char *format, ...)
                        __attribute__((format(printf, 1, 2)));
__attribute__((dllimport)) void PySys_WriteStderr(const char *format, ...)
                        __attribute__((format(printf, 1, 2)));

extern __attribute__((dllimport)) PyObject * _PySys_TraceFunc, *_PySys_ProfileFunc;
extern __attribute__((dllimport)) int _PySys_CheckInterval;

__attribute__((dllimport)) void PySys_ResetWarnOptions(void);
__attribute__((dllimport)) void PySys_AddWarnOption(char *);
# 106 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/intrcheck.h" 1







extern __attribute__((dllimport)) int PyOS_InterruptOccurred(void);
extern __attribute__((dllimport)) void PyOS_InitInterrupts(void);
__attribute__((dllimport)) void PyOS_AfterFork(void);
# 107 "c:/python22/include/Python.h" 2
# 1 "c:/python22/include/import.h" 1
# 10 "c:/python22/include/import.h"
__attribute__((dllimport)) long PyImport_GetMagicNumber(void);
__attribute__((dllimport)) PyObject * PyImport_ExecCodeModule(char *name, PyObject *co);
__attribute__((dllimport)) PyObject * PyImport_ExecCodeModuleEx(
        char *name, PyObject *co, char *pathname);
__attribute__((dllimport)) PyObject * PyImport_GetModuleDict(void);
__attribute__((dllimport)) PyObject * PyImport_AddModule(char *name);
__attribute__((dllimport)) PyObject * PyImport_ImportModule(char *name);
__attribute__((dllimport)) PyObject * PyImport_ImportModuleEx(
        char *name, PyObject *globals, PyObject *locals, PyObject *fromlist);
__attribute__((dllimport)) PyObject * PyImport_Import(PyObject *name);
__attribute__((dllimport)) PyObject * PyImport_ReloadModule(PyObject *m);
__attribute__((dllimport)) void PyImport_Cleanup(void);
__attribute__((dllimport)) int PyImport_ImportFrozenModule(char *);

extern __attribute__((dllimport)) PyObject *_PyImport_FindExtension(char *, char *);
extern __attribute__((dllimport)) PyObject *_PyImport_FixupExtension(char *, char *);

struct _inittab {
    char *name;
    void (*initfunc)(void);
};

extern __attribute__((dllimport)) struct _inittab * PyImport_Inittab;

extern __attribute__((dllimport)) int PyImport_AppendInittab(char *name, void (*initfunc)(void));
extern __attribute__((dllimport)) int PyImport_ExtendInittab(struct _inittab *newtab);

struct _frozen {
    char *name;
    unsigned char *code;
    int size;
};




extern __attribute__((dllimport)) struct _frozen * PyImport_FrozenModules;
# 108 "c:/python22/include/Python.h" 2

# 1 "c:/python22/include/abstract.h" 1
# 226 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) int PyObject_Cmp(PyObject *o1, PyObject *o2, int *result);
# 286 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) int PyCallable_Check(PyObject *o);
# 298 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyObject_Call(PyObject *callable_object,
                                         PyObject *args, PyObject *kw);
# 308 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyObject_CallObject(PyObject *callable_object,
                                               PyObject *args);
# 320 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyObject_CallFunction(PyObject *callable_object,
                                                 char *format, ...);
# 334 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyObject_CallMethod(PyObject *o, char *m,
                                               char *format, ...);
# 347 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyObject_CallFunctionObjArgs(PyObject *callable,
                                                        ...);
# 360 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyObject_CallMethodObjArgs(PyObject *o,
                                                      PyObject *m, ...);
# 407 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyObject_Type(PyObject *o);







     __attribute__((dllimport)) int PyObject_Size(PyObject *o);
# 427 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) int PyObject_Length(PyObject *o);



     __attribute__((dllimport)) PyObject * PyObject_GetItem(PyObject *o, PyObject *key);
# 440 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) int PyObject_SetItem(PyObject *o, PyObject *key, PyObject *v);







     __attribute__((dllimport)) int PyObject_DelItemString(PyObject *o, char *key);







     __attribute__((dllimport)) int PyObject_DelItem(PyObject *o, PyObject *key);






     __attribute__((dllimport)) int PyObject_AsCharBuffer(PyObject *obj,
                                          const char **buffer,
                                          int *buffer_len);
# 479 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) int PyObject_CheckReadBuffer(PyObject *obj);
# 488 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) int PyObject_AsReadBuffer(PyObject *obj,
                                          const void **buffer,
                                          int *buffer_len);
# 504 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) int PyObject_AsWriteBuffer(PyObject *obj,
                                           void **buffer,
                                           int *buffer_len);
# 521 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyObject_GetIter(PyObject *);
# 530 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyIter_Next(PyObject *);







     __attribute__((dllimport)) int PyNumber_Check(PyObject *o);
# 548 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_Add(PyObject *o1, PyObject *o2);
# 557 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_Subtract(PyObject *o1, PyObject *o2);
# 566 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_Multiply(PyObject *o1, PyObject *o2);
# 576 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_Divide(PyObject *o1, PyObject *o2);
# 585 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_FloorDivide(PyObject *o1, PyObject *o2);
# 595 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_TrueDivide(PyObject *o1, PyObject *o2);
# 605 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_Remainder(PyObject *o1, PyObject *o2);
# 615 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_Divmod(PyObject *o1, PyObject *o2);
# 625 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_Power(PyObject *o1, PyObject *o2,
                                          PyObject *o3);
# 635 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_Negative(PyObject *o);







     __attribute__((dllimport)) PyObject * PyNumber_Positive(PyObject *o);







     __attribute__((dllimport)) PyObject * PyNumber_Absolute(PyObject *o);







     __attribute__((dllimport)) PyObject * PyNumber_Invert(PyObject *o);
# 669 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_Lshift(PyObject *o1, PyObject *o2);
# 679 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_Rshift(PyObject *o1, PyObject *o2);
# 688 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_And(PyObject *o1, PyObject *o2);
# 698 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_Xor(PyObject *o1, PyObject *o2);
# 708 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_Or(PyObject *o1, PyObject *o2);
# 736 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_Int(PyObject *o);
# 745 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_Long(PyObject *o);
# 754 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_Float(PyObject *o);
# 764 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_InPlaceAdd(PyObject *o1, PyObject *o2);
# 773 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_InPlaceSubtract(PyObject *o1, PyObject *o2);
# 782 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_InPlaceMultiply(PyObject *o1, PyObject *o2);
# 791 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_InPlaceDivide(PyObject *o1, PyObject *o2);
# 800 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_InPlaceFloorDivide(PyObject *o1,
                                                       PyObject *o2);
# 811 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_InPlaceTrueDivide(PyObject *o1,
                                                      PyObject *o2);
# 822 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_InPlaceRemainder(PyObject *o1, PyObject *o2);
# 831 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_InPlacePower(PyObject *o1, PyObject *o2,
                                                 PyObject *o3);
# 841 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_InPlaceLshift(PyObject *o1, PyObject *o2);
# 850 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_InPlaceRshift(PyObject *o1, PyObject *o2);
# 859 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_InPlaceAnd(PyObject *o1, PyObject *o2);
# 868 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_InPlaceXor(PyObject *o1, PyObject *o2);
# 877 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyNumber_InPlaceOr(PyObject *o1, PyObject *o2);
# 889 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) int PySequence_Check(PyObject *o);
# 899 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) int PySequence_Size(PyObject *o);
# 908 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) int PySequence_Length(PyObject *o);



     __attribute__((dllimport)) PyObject * PySequence_Concat(PyObject *o1, PyObject *o2);
# 921 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PySequence_Repeat(PyObject *o, int count);
# 930 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PySequence_GetItem(PyObject *o, int i);






     __attribute__((dllimport)) PyObject * PySequence_GetSlice(PyObject *o, int i1, int i2);
# 946 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) int PySequence_SetItem(PyObject *o, int i, PyObject *v);
# 955 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) int PySequence_DelItem(PyObject *o, int i);







     __attribute__((dllimport)) int PySequence_SetSlice(PyObject *o, int i1, int i2,
                                        PyObject *v);







     __attribute__((dllimport)) int PySequence_DelSlice(PyObject *o, int i1, int i2);







     __attribute__((dllimport)) PyObject * PySequence_Tuple(PyObject *o);







     __attribute__((dllimport)) PyObject * PySequence_List(PyObject *o);





     __attribute__((dllimport)) PyObject * PySequence_Fast(PyObject *o, const char* m);
# 1018 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) int PySequence_Count(PyObject *o, PyObject *value);
# 1027 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) int PySequence_Contains(PyObject *seq, PyObject *ob);
# 1036 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) int _PySequence_IterSearch(PyObject *seq, PyObject *obj,
                    int operation);
# 1051 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) int PySequence_In(PyObject *o, PyObject *value);
# 1062 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) int PySequence_Index(PyObject *o, PyObject *value);
# 1072 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PySequence_InPlaceConcat(PyObject *o1, PyObject *o2);
# 1081 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PySequence_InPlaceRepeat(PyObject *o, int count);
# 1092 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) int PyMapping_Check(PyObject *o);
# 1101 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) int PyMapping_Size(PyObject *o);
# 1111 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) int PyMapping_Length(PyObject *o);
# 1135 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) int PyMapping_HasKeyString(PyObject *o, char *key);
# 1145 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) int PyMapping_HasKey(PyObject *o, PyObject *key);
# 1188 "c:/python22/include/abstract.h"
     __attribute__((dllimport)) PyObject * PyMapping_GetItemString(PyObject *o, char *key);







     __attribute__((dllimport)) int PyMapping_SetItemString(PyObject *o, char *key,
                                            PyObject *value);
# 1206 "c:/python22/include/abstract.h"
__attribute__((dllimport)) int PyObject_IsInstance(PyObject *object, PyObject *typeorclass);


__attribute__((dllimport)) int PyObject_IsSubclass(PyObject *object, PyObject *typeorclass);
# 110 "c:/python22/include/Python.h" 2
# 122 "c:/python22/include/Python.h"
# 1 "c:/python22/include/pyfpe.h" 1
# 123 "c:/python22/include/Python.h" 2
# 38 "fields.c" 2


# 1 "c:/python22/include/structmember.h" 1
# 11 "c:/python22/include/structmember.h"
# 1 "c:/MinGW/include/stddef.h" 1 3





# 1 "c:/MinGW/lib/gcc-lib/mingw32/3.2/include/stddef.h" 1 3
# 7 "c:/MinGW/include/stddef.h" 2 3
# 12 "c:/python22/include/structmember.h" 2
# 30 "c:/python22/include/structmember.h"
struct memberlist {

        char *name;
        int type;
        int offset;
        int flags;
};

typedef struct PyMemberDef {

        char *name;
        int type;
        int offset;
        int flags;
        char *doc;
} PyMemberDef;
# 84 "c:/python22/include/structmember.h"
__attribute__((dllimport)) PyObject * PyMember_Get(char *, struct memberlist *, char *);
__attribute__((dllimport)) int PyMember_Set(char *, struct memberlist *, char *, PyObject *);


__attribute__((dllimport)) PyObject * PyMember_GetOne(char *, struct PyMemberDef *);
__attribute__((dllimport)) int PyMember_SetOne(char *, struct PyMemberDef *, PyObject *);
# 41 "fields.c" 2
# 1 "fields.h" 1
# 44 "fields.h"
extern __attribute__((dllimport)) PyTypeObject PyFields_Type;




extern __attribute__((dllimport)) PyTypeObject PyIFields_Type;
# 42 "fields.c" 2
# 1 "row.h" 1
# 44 "row.h"
extern __attribute__((dllimport)) PyTypeObject PyRow_Type;





extern PyObject* db_row_subscript_wrap(PyObject* row, PyObject* args);
# 43 "fields.c" 2
# 51 "fields.c"
typedef struct {
        PyTypeObject type;
        PyNumberMethods as_number;

        PySequenceMethods as_sequence;
        PyMappingMethods as_mapping;




        PyBufferProcs as_buffer;
        PyObject* name;
        PyObject* slots;
        PyMemberDef members[1];
} etype;

typedef struct {
        int ob_refcnt; struct _typeobject *ob_type;
        PyTypeObject* field_class;
        PyObject* field_descr;
} fieldsobject;


static PyObject* (*lower)(PyObject*) = ((void *)0);


static PyMemberDef fields_members[] = {
        {"__fieldclass__", 6, ((size_t) &((fieldsobject *)0)->field_class), 0, "fields class"},
        {"__fielddescr__", 6, ((size_t) &((fieldsobject *)0)->field_descr), 1, "fields descriptors"},
        {0}
};


static inline PyTypeObject*
getfieldtype(fieldsobject* self)
{
        int i,n;
        PyObject* mro = self->ob_type->tp_mro;
        PyTypeObject* last = ((void *)0);

        if(!mro || !((mro)->ob_type == (&PyTuple_Type) || PyType_IsSubtype((mro)->ob_type, (&PyTuple_Type))))
                return ((void *)0);

        n = (((PyTupleObject *)(mro))->ob_size);

        for (i = 0; i < n; i++)
        {
                PyTypeObject* base = (PyTypeObject*)(((PyTupleObject *)(mro))->ob_item[i]);
                if (base == &PyFields_Type || base == &PyIFields_Type)
                        return last;
                if( ((etype*)base)->slots && (((PyTupleObject *)(((etype*)base)->slots))->ob_size) )
                        last = base;
        }
        return ((void *)0);
}


static inline PyObject*
getslots(fieldsobject* self)
{
        etype* et;
        et = (etype*)self->field_class;
        if(!et || !et->slots || !((et->slots)->ob_type == (&PyTuple_Type) || PyType_IsSubtype((et->slots)->ob_type, (&PyTuple_Type))))
                return ((void *)0);
        return et->slots;
}


static inline PyObject*
buildtuple(fieldsobject* self)
{
        int n;
        int i;
        PyObject* tuple;
        PyObject* slots;

        slots = getslots(self);

        n = slots? (((PyTupleObject *)(slots))->ob_size) : 0;

        tuple = PyTuple_New(n);

        for(i = 0; i < n; ++i)
        {
                PyObject* name = (((PyTupleObject *)(slots))->ob_item[i]);
                PyObject* value = PyObject_GetAttr( (PyObject*)self, name );
                if(!value)
                {
                        value = (&_Py_NoneStruct);
                        ((value)->ob_refcnt++);
                }
                (((PyTupleObject *)(tuple))->ob_item[i] = value);
        }

        return tuple;
}


static inline PyObject*
builddescriptors(fieldsobject* self)
{
        int n;
        int i;
        PyObject* tuple = ((void *)0);
        PyObject* slots;

        if(self->field_class->tp_dict)
                tuple = PyDict_GetItemString(self->field_class->tp_dict, "__fielddescr__");

        if(tuple)
        {
                ((tuple)->ob_refcnt++);
                return tuple;
        }

        slots = getslots(self);

        n = slots? (((PyTupleObject *)(slots))->ob_size) : 0;

        tuple = PyTuple_New(n);

        for(i = 0; i < n; ++i)
        {
                PyObject* name = (((PyTupleObject *)(slots))->ob_item[i]);
                PyObject* value = PyObject_GetAttr( (PyObject*)self->ob_type, name);
                if(!value)
                {
                        if (--(tuple)->ob_refcnt != 0) ; else (*((PyObject *)(tuple))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(tuple)));
                        return ((void *)0);
                }
                (((PyTupleObject *)(tuple))->ob_item[i] = value);
        }

        if(self->field_class->tp_dict)
                PyDict_SetItemString(self->field_class->tp_dict, "__fielddescr__", tuple);

        return tuple;
}

static int
fields_init(fieldsobject* self, PyObject* args, PyObject* kwds)
{
        int i;
        int nargs;
        int nslots;
        PyObject* slots;
        PyObject* arg = ((void *)0);

        if(!PyArg_ParseTuple(args, "|O", &arg))
                return -1;

        self->field_class = getfieldtype(self);

        if(!self->field_class)
                return -1;

        ((self->field_class)->ob_refcnt++);

        self->field_descr = builddescriptors(self);

        if(!self->field_descr)
                return -1;

        if(!arg || arg == (&_Py_NoneStruct))
                return 0;

        arg = PySequence_Tuple(arg);

        if(!arg)
                return -1;

        nargs = (((PyTupleObject *)(arg))->ob_size);

        slots = getslots(self);
        nslots = slots? (((PyTupleObject *)(slots))->ob_size) : 0;

        if(nargs > nslots)
        {
                PyErr_SetString(PyExc_ValueError, "incorrect number of row values");
                goto error;
        }

        for(i = 0; i < nargs; ++i)
        {
                PyObject* name = (((PyTupleObject *)(slots))->ob_item[i]);
                PyObject* value = (((PyTupleObject *)(arg))->ob_item[i]);

                if( PyObject_SetAttr( (PyObject*)self, name, value) != 0 )
                        goto error;
        }

        for(; i < nslots; ++i)
        {
                PyObject* slot = (((PyTupleObject *)(slots))->ob_item[i]);

                if( PyObject_SetAttr( (PyObject*)self, slot, (&_Py_NoneStruct)) != 0 )
                        goto error;
        }

        if (--(arg)->ob_refcnt != 0) ; else (*((PyObject *)(arg))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(arg)));
        return 0;

error:
        if (--(arg)->ob_refcnt != 0) ; else (*((PyObject *)(arg))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(arg)));
        return -1;

}

static void
fields_dealloc(fieldsobject* self)
{
        do { PyGC_Head *g = (PyGC_Head *)((PyObject*) self)-1; 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);;
        if ((self->field_class) == ((void *)0)) ; else if (--(self->field_class)->ob_refcnt != 0) ; else (*((PyObject *)(self->field_class))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(self->field_class)));
        if ((self->field_descr) == ((void *)0)) ; else if (--(self->field_descr)->ob_refcnt != 0) ; else (*((PyObject *)(self->field_descr))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(self->field_descr)));
        self->ob_type->tp_free( (PyObject*) self);
}

static int
fields_traverse(fieldsobject* self, visitproc visit, void* arg)
{
        int err;
# 280 "fields.c"
        if (self->field_class) { err = visit((PyObject*)(self->field_class), arg); if (err) return err; };
        if (self->field_descr) { err = visit((PyObject*)(self->field_descr), arg); if (err) return err; };



        return 0;
}

static PyObject*
fields_repr(fieldsobject* self)
{
        PyObject* tuple;
        PyObject* repr = ((void *)0);

        tuple = buildtuple(self);

        if(tuple)
        {
                repr = PyObject_Repr(tuple);
                if (--(tuple)->ob_refcnt != 0) ; else (*((PyObject *)(tuple))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(tuple)));
        }
        return repr;
}

static PyObject*
fields_richcmp(PyObject* o1, PyObject* o2, int op)
{
        PyObject* result = ((void *)0);
        PyObject* o1_tuple = ((void *)0);
        PyObject* o2_tuple = ((void *)0);

        if(!o1 || !o2)
                goto error;

        if( ((o1)->ob_type == (&PyFields_Type) || PyType_IsSubtype((o1)->ob_type, (&PyFields_Type))) )
                o1_tuple = buildtuple( (fieldsobject*)o1 );
        else
                o1_tuple = PySequence_Tuple(o1);

        if( ((o2)->ob_type == (&PyFields_Type) || PyType_IsSubtype((o2)->ob_type, (&PyFields_Type))) )
                o2_tuple = buildtuple( (fieldsobject*)o2 );
        else
                o2_tuple = PySequence_Tuple(o2);

        if(o1_tuple && o2_tuple)
                result = PyObject_RichCompare(o1_tuple, o2_tuple, op);

        if(!result)
                goto error;

        if ((o1_tuple) == ((void *)0)) ; else if (--(o1_tuple)->ob_refcnt != 0) ; else (*((PyObject *)(o1_tuple))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(o1_tuple)));
        if ((o2_tuple) == ((void *)0)) ; else if (--(o2_tuple)->ob_refcnt != 0) ; else (*((PyObject *)(o2_tuple))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(o2_tuple)));

        return result;

error:
        if ((o1_tuple) == ((void *)0)) ; else if (--(o1_tuple)->ob_refcnt != 0) ; else (*((PyObject *)(o1_tuple))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(o1_tuple)));
        if ((o2_tuple) == ((void *)0)) ; else if (--(o2_tuple)->ob_refcnt != 0) ; else (*((PyObject *)(o2_tuple))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(o2_tuple)));

        (((&_Py_NotImplementedStruct))->ob_refcnt++);
        return (&_Py_NotImplementedStruct);
}



static int
fields_length(fieldsobject* self)
{
        PyObject* slots = getslots(self);
        return slots? (((PyTupleObject *)(slots))->ob_size) : 0;
}


static PyObject* fields_item(fieldsobject* self, int i);

static PyObject*
fields_subscript(fieldsobject* self, PyObject* key)
{
        if(!((key)->ob_type == (&PyInt_Type) || PyType_IsSubtype((key)->ob_type, (&PyInt_Type))))
                return self->ob_type->tp_getattro( (PyObject*)self, key );
        return fields_item(self, PyInt_AsLong(key));
}


static PyObject*
fields_subscript_wrap(fieldsobject* self, PyObject* args)
{
        PyObject* key;
        if(!PyArg_ParseTuple(args, "O", &key))
                return ((void *)0);
        return fields_subscript(self, key);
}


extern int fields_ass_item(fieldsobject* self, int i, PyObject* value);

static int
fields_ass_sub(fieldsobject* self, PyObject* key, PyObject* value)
{
        if(!value)
                value = (&_Py_NoneStruct);

        if(!((key)->ob_type == (&PyInt_Type) || PyType_IsSubtype((key)->ob_type, (&PyInt_Type))))
                return PyObject_SetAttr( (PyObject*)self, key, value);

        return fields_ass_item(self, PyInt_AsLong(key), value);
}

static PyMappingMethods fields_as_mapping = {
        (inquiry) fields_length,
        (binaryfunc) fields_subscript,
        (objobjargproc) fields_ass_sub,
};



static PyObject*
fields_repeat(fieldsobject* self, int count)
{
        PyObject* tuple;
        PyObject* result = ((void *)0);

        tuple = buildtuple(self);

        if(tuple)
        {
                result = PySequence_Repeat(tuple, count);
                if (--(tuple)->ob_refcnt != 0) ; else (*((PyObject *)(tuple))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(tuple)));
        }

        return result;
}

static PyObject*
fields_item(fieldsobject* self, int i)
{
        int n;
        PyObject* slots;
        PyObject* descr;
        PyObject* result;
        descrgetfunc get_fun;

        slots = getslots(self);

        n = slots? (((PyTupleObject *)(slots))->ob_size) : 0;
        i = (i<0)? n+i : i;

        if( i < 0 || i >= n )
        {
                PyErr_SetString(PyExc_IndexError, "index out of range");
                return ((void *)0);
        }

        descr = (((PyTupleObject *)(self->field_descr))->ob_item[i]);
        get_fun = descr->ob_type->tp_descr_get;
        result = get_fun(descr, (PyObject*)self, (PyObject*)self->field_class);
# 446 "fields.c"
        return result;
}

static int
fields_ass_item(fieldsobject* self, int i, PyObject* value)
{
        int n;
        PyObject* slots;
        PyObject* descr;
        descrsetfunc set_fun;

        slots = getslots(self);

        n = slots? (((PyTupleObject *)(slots))->ob_size) : 0;
        i = (i<0)? n+i : i;

        if( i < 0 || i >= n )
        {
                PyErr_SetString(PyExc_IndexError, "index out of range");
                return -1;
        }

        if(!value)
                value = (&_Py_NoneStruct);

        descr = (((PyTupleObject *)(self->field_descr))->ob_item[i]);
        set_fun = descr->ob_type->tp_descr_set;

        return set_fun(descr, (PyObject*)self, value);
}

static PyObject*
fields_slice(fieldsobject* self, int ilow, int ihigh)
{
        int n;
        int i;
        PyObject* slice;
        PyObject* slots;

        slots = getslots(self);

        n = slots? (((PyTupleObject *)(slots))->ob_size) : 0;

        ilow = (ilow<0)? 0 : ilow;
        ihigh = (ihigh>n)? n : ihigh;

        slice = PyTuple_New(ihigh - ilow);

        for(i = ilow; i < ihigh; ++i)
        {
                PyObject* key = (((PyTupleObject *)(slots))->ob_item[i]);
                PyObject* value = PyObject_GetAttr( (PyObject*)self, key);

                if(!value)
                {
                        value = (&_Py_NoneStruct);
                        ((value)->ob_refcnt++);
                }
                (((PyTupleObject *)(slice))->ob_item[i - ilow] = value);
        }

        return slice;
}

static int
fields_ass_slice(fieldsobject* self, int ilow, int ihigh, PyObject* slice)
{
        int i;
        int n;
        PyObject* slots;
        int nslice;

        slots = getslots(self);
        n = slots? (((PyTupleObject *)(slots))->ob_size) : 0;

        ilow = (ilow<0)? 0 : ilow;
        ihigh = (ihigh>n)? n : ihigh;

        nslice = ihigh - ilow;

        if(slice)
        {
                slice = PySequence_Tuple(slice);
                nslice = slots? (((PyTupleObject *)(slice))->ob_size) : 0;
        }

        if( ihigh - ilow != nslice )
        {
                PyErr_SetString(PyExc_ValueError, "incorrect number of values");
                goto error;
        }

        for(i = 0; i < nslice; ++i)
        {
                PyObject* slot = (((PyTupleObject *)(slots))->ob_item[ilow+i]);
                PyObject* value = (&_Py_NoneStruct);

                if(slice)
                        value = (((PyTupleObject *)(slice))->ob_item[i]);

                if( PyObject_SetAttr( (PyObject*)self, slot, value) != 0 )
                        goto error;
        }

        if ((slice) == ((void *)0)) ; else if (--(slice)->ob_refcnt != 0) ; else (*((PyObject *)(slice))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(slice)));
        return 0;

error:
        if ((slice) == ((void *)0)) ; else if (--(slice)->ob_refcnt != 0) ; else (*((PyObject *)(slice))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(slice)));
        return -1;
}

static int
fields_contains(fieldsobject* self, PyObject* key)
{
        int n;
        int i;
        int cmp;
        PyObject* slots;

        slots = getslots(self);
        n = slots? (((PyTupleObject *)(slots))->ob_size) : 0;

        for(i = 0; i < n; ++i)
        {
                PyObject* name = (((PyTupleObject *)(slots))->ob_item[i]);
                PyObject* value = PyObject_GetAttr( (PyObject*)self, name);
                if(value)
                {
                        cmp = PyObject_RichCompareBool(key, value, 2);
                        if (--(value)->ob_refcnt != 0) ; else (*((PyObject *)(value))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(value)));
                        if(cmp > 0)
                                return 1;
                        else if(cmp < 0)
                                return -1;
                }

        }
        return 0;
}

static PySequenceMethods fields_as_sequence = {
        0,
        0,
        (intargfunc) fields_repeat,

        0,



        (intintargfunc) fields_slice,
        0,
        (intintobjargproc) fields_ass_slice,
        (objobjproc) fields_contains,
        0,
        0,
};



static PyObject*
fields_add(PyObject* o1, PyObject* o2)
{
        PyObject* result = ((void *)0);
        PyObject* o1_tuple;
        PyObject* o2_tuple;

        if(!o1 || !o2)
                return result;

        if( ((o1)->ob_type == (&PyFields_Type) || PyType_IsSubtype((o1)->ob_type, (&PyFields_Type))) )
                o1_tuple = buildtuple( (fieldsobject*)o1 );
        else
                o1_tuple = PySequence_Tuple(o1);

        if( ((o2)->ob_type == (&PyFields_Type) || PyType_IsSubtype((o2)->ob_type, (&PyFields_Type))) )
                o2_tuple = buildtuple( (fieldsobject*)o2 );
        else
                o2_tuple = PySequence_Tuple(o2);

        if(o1_tuple && o2_tuple)
                result = PySequence_Concat(o1_tuple, o2_tuple);

        if ((o1_tuple) == ((void *)0)) ; else if (--(o1_tuple)->ob_refcnt != 0) ; else (*((PyObject *)(o1_tuple))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(o1_tuple)));
        if ((o2_tuple) == ((void *)0)) ; else if (--(o2_tuple)->ob_refcnt != 0) ; else (*((PyObject *)(o2_tuple))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(o2_tuple)));

        return result;
}

PyNumberMethods fields_as_number = {
        (binaryfunc)fields_add,
};



static int
fields_setattro(fieldsobject* self, PyObject* key, PyObject* value)
{
        if(!value)
                value = (&_Py_NoneStruct);

        return PyObject_GenericSetAttr((PyObject*)self, key, value);
}




static PyObject*
ifields_getattro(fieldsobject* self, PyObject* key)
{
        PyObject* result = ((void *)0);

        if(!((key)->ob_type == (&PyString_Type) || PyType_IsSubtype((key)->ob_type, (&PyString_Type))))
        {
                PyErr_SetString(PyExc_TypeError, "expected string argument");
                return ((void *)0);
        }


        key = lower(key);




        if(key)
        {
                result = PyObject_GenericGetAttr((PyObject*)self, key);
                if (--(key)->ob_refcnt != 0) ; else (*((PyObject *)(key))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(key)));
        }

        return result;
}

static int
ifields_setattro(fieldsobject* self, PyObject* key, PyObject* value)
{
        int result = -1;

        if(!value)
                value = (&_Py_NoneStruct);

        if(!((key)->ob_type == (&PyString_Type) || PyType_IsSubtype((key)->ob_type, (&PyString_Type))))
        {
                PyErr_SetString(PyExc_TypeError, "expected string argument");
                return result;
        }


        key = lower(key);




        if(key)
        {
                result = PyObject_GenericSetAttr((PyObject*)self, key, value);
                if (--(key)->ob_refcnt != 0) ; else (*((PyObject *)(key))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(key)));
        }

        return result;
}




PyTypeObject PyFields_Type = {
        1, ((void *)0),
        0,
        "fields",
        sizeof(fieldsobject),
        0,

        (destructor)fields_dealloc,
        0,
        0,
        0,
        0,
        (reprfunc)fields_repr,
        &fields_as_number,
        &fields_as_sequence,
        &fields_as_mapping,
        0,
        0,
        0,
        0,
        (setattrofunc)fields_setattro,
        0,

        ( (1L<<0) | (1L<<1) | (1L<<3) | (1L<<5) | (1L<<6) | (1L<<7) | (1L<<8) | 0) | (1L<<14) | (1L<<10)
                           | (1L<<4),
        0,
        (traverseproc)fields_traverse,
        0,
        (richcmpfunc)fields_richcmp,
        0,
        0,
        0,
        0,
        fields_members,
        0,
        0,
        0,
        0,
        0,
        0,
        (initproc)fields_init,
        ((void *)0),
        ((void *)0),
        ((void *)0)
};




PyTypeObject PyIFields_Type = {
        1, ((void *)0),
        0,
        "ifields",
        sizeof(fieldsobject),
        0,

        (destructor)fields_dealloc,
        0,
        0,
        0,
        0,
        (reprfunc)fields_repr,
        &fields_as_number,
        &fields_as_sequence,
        &fields_as_mapping,
        0,
        0,
        0,
        (getattrofunc)ifields_getattro,
        (setattrofunc)ifields_setattro,
        0,

        ( (1L<<0) | (1L<<1) | (1L<<3) | (1L<<5) | (1L<<6) | (1L<<7) | (1L<<8) | 0) | (1L<<14) | (1L<<10)
                           | (1L<<4),
        0,
        (traverseproc)fields_traverse,
        0,
        (richcmpfunc)fields_richcmp,
        0,
        0,
        0,
        0,
        fields_members,
        0,
        &PyFields_Type,
        0,
        0,
        0,
        0,
        (initproc)fields_init,
        ((void *)0),
        ((void *)0),
        ((void *)0),
};





static PyMethodDef fields_fixup[] = {
        {"__getitem__", (PyCFunction)fields_subscript_wrap, 0x0001},
        {((void *)0), ((void *)0)}
};

static PyMethodDef row_fixup[] = {
        {"__getitem__", (PyCFunction)db_row_subscript_wrap, 0x0001},
        {((void *)0), ((void *)0)}
};

int fixup_object(PyTypeObject* type, PyMethodDef* methods)
{
        PyObject* dict = type->tp_dict;

        for( ; methods && methods->ml_name; ++methods)
        {
                PyObject* method = PyDescr_NewMethod(type, methods);
                if(!method || PyDict_SetItemString(dict,methods->ml_name,method) < 0)
                {
                        if ((method) == ((void *)0)) ; else if (--(method)->ob_refcnt != 0) ; else (*((PyObject *)(method))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(method)));
                        return -1;
                }
                if (--(method)->ob_refcnt != 0) ; else (*((PyObject *)(method))->ob_type->tp_dealloc)((PyObject *)((PyObject *)(method)));
        }
        return 0;
}





static PyMethodDef PyFieldsModule_methods[] = {
        {((void *)0), ((void *)0)}
};


void
initdb_rowc(void)
{
        PyObject* module;
        PyObject* module_dict;

        module = Py_InitModule4("db_rowc", PyFieldsModule_methods, (char *)((void *)0), (PyObject *)((void *)0), 1011);

        PyFields_Type.ob_type = PyType_Type;
        PyFields_Type.tp_alloc = PyType_GenericAlloc;
        PyFields.tp_new = PyType_GenericNew;
        PyFields.tp_free = _PyObject_GC_Del;

        PyIFields_Type.ob_type = PyType_Type;
        PyIFields_Type.tp_alloc = PyType_GenericAlloc;
        PyIFields.tp_new = PyType_GenericNew;
        PyIFields.tp_free = _PyObject_GC_Del;

        if(!module)
                return;

        module_dict = PyModule_GetDict(module);

        if(PyType_Ready(&PyFields_Type) != 0)
                return;
        if(PyType_Ready(&PyIFields_Type) != 0)
                return;
        if(PyType_Ready(&PyRow_Type) != 0)
                return;


        if( fixup_object(&PyFields_Type, fields_fixup) != 0)
                return;
        if( fixup_object(&PyIFields_Type, fields_fixup) != 0)
                return;
        if( fixup_object(&PyRow_Type, row_fixup) != 0)
                return;



        {
                PyObject* method_obj = PyDict_GetItemString(PyString_Type.tp_dict, "lower");
                PyMethodDescrObject* lower_method = (PyMethodDescrObject*)method_obj;
                if(lower_method && lower_method->d_method->ml_meth)
                        lower = (unaryfunc)lower_method->d_method->ml_meth;
        }


        if(PyDict_SetItemString(module_dict, "abstract_fields", (PyObject*)&PyFields_Type) != 0)
                return;
        if(PyDict_SetItemString(module_dict, "abstract_ifields", (PyObject*)&PyIFields_Type) != 0)
                return;
        if(PyDict_SetItemString(module_dict, "abstract_row", (PyObject*)&PyRow_Type) != 0)
                return;
}


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]