/*
    Generated by genstrings.py

    Edit that - do not edit this file
*/


#undef s_9e999
#undef s0_0
#undef s9e999
#undef no_change
#undef Auto
#undef Begin
#undef BestIndex
#undef BestIndexObject
#undef Close
#undef Column
#undef ColumnNoChange
#undef Commit
#undef Connect
#undef Create
#undef DELETE
#undef Destroy
#undef Disconnect
#undef Eof
#undef Filter
#undef FindFunction
#undef INSERT
#undef Integrity
#undef Mapping
#undef sNULL
#undef Next
#undef Open
#undef Release
#undef Rename
#undef Rollback
#undef RollbackTo
#undef Rowid
#undef Savepoint
#undef ShadowName
#undef Shell
#undef Sync
#undef UPDATE
#undef UpdateChangeRow
#undef UpdateDeleteRow
#undef UpdateInsertRow
#undef s_module
#undef _coro_for_exception
#undef _coro_for_stopasynciteration
#undef _coro_for_value
#undef add_note
#undef apsw_aio
#undef apsw_shell
#undef async_controller
#undef async_cursor_prefetch
#undef async_run_coro
#undef can_cache
#undef close
#undef collections_abc
#undef configure
#undef connection_hooks
#undef cursor
#undef error_offset
#undef excepthook
#undef execute
#undef executemany
#undef extendedresult
#undef sfalse
#undef final
#undef get
#undef inverse
#undef main
#undef snull
#undef release
#undef result
#undef send
#undef step
#undef strue
#undef value
#undef xAccess
#undef xCheckReservedLock
#undef xClose
#undef xCurrentTime
#undef xCurrentTimeInt64
#undef xDelete
#undef xDeviceCharacteristics
#undef xDlClose
#undef xDlError
#undef xDlOpen
#undef xDlSym
#undef xFileControl
#undef xFileSize
#undef xFullPathname
#undef xGetLastError
#undef xGetSystemCall
#undef xLock
#undef xNextSystemCall
#undef xOpen
#undef xRandomness
#undef xRead
#undef xSectorSize
#undef xSetSystemCall
#undef xSleep
#undef xSync
#undef xTruncate
#undef xUnlock
#undef xWrite


static struct _apsw_string_table
{
    PyObject *s_9e999;
    PyObject *s0_0;
    PyObject *s9e999;
    PyObject *no_change;
    PyObject *Auto;
    PyObject *Begin;
    PyObject *BestIndex;
    PyObject *BestIndexObject;
    PyObject *Close;
    PyObject *Column;
    PyObject *ColumnNoChange;
    PyObject *Commit;
    PyObject *Connect;
    PyObject *Create;
    PyObject *DELETE;
    PyObject *Destroy;
    PyObject *Disconnect;
    PyObject *Eof;
    PyObject *Filter;
    PyObject *FindFunction;
    PyObject *INSERT;
    PyObject *Integrity;
    PyObject *Mapping;
    PyObject *sNULL;
    PyObject *Next;
    PyObject *Open;
    PyObject *Release;
    PyObject *Rename;
    PyObject *Rollback;
    PyObject *RollbackTo;
    PyObject *Rowid;
    PyObject *Savepoint;
    PyObject *ShadowName;
    PyObject *Shell;
    PyObject *Sync;
    PyObject *UPDATE;
    PyObject *UpdateChangeRow;
    PyObject *UpdateDeleteRow;
    PyObject *UpdateInsertRow;
    PyObject *s_module;
    PyObject *_coro_for_exception;
    PyObject *_coro_for_stopasynciteration;
    PyObject *_coro_for_value;
    PyObject *add_note;
    PyObject *apsw_aio;
    PyObject *apsw_shell;
    PyObject *async_controller;
    PyObject *async_cursor_prefetch;
    PyObject *async_run_coro;
    PyObject *can_cache;
    PyObject *close;
    PyObject *collections_abc;
    PyObject *configure;
    PyObject *connection_hooks;
    PyObject *cursor;
    PyObject *error_offset;
    PyObject *excepthook;
    PyObject *execute;
    PyObject *executemany;
    PyObject *extendedresult;
    PyObject *sfalse;
    PyObject *final;
    PyObject *get;
    PyObject *inverse;
    PyObject *main;
    PyObject *snull;
    PyObject *release;
    PyObject *result;
    PyObject *send;
    PyObject *step;
    PyObject *strue;
    PyObject *value;
    PyObject *xAccess;
    PyObject *xCheckReservedLock;
    PyObject *xClose;
    PyObject *xCurrentTime;
    PyObject *xCurrentTimeInt64;
    PyObject *xDelete;
    PyObject *xDeviceCharacteristics;
    PyObject *xDlClose;
    PyObject *xDlError;
    PyObject *xDlOpen;
    PyObject *xDlSym;
    PyObject *xFileControl;
    PyObject *xFileSize;
    PyObject *xFullPathname;
    PyObject *xGetLastError;
    PyObject *xGetSystemCall;
    PyObject *xLock;
    PyObject *xNextSystemCall;
    PyObject *xOpen;
    PyObject *xRandomness;
    PyObject *xRead;
    PyObject *xSectorSize;
    PyObject *xSetSystemCall;
    PyObject *xSleep;
    PyObject *xSync;
    PyObject *xTruncate;
    PyObject *xUnlock;
    PyObject *xWrite;
} apst = {0};

static void
fini_apsw_strings(void)
{
    Py_CLEAR(apst.s_9e999);
    Py_CLEAR(apst.s0_0);
    Py_CLEAR(apst.s9e999);
    Py_CLEAR(apst.no_change);
    Py_CLEAR(apst.Auto);
    Py_CLEAR(apst.Begin);
    Py_CLEAR(apst.BestIndex);
    Py_CLEAR(apst.BestIndexObject);
    Py_CLEAR(apst.Close);
    Py_CLEAR(apst.Column);
    Py_CLEAR(apst.ColumnNoChange);
    Py_CLEAR(apst.Commit);
    Py_CLEAR(apst.Connect);
    Py_CLEAR(apst.Create);
    Py_CLEAR(apst.DELETE);
    Py_CLEAR(apst.Destroy);
    Py_CLEAR(apst.Disconnect);
    Py_CLEAR(apst.Eof);
    Py_CLEAR(apst.Filter);
    Py_CLEAR(apst.FindFunction);
    Py_CLEAR(apst.INSERT);
    Py_CLEAR(apst.Integrity);
    Py_CLEAR(apst.Mapping);
    Py_CLEAR(apst.sNULL);
    Py_CLEAR(apst.Next);
    Py_CLEAR(apst.Open);
    Py_CLEAR(apst.Release);
    Py_CLEAR(apst.Rename);
    Py_CLEAR(apst.Rollback);
    Py_CLEAR(apst.RollbackTo);
    Py_CLEAR(apst.Rowid);
    Py_CLEAR(apst.Savepoint);
    Py_CLEAR(apst.ShadowName);
    Py_CLEAR(apst.Shell);
    Py_CLEAR(apst.Sync);
    Py_CLEAR(apst.UPDATE);
    Py_CLEAR(apst.UpdateChangeRow);
    Py_CLEAR(apst.UpdateDeleteRow);
    Py_CLEAR(apst.UpdateInsertRow);
    Py_CLEAR(apst.s_module);
    Py_CLEAR(apst._coro_for_exception);
    Py_CLEAR(apst._coro_for_stopasynciteration);
    Py_CLEAR(apst._coro_for_value);
    Py_CLEAR(apst.add_note);
    Py_CLEAR(apst.apsw_aio);
    Py_CLEAR(apst.apsw_shell);
    Py_CLEAR(apst.async_controller);
    Py_CLEAR(apst.async_cursor_prefetch);
    Py_CLEAR(apst.async_run_coro);
    Py_CLEAR(apst.can_cache);
    Py_CLEAR(apst.close);
    Py_CLEAR(apst.collections_abc);
    Py_CLEAR(apst.configure);
    Py_CLEAR(apst.connection_hooks);
    Py_CLEAR(apst.cursor);
    Py_CLEAR(apst.error_offset);
    Py_CLEAR(apst.excepthook);
    Py_CLEAR(apst.execute);
    Py_CLEAR(apst.executemany);
    Py_CLEAR(apst.extendedresult);
    Py_CLEAR(apst.sfalse);
    Py_CLEAR(apst.final);
    Py_CLEAR(apst.get);
    Py_CLEAR(apst.inverse);
    Py_CLEAR(apst.main);
    Py_CLEAR(apst.snull);
    Py_CLEAR(apst.release);
    Py_CLEAR(apst.result);
    Py_CLEAR(apst.send);
    Py_CLEAR(apst.step);
    Py_CLEAR(apst.strue);
    Py_CLEAR(apst.value);
    Py_CLEAR(apst.xAccess);
    Py_CLEAR(apst.xCheckReservedLock);
    Py_CLEAR(apst.xClose);
    Py_CLEAR(apst.xCurrentTime);
    Py_CLEAR(apst.xCurrentTimeInt64);
    Py_CLEAR(apst.xDelete);
    Py_CLEAR(apst.xDeviceCharacteristics);
    Py_CLEAR(apst.xDlClose);
    Py_CLEAR(apst.xDlError);
    Py_CLEAR(apst.xDlOpen);
    Py_CLEAR(apst.xDlSym);
    Py_CLEAR(apst.xFileControl);
    Py_CLEAR(apst.xFileSize);
    Py_CLEAR(apst.xFullPathname);
    Py_CLEAR(apst.xGetLastError);
    Py_CLEAR(apst.xGetSystemCall);
    Py_CLEAR(apst.xLock);
    Py_CLEAR(apst.xNextSystemCall);
    Py_CLEAR(apst.xOpen);
    Py_CLEAR(apst.xRandomness);
    Py_CLEAR(apst.xRead);
    Py_CLEAR(apst.xSectorSize);
    Py_CLEAR(apst.xSetSystemCall);
    Py_CLEAR(apst.xSleep);
    Py_CLEAR(apst.xSync);
    Py_CLEAR(apst.xTruncate);
    Py_CLEAR(apst.xUnlock);
    Py_CLEAR(apst.xWrite);
}

/* returns zero on success, -1 on error */
static int
init_apsw_strings()
{
    if ((!apst.s_9e999 && 0 == (apst.s_9e999 = PyUnicode_FromString("-9e999")))
        || (!apst.s0_0 && 0 == (apst.s0_0 = PyUnicode_FromString("0.0")))
        || (!apst.s9e999 && 0 == (apst.s9e999 = PyUnicode_FromString("9e999")))
        || (!apst.no_change && 0 == (apst.no_change = PyUnicode_FromString("<apsw.no_change>")))
        || (!apst.Auto && 0 == (apst.Auto = PyUnicode_FromString("Auto")))
        || (!apst.Begin && 0 == (apst.Begin = PyUnicode_FromString("Begin")))
        || (!apst.BestIndex && 0 == (apst.BestIndex = PyUnicode_FromString("BestIndex")))
        || (!apst.BestIndexObject && 0 == (apst.BestIndexObject = PyUnicode_FromString("BestIndexObject")))
        || (!apst.Close && 0 == (apst.Close = PyUnicode_FromString("Close")))
        || (!apst.Column && 0 == (apst.Column = PyUnicode_FromString("Column")))
        || (!apst.ColumnNoChange && 0 == (apst.ColumnNoChange = PyUnicode_FromString("ColumnNoChange")))
        || (!apst.Commit && 0 == (apst.Commit = PyUnicode_FromString("Commit")))
        || (!apst.Connect && 0 == (apst.Connect = PyUnicode_FromString("Connect")))
        || (!apst.Create && 0 == (apst.Create = PyUnicode_FromString("Create")))
        || (!apst.DELETE && 0 == (apst.DELETE = PyUnicode_FromString("DELETE")))
        || (!apst.Destroy && 0 == (apst.Destroy = PyUnicode_FromString("Destroy")))
        || (!apst.Disconnect && 0 == (apst.Disconnect = PyUnicode_FromString("Disconnect")))
        || (!apst.Eof && 0 == (apst.Eof = PyUnicode_FromString("Eof")))
        || (!apst.Filter && 0 == (apst.Filter = PyUnicode_FromString("Filter")))
        || (!apst.FindFunction && 0 == (apst.FindFunction = PyUnicode_FromString("FindFunction")))
        || (!apst.INSERT && 0 == (apst.INSERT = PyUnicode_FromString("INSERT")))
        || (!apst.Integrity && 0 == (apst.Integrity = PyUnicode_FromString("Integrity")))
        || (!apst.Mapping && 0 == (apst.Mapping = PyUnicode_FromString("Mapping")))
        || (!apst.sNULL && 0 == (apst.sNULL = PyUnicode_FromString("NULL")))
        || (!apst.Next && 0 == (apst.Next = PyUnicode_FromString("Next")))
        || (!apst.Open && 0 == (apst.Open = PyUnicode_FromString("Open")))
        || (!apst.Release && 0 == (apst.Release = PyUnicode_FromString("Release")))
        || (!apst.Rename && 0 == (apst.Rename = PyUnicode_FromString("Rename")))
        || (!apst.Rollback && 0 == (apst.Rollback = PyUnicode_FromString("Rollback")))
        || (!apst.RollbackTo && 0 == (apst.RollbackTo = PyUnicode_FromString("RollbackTo")))
        || (!apst.Rowid && 0 == (apst.Rowid = PyUnicode_FromString("Rowid")))
        || (!apst.Savepoint && 0 == (apst.Savepoint = PyUnicode_FromString("Savepoint")))
        || (!apst.ShadowName && 0 == (apst.ShadowName = PyUnicode_FromString("ShadowName")))
        || (!apst.Shell && 0 == (apst.Shell = PyUnicode_FromString("Shell")))
        || (!apst.Sync && 0 == (apst.Sync = PyUnicode_FromString("Sync")))
        || (!apst.UPDATE && 0 == (apst.UPDATE = PyUnicode_FromString("UPDATE")))
        || (!apst.UpdateChangeRow && 0 == (apst.UpdateChangeRow = PyUnicode_FromString("UpdateChangeRow")))
        || (!apst.UpdateDeleteRow && 0 == (apst.UpdateDeleteRow = PyUnicode_FromString("UpdateDeleteRow")))
        || (!apst.UpdateInsertRow && 0 == (apst.UpdateInsertRow = PyUnicode_FromString("UpdateInsertRow")))
        || (!apst.s_module && 0 == (apst.s_module = PyUnicode_FromString("__module__")))
        || (!apst._coro_for_exception && 0 == (apst._coro_for_exception = PyUnicode_FromString("_coro_for_exception")))
        || (!apst._coro_for_stopasynciteration && 0 == (apst._coro_for_stopasynciteration = PyUnicode_FromString("_coro_for_stopasynciteration")))
        || (!apst._coro_for_value && 0 == (apst._coro_for_value = PyUnicode_FromString("_coro_for_value")))
        || (!apst.add_note && 0 == (apst.add_note = PyUnicode_FromString("add_note")))
        || (!apst.apsw_aio && 0 == (apst.apsw_aio = PyUnicode_FromString("apsw.aio")))
        || (!apst.apsw_shell && 0 == (apst.apsw_shell = PyUnicode_FromString("apsw.shell")))
        || (!apst.async_controller && 0 == (apst.async_controller = PyUnicode_FromString("async_controller")))
        || (!apst.async_cursor_prefetch && 0 == (apst.async_cursor_prefetch = PyUnicode_FromString("async_cursor_prefetch")))
        || (!apst.async_run_coro && 0 == (apst.async_run_coro = PyUnicode_FromString("async_run_coro")))
        || (!apst.can_cache && 0 == (apst.can_cache = PyUnicode_FromString("can_cache")))
        || (!apst.close && 0 == (apst.close = PyUnicode_FromString("close")))
        || (!apst.collections_abc && 0 == (apst.collections_abc = PyUnicode_FromString("collections.abc")))
        || (!apst.configure && 0 == (apst.configure = PyUnicode_FromString("configure")))
        || (!apst.connection_hooks && 0 == (apst.connection_hooks = PyUnicode_FromString("connection_hooks")))
        || (!apst.cursor && 0 == (apst.cursor = PyUnicode_FromString("cursor")))
        || (!apst.error_offset && 0 == (apst.error_offset = PyUnicode_FromString("error_offset")))
        || (!apst.excepthook && 0 == (apst.excepthook = PyUnicode_FromString("excepthook")))
        || (!apst.execute && 0 == (apst.execute = PyUnicode_FromString("execute")))
        || (!apst.executemany && 0 == (apst.executemany = PyUnicode_FromString("executemany")))
        || (!apst.extendedresult && 0 == (apst.extendedresult = PyUnicode_FromString("extendedresult")))
        || (!apst.sfalse && 0 == (apst.sfalse = PyUnicode_FromString("false")))
        || (!apst.final && 0 == (apst.final = PyUnicode_FromString("final")))
        || (!apst.get && 0 == (apst.get = PyUnicode_FromString("get")))
        || (!apst.inverse && 0 == (apst.inverse = PyUnicode_FromString("inverse")))
        || (!apst.main && 0 == (apst.main = PyUnicode_FromString("main")))
        || (!apst.snull && 0 == (apst.snull = PyUnicode_FromString("null")))
        || (!apst.release && 0 == (apst.release = PyUnicode_FromString("release")))
        || (!apst.result && 0 == (apst.result = PyUnicode_FromString("result")))
        || (!apst.send && 0 == (apst.send = PyUnicode_FromString("send")))
        || (!apst.step && 0 == (apst.step = PyUnicode_FromString("step")))
        || (!apst.strue && 0 == (apst.strue = PyUnicode_FromString("true")))
        || (!apst.value && 0 == (apst.value = PyUnicode_FromString("value")))
        || (!apst.xAccess && 0 == (apst.xAccess = PyUnicode_FromString("xAccess")))
        || (!apst.xCheckReservedLock && 0 == (apst.xCheckReservedLock = PyUnicode_FromString("xCheckReservedLock")))
        || (!apst.xClose && 0 == (apst.xClose = PyUnicode_FromString("xClose")))
        || (!apst.xCurrentTime && 0 == (apst.xCurrentTime = PyUnicode_FromString("xCurrentTime")))
        || (!apst.xCurrentTimeInt64 && 0 == (apst.xCurrentTimeInt64 = PyUnicode_FromString("xCurrentTimeInt64")))
        || (!apst.xDelete && 0 == (apst.xDelete = PyUnicode_FromString("xDelete")))
        || (!apst.xDeviceCharacteristics && 0 == (apst.xDeviceCharacteristics = PyUnicode_FromString("xDeviceCharacteristics")))
        || (!apst.xDlClose && 0 == (apst.xDlClose = PyUnicode_FromString("xDlClose")))
        || (!apst.xDlError && 0 == (apst.xDlError = PyUnicode_FromString("xDlError")))
        || (!apst.xDlOpen && 0 == (apst.xDlOpen = PyUnicode_FromString("xDlOpen")))
        || (!apst.xDlSym && 0 == (apst.xDlSym = PyUnicode_FromString("xDlSym")))
        || (!apst.xFileControl && 0 == (apst.xFileControl = PyUnicode_FromString("xFileControl")))
        || (!apst.xFileSize && 0 == (apst.xFileSize = PyUnicode_FromString("xFileSize")))
        || (!apst.xFullPathname && 0 == (apst.xFullPathname = PyUnicode_FromString("xFullPathname")))
        || (!apst.xGetLastError && 0 == (apst.xGetLastError = PyUnicode_FromString("xGetLastError")))
        || (!apst.xGetSystemCall && 0 == (apst.xGetSystemCall = PyUnicode_FromString("xGetSystemCall")))
        || (!apst.xLock && 0 == (apst.xLock = PyUnicode_FromString("xLock")))
        || (!apst.xNextSystemCall && 0 == (apst.xNextSystemCall = PyUnicode_FromString("xNextSystemCall")))
        || (!apst.xOpen && 0 == (apst.xOpen = PyUnicode_FromString("xOpen")))
        || (!apst.xRandomness && 0 == (apst.xRandomness = PyUnicode_FromString("xRandomness")))
        || (!apst.xRead && 0 == (apst.xRead = PyUnicode_FromString("xRead")))
        || (!apst.xSectorSize && 0 == (apst.xSectorSize = PyUnicode_FromString("xSectorSize")))
        || (!apst.xSetSystemCall && 0 == (apst.xSetSystemCall = PyUnicode_FromString("xSetSystemCall")))
        || (!apst.xSleep && 0 == (apst.xSleep = PyUnicode_FromString("xSleep")))
        || (!apst.xSync && 0 == (apst.xSync = PyUnicode_FromString("xSync")))
        || (!apst.xTruncate && 0 == (apst.xTruncate = PyUnicode_FromString("xTruncate")))
        || (!apst.xUnlock && 0 == (apst.xUnlock = PyUnicode_FromString("xUnlock")))
        || (!apst.xWrite && 0 == (apst.xWrite = PyUnicode_FromString("xWrite")))
    )
    {
        fini_apsw_strings();
        return -1;
    }
    return 0;
}
