Cython: builder.pyx

Generated by Cython 3.0.12

Yellow lines hint at Python interaction.
Click on a line that starts with a "`+`" to see the C code that Cython generated for it.

Raw output: builder.c

    +001: #cython: language_level=3,

      __pyx_t_3 = __Pyx_PyDict_NewPresized(0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 1, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (PyDict_SetItem(__pyx_d, __pyx_n_s_test, __pyx_t_3) < 0) __PYX_ERR(0, 1, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

     002: # Copyright 2014 Google Inc. All rights reserved.

     003: #

     004: # Licensed under the Apache License, Version 2.0 (the "License");

     005: # you may not use this file except in compliance with the License.

     006: # You may obtain a copy of the License at

     007: #

     008: #     http://www.apache.org/licenses/LICENSE-2.0

     009: #

     010: # Unless required by applicable law or agreed to in writing, software

     011: # distributed under the License is distributed on an "AS IS" BASIS,

     012: # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

     013: # See the License for the specific language governing permissions and

     014: # limitations under the License.

     015: from libc.string cimport memcmp, memcpy, memset

     016: from libc.stdint cimport uint8_t, uint16_t, uint32_t, uint64_t, int8_t, int16_t, int32_t, int64_t

     017: from cpython.mem cimport PyMem_Malloc, PyMem_Free

     018:

    +019: import struct

      __pyx_t_2 = __Pyx_ImportDottedModule(__pyx_n_s_struct, NULL); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 19, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      if (PyDict_SetItem(__pyx_d, __pyx_n_s_struct, __pyx_t_2) < 0) __PYX_ERR(0, 19, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

     020:

     021: from .number_types cimport Flags, enforce_number

     022:

    +023: from flatbuffers import encode

      __pyx_t_2 = PyList_New(1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_INCREF(__pyx_n_s_encode);
      __Pyx_GIVEREF(__pyx_n_s_encode);
      if (__Pyx_PyList_SET_ITEM(__pyx_t_2, 0, __pyx_n_s_encode)) __PYX_ERR(0, 23, __pyx_L1_error);
      __pyx_t_3 = __Pyx_Import(__pyx_n_s_flatbuffers, __pyx_t_2, 0); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 23, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_2 = __Pyx_ImportFrom(__pyx_t_3, __pyx_n_s_encode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 23, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      if (PyDict_SetItem(__pyx_d, __pyx_n_s_encode, __pyx_t_2) < 0) __PYX_ERR(0, 23, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

     024:

    +025: cdef struct FlatbufferType:

    struct __pyx_t_7flattrs_8cflattrs_7builder_FlatbufferType {
      uint8_t bytewidth;
    };

     026:     uint8_t bytewidth

     027:

     028:

    +029: cdef struct StoredVtable:

    struct __pyx_t_7flattrs_8cflattrs_7builder_StoredVtable {
      uint32_t num_fields;
      unsigned char *vtable;
      int64_t offset;
      struct __pyx_t_7flattrs_8cflattrs_7builder_StoredVtable *next;
    };

     030:     uint32_t num_fields

     031:     unsigned char* vtable

     032:     int64_t offset        # Offset from the end of the file.

     033:     StoredVtable* next

     034:

     035:

    +036: cdef FlatbufferType Fb_bool_t = FlatbufferType(1)

      __pyx_t_4.bytewidth = 1;
      __pyx_v_7flattrs_8cflattrs_7builder_Fb_bool_t = __pyx_t_4;

    +037: cdef FlatbufferType Fb_uint8_t = FlatbufferType(1)

      __pyx_t_4.bytewidth = 1;
      __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint8_t = __pyx_t_4;

    +038: cdef FlatbufferType Fb_uint16_t = FlatbufferType(2)

      __pyx_t_4.bytewidth = 2;
      __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint16_t = __pyx_t_4;

    +039: cdef FlatbufferType Fb_uint32_t = FlatbufferType(4)

      __pyx_t_4.bytewidth = 4;
      __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint32_t = __pyx_t_4;

    +040: cdef FlatbufferType Fb_uint64_t = FlatbufferType(8)

      __pyx_t_4.bytewidth = 8;
      __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint64_t = __pyx_t_4;

    +041: cdef FlatbufferType Fb_int8_t = FlatbufferType(1)

      __pyx_t_4.bytewidth = 1;
      __pyx_v_7flattrs_8cflattrs_7builder_Fb_int8_t = __pyx_t_4;

    +042: cdef FlatbufferType Fb_int16_t = FlatbufferType(2)

      __pyx_t_4.bytewidth = 2;
      __pyx_v_7flattrs_8cflattrs_7builder_Fb_int16_t = __pyx_t_4;

    +043: cdef FlatbufferType Fb_int32_t = FlatbufferType(4)

      __pyx_t_4.bytewidth = 4;
      __pyx_v_7flattrs_8cflattrs_7builder_Fb_int32_t = __pyx_t_4;

    +044: cdef FlatbufferType Fb_int64_t = FlatbufferType(8)

      __pyx_t_4.bytewidth = 8;
      __pyx_v_7flattrs_8cflattrs_7builder_Fb_int64_t = __pyx_t_4;

    +045: cdef FlatbufferType Fb_float32_t = FlatbufferType(4)

      __pyx_t_4.bytewidth = 4;
      __pyx_v_7flattrs_8cflattrs_7builder_Fb_float32_t = __pyx_t_4;

    +046: cdef FlatbufferType Fb_float64_t = FlatbufferType(8)

      __pyx_t_4.bytewidth = 8;
      __pyx_v_7flattrs_8cflattrs_7builder_Fb_float64_t = __pyx_t_4;

     047:

     048:

    +049: cdef inline void Write(packer_type, buf, Py_ssize_t head, Py_ssize_t n):

    static CYTHON_INLINE void __pyx_f_7flattrs_8cflattrs_7builder_Write(PyObject *__pyx_v_packer_type, PyObject *__pyx_v_buf, Py_ssize_t __pyx_v_head, Py_ssize_t __pyx_v_n) {
    /* … */
      /* function exit code */
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_1);
      __Pyx_XDECREF(__pyx_t_2);
      __Pyx_XDECREF(__pyx_t_3);
      __Pyx_XDECREF(__pyx_t_4);
      __Pyx_XDECREF(__pyx_t_5);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Write", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_L0:;
      __Pyx_RefNannyFinishContext();
    }

     050:     """ Write encodes `n` at buf[head] using `packer_type`. """

    +051:     packer_type.pack_into(buf, head, n)

      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_packer_type, __pyx_n_s_pack_into); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 51, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_head); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 51, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_4 = PyInt_FromSsize_t(__pyx_v_n); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 51, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_4);
      __pyx_t_5 = NULL;
      __pyx_t_6 = 0;
      #if CYTHON_UNPACK_METHODS
      if (likely(PyMethod_Check(__pyx_t_2))) {
        __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_2);
        if (likely(__pyx_t_5)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
          __Pyx_INCREF(__pyx_t_5);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_2, function);
          __pyx_t_6 = 1;
        }
      }
      #endif
      {
        PyObject *__pyx_callargs[4] = {__pyx_t_5, __pyx_v_buf, __pyx_t_3, __pyx_t_4};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_6, 3+__pyx_t_6);
        __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 51, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      }
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;

     052:

     053:

    +054: cpdef inline void writeBool(bint n, unsigned char* buffer, Py_ssize_t head):

    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_1writeBool(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static CYTHON_INLINE void __pyx_f_7flattrs_8cflattrs_7builder_writeBool(int __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head, CYTHON_UNUSED int __pyx_skip_dispatch) {
    /* … */
      /* function exit code */
    }

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_1writeBool(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_1writeBool = {"writeBool", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_1writeBool, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_1writeBool(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      int __pyx_v_n;
      unsigned char *__pyx_v_buffer;
      Py_ssize_t __pyx_v_head;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("writeBool (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_buffer,&__pyx_n_s_head,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 54, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 54, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("writeBool", 1, 3, 3, 1); __PYX_ERR(0, 54, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_head)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 54, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("writeBool", 1, 3, 3, 2); __PYX_ERR(0, 54, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "writeBool") < 0)) __PYX_ERR(0, 54, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_n = __Pyx_PyObject_IsTrue(values[0]); if (unlikely((__pyx_v_n == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 54, __pyx_L3_error)
        __pyx_v_buffer = __Pyx_PyObject_AsWritableUString(values[1]); if (unlikely((!__pyx_v_buffer) && PyErr_Occurred())) __PYX_ERR(0, 54, __pyx_L3_error)
        __pyx_v_head = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_head == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 54, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("writeBool", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 54, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.writeBool", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_writeBool(__pyx_self, __pyx_v_n, __pyx_v_buffer, __pyx_v_head);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_writeBool(CYTHON_UNUSED PyObject *__pyx_self, int __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head) {
      PyObject *__pyx_r = NULL;
      __Pyx_XDECREF(__pyx_r);
      __pyx_f_7flattrs_8cflattrs_7builder_writeBool(__pyx_v_n, __pyx_v_buffer, __pyx_v_head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 54, __pyx_L1_error)
      __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 54, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;

      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_1);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.writeBool", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_tuple__3 = PyTuple_Pack(3, __pyx_n_s_n, __pyx_n_s_buffer, __pyx_n_s_head); if (unlikely(!__pyx_tuple__3)) __PYX_ERR(0, 54, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_tuple__3);
      __Pyx_GIVEREF(__pyx_tuple__3);
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_1writeBool, 0, __pyx_n_s_writeBool, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__4)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 54, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (PyDict_SetItem(__pyx_d, __pyx_n_s_writeBool, __pyx_t_3) < 0) __PYX_ERR(0, 54, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_codeobj__4 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_writeBool, 54, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__4)) __PYX_ERR(0, 54, __pyx_L1_error)

    +055:     buffer[head] = 1 if n else 0

      if (__pyx_v_n) {
        __pyx_t_1 = 1;
      } else {
        __pyx_t_1 = 0;
      }
      (__pyx_v_buffer[__pyx_v_head]) = __pyx_t_1;

     056:

     057:

    +058: cpdef inline void writeUint8(uint8_t n, unsigned char* buffer, Py_ssize_t head):

    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_3writeUint8(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static CYTHON_INLINE void __pyx_f_7flattrs_8cflattrs_7builder_writeUint8(uint8_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head, CYTHON_UNUSED int __pyx_skip_dispatch) {
    /* … */
      /* function exit code */
    }

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_3writeUint8(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_3writeUint8 = {"writeUint8", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_3writeUint8, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_3writeUint8(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      uint8_t __pyx_v_n;
      unsigned char *__pyx_v_buffer;
      Py_ssize_t __pyx_v_head;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("writeUint8 (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_buffer,&__pyx_n_s_head,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 58, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 58, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("writeUint8", 1, 3, 3, 1); __PYX_ERR(0, 58, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_head)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 58, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("writeUint8", 1, 3, 3, 2); __PYX_ERR(0, 58, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "writeUint8") < 0)) __PYX_ERR(0, 58, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_n = __Pyx_PyInt_As_uint8_t(values[0]); if (unlikely((__pyx_v_n == ((uint8_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 58, __pyx_L3_error)
        __pyx_v_buffer = __Pyx_PyObject_AsWritableUString(values[1]); if (unlikely((!__pyx_v_buffer) && PyErr_Occurred())) __PYX_ERR(0, 58, __pyx_L3_error)
        __pyx_v_head = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_head == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 58, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("writeUint8", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 58, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.writeUint8", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_2writeUint8(__pyx_self, __pyx_v_n, __pyx_v_buffer, __pyx_v_head);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_2writeUint8(CYTHON_UNUSED PyObject *__pyx_self, uint8_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head) {
      PyObject *__pyx_r = NULL;
      __Pyx_XDECREF(__pyx_r);
      __pyx_f_7flattrs_8cflattrs_7builder_writeUint8(__pyx_v_n, __pyx_v_buffer, __pyx_v_head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 58, __pyx_L1_error)
      __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 58, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;

      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_1);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.writeUint8", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_3writeUint8, 0, __pyx_n_s_writeUint8, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__5)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 58, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (PyDict_SetItem(__pyx_d, __pyx_n_s_writeUint8, __pyx_t_3) < 0) __PYX_ERR(0, 58, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    /* … */
      __pyx_codeobj__5 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_writeUint8, 58, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__5)) __PYX_ERR(0, 58, __pyx_L1_error)

    +059:     buffer[head] = n & 0xFF

      (__pyx_v_buffer[__pyx_v_head]) = (__pyx_v_n & 0xFF);

     060:

     061:

    +062: cpdef inline void writeUint16(uint16_t n, unsigned char* buffer, Py_ssize_t head):

    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_5writeUint16(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static CYTHON_INLINE void __pyx_f_7flattrs_8cflattrs_7builder_writeUint16(uint16_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head, CYTHON_UNUSED int __pyx_skip_dispatch) {
    /* … */
      /* function exit code */
    }

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_5writeUint16(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_5writeUint16 = {"writeUint16", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_5writeUint16, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_5writeUint16(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      uint16_t __pyx_v_n;
      unsigned char *__pyx_v_buffer;
      Py_ssize_t __pyx_v_head;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("writeUint16 (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_buffer,&__pyx_n_s_head,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 62, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 62, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("writeUint16", 1, 3, 3, 1); __PYX_ERR(0, 62, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_head)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 62, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("writeUint16", 1, 3, 3, 2); __PYX_ERR(0, 62, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "writeUint16") < 0)) __PYX_ERR(0, 62, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_n = __Pyx_PyInt_As_uint16_t(values[0]); if (unlikely((__pyx_v_n == ((uint16_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 62, __pyx_L3_error)
        __pyx_v_buffer = __Pyx_PyObject_AsWritableUString(values[1]); if (unlikely((!__pyx_v_buffer) && PyErr_Occurred())) __PYX_ERR(0, 62, __pyx_L3_error)
        __pyx_v_head = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_head == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 62, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("writeUint16", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 62, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.writeUint16", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_4writeUint16(__pyx_self, __pyx_v_n, __pyx_v_buffer, __pyx_v_head);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_4writeUint16(CYTHON_UNUSED PyObject *__pyx_self, uint16_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head) {
      PyObject *__pyx_r = NULL;
      __Pyx_XDECREF(__pyx_r);
      __pyx_f_7flattrs_8cflattrs_7builder_writeUint16(__pyx_v_n, __pyx_v_buffer, __pyx_v_head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 62, __pyx_L1_error)
      __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 62, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;

      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_1);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.writeUint16", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_5writeUint16, 0, __pyx_n_s_writeUint16, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__6)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 62, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (PyDict_SetItem(__pyx_d, __pyx_n_s_writeUint16, __pyx_t_3) < 0) __PYX_ERR(0, 62, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    /* … */
      __pyx_codeobj__6 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_writeUint16, 62, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__6)) __PYX_ERR(0, 62, __pyx_L1_error)

    +063:     buffer[head+1] = (n >> 8) & 0xFF

      (__pyx_v_buffer[(__pyx_v_head + 1)]) = ((__pyx_v_n >> 8) & 0xFF);

    +064:     buffer[head] = n & 0xFF

      (__pyx_v_buffer[__pyx_v_head]) = (__pyx_v_n & 0xFF);

     065:

     066:

    +067: cpdef inline void writeUint32(uint32_t n, unsigned char* buffer, Py_ssize_t head):

    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7writeUint32(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static CYTHON_INLINE void __pyx_f_7flattrs_8cflattrs_7builder_writeUint32(uint32_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head, CYTHON_UNUSED int __pyx_skip_dispatch) {
    /* … */
      /* function exit code */
    }

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7writeUint32(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7writeUint32 = {"writeUint32", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7writeUint32, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7writeUint32(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      uint32_t __pyx_v_n;
      unsigned char *__pyx_v_buffer;
      Py_ssize_t __pyx_v_head;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("writeUint32 (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_buffer,&__pyx_n_s_head,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 67, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 67, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("writeUint32", 1, 3, 3, 1); __PYX_ERR(0, 67, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_head)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 67, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("writeUint32", 1, 3, 3, 2); __PYX_ERR(0, 67, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "writeUint32") < 0)) __PYX_ERR(0, 67, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_n = __Pyx_PyInt_As_uint32_t(values[0]); if (unlikely((__pyx_v_n == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 67, __pyx_L3_error)
        __pyx_v_buffer = __Pyx_PyObject_AsWritableUString(values[1]); if (unlikely((!__pyx_v_buffer) && PyErr_Occurred())) __PYX_ERR(0, 67, __pyx_L3_error)
        __pyx_v_head = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_head == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 67, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("writeUint32", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 67, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.writeUint32", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_6writeUint32(__pyx_self, __pyx_v_n, __pyx_v_buffer, __pyx_v_head);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_6writeUint32(CYTHON_UNUSED PyObject *__pyx_self, uint32_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head) {
      PyObject *__pyx_r = NULL;
      __Pyx_XDECREF(__pyx_r);
      __pyx_f_7flattrs_8cflattrs_7builder_writeUint32(__pyx_v_n, __pyx_v_buffer, __pyx_v_head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 67, __pyx_L1_error)
      __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 67, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;

      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_1);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.writeUint32", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7writeUint32, 0, __pyx_n_s_writeUint32, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__7)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 67, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (PyDict_SetItem(__pyx_d, __pyx_n_s_writeUint32, __pyx_t_3) < 0) __PYX_ERR(0, 67, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    /* … */
      __pyx_codeobj__7 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_writeUint32, 67, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__7)) __PYX_ERR(0, 67, __pyx_L1_error)

    +068:     buffer[head+3] = (n >> 24) & 0xFF

      (__pyx_v_buffer[(__pyx_v_head + 3)]) = ((__pyx_v_n >> 24) & 0xFF);

    +069:     buffer[head+2] = (n >> 16) & 0xFF

      (__pyx_v_buffer[(__pyx_v_head + 2)]) = ((__pyx_v_n >> 16) & 0xFF);

    +070:     buffer[head+1] = (n >> 8) & 0xFF

      (__pyx_v_buffer[(__pyx_v_head + 1)]) = ((__pyx_v_n >> 8) & 0xFF);

    +071:     buffer[head] = n & 0xFF

      (__pyx_v_buffer[__pyx_v_head]) = (__pyx_v_n & 0xFF);

     072:

     073:

    +074: cpdef inline void writeUint64(uint64_t n, unsigned char* buffer, Py_ssize_t head):

    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_9writeUint64(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static CYTHON_INLINE void __pyx_f_7flattrs_8cflattrs_7builder_writeUint64(uint64_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head, CYTHON_UNUSED int __pyx_skip_dispatch) {
    /* … */
      /* function exit code */
    }

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_9writeUint64(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_9writeUint64 = {"writeUint64", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_9writeUint64, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_9writeUint64(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      uint64_t __pyx_v_n;
      unsigned char *__pyx_v_buffer;
      Py_ssize_t __pyx_v_head;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("writeUint64 (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_buffer,&__pyx_n_s_head,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 74, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 74, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("writeUint64", 1, 3, 3, 1); __PYX_ERR(0, 74, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_head)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 74, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("writeUint64", 1, 3, 3, 2); __PYX_ERR(0, 74, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "writeUint64") < 0)) __PYX_ERR(0, 74, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_n = __Pyx_PyInt_As_uint64_t(values[0]); if (unlikely((__pyx_v_n == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 74, __pyx_L3_error)
        __pyx_v_buffer = __Pyx_PyObject_AsWritableUString(values[1]); if (unlikely((!__pyx_v_buffer) && PyErr_Occurred())) __PYX_ERR(0, 74, __pyx_L3_error)
        __pyx_v_head = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_head == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 74, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("writeUint64", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 74, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.writeUint64", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_8writeUint64(__pyx_self, __pyx_v_n, __pyx_v_buffer, __pyx_v_head);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_8writeUint64(CYTHON_UNUSED PyObject *__pyx_self, uint64_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head) {
      PyObject *__pyx_r = NULL;
      __Pyx_XDECREF(__pyx_r);
      __pyx_f_7flattrs_8cflattrs_7builder_writeUint64(__pyx_v_n, __pyx_v_buffer, __pyx_v_head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 74, __pyx_L1_error)
      __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 74, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;

      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_1);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.writeUint64", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_9writeUint64, 0, __pyx_n_s_writeUint64, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__8)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 74, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (PyDict_SetItem(__pyx_d, __pyx_n_s_writeUint64, __pyx_t_3) < 0) __PYX_ERR(0, 74, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    /* … */
      __pyx_codeobj__8 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_writeUint64, 74, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__8)) __PYX_ERR(0, 74, __pyx_L1_error)

    +075:     buffer[head+7] = (n >> 56) & 0xFF

      (__pyx_v_buffer[(__pyx_v_head + 7)]) = ((__pyx_v_n >> 56) & 0xFF);

    +076:     buffer[head+6] = (n >> 48) & 0xFF

      (__pyx_v_buffer[(__pyx_v_head + 6)]) = ((__pyx_v_n >> 48) & 0xFF);

    +077:     buffer[head+5] = (n >> 40) & 0xFF

      (__pyx_v_buffer[(__pyx_v_head + 5)]) = ((__pyx_v_n >> 40) & 0xFF);

    +078:     buffer[head+4] = (n >> 32) & 0xFF

      (__pyx_v_buffer[(__pyx_v_head + 4)]) = ((__pyx_v_n >> 32) & 0xFF);

    +079:     buffer[head+3] = (n >> 24) & 0xFF

      (__pyx_v_buffer[(__pyx_v_head + 3)]) = ((__pyx_v_n >> 24) & 0xFF);

    +080:     buffer[head+2] = (n >> 16) & 0xFF

      (__pyx_v_buffer[(__pyx_v_head + 2)]) = ((__pyx_v_n >> 16) & 0xFF);

    +081:     buffer[head+1] = (n >> 8) & 0xFF

      (__pyx_v_buffer[(__pyx_v_head + 1)]) = ((__pyx_v_n >> 8) & 0xFF);

    +082:     buffer[head] = n & 0xFF

      (__pyx_v_buffer[__pyx_v_head]) = (__pyx_v_n & 0xFF);

     083:

     084:

    +085: cpdef inline void writeInt8(int8_t n, unsigned char* buffer, Py_ssize_t head):

    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_11writeInt8(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static CYTHON_INLINE void __pyx_f_7flattrs_8cflattrs_7builder_writeInt8(int8_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head, CYTHON_UNUSED int __pyx_skip_dispatch) {
    /* … */
      /* function exit code */
    }

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_11writeInt8(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_11writeInt8 = {"writeInt8", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_11writeInt8, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_11writeInt8(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      int8_t __pyx_v_n;
      unsigned char *__pyx_v_buffer;
      Py_ssize_t __pyx_v_head;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("writeInt8 (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_buffer,&__pyx_n_s_head,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 85, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 85, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("writeInt8", 1, 3, 3, 1); __PYX_ERR(0, 85, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_head)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 85, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("writeInt8", 1, 3, 3, 2); __PYX_ERR(0, 85, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "writeInt8") < 0)) __PYX_ERR(0, 85, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_n = __Pyx_PyInt_As_int8_t(values[0]); if (unlikely((__pyx_v_n == ((int8_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 85, __pyx_L3_error)
        __pyx_v_buffer = __Pyx_PyObject_AsWritableUString(values[1]); if (unlikely((!__pyx_v_buffer) && PyErr_Occurred())) __PYX_ERR(0, 85, __pyx_L3_error)
        __pyx_v_head = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_head == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 85, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("writeInt8", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 85, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.writeInt8", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_10writeInt8(__pyx_self, __pyx_v_n, __pyx_v_buffer, __pyx_v_head);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_10writeInt8(CYTHON_UNUSED PyObject *__pyx_self, int8_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head) {
      PyObject *__pyx_r = NULL;
      __Pyx_XDECREF(__pyx_r);
      __pyx_f_7flattrs_8cflattrs_7builder_writeInt8(__pyx_v_n, __pyx_v_buffer, __pyx_v_head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 85, __pyx_L1_error)
      __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 85, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;

      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_1);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.writeInt8", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_11writeInt8, 0, __pyx_n_s_writeInt8, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__9)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 85, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (PyDict_SetItem(__pyx_d, __pyx_n_s_writeInt8, __pyx_t_3) < 0) __PYX_ERR(0, 85, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    /* … */
      __pyx_codeobj__9 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_writeInt8, 85, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__9)) __PYX_ERR(0, 85, __pyx_L1_error)

    +086:     buffer[head] = n & 0xFF

      (__pyx_v_buffer[__pyx_v_head]) = (__pyx_v_n & 0xFF);

     087:

     088:

    +089: cpdef inline void writeInt16(int16_t n, unsigned char* buffer, Py_ssize_t head):

    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_13writeInt16(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static CYTHON_INLINE void __pyx_f_7flattrs_8cflattrs_7builder_writeInt16(int16_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head, CYTHON_UNUSED int __pyx_skip_dispatch) {
    /* … */
      /* function exit code */
    }

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_13writeInt16(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_13writeInt16 = {"writeInt16", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_13writeInt16, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_13writeInt16(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      int16_t __pyx_v_n;
      unsigned char *__pyx_v_buffer;
      Py_ssize_t __pyx_v_head;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("writeInt16 (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_buffer,&__pyx_n_s_head,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 89, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 89, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("writeInt16", 1, 3, 3, 1); __PYX_ERR(0, 89, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_head)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 89, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("writeInt16", 1, 3, 3, 2); __PYX_ERR(0, 89, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "writeInt16") < 0)) __PYX_ERR(0, 89, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_n = __Pyx_PyInt_As_int16_t(values[0]); if (unlikely((__pyx_v_n == ((int16_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 89, __pyx_L3_error)
        __pyx_v_buffer = __Pyx_PyObject_AsWritableUString(values[1]); if (unlikely((!__pyx_v_buffer) && PyErr_Occurred())) __PYX_ERR(0, 89, __pyx_L3_error)
        __pyx_v_head = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_head == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 89, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("writeInt16", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 89, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.writeInt16", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_12writeInt16(__pyx_self, __pyx_v_n, __pyx_v_buffer, __pyx_v_head);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_12writeInt16(CYTHON_UNUSED PyObject *__pyx_self, int16_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head) {
      PyObject *__pyx_r = NULL;
      __Pyx_XDECREF(__pyx_r);
      __pyx_f_7flattrs_8cflattrs_7builder_writeInt16(__pyx_v_n, __pyx_v_buffer, __pyx_v_head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 89, __pyx_L1_error)
      __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 89, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;

      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_1);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.writeInt16", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_13writeInt16, 0, __pyx_n_s_writeInt16, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__10)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 89, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (PyDict_SetItem(__pyx_d, __pyx_n_s_writeInt16, __pyx_t_3) < 0) __PYX_ERR(0, 89, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    /* … */
      __pyx_codeobj__10 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_writeInt16, 89, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__10)) __PYX_ERR(0, 89, __pyx_L1_error)

    +090:     buffer[head+1] = (n >> 8) & 0xFF

      (__pyx_v_buffer[(__pyx_v_head + 1)]) = ((__pyx_v_n >> 8) & 0xFF);

    +091:     buffer[head] = n & 0xFF

      (__pyx_v_buffer[__pyx_v_head]) = (__pyx_v_n & 0xFF);

     092:

     093:

    +094: cpdef inline void writeInt32(int32_t n, unsigned char* buffer, Py_ssize_t head):

    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_15writeInt32(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static CYTHON_INLINE void __pyx_f_7flattrs_8cflattrs_7builder_writeInt32(int32_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head, CYTHON_UNUSED int __pyx_skip_dispatch) {
    /* … */
      /* function exit code */
    }

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_15writeInt32(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_15writeInt32 = {"writeInt32", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_15writeInt32, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_15writeInt32(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      int32_t __pyx_v_n;
      unsigned char *__pyx_v_buffer;
      Py_ssize_t __pyx_v_head;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("writeInt32 (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_buffer,&__pyx_n_s_head,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 94, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 94, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("writeInt32", 1, 3, 3, 1); __PYX_ERR(0, 94, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_head)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 94, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("writeInt32", 1, 3, 3, 2); __PYX_ERR(0, 94, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "writeInt32") < 0)) __PYX_ERR(0, 94, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_n = __Pyx_PyInt_As_int32_t(values[0]); if (unlikely((__pyx_v_n == ((int32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 94, __pyx_L3_error)
        __pyx_v_buffer = __Pyx_PyObject_AsWritableUString(values[1]); if (unlikely((!__pyx_v_buffer) && PyErr_Occurred())) __PYX_ERR(0, 94, __pyx_L3_error)
        __pyx_v_head = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_head == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 94, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("writeInt32", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 94, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.writeInt32", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_14writeInt32(__pyx_self, __pyx_v_n, __pyx_v_buffer, __pyx_v_head);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_14writeInt32(CYTHON_UNUSED PyObject *__pyx_self, int32_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head) {
      PyObject *__pyx_r = NULL;
      __Pyx_XDECREF(__pyx_r);
      __pyx_f_7flattrs_8cflattrs_7builder_writeInt32(__pyx_v_n, __pyx_v_buffer, __pyx_v_head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 94, __pyx_L1_error)
      __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 94, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;

      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_1);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.writeInt32", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_15writeInt32, 0, __pyx_n_s_writeInt32, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__11)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 94, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (PyDict_SetItem(__pyx_d, __pyx_n_s_writeInt32, __pyx_t_3) < 0) __PYX_ERR(0, 94, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    /* … */
      __pyx_codeobj__11 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_writeInt32, 94, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__11)) __PYX_ERR(0, 94, __pyx_L1_error)

    +095:     buffer[head+3] = (n >> 24) & 0xFF

      (__pyx_v_buffer[(__pyx_v_head + 3)]) = ((__pyx_v_n >> 24) & 0xFF);

    +096:     buffer[head+2] = (n >> 16) & 0xFF

      (__pyx_v_buffer[(__pyx_v_head + 2)]) = ((__pyx_v_n >> 16) & 0xFF);

    +097:     buffer[head+1] = (n >> 8) & 0xFF

      (__pyx_v_buffer[(__pyx_v_head + 1)]) = ((__pyx_v_n >> 8) & 0xFF);

    +098:     buffer[head] = n & 0xFF

      (__pyx_v_buffer[__pyx_v_head]) = (__pyx_v_n & 0xFF);

     099:

     100:

    +101: cpdef inline void writeInt64(int64_t n, unsigned char* buffer, Py_ssize_t head):

    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_17writeInt64(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static CYTHON_INLINE void __pyx_f_7flattrs_8cflattrs_7builder_writeInt64(int64_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head, CYTHON_UNUSED int __pyx_skip_dispatch) {
    /* … */
      /* function exit code */
    }

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_17writeInt64(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_17writeInt64 = {"writeInt64", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_17writeInt64, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_17writeInt64(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      int64_t __pyx_v_n;
      unsigned char *__pyx_v_buffer;
      Py_ssize_t __pyx_v_head;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("writeInt64 (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_buffer,&__pyx_n_s_head,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 101, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 101, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("writeInt64", 1, 3, 3, 1); __PYX_ERR(0, 101, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_head)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 101, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("writeInt64", 1, 3, 3, 2); __PYX_ERR(0, 101, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "writeInt64") < 0)) __PYX_ERR(0, 101, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_n = __Pyx_PyInt_As_int64_t(values[0]); if (unlikely((__pyx_v_n == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 101, __pyx_L3_error)
        __pyx_v_buffer = __Pyx_PyObject_AsWritableUString(values[1]); if (unlikely((!__pyx_v_buffer) && PyErr_Occurred())) __PYX_ERR(0, 101, __pyx_L3_error)
        __pyx_v_head = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_head == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 101, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("writeInt64", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 101, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.writeInt64", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_16writeInt64(__pyx_self, __pyx_v_n, __pyx_v_buffer, __pyx_v_head);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_16writeInt64(CYTHON_UNUSED PyObject *__pyx_self, int64_t __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head) {
      PyObject *__pyx_r = NULL;
      __Pyx_XDECREF(__pyx_r);
      __pyx_f_7flattrs_8cflattrs_7builder_writeInt64(__pyx_v_n, __pyx_v_buffer, __pyx_v_head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 101, __pyx_L1_error)
      __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 101, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;

      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_1);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.writeInt64", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_17writeInt64, 0, __pyx_n_s_writeInt64, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__12)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 101, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (PyDict_SetItem(__pyx_d, __pyx_n_s_writeInt64, __pyx_t_3) < 0) __PYX_ERR(0, 101, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    /* … */
      __pyx_codeobj__12 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_writeInt64, 101, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__12)) __PYX_ERR(0, 101, __pyx_L1_error)

    +102:     buffer[head+7] = (n >> 56) & 0xFF

      (__pyx_v_buffer[(__pyx_v_head + 7)]) = ((__pyx_v_n >> 56) & 0xFF);

    +103:     buffer[head+6] = (n >> 48) & 0xFF

      (__pyx_v_buffer[(__pyx_v_head + 6)]) = ((__pyx_v_n >> 48) & 0xFF);

    +104:     buffer[head+5] = (n >> 40) & 0xFF

      (__pyx_v_buffer[(__pyx_v_head + 5)]) = ((__pyx_v_n >> 40) & 0xFF);

    +105:     buffer[head+4] = (n >> 32) & 0xFF

      (__pyx_v_buffer[(__pyx_v_head + 4)]) = ((__pyx_v_n >> 32) & 0xFF);

    +106:     buffer[head+3] = (n >> 24) & 0xFF

      (__pyx_v_buffer[(__pyx_v_head + 3)]) = ((__pyx_v_n >> 24) & 0xFF);

    +107:     buffer[head+2] = (n >> 16) & 0xFF

      (__pyx_v_buffer[(__pyx_v_head + 2)]) = ((__pyx_v_n >> 16) & 0xFF);

    +108:     buffer[head+1] = (n >> 8) & 0xFF

      (__pyx_v_buffer[(__pyx_v_head + 1)]) = ((__pyx_v_n >> 8) & 0xFF);

    +109:     buffer[head] = n & 0xFF

      (__pyx_v_buffer[__pyx_v_head]) = (__pyx_v_n & 0xFF);

     110:

     111:

    +112: cdef union double2bytes:

    union __pyx_t_7flattrs_8cflattrs_7builder_double2bytes {
      double d;
      unsigned char b[8];
    };

     113:     double d

     114:     unsigned char b[8]

     115:

     116:

    +117: cpdef inline void writeFloat64(double n, unsigned char* buffer, Py_ssize_t head):

    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_19writeFloat64(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static CYTHON_INLINE void __pyx_f_7flattrs_8cflattrs_7builder_writeFloat64(double __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head, CYTHON_UNUSED int __pyx_skip_dispatch) {
      union __pyx_t_7flattrs_8cflattrs_7builder_double2bytes __pyx_v_t;
    /* … */
      /* function exit code */
    }

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_19writeFloat64(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_19writeFloat64 = {"writeFloat64", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_19writeFloat64, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_19writeFloat64(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      double __pyx_v_n;
      unsigned char *__pyx_v_buffer;
      Py_ssize_t __pyx_v_head;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("writeFloat64 (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_buffer,&__pyx_n_s_head,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 117, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 117, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("writeFloat64", 1, 3, 3, 1); __PYX_ERR(0, 117, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_head)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 117, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("writeFloat64", 1, 3, 3, 2); __PYX_ERR(0, 117, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "writeFloat64") < 0)) __PYX_ERR(0, 117, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_n = __pyx_PyFloat_AsDouble(values[0]); if (unlikely((__pyx_v_n == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 117, __pyx_L3_error)
        __pyx_v_buffer = __Pyx_PyObject_AsWritableUString(values[1]); if (unlikely((!__pyx_v_buffer) && PyErr_Occurred())) __PYX_ERR(0, 117, __pyx_L3_error)
        __pyx_v_head = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_head == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 117, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("writeFloat64", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 117, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.writeFloat64", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_18writeFloat64(__pyx_self, __pyx_v_n, __pyx_v_buffer, __pyx_v_head);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_18writeFloat64(CYTHON_UNUSED PyObject *__pyx_self, double __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head) {
      PyObject *__pyx_r = NULL;
      __Pyx_XDECREF(__pyx_r);
      __pyx_f_7flattrs_8cflattrs_7builder_writeFloat64(__pyx_v_n, __pyx_v_buffer, __pyx_v_head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 117, __pyx_L1_error)
      __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 117, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;

      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_1);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.writeFloat64", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_19writeFloat64, 0, __pyx_n_s_writeFloat64, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__13)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 117, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (PyDict_SetItem(__pyx_d, __pyx_n_s_writeFloat64, __pyx_t_3) < 0) __PYX_ERR(0, 117, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    /* … */
      __pyx_codeobj__13 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_writeFloat64, 117, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__13)) __PYX_ERR(0, 117, __pyx_L1_error)

     118:     cdef double2bytes t

    +119:     t.d = n

      __pyx_v_t.d = __pyx_v_n;

    +120:     buffer[head+7] = t.b[7]

      (__pyx_v_buffer[(__pyx_v_head + 7)]) = (__pyx_v_t.b[7]);

    +121:     buffer[head+6] = t.b[6]

      (__pyx_v_buffer[(__pyx_v_head + 6)]) = (__pyx_v_t.b[6]);

    +122:     buffer[head+5] = t.b[5]

      (__pyx_v_buffer[(__pyx_v_head + 5)]) = (__pyx_v_t.b[5]);

    +123:     buffer[head+4] = t.b[4]

      (__pyx_v_buffer[(__pyx_v_head + 4)]) = (__pyx_v_t.b[4]);

    +124:     buffer[head+3] = t.b[3]

      (__pyx_v_buffer[(__pyx_v_head + 3)]) = (__pyx_v_t.b[3]);

    +125:     buffer[head+2] = t.b[2]

      (__pyx_v_buffer[(__pyx_v_head + 2)]) = (__pyx_v_t.b[2]);

    +126:     buffer[head+1] = t.b[1]

      (__pyx_v_buffer[(__pyx_v_head + 1)]) = (__pyx_v_t.b[1]);

    +127:     buffer[head] = t.b[0]

      (__pyx_v_buffer[__pyx_v_head]) = (__pyx_v_t.b[0]);

     128:

     129:

    +130: cdef union float2bytes:

    union __pyx_t_7flattrs_8cflattrs_7builder_float2bytes {
      float f;
      unsigned char b[8];
    };

     131:     float f

     132:     unsigned char b[8]

     133:

     134:

    +135: cpdef inline void writeFloat32(float n, unsigned char* buffer, Py_ssize_t head):

    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_21writeFloat32(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static CYTHON_INLINE void __pyx_f_7flattrs_8cflattrs_7builder_writeFloat32(float __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head, CYTHON_UNUSED int __pyx_skip_dispatch) {
      union __pyx_t_7flattrs_8cflattrs_7builder_float2bytes __pyx_v_t;
    /* … */
      /* function exit code */
    }

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_21writeFloat32(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_21writeFloat32 = {"writeFloat32", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_21writeFloat32, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_21writeFloat32(PyObject *__pyx_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      float __pyx_v_n;
      unsigned char *__pyx_v_buffer;
      Py_ssize_t __pyx_v_head;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("writeFloat32 (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_n,&__pyx_n_s_buffer,&__pyx_n_s_head,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_n)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 135, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_buffer)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 135, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("writeFloat32", 1, 3, 3, 1); __PYX_ERR(0, 135, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_head)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 135, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("writeFloat32", 1, 3, 3, 2); __PYX_ERR(0, 135, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "writeFloat32") < 0)) __PYX_ERR(0, 135, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_n = __pyx_PyFloat_AsFloat(values[0]); if (unlikely((__pyx_v_n == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 135, __pyx_L3_error)
        __pyx_v_buffer = __Pyx_PyObject_AsWritableUString(values[1]); if (unlikely((!__pyx_v_buffer) && PyErr_Occurred())) __PYX_ERR(0, 135, __pyx_L3_error)
        __pyx_v_head = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_head == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 135, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("writeFloat32", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 135, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.writeFloat32", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_20writeFloat32(__pyx_self, __pyx_v_n, __pyx_v_buffer, __pyx_v_head);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_20writeFloat32(CYTHON_UNUSED PyObject *__pyx_self, float __pyx_v_n, unsigned char *__pyx_v_buffer, Py_ssize_t __pyx_v_head) {
      PyObject *__pyx_r = NULL;
      __Pyx_XDECREF(__pyx_r);
      __pyx_f_7flattrs_8cflattrs_7builder_writeFloat32(__pyx_v_n, __pyx_v_buffer, __pyx_v_head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 135, __pyx_L1_error)
      __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 135, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;

      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_1);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.writeFloat32", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_21writeFloat32, 0, __pyx_n_s_writeFloat32, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__14)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 135, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (PyDict_SetItem(__pyx_d, __pyx_n_s_writeFloat32, __pyx_t_3) < 0) __PYX_ERR(0, 135, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
    /* … */
      __pyx_codeobj__14 = (PyObject*)__Pyx_PyCode_New(3, 0, 0, 3, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__3, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_writeFloat32, 135, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__14)) __PYX_ERR(0, 135, __pyx_L1_error)

     136:     cdef float2bytes t

    +137:     t.f = n

      __pyx_v_t.f = __pyx_v_n;

    +138:     buffer[head+3] = t.b[3]

      (__pyx_v_buffer[(__pyx_v_head + 3)]) = (__pyx_v_t.b[3]);

    +139:     buffer[head+2] = t.b[2]

      (__pyx_v_buffer[(__pyx_v_head + 2)]) = (__pyx_v_t.b[2]);

    +140:     buffer[head+1] = t.b[1]

      (__pyx_v_buffer[(__pyx_v_head + 1)]) = (__pyx_v_t.b[1]);

    +141:     buffer[head] = t.b[0]

      (__pyx_v_buffer[__pyx_v_head]) = (__pyx_v_t.b[0]);

     142:

     143:

    +144: class OffsetArithmeticError(RuntimeError):

      __pyx_tuple__15 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__15)) __PYX_ERR(0, 144, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_tuple__15);
      __Pyx_GIVEREF(__pyx_tuple__15);
    /* … */
      __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_tuple__16); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 144, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 144, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_3, __pyx_n_s_OffsetArithmeticError, __pyx_n_s_OffsetArithmeticError, (PyObject *) NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_kp_s_Error_caused_by_an_Offset_arith); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 144, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__pyx_t_3 != __pyx_tuple__16) {
        if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_tuple__16) < 0))) __PYX_ERR(0, 144, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_OffsetArithmeticError, __pyx_t_3, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 144, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (PyDict_SetItem(__pyx_d, __pyx_n_s_OffsetArithmeticError, __pyx_t_6) < 0) __PYX_ERR(0, 144, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_tuple__16 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__16)) __PYX_ERR(0, 144, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_tuple__16);
      __Pyx_GIVEREF(__pyx_tuple__16);

     145:     """

     146:     Error caused by an Offset arithmetic error. Probably caused by bad

     147:     writing of fields. This is considered an unreachable situation in

     148:     normal circumstances.

     149:     """

     150:     pass

     151:

     152:

    +153: class IsNotNestedError(RuntimeError):

      __pyx_tuple__17 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__17)) __PYX_ERR(0, 153, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_tuple__17);
      __Pyx_GIVEREF(__pyx_tuple__17);
    /* … */
      __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_tuple__18); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 153, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 153, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_3, __pyx_n_s_IsNotNestedError, __pyx_n_s_IsNotNestedError, (PyObject *) NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_kp_s_Error_caused_by_using_a_Builder); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 153, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__pyx_t_3 != __pyx_tuple__18) {
        if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_tuple__18) < 0))) __PYX_ERR(0, 153, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_IsNotNestedError, __pyx_t_3, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 153, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (PyDict_SetItem(__pyx_d, __pyx_n_s_IsNotNestedError, __pyx_t_6) < 0) __PYX_ERR(0, 153, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_tuple__18 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__18)) __PYX_ERR(0, 153, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_tuple__18);
      __Pyx_GIVEREF(__pyx_tuple__18);

     154:     """

     155:     Error caused by using a Builder to write Object data when not inside

     156:     an Object.

     157:     """

     158:     pass

     159:

     160:

    +161: class IsNestedError(RuntimeError):

      __pyx_tuple__19 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__19)) __PYX_ERR(0, 161, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_tuple__19);
      __Pyx_GIVEREF(__pyx_tuple__19);
    /* … */
      __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_tuple__20); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 161, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 161, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_3, __pyx_n_s_IsNestedError, __pyx_n_s_IsNestedError, (PyObject *) NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_kp_s_Error_caused_by_using_a_Builder_2); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 161, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__pyx_t_3 != __pyx_tuple__20) {
        if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_tuple__20) < 0))) __PYX_ERR(0, 161, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_IsNestedError, __pyx_t_3, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 161, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (PyDict_SetItem(__pyx_d, __pyx_n_s_IsNestedError, __pyx_t_6) < 0) __PYX_ERR(0, 161, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_tuple__20 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__20)) __PYX_ERR(0, 161, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_tuple__20);
      __Pyx_GIVEREF(__pyx_tuple__20);

     162:     """

     163:     Error caused by using a Builder to begin an Object when an Object is

     164:     already being built.

     165:     """

     166:     pass

     167:

     168:

    +169: class StructIsNotInlineError(RuntimeError):

      __pyx_tuple__21 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__21)) __PYX_ERR(0, 169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_tuple__21);
      __Pyx_GIVEREF(__pyx_tuple__21);
    /* … */
      __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_tuple__22); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_3, __pyx_n_s_StructIsNotInlineError, __pyx_n_s_StructIsNotInlineError, (PyObject *) NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_kp_s_Error_caused_by_using_a_Builder_3); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__pyx_t_3 != __pyx_tuple__22) {
        if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_tuple__22) < 0))) __PYX_ERR(0, 169, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_StructIsNotInlineError, __pyx_t_3, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (PyDict_SetItem(__pyx_d, __pyx_n_s_StructIsNotInlineError, __pyx_t_6) < 0) __PYX_ERR(0, 169, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_tuple__22 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__22)) __PYX_ERR(0, 169, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_tuple__22);
      __Pyx_GIVEREF(__pyx_tuple__22);

     170:     """

     171:     Error caused by using a Builder to write a Struct at a location that

     172:     is not the current Offset.

     173:     """

     174:     pass

     175:

     176:

    +177: class BuilderSizeError(RuntimeError):

      __pyx_tuple__23 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__23)) __PYX_ERR(0, 177, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_tuple__23);
      __Pyx_GIVEREF(__pyx_tuple__23);
    /* … */
      __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_tuple__24); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 177, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 177, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_3, __pyx_n_s_BuilderSizeError, __pyx_n_s_BuilderSizeError, (PyObject *) NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_kp_s_Error_caused_by_causing_a_Build); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 177, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__pyx_t_3 != __pyx_tuple__24) {
        if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_tuple__24) < 0))) __PYX_ERR(0, 177, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_BuilderSizeError, __pyx_t_3, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 177, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (PyDict_SetItem(__pyx_d, __pyx_n_s_BuilderSizeError, __pyx_t_6) < 0) __PYX_ERR(0, 177, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_tuple__24 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__24)) __PYX_ERR(0, 177, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_tuple__24);
      __Pyx_GIVEREF(__pyx_tuple__24);

     178:     """

     179:     Error caused by causing a Builder to exceed the hardcoded limit of 2

     180:     gigabytes.

     181:     """

     182:     pass

     183:

    +184: class BuilderNotFinishedError(RuntimeError):

      __pyx_tuple__25 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__25)) __PYX_ERR(0, 184, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_tuple__25);
      __Pyx_GIVEREF(__pyx_tuple__25);
    /* … */
      __pyx_t_3 = __Pyx_PEP560_update_bases(__pyx_tuple__26); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 184, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_t_2 = __Pyx_CalculateMetaclass(NULL, __pyx_t_3); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 184, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_5 = __Pyx_Py3MetaclassPrepare(__pyx_t_2, __pyx_t_3, __pyx_n_s_BuilderNotFinishedError, __pyx_n_s_BuilderNotFinishedError, (PyObject *) NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_kp_s_Error_caused_by_not_calling_Fin); if (unlikely(!__pyx_t_5)) __PYX_ERR(0, 184, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_5);
      if (__pyx_t_3 != __pyx_tuple__26) {
        if (unlikely((PyDict_SetItemString(__pyx_t_5, "__orig_bases__", __pyx_tuple__26) < 0))) __PYX_ERR(0, 184, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_Py3ClassCreate(__pyx_t_2, __pyx_n_s_BuilderNotFinishedError, __pyx_t_3, __pyx_t_5, NULL, 0, 0); if (unlikely(!__pyx_t_6)) __PYX_ERR(0, 184, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_6);
      if (PyDict_SetItem(__pyx_d, __pyx_n_s_BuilderNotFinishedError, __pyx_t_6) < 0) __PYX_ERR(0, 184, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_6); __pyx_t_6 = 0;
      __Pyx_DECREF(__pyx_t_5); __pyx_t_5 = 0;
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      __pyx_tuple__26 = PyTuple_Pack(1, __pyx_builtin_RuntimeError); if (unlikely(!__pyx_tuple__26)) __PYX_ERR(0, 184, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_tuple__26);
      __Pyx_GIVEREF(__pyx_tuple__26);

     185:     """

     186:     Error caused by not calling `Finish` before calling `Output`.

     187:     """

     188:     pass

     189:

     190:

     191: # VtableMetadataFields is the count of metadata fields in each vtable.

    +192: cdef unsigned int VtableMetadataFields = 2

      __pyx_v_7flattrs_8cflattrs_7builder_VtableMetadataFields = 2;

    +193: cdef unsigned int MAX_BUFFER_SIZE = 2**31

      __pyx_v_7flattrs_8cflattrs_7builder_MAX_BUFFER_SIZE = 0x80000000;

     194:

    +195: cdef class Builder(object):

    struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder {
      PyObject_HEAD
      struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *__pyx_vtab;
      unsigned char *buffer;
      Py_ssize_t buffer_length;
      Py_ssize_t *current_vtable;
      Py_ssize_t current_vtable_length;
      Py_ssize_t head;
      Py_ssize_t minalign;
      int objectEnd;
      struct __pyx_t_7flattrs_8cflattrs_7builder_StoredVtable *vtables;
      int nested;
      int finished;
      Py_ssize_t vectorNumElems;
    };

    struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder {
      Py_ssize_t (*WriteVtable)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *);
      void (*growByteBuffer)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *);
      Py_ssize_t (*Offset)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *);
      PyObject *(*Pad)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, Py_ssize_t);
      void (*Prep)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, Py_ssize_t, Py_ssize_t);
      void (*PrependSOffsetTRelative)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, int);
      void (*PrependUOffsetTRelative)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, Py_ssize_t, int __pyx_skip_dispatch);
      Py_ssize_t (*EndVector)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, int __pyx_skip_dispatch);
      Py_ssize_t (*CreateString)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, PyObject *, int __pyx_skip_dispatch, struct __pyx_opt_args_7flattrs_8cflattrs_7builder_7Builder_CreateString *__pyx_optional_args);
      Py_ssize_t (*CreateByteVector)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, PyObject *, int __pyx_skip_dispatch);
      void (*assertNested)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *);
      void (*assertNotNested)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *);
      void (*assertStructIsInline)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, Py_ssize_t);
      void (*Slot)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, Py_ssize_t);
      Py_ssize_t (*_Builder__Finish)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, Py_ssize_t, int);
      void (*Prepend)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, struct __pyx_t_7flattrs_8cflattrs_7builder_FlatbufferType *, int64_t);
      void (*PrependSlot)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, struct __pyx_t_7flattrs_8cflattrs_7builder_FlatbufferType *, Py_ssize_t, int64_t, int64_t);
      PyObject *(*PrependStructSlot)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, PyObject *, PyObject *, PyObject *);
      PyObject *(*PrependInt32)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, int32_t, int __pyx_skip_dispatch);
      void (*PrependVOffsetT)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, uint16_t);
      void (*Place)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, uint64_t, struct __pyx_t_7flattrs_8cflattrs_7builder_FlatbufferType *);
      void (*PlaceVOffsetT)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, uint16_t);
      void (*PlaceSOffsetT)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, int32_t);
      void (*PlaceUOffsetT)(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *, uint32_t);
    };
    static struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *__pyx_vtabptr_7flattrs_8cflattrs_7builder_Builder;

     196:     """ A Builder is used to construct one or more FlatBuffers.

     197:

     198:     Typically, Builder objects will be used from code generated by the `flatc`

     199:     compiler.

     200:

     201:     A Builder constructs byte buffers in a last-first manner for simplicity and

     202:     performance during reading.

     203:

     204:     Internally, a Builder is a state machine for creating FlatBuffer objects.

     205:

     206:     It holds the following internal state:

     207:         - Bytes: an array of bytes.

     208:         - current_vtable: a list of integers.

     209:         - vtables: a list of vtable entries (i.e. a list of list of integers).

     210:

     211:     Attributes:

     212:       Bytes: The internal `bytearray` for the Builder.

     213:       finished: A boolean determining if the Builder has been finalized.

     214:     """

     215:     cdef unsigned char* buffer

     216:     cdef Py_ssize_t buffer_length

     217:     cdef Py_ssize_t* current_vtable

     218:     cdef Py_ssize_t current_vtable_length

     219:     cdef Py_ssize_t head

     220:     cdef Py_ssize_t minalign

     221:     cdef int objectEnd

     222:     cdef StoredVtable* vtables

     223:     cdef bint nested

     224:     cdef bint finished

     225:     cdef Py_ssize_t vectorNumElems

     226:

    +227:     def __init__(self, Py_ssize_t initialSize):

    /* Python wrapper */
    static int __pyx_pw_7flattrs_8cflattrs_7builder_7Builder_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds); /*proto*/
    PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder___init__, "Initializes a Builder of size `initial_size`.\n\n        The internal buffer is grown as needed.\n        ");
    #if CYTHON_UPDATE_DESCRIPTOR_DOC
    struct wrapperbase __pyx_wrapperbase_7flattrs_8cflattrs_7builder_7Builder___init__;
    #endif
    static int __pyx_pw_7flattrs_8cflattrs_7builder_7Builder_1__init__(PyObject *__pyx_v_self, PyObject *__pyx_args, PyObject *__pyx_kwds) {
      Py_ssize_t __pyx_v_initialSize;
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      int __pyx_r;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("__init__ (wrapper)", 0);
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return -1;
      #endif
      __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_initialSize,0};
      PyObject* values[1] = {0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  1: values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_VARARGS(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_VARARGS(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_initialSize)) != 0)) {
              (void)__Pyx_Arg_NewRef_VARARGS(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 227, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "__init__") < 0)) __PYX_ERR(0, 227, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 1)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_VARARGS(__pyx_args, 0);
        }
        __pyx_v_initialSize = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_initialSize == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 227, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("__init__", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 227, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return -1;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder___init__(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_initialSize);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_VARARGS(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static int __pyx_pf_7flattrs_8cflattrs_7builder_7Builder___init__(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_initialSize) {
      PyObject *__pyx_v_msg = NULL;
      int __pyx_r;
    /* … */
      /* function exit code */
      __pyx_r = 0;
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_3);
      __Pyx_XDECREF(__pyx_t_4);
      __Pyx_XDECREF(__pyx_t_5);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.__init__", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = -1;
      __pyx_L0:;
      __Pyx_XDECREF(__pyx_v_msg);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

     228:         """Initializes a Builder of size `initial_size`.

     229:

     230:         The internal buffer is grown as needed.

     231:         """

     232:

    +233:         if not (0 <= initialSize <= MAX_BUFFER_SIZE):

      __pyx_t_1 = (0 <= __pyx_v_initialSize);
      if (__pyx_t_1) {
        __pyx_t_1 = (__pyx_v_initialSize <= __pyx_v_7flattrs_8cflattrs_7builder_MAX_BUFFER_SIZE);
      }
      __pyx_t_2 = (!__pyx_t_1);
      if (unlikely(__pyx_t_2)) {
    /* … */
      }

    +234:             msg = "flatbuffers: Cannot create Builder larger than 2 gigabytes."

        __Pyx_INCREF(__pyx_kp_u_flatbuffers_Cannot_create_Builde);
        __pyx_v_msg = __pyx_kp_u_flatbuffers_Cannot_create_Builde;

    +235:             raise BuilderSizeError(msg)

        __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_BuilderSizeError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 235, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_5 = NULL;
        __pyx_t_6 = 0;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
          if (likely(__pyx_t_5)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
            __Pyx_INCREF(__pyx_t_5);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_4, function);
            __pyx_t_6 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_msg};
          __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 235, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        }
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 235, __pyx_L1_error)

    +236:         self.buffer = <unsigned char*> PyMem_Malloc(sizeof(unsigned char) * initialSize)

      __pyx_v_self->buffer = ((unsigned char *)PyMem_Malloc(((sizeof(unsigned char)) * __pyx_v_initialSize)));

    +237:         if self.buffer is NULL:

      __pyx_t_2 = (__pyx_v_self->buffer == NULL);
      if (unlikely(__pyx_t_2)) {
    /* … */
      }

    +238:             raise MemoryError()

        PyErr_NoMemory(); __PYX_ERR(0, 238, __pyx_L1_error)

    +239:         memset(self.buffer, 0, sizeof(unsigned char) * initialSize)

      (void)(memset(__pyx_v_self->buffer, 0, ((sizeof(unsigned char)) * __pyx_v_initialSize)));

    +240:         self.buffer_length = initialSize

      __pyx_v_self->buffer_length = __pyx_v_initialSize;

    +241:         self.current_vtable = NULL

      __pyx_v_self->current_vtable = NULL;

    +242:         self.current_vtable_length = 0

      __pyx_v_self->current_vtable_length = 0;

    +243:         self.head = initialSize

      __pyx_v_self->head = __pyx_v_initialSize;

    +244:         self.minalign = 1

      __pyx_v_self->minalign = 1;

    +245:         self.objectEnd = -1

      __pyx_v_self->objectEnd = -1;

    +246:         self.nested = False

      __pyx_v_self->nested = 0;

    +247:         self.finished = False

      __pyx_v_self->finished = 0;

    +248:         self.vtables = NULL

      __pyx_v_self->vtables = NULL;

    +249:         self.vectorNumElems = 0

      __pyx_v_self->vectorNumElems = 0;

     250:

    +251:     def __dealloc__(self):

    /* Python wrapper */
    static void __pyx_pw_7flattrs_8cflattrs_7builder_7Builder_3__dealloc__(PyObject *__pyx_v_self); /*proto*/
    static void __pyx_pw_7flattrs_8cflattrs_7builder_7Builder_3__dealloc__(PyObject *__pyx_v_self) {
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("__dealloc__ (wrapper)", 0);
      __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
      __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_2__dealloc__(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self));

      /* function exit code */
      __Pyx_RefNannyFinishContext();
    }

    static void __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_2__dealloc__(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self) {
      struct __pyx_t_7flattrs_8cflattrs_7builder_StoredVtable *__pyx_v_next;
    /* … */
      /* function exit code */
    }

    +252:         PyMem_Free(self.buffer)

      PyMem_Free(__pyx_v_self->buffer);

    +253:         if self.current_vtable != NULL:

      __pyx_t_1 = (__pyx_v_self->current_vtable != NULL);
      if (__pyx_t_1) {
    /* … */
      }

    +254:             PyMem_Free(self.current_vtable)

        PyMem_Free(__pyx_v_self->current_vtable);

    +255:             self.current_vtable = NULL

        __pyx_v_self->current_vtable = NULL;

    +256:             self.current_vtable_length = 0

        __pyx_v_self->current_vtable_length = 0;

    +257:         while self.vtables is not NULL:

      while (1) {
        __pyx_t_1 = (__pyx_v_self->vtables != NULL);
        if (!__pyx_t_1) break;

    +258:             next = self.vtables.next

        __pyx_t_2 = __pyx_v_self->vtables->next;
        __pyx_v_next = __pyx_t_2;

    +259:             PyMem_Free(self.vtables.vtable)

        PyMem_Free(__pyx_v_self->vtables->vtable);

    +260:             PyMem_Free(self.vtables)

        PyMem_Free(__pyx_v_self->vtables);

    +261:             self.vtables = next

        __pyx_v_self->vtables = __pyx_v_next;
      }

     262:

    +263:     def Output(self):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_5Output(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_4Output, "Return the portion of the buffer that has been used for writing data.\n\n        This is the typical way to access the FlatBuffer data inside the\n        builder. If you try to access `Builder.Bytes` directly, you would need\n        to manually index it with `Head()`, since the buffer is constructed\n        backwards.\n\n        It raises BuilderNotFinishedError if the buffer has not been finished\n        with `Finish`.\n        ");
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_5Output = {"Output", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_5Output, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_4Output};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_5Output(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("Output (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      if (unlikely(__pyx_nargs > 0)) {
        __Pyx_RaiseArgtupleInvalid("Output", 1, 0, 0, __pyx_nargs); return NULL;}
      if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "Output", 0))) return NULL;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_4Output(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self));

      /* function exit code */
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_4Output(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self) {
      PyObject *__pyx_v_res = 0;
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_2);
      __Pyx_XDECREF(__pyx_t_3);
      __Pyx_XDECREF(__pyx_t_4);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.Output", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XDECREF(__pyx_v_res);
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_tuple__27 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_res); if (unlikely(!__pyx_tuple__27)) __PYX_ERR(0, 263, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_tuple__27);
      __Pyx_GIVEREF(__pyx_tuple__27);
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_5Output, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_Output, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__28)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 263, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_Output, __pyx_t_3) < 0) __PYX_ERR(0, 263, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
      __pyx_codeobj__28 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__27, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_Output, 263, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__28)) __PYX_ERR(0, 263, __pyx_L1_error)

     264:         """Return the portion of the buffer that has been used for writing data.

     265:

     266:         This is the typical way to access the FlatBuffer data inside the

     267:         builder. If you try to access `Builder.Bytes` directly, you would need

     268:         to manually index it with `Head()`, since the buffer is constructed

     269:         backwards.

     270:

     271:         It raises BuilderNotFinishedError if the buffer has not been finished

     272:         with `Finish`.

     273:         """

     274:

    +275:         if not self.finished:

      __pyx_t_1 = (!__pyx_v_self->finished);
      if (unlikely(__pyx_t_1)) {
    /* … */
      }

    +276:             raise BuilderNotFinishedError()

        __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_BuilderNotFinishedError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 276, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = NULL;
        __pyx_t_5 = 0;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_3))) {
          __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
          if (likely(__pyx_t_4)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
            __Pyx_INCREF(__pyx_t_4);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_3, function);
            __pyx_t_5 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 276, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        }
        __Pyx_Raise(__pyx_t_2, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __PYX_ERR(0, 276, __pyx_L1_error)

     277:

    +278:         cdef bytes res = self.buffer[self.head:self.buffer_length]

      __pyx_t_2 = __Pyx_PyBytes_FromStringAndSize(((const char*)__pyx_v_self->buffer) + __pyx_v_self->head, __pyx_v_self->buffer_length - __pyx_v_self->head); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 278, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_v_res = ((PyObject*)__pyx_t_2);
      __pyx_t_2 = 0;

     279:

    +280:         return res

      __Pyx_XDECREF(__pyx_r);
      __Pyx_INCREF(__pyx_v_res);
      __pyx_r = __pyx_v_res;
      goto __pyx_L0;

     281:

    +282:     @property

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_5Bytes_1__get__(PyObject *__pyx_v_self); /*proto*/
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_5Bytes_1__get__(PyObject *__pyx_v_self) {
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("__get__ (wrapper)", 0);
      __pyx_kwvalues = __Pyx_KwValues_VARARGS(__pyx_args, __pyx_nargs);
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_5Bytes___get__(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self));

      /* function exit code */
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_5Bytes___get__(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_1);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.Bytes.__get__", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

     283:     def Bytes(self):

    +284:         return self.buffer[0:self.buffer_length]

      __Pyx_XDECREF(__pyx_r);
      __pyx_t_1 = __Pyx_PyBytes_FromStringAndSize(((const char*)__pyx_v_self->buffer) + 0, __pyx_v_self->buffer_length - 0); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 284, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;

     285:

    +286:     def StartObject(self, int numfields):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_7StartObject(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_6StartObject, "StartObject initializes bookkeeping for writing a new object.");
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_7StartObject = {"StartObject", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_7StartObject, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_6StartObject};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_7StartObject(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      int __pyx_v_numfields;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("StartObject (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_numfields,0};
      PyObject* values[1] = {0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numfields)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 286, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "StartObject") < 0)) __PYX_ERR(0, 286, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 1)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        }
        __pyx_v_numfields = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_numfields == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 286, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("StartObject", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 286, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.StartObject", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_6StartObject(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_numfields);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_6StartObject(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, int __pyx_v_numfields) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.StartObject", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_tuple__29 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_numfields); if (unlikely(!__pyx_tuple__29)) __PYX_ERR(0, 286, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_tuple__29);
      __Pyx_GIVEREF(__pyx_tuple__29);
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_7StartObject, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_StartObject, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__30)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 286, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_StartObject, __pyx_t_3) < 0) __PYX_ERR(0, 286, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
      __pyx_codeobj__30 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__29, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_StartObject, 286, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__30)) __PYX_ERR(0, 286, __pyx_L1_error)

     287:         """StartObject initializes bookkeeping for writing a new object."""

     288:

    +289:         self.assertNotNested()

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->assertNotNested(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 289, __pyx_L1_error)

     290:

    +291:         if numfields > 0:

      __pyx_t_1 = (__pyx_v_numfields > 0);
      if (__pyx_t_1) {
    /* … */
      }

    +292:             self.current_vtable = <Py_ssize_t*>PyMem_Malloc(sizeof(Py_ssize_t) * numfields)

        __pyx_v_self->current_vtable = ((Py_ssize_t *)PyMem_Malloc(((sizeof(Py_ssize_t)) * __pyx_v_numfields)));

    +293:             if self.current_vtable is NULL:

        __pyx_t_1 = (__pyx_v_self->current_vtable == NULL);
        if (unlikely(__pyx_t_1)) {
    /* … */
        }

    +294:                 raise MemoryError()

          PyErr_NoMemory(); __PYX_ERR(0, 294, __pyx_L1_error)

    +295:             memset(self.current_vtable, 0, sizeof(Py_ssize_t) * numfields)

        (void)(memset(__pyx_v_self->current_vtable, 0, ((sizeof(Py_ssize_t)) * __pyx_v_numfields)));

    +296:         self.current_vtable_length = numfields

      __pyx_v_self->current_vtable_length = __pyx_v_numfields;

    +297:         self.objectEnd = self.Offset()

      __pyx_t_2 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 297, __pyx_L1_error)
      __pyx_v_self->objectEnd = __pyx_t_2;

    +298:         self.nested = True

      __pyx_v_self->nested = 1;

     299:

    +300:     cdef Py_ssize_t WriteVtable(self):

    static Py_ssize_t __pyx_f_7flattrs_8cflattrs_7builder_7Builder_WriteVtable(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self) {
      Py_ssize_t __pyx_v_objectOffset;
      Py_ssize_t __pyx_v_i;
      Py_ssize_t __pyx_v_off;
      Py_ssize_t __pyx_v_objectSize;
      Py_ssize_t __pyx_v_objectStart;
      Py_ssize_t __pyx_v_vBytes;
      Py_ssize_t __pyx_v_effective_vtable_length;
      Py_ssize_t __pyx_v_vtable_offset;
      struct __pyx_t_7flattrs_8cflattrs_7builder_StoredVtable *__pyx_v_svt;
      Py_ssize_t __pyx_v_norm_vtable_length;
      unsigned char *__pyx_v_norm_vtable;
      Py_ssize_t __pyx_r;
    /* … */
      /* function exit code */
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.WriteVtable", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = 0;
      __pyx_L0:;
      return __pyx_r;
    }

     301:         """

     302:         WriteVtable serializes the vtable for the current object, if needed.

     303:

     304:         Before writing out the vtable, this checks pre-existing vtables for

     305:         equality to this one. If an equal vtable is found, point the object to

     306:         the existing vtable and return.

     307:

     308:         Because vtable values are sensitive to alignment of object data, not

     309:         all logically-equal vtables will be deduplicated.

     310:

     311:         A vtable has the following format:

     312:           <VOffsetT: size of the vtable in bytes, including this value>

     313:           <VOffsetT: size of the object in bytes, including the vtable offset>

     314:           <VOffsetT: offset for a field> * N, where N is the number of fields

     315:                      in the schema for this type. Includes deprecated fields.

     316:         Thus, a vtable is made of 2 + N elements, each VOffsetT bytes wide.

     317:

     318:         An object has the following format:

     319:           <SOffsetT: offset to this object's vtable (may be negative)>

     320:           <byte: data>+

     321:         """

     322:         cdef Py_ssize_t objectOffset, i, off, objectSize, objectStart, vBytes

     323:         cdef Py_ssize_t effective_vtable_length, vtable_offset

     324:         cdef StoredVtable* svt

     325:

     326:         # Prepend a zero scalar to the object. Later in this function we'll

     327:         # write an offset here that points to the object's vtable:

    +328:         self.PrependSOffsetTRelative(0)  # 32-bit value.

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependSOffsetTRelative(__pyx_v_self, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 328, __pyx_L1_error)

     329:

    +330:         objectOffset = self.Offset()

      __pyx_t_1 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 330, __pyx_L1_error)
      __pyx_v_objectOffset = __pyx_t_1;

     331:

     332:         # Trim trailing 0 offsets.

    +333:         effective_vtable_length = 0

      __pyx_v_effective_vtable_length = 0;

    +334:         for i in range(self.current_vtable_length, 0, -1):

      for (__pyx_t_1 = __pyx_v_self->current_vtable_length; __pyx_t_1 > 0; __pyx_t_1-=1) {
        __pyx_v_i = __pyx_t_1;

    +335:             if self.current_vtable[i-1] != 0:

        __pyx_t_2 = ((__pyx_v_self->current_vtable[(__pyx_v_i - 1)]) != 0);
        if (__pyx_t_2) {
    /* … */
        }
      }
      __pyx_L4_break:;

    +336:                 effective_vtable_length = i

          __pyx_v_effective_vtable_length = __pyx_v_i;

    +337:                 break

          goto __pyx_L4_break;

     338:

     339:         # Write out the current vtable in reverse, because

     340:         # serialization occurs in last-first order:

    +341:         i = effective_vtable_length - 1

      __pyx_v_i = (__pyx_v_effective_vtable_length - 1);

    +342:         cdef Py_ssize_t norm_vtable_length = sizeof(uint16_t) * effective_vtable_length

      __pyx_v_norm_vtable_length = ((sizeof(uint16_t)) * __pyx_v_effective_vtable_length);

    +343:         norm_vtable = <unsigned char*>PyMem_Malloc(norm_vtable_length)

      __pyx_v_norm_vtable = ((unsigned char *)PyMem_Malloc(__pyx_v_norm_vtable_length));

    +344:         while i >= 0:

      while (1) {
        __pyx_t_2 = (__pyx_v_i >= 0);
        if (!__pyx_t_2) break;

    +345:             off = 0

        __pyx_v_off = 0;

    +346:             if self.current_vtable[i] != 0:

        __pyx_t_2 = ((__pyx_v_self->current_vtable[__pyx_v_i]) != 0);
        if (__pyx_t_2) {
    /* … */
        }

     347:                 # Forward reference to field;

     348:                 # use 32bit number to ensure no overflow:

    +349:                 off = objectOffset - self.current_vtable[i]

          __pyx_v_off = (__pyx_v_objectOffset - (__pyx_v_self->current_vtable[__pyx_v_i]));

     350:

    +351:             writeUint16(off, norm_vtable, i*2)

        __pyx_f_7flattrs_8cflattrs_7builder_writeUint16(__pyx_v_off, __pyx_v_norm_vtable, (__pyx_v_i * 2), 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 351, __pyx_L1_error)

    +352:             i -= 1

        __pyx_v_i = (__pyx_v_i - 1);
      }

     353:

     354:         # Check if this vtable has been seen already.

    +355:         svt = self.vtables

      __pyx_t_3 = __pyx_v_self->vtables;
      __pyx_v_svt = __pyx_t_3;

    +356:         while svt is not NULL:

      while (1) {
        __pyx_t_2 = (__pyx_v_svt != NULL);
        if (!__pyx_t_2) break;

    +357:             if (svt.num_fields == effective_vtable_length and

        __pyx_t_4 = (__pyx_v_svt->num_fields == __pyx_v_effective_vtable_length);
        if (__pyx_t_4) {
        } else {
          __pyx_t_2 = __pyx_t_4;
          goto __pyx_L12_bool_binop_done;
        }
    /* … */
        if (__pyx_t_2) {
    /* … */
        }

    +358:                 memcmp(norm_vtable, svt.vtable, norm_vtable_length) == 0):

        __pyx_t_4 = (memcmp(__pyx_v_norm_vtable, __pyx_v_svt->vtable, __pyx_v_norm_vtable_length) == 0);
        __pyx_t_2 = __pyx_t_4;
        __pyx_L12_bool_binop_done:;

    +359:                 break

          goto __pyx_L10_break;

    +360:             svt = svt.next

        __pyx_t_3 = __pyx_v_svt->next;
        __pyx_v_svt = __pyx_t_3;
      }
      __pyx_L10_break:;

     361:

    +362:         if svt is not NULL:

      __pyx_t_2 = (__pyx_v_svt != NULL);
      if (__pyx_t_2) {
    /* … */
      }

    +363:             PyMem_Free(self.current_vtable)

        PyMem_Free(__pyx_v_self->current_vtable);

    +364:             self.current_vtable = NULL

        __pyx_v_self->current_vtable = NULL;

    +365:             self.current_vtable_length = 0

        __pyx_v_self->current_vtable_length = 0;

    +366:             PyMem_Free(norm_vtable)

        PyMem_Free(__pyx_v_norm_vtable);

    +367:             objectStart = self.buffer_length - objectOffset

        __pyx_v_objectStart = (__pyx_v_self->buffer_length - __pyx_v_objectOffset);

    +368:             self.head = objectStart

        __pyx_v_self->head = __pyx_v_objectStart;

     369:

     370:             # Write the offset to the found vtable in the

     371:             # already-allocated SOffsetT at the beginning of this object.

     372:             # The cached vtable contains its offset from the end of the buffer.

    +373:             vtable_offset = svt.offset

        __pyx_t_5 = __pyx_v_svt->offset;
        __pyx_v_vtable_offset = __pyx_t_5;

    +374:             writeInt32(vtable_offset - objectOffset, self.buffer, objectStart)

        __pyx_f_7flattrs_8cflattrs_7builder_writeInt32((__pyx_v_vtable_offset - __pyx_v_objectOffset), __pyx_v_self->buffer, __pyx_v_objectStart, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 374, __pyx_L1_error)

    +375:             return self.Offset()

        __pyx_t_1 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 375, __pyx_L1_error)
        __pyx_r = __pyx_t_1;
        goto __pyx_L0;

     376:

    +377:         i = effective_vtable_length - 1

      __pyx_v_i = (__pyx_v_effective_vtable_length - 1);

    +378:         while i >= 0:

      while (1) {
        __pyx_t_2 = (__pyx_v_i >= 0);
        if (!__pyx_t_2) break;

    +379:             off = 0

        __pyx_v_off = 0;

    +380:             if self.current_vtable[i] != 0:

        __pyx_t_2 = ((__pyx_v_self->current_vtable[__pyx_v_i]) != 0);
        if (__pyx_t_2) {
    /* … */
        }

     381:                 # Forward reference to field;

     382:                 # use 32bit number to ensure no overflow:

    +383:                 off = objectOffset - self.current_vtable[i]

          __pyx_v_off = (__pyx_v_objectOffset - (__pyx_v_self->current_vtable[__pyx_v_i]));

     384:

    +385:             self.PrependVOffsetT(off)

        ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependVOffsetT(__pyx_v_self, __pyx_v_off); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 385, __pyx_L1_error)

    +386:             i -= 1

        __pyx_v_i = (__pyx_v_i - 1);
      }

     387:         # The two metadata fields are written last.

     388:

     389:         # First, store the object bytesize:

    +390:         objectSize = objectOffset - self.objectEnd

      __pyx_v_objectSize = (__pyx_v_objectOffset - __pyx_v_self->objectEnd);

    +391:         self.PrependVOffsetT(objectSize)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependVOffsetT(__pyx_v_self, __pyx_v_objectSize); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 391, __pyx_L1_error)

     392:

     393:         # Second, store the vtable bytesize:

    +394:         vBytes = effective_vtable_length + VtableMetadataFields

      __pyx_v_vBytes = (__pyx_v_effective_vtable_length + __pyx_v_7flattrs_8cflattrs_7builder_VtableMetadataFields);

    +395:         vBytes *= Fb_uint16_t.bytewidth

      __pyx_v_vBytes = (__pyx_v_vBytes * __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint16_t.bytewidth);

    +396:         self.PrependVOffsetT(vBytes)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependVOffsetT(__pyx_v_self, __pyx_v_vBytes); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 396, __pyx_L1_error)

     397:

     398:         # Next, write the offset to the new vtable in the

     399:         # already-allocated SOffsetT at the beginning of this object:

    +400:         objectStart = self.buffer_length - objectOffset

      __pyx_v_objectStart = (__pyx_v_self->buffer_length - __pyx_v_objectOffset);

    +401:         writeUint32(self.Offset() - objectOffset, self.buffer, objectStart)

      __pyx_t_1 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 401, __pyx_L1_error)
      __pyx_f_7flattrs_8cflattrs_7builder_writeUint32((__pyx_t_1 - __pyx_v_objectOffset), __pyx_v_self->buffer, __pyx_v_objectStart, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 401, __pyx_L1_error)

     402:

     403:         # Finally, store this vtable in memory for future

     404:         # deduplication:

    +405:         svt = <StoredVtable*>PyMem_Malloc(sizeof(StoredVtable))

      __pyx_v_svt = ((struct __pyx_t_7flattrs_8cflattrs_7builder_StoredVtable *)PyMem_Malloc((sizeof(struct __pyx_t_7flattrs_8cflattrs_7builder_StoredVtable))));

    +406:         svt.num_fields = effective_vtable_length

      __pyx_v_svt->num_fields = __pyx_v_effective_vtable_length;

    +407:         svt.vtable = norm_vtable

      __pyx_v_svt->vtable = __pyx_v_norm_vtable;

    +408:         svt.next = self.vtables

      __pyx_t_3 = __pyx_v_self->vtables;
      __pyx_v_svt->next = __pyx_t_3;

    +409:         svt.offset = self.Offset()

      __pyx_t_1 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 409, __pyx_L1_error)
      __pyx_v_svt->offset = __pyx_t_1;

    +410:         self.vtables = svt

      __pyx_v_self->vtables = __pyx_v_svt;

     411:

    +412:         PyMem_Free(self.current_vtable)

      PyMem_Free(__pyx_v_self->current_vtable);

    +413:         self.current_vtable = NULL

      __pyx_v_self->current_vtable = NULL;

    +414:         self.current_vtable_length = 0

      __pyx_v_self->current_vtable_length = 0;

    +415:         return objectOffset

      __pyx_r = __pyx_v_objectOffset;
      goto __pyx_L0;

     416:

    +417:     def EndObject(self):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_9EndObject(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_8EndObject, "EndObject writes data necessary to finish object construction.");
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_9EndObject = {"EndObject", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_9EndObject, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_8EndObject};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_9EndObject(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("EndObject (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      if (unlikely(__pyx_nargs > 0)) {
        __Pyx_RaiseArgtupleInvalid("EndObject", 1, 0, 0, __pyx_nargs); return NULL;}
      if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "EndObject", 0))) return NULL;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_8EndObject(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self));

      /* function exit code */
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_8EndObject(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_2);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.EndObject", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_tuple__31 = PyTuple_Pack(1, __pyx_n_s_self); if (unlikely(!__pyx_tuple__31)) __PYX_ERR(0, 417, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_tuple__31);
      __Pyx_GIVEREF(__pyx_tuple__31);
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_9EndObject, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_EndObject, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__32)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 417, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_EndObject, __pyx_t_3) < 0) __PYX_ERR(0, 417, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
      __pyx_codeobj__32 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_EndObject, 417, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__32)) __PYX_ERR(0, 417, __pyx_L1_error)

     418:         """EndObject writes data necessary to finish object construction."""

    +419:         self.assertNested()

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->assertNested(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 419, __pyx_L1_error)

    +420:         self.nested = False

      __pyx_v_self->nested = 0;

    +421:         return self.WriteVtable()

      __Pyx_XDECREF(__pyx_r);
      __pyx_t_1 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->WriteVtable(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 421, __pyx_L1_error)
      __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 421, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      goto __pyx_L0;

     422:

    +423:     cdef void growByteBuffer(self):

    static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_growByteBuffer(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self) {
      Py_ssize_t __pyx_v_newSize;
      PyObject *__pyx_v_msg = NULL;
      unsigned char *__pyx_v_buffer_2;
    /* … */
      /* function exit code */
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_2);
      __Pyx_XDECREF(__pyx_t_3);
      __Pyx_XDECREF(__pyx_t_4);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.growByteBuffer", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_L0:;
      __Pyx_XDECREF(__pyx_v_msg);
      __Pyx_RefNannyFinishContext();
    }

     424:         """Doubles the size of the byteslice, and copies the old data towards

     425:            the end of the new buffer (since we build the buffer backwards)."""

     426:         cdef Py_ssize_t newSize

    +427:         if self.buffer_length == MAX_BUFFER_SIZE:

      __pyx_t_1 = (__pyx_v_self->buffer_length == __pyx_v_7flattrs_8cflattrs_7builder_MAX_BUFFER_SIZE);
      if (unlikely(__pyx_t_1)) {
    /* … */
      }

    +428:             msg = "flatbuffers: cannot grow buffer beyond 2 gigabytes"

        __Pyx_INCREF(__pyx_kp_u_flatbuffers_cannot_grow_buffer_b);
        __pyx_v_msg = __pyx_kp_u_flatbuffers_cannot_grow_buffer_b;

    +429:             raise BuilderSizeError(msg)

        __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_BuilderSizeError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 429, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = NULL;
        __pyx_t_5 = 0;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_3))) {
          __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
          if (likely(__pyx_t_4)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
            __Pyx_INCREF(__pyx_t_4);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_3, function);
            __pyx_t_5 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_msg};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 429, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        }
        __Pyx_Raise(__pyx_t_2, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __PYX_ERR(0, 429, __pyx_L1_error)

     430:

    +431:         newSize = min(self.buffer_length * 2, MAX_BUFFER_SIZE)

      __pyx_t_5 = __pyx_v_7flattrs_8cflattrs_7builder_MAX_BUFFER_SIZE;
      __pyx_t_6 = (__pyx_v_self->buffer_length * 2);
      __pyx_t_1 = (__pyx_t_5 < __pyx_t_6);
      if (__pyx_t_1) {
        __pyx_t_7 = __pyx_t_5;
      } else {
        __pyx_t_7 = __pyx_t_6;
      }
      __pyx_v_newSize = __pyx_t_7;

    +432:         if newSize == 0:

      __pyx_t_1 = (__pyx_v_newSize == 0);
      if (__pyx_t_1) {
    /* … */
      }

    +433:             newSize = 1

        __pyx_v_newSize = 1;

    +434:         buffer_2 = <unsigned char *>PyMem_Malloc(sizeof(unsigned char) * newSize)

      __pyx_v_buffer_2 = ((unsigned char *)PyMem_Malloc(((sizeof(unsigned char)) * __pyx_v_newSize)));

    +435:         memset(buffer_2, 0, sizeof(unsigned char) * newSize)

      (void)(memset(__pyx_v_buffer_2, 0, ((sizeof(unsigned char)) * __pyx_v_newSize)));

    +436:         memcpy(&buffer_2[newSize-self.buffer_length], self.buffer, self.buffer_length)

      (void)(memcpy((&(__pyx_v_buffer_2[(__pyx_v_newSize - __pyx_v_self->buffer_length)])), __pyx_v_self->buffer, __pyx_v_self->buffer_length));

    +437:         self.buffer_length = newSize

      __pyx_v_self->buffer_length = __pyx_v_newSize;

    +438:         PyMem_Free(self.buffer)

      PyMem_Free(__pyx_v_self->buffer);

    +439:         self.buffer = buffer_2

      __pyx_v_self->buffer = __pyx_v_buffer_2;

     440:

    +441:     cdef Py_ssize_t Offset(self):

    static Py_ssize_t __pyx_f_7flattrs_8cflattrs_7builder_7Builder_Offset(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self) {
      Py_ssize_t __pyx_r;
    /* … */
      /* function exit code */
      __pyx_L0:;
      return __pyx_r;
    }

     442:         """Offset relative to the end of the buffer."""

    +443:         return self.buffer_length - self.head

      __pyx_r = (__pyx_v_self->buffer_length - __pyx_v_self->head);
      goto __pyx_L0;

     444:

    +445:     cdef Pad(self, Py_ssize_t n):

    static PyObject *__pyx_f_7flattrs_8cflattrs_7builder_7Builder_Pad(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_n) {
      CYTHON_UNUSED int __pyx_v_i;
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.Pad", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = 0;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

     446:         """Pad places zeros at the current offset."""

     447:         cdef int i

    +448:         for i in range(n):

      __pyx_t_1 = __pyx_v_n;
      __pyx_t_2 = __pyx_t_1;
      for (__pyx_t_3 = 0; __pyx_t_3 < __pyx_t_2; __pyx_t_3+=1) {
        __pyx_v_i = __pyx_t_3;

    +449:             self.Place(0, &Fb_uint8_t)

        ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Place(__pyx_v_self, 0, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint8_t)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 449, __pyx_L1_error)
      }

     450:

    +451:     cdef void Prep(self, Py_ssize_t size, Py_ssize_t additionalBytes):

    static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_Prep(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_size, Py_ssize_t __pyx_v_additionalBytes) {
      long __pyx_v_alignSize;
      long __pyx_v_updated_head;
      long __pyx_v_oldBufSize;
    /* … */
      /* function exit code */
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_3);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.Prep", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_L0:;
      __Pyx_RefNannyFinishContext();
    }

     452:         """

     453:         Prep prepares to write an element of `size` after `additional_bytes`

     454:         have been written, e.g. if you write a string, you need to align

     455:         such the int length field is aligned to SizeInt32, and the string

     456:         data follows it directly.

     457:         If all you need to do is align, `additionalBytes` will be 0.

     458:         """

     459:         cdef long alignSize, updated_head, oldBufSize

     460:         # Track the biggest thing we've ever aligned to.

    +461:         if size > self.minalign:

      __pyx_t_1 = (__pyx_v_size > __pyx_v_self->minalign);
      if (__pyx_t_1) {
    /* … */
      }

    +462:             self.minalign = size

        __pyx_v_self->minalign = __pyx_v_size;

     463:

     464:         # Find the amount of alignment needed such that `size` is properly

     465:         # aligned after `additionalBytes`:

    +466:         alignSize = (~(self.buffer_length - self.head + additionalBytes)) + 1

      __pyx_v_alignSize = ((~((__pyx_v_self->buffer_length - __pyx_v_self->head) + __pyx_v_additionalBytes)) + 1);

    +467:         alignSize &= (size - 1)

      __pyx_v_alignSize = (__pyx_v_alignSize & (__pyx_v_size - 1));

     468:

     469:         # Reallocate the buffer if needed:

    +470:         while self.head < alignSize+size+additionalBytes:

      while (1) {
        __pyx_t_1 = (__pyx_v_self->head < ((__pyx_v_alignSize + __pyx_v_size) + __pyx_v_additionalBytes));
        if (!__pyx_t_1) break;

    +471:             oldBufSize = self.buffer_length

        __pyx_t_2 = __pyx_v_self->buffer_length;
        __pyx_v_oldBufSize = __pyx_t_2;

    +472:             self.growByteBuffer()

        ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->growByteBuffer(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 472, __pyx_L1_error)

    +473:             updated_head = self.head + self.buffer_length - oldBufSize

        __pyx_v_updated_head = ((__pyx_v_self->head + __pyx_v_self->buffer_length) - __pyx_v_oldBufSize);

    +474:             self.head = updated_head

        __pyx_v_self->head = __pyx_v_updated_head;
      }

    +475:         self.Pad(alignSize)

      __pyx_t_3 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Pad(__pyx_v_self, __pyx_v_alignSize); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 475, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;

     476:

    +477:     cdef void PrependSOffsetTRelative(self, int off):

    static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_PrependSOffsetTRelative(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, int __pyx_v_off) {
      PyObject *__pyx_v_msg = NULL;
      Py_ssize_t __pyx_v_off2;
    /* … */
      /* function exit code */
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_3);
      __Pyx_XDECREF(__pyx_t_4);
      __Pyx_XDECREF(__pyx_t_5);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependSOffsetTRelative", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_L0:;
      __Pyx_XDECREF(__pyx_v_msg);
      __Pyx_RefNannyFinishContext();
    }

     478:         """

     479:         PrependSOffsetTRelative prepends an SOffsetT, relative to where it

     480:         will be written.

     481:         """

     482:

     483:         # Ensure alignment is already done:

    +484:         self.Prep(Fb_int32_t.bytewidth, 0)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_7flattrs_8cflattrs_7builder_Fb_int32_t.bytewidth, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 484, __pyx_L1_error)

    +485:         if not (off <= self.Offset()):

      __pyx_t_1 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 485, __pyx_L1_error)
      __pyx_t_2 = (!(__pyx_v_off <= __pyx_t_1));
      if (unlikely(__pyx_t_2)) {
    /* … */
      }

    +486:             msg = "flatbuffers: Offset arithmetic error."

        __Pyx_INCREF(__pyx_kp_u_flatbuffers_Offset_arithmetic_er);
        __pyx_v_msg = __pyx_kp_u_flatbuffers_Offset_arithmetic_er;

    +487:             raise OffsetArithmeticError(msg)

        __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_OffsetArithmeticError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 487, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_5 = NULL;
        __pyx_t_6 = 0;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
          if (likely(__pyx_t_5)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
            __Pyx_INCREF(__pyx_t_5);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_4, function);
            __pyx_t_6 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_msg};
          __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 487, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        }
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 487, __pyx_L1_error)

    +488:         off2 = self.Offset() - off + Fb_int32_t.bytewidth

      __pyx_t_1 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 488, __pyx_L1_error)
      __pyx_v_off2 = ((__pyx_t_1 - __pyx_v_off) + __pyx_v_7flattrs_8cflattrs_7builder_Fb_int32_t.bytewidth);

    +489:         self.PlaceSOffsetT(off2)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PlaceSOffsetT(__pyx_v_self, __pyx_v_off2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 489, __pyx_L1_error)

     490:

    +491:     cpdef void PrependUOffsetTRelative(self, Py_ssize_t off):

    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_11PrependUOffsetTRelative(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_PrependUOffsetTRelative(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_off, int __pyx_skip_dispatch) {
      PyObject *__pyx_v_msg = NULL;
      Py_ssize_t __pyx_v_off2;
      /* Check if called by wrapper */
      if (unlikely(__pyx_skip_dispatch)) ;
      /* Check if overridden in Python */
      else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
        #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
        static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
        if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
          PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
          #endif
          __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_PrependUOffsetTRelative); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 491, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_7flattrs_8cflattrs_7builder_7Builder_11PrependUOffsetTRelative)) {
            __pyx_t_3 = PyInt_FromSsize_t(__pyx_v_off); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 491, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_INCREF(__pyx_t_1);
            __pyx_t_4 = __pyx_t_1; __pyx_t_5 = NULL;
            __pyx_t_6 = 0;
            #if CYTHON_UNPACK_METHODS
            if (unlikely(PyMethod_Check(__pyx_t_4))) {
              __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
              if (likely(__pyx_t_5)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                __Pyx_INCREF(__pyx_t_5);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_4, function);
                __pyx_t_6 = 1;
              }
            }
            #endif
            {
              PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_3};
              __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 491, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            }
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
            goto __pyx_L0;
          }
          #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
          __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
          __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
          if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
            __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
          }
          #endif
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
        }
        #endif
      }
    /* … */
      /* function exit code */
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_1);
      __Pyx_XDECREF(__pyx_t_2);
      __Pyx_XDECREF(__pyx_t_3);
      __Pyx_XDECREF(__pyx_t_4);
      __Pyx_XDECREF(__pyx_t_5);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUOffsetTRelative", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_L0:;
      __Pyx_XDECREF(__pyx_v_msg);
      __Pyx_RefNannyFinishContext();
    }

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_11PrependUOffsetTRelative(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_10PrependUOffsetTRelative, "Prepends an unsigned offset into vector data, relative to where it\n        will be written.\n        ");
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_11PrependUOffsetTRelative = {"PrependUOffsetTRelative", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_11PrependUOffsetTRelative, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_10PrependUOffsetTRelative};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_11PrependUOffsetTRelative(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      Py_ssize_t __pyx_v_off;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependUOffsetTRelative (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_off,0};
      PyObject* values[1] = {0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_off)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 491, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependUOffsetTRelative") < 0)) __PYX_ERR(0, 491, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 1)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        }
        __pyx_v_off = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_off == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 491, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependUOffsetTRelative", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 491, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUOffsetTRelative", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_10PrependUOffsetTRelative(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_off);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_10PrependUOffsetTRelative(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_off) {
      PyObject *__pyx_r = NULL;
      __Pyx_XDECREF(__pyx_r);
      __pyx_f_7flattrs_8cflattrs_7builder_7Builder_PrependUOffsetTRelative(__pyx_v_self, __pyx_v_off, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 491, __pyx_L1_error)
      __pyx_t_1 = __Pyx_void_to_None(NULL); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 491, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;

      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_1);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUOffsetTRelative", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_tuple__33 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_off); if (unlikely(!__pyx_tuple__33)) __PYX_ERR(0, 491, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_tuple__33);
      __Pyx_GIVEREF(__pyx_tuple__33);
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_11PrependUOffsetTRelative, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependUOffsetTRelative, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__34)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 491, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependUOffsetTRelative, __pyx_t_3) < 0) __PYX_ERR(0, 491, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
      __pyx_codeobj__34 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__33, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependUOffsetTRelative, 491, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__34)) __PYX_ERR(0, 491, __pyx_L1_error)

     492:         """Prepends an unsigned offset into vector data, relative to where it

     493:         will be written.

     494:         """

     495:

     496:         # Ensure alignment is already done:

    +497:         self.Prep(Fb_uint32_t.bytewidth, 0)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint32_t.bytewidth, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 497, __pyx_L1_error)

    +498:         if not (off <= self.Offset()):

      __pyx_t_7 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 498, __pyx_L1_error)
      __pyx_t_8 = (!(__pyx_v_off <= __pyx_t_7));
      if (unlikely(__pyx_t_8)) {
    /* … */
      }

    +499:             msg = "flatbuffers: Offset arithmetic error."

        __Pyx_INCREF(__pyx_kp_u_flatbuffers_Offset_arithmetic_er);
        __pyx_v_msg = __pyx_kp_u_flatbuffers_Offset_arithmetic_er;

    +500:             raise OffsetArithmeticError(msg)

        __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_OffsetArithmeticError); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 500, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_4 = NULL;
        __pyx_t_6 = 0;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_2))) {
          __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_2);
          if (likely(__pyx_t_4)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
            __Pyx_INCREF(__pyx_t_4);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_2, function);
            __pyx_t_6 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_msg};
          __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 500, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        }
        __Pyx_Raise(__pyx_t_1, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __PYX_ERR(0, 500, __pyx_L1_error)

    +501:         off2 = self.Offset() - off + Fb_uint32_t.bytewidth

      __pyx_t_7 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 501, __pyx_L1_error)
      __pyx_v_off2 = ((__pyx_t_7 - __pyx_v_off) + __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint32_t.bytewidth);

    +502:         self.PlaceUOffsetT(off2)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PlaceUOffsetT(__pyx_v_self, __pyx_v_off2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 502, __pyx_L1_error)

     503:

    +504:     def StartVector(self, int elemSize, Py_ssize_t numElems, Py_ssize_t alignment):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_13StartVector(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_12StartVector, "\n        StartVector initializes bookkeeping for writing a new vector.\n\n        A vector has the following format:\n          - <UOffsetT: number of elements in this vector>\n          - <T: data>+, where T is the type of elements of this vector.\n        ");
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_13StartVector = {"StartVector", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_13StartVector, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_12StartVector};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_13StartVector(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      int __pyx_v_elemSize;
      Py_ssize_t __pyx_v_numElems;
      Py_ssize_t __pyx_v_alignment;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("StartVector (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_elemSize,&__pyx_n_s_numElems,&__pyx_n_s_alignment,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_elemSize)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 504, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_numElems)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 504, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("StartVector", 1, 3, 3, 1); __PYX_ERR(0, 504, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_alignment)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 504, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("StartVector", 1, 3, 3, 2); __PYX_ERR(0, 504, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "StartVector") < 0)) __PYX_ERR(0, 504, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_elemSize = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_elemSize == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 504, __pyx_L3_error)
        __pyx_v_numElems = __Pyx_PyIndex_AsSsize_t(values[1]); if (unlikely((__pyx_v_numElems == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 504, __pyx_L3_error)
        __pyx_v_alignment = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_alignment == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 504, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("StartVector", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 504, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.StartVector", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_12StartVector(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_elemSize, __pyx_v_numElems, __pyx_v_alignment);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_12StartVector(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, int __pyx_v_elemSize, Py_ssize_t __pyx_v_numElems, Py_ssize_t __pyx_v_alignment) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_2);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.StartVector", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_tuple__35 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_elemSize, __pyx_n_s_numElems, __pyx_n_s_alignment); if (unlikely(!__pyx_tuple__35)) __PYX_ERR(0, 504, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_tuple__35);
      __Pyx_GIVEREF(__pyx_tuple__35);
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_13StartVector, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_StartVector, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__36)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 504, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_StartVector, __pyx_t_3) < 0) __PYX_ERR(0, 504, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
      __pyx_codeobj__36 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__35, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_StartVector, 504, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__36)) __PYX_ERR(0, 504, __pyx_L1_error)

     505:         """

     506:         StartVector initializes bookkeeping for writing a new vector.

     507:

     508:         A vector has the following format:

     509:           - <UOffsetT: number of elements in this vector>

     510:           - <T: data>+, where T is the type of elements of this vector.

     511:         """

     512:

    +513:         self.assertNotNested()

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->assertNotNested(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 513, __pyx_L1_error)

    +514:         self.nested = True

      __pyx_v_self->nested = 1;

    +515:         self.vectorNumElems = numElems

      __pyx_v_self->vectorNumElems = __pyx_v_numElems;

    +516:         self.Prep(Fb_uint32_t.bytewidth, elemSize*numElems)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint32_t.bytewidth, (__pyx_v_elemSize * __pyx_v_numElems)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 516, __pyx_L1_error)

    +517:         self.Prep(alignment, elemSize*numElems)  # In case alignment > int.

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_alignment, (__pyx_v_elemSize * __pyx_v_numElems)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 517, __pyx_L1_error)

    +518:         return self.Offset()

      __Pyx_XDECREF(__pyx_r);
      __pyx_t_1 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 518, __pyx_L1_error)
      __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 518, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      goto __pyx_L0;

     519:

    +520:     cpdef Py_ssize_t EndVector(self):

    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_15EndVector(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static Py_ssize_t __pyx_f_7flattrs_8cflattrs_7builder_7Builder_EndVector(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, int __pyx_skip_dispatch) {
      Py_ssize_t __pyx_r;
      /* Check if called by wrapper */
      if (unlikely(__pyx_skip_dispatch)) ;
      /* Check if overridden in Python */
      else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
        #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
        static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
        if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
          PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
          #endif
          __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_EndVector); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 520, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_7flattrs_8cflattrs_7builder_7Builder_15EndVector)) {
            __Pyx_INCREF(__pyx_t_1);
            __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
            __pyx_t_5 = 0;
            #if CYTHON_UNPACK_METHODS
            if (unlikely(PyMethod_Check(__pyx_t_3))) {
              __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
              if (likely(__pyx_t_4)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                __Pyx_INCREF(__pyx_t_4);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_3, function);
                __pyx_t_5 = 1;
              }
            }
            #endif
            {
              PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
              __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 520, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            }
            __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 520, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_r = __pyx_t_6;
            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
            goto __pyx_L0;
          }
          #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
          __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
          __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
          if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
            __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
          }
          #endif
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
        }
        #endif
      }
    /* … */
      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_1);
      __Pyx_XDECREF(__pyx_t_2);
      __Pyx_XDECREF(__pyx_t_3);
      __Pyx_XDECREF(__pyx_t_4);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.EndVector", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = 0;
      __pyx_L0:;
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_15EndVector(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_14EndVector, "EndVector writes data necessary to finish vector construction.");
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_15EndVector = {"EndVector", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_15EndVector, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_14EndVector};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_15EndVector(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("EndVector (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      if (unlikely(__pyx_nargs > 0)) {
        __Pyx_RaiseArgtupleInvalid("EndVector", 1, 0, 0, __pyx_nargs); return NULL;}
      if (unlikely(__pyx_kwds) && __Pyx_NumKwargs_FASTCALL(__pyx_kwds) && unlikely(!__Pyx_CheckKeywordStrings(__pyx_kwds, "EndVector", 0))) return NULL;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_14EndVector(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self));

      /* function exit code */
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_14EndVector(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self) {
      PyObject *__pyx_r = NULL;
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_1 = __pyx_f_7flattrs_8cflattrs_7builder_7Builder_EndVector(__pyx_v_self, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 520, __pyx_L1_error)
      __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 520, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      goto __pyx_L0;

      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_2);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.EndVector", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_15EndVector, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_EndVector, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__37)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 520, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_EndVector, __pyx_t_3) < 0) __PYX_ERR(0, 520, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__37 = (PyObject*)__Pyx_PyCode_New(1, 0, 0, 1, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__31, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_EndVector, 520, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__37)) __PYX_ERR(0, 520, __pyx_L1_error)

     521:         """EndVector writes data necessary to finish vector construction."""

     522:

    +523:         self.assertNested()

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->assertNested(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 523, __pyx_L1_error)

     524:         ## @cond FLATBUFFERS_INTERNAL

    +525:         self.nested = False

      __pyx_v_self->nested = 0;

     526:         ## @endcond

     527:         # we already made space for this, so write without PrependUint32

    +528:         self.PlaceUOffsetT(self.vectorNumElems)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PlaceUOffsetT(__pyx_v_self, __pyx_v_self->vectorNumElems); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 528, __pyx_L1_error)

    +529:         return self.Offset()

      __pyx_t_6 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 529, __pyx_L1_error)
      __pyx_r = __pyx_t_6;
      goto __pyx_L0;

     530:

    +531:     cpdef Py_ssize_t CreateString(self, str s, encoding='utf-8', errors='strict'):

    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_17CreateString(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static Py_ssize_t __pyx_f_7flattrs_8cflattrs_7builder_7Builder_CreateString(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_s, int __pyx_skip_dispatch, struct __pyx_opt_args_7flattrs_8cflattrs_7builder_7Builder_CreateString *__pyx_optional_args) {
      PyObject *__pyx_v_encoding = ((PyObject *)__pyx_kp_u_utf_8);
      PyObject *__pyx_v_errors = ((PyObject *)__pyx_n_u_strict);
      PyObject *__pyx_v_x = 0;
      Py_ssize_t __pyx_v_l;
      char *__pyx_v_c_string;
      Py_ssize_t __pyx_r;
      if (__pyx_optional_args) {
        if (__pyx_optional_args->__pyx_n > 0) {
          __pyx_v_encoding = __pyx_optional_args->encoding;
          if (__pyx_optional_args->__pyx_n > 1) {
            __pyx_v_errors = __pyx_optional_args->errors;
          }
        }
      }
      /* Check if called by wrapper */
      if (unlikely(__pyx_skip_dispatch)) ;
      /* Check if overridden in Python */
      else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
        #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
        static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
        if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
          PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
          #endif
          __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_CreateString); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 531, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_7flattrs_8cflattrs_7builder_7Builder_17CreateString)) {
            __Pyx_INCREF(__pyx_t_1);
            __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
            __pyx_t_5 = 0;
            #if CYTHON_UNPACK_METHODS
            if (unlikely(PyMethod_Check(__pyx_t_3))) {
              __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
              if (likely(__pyx_t_4)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                __Pyx_INCREF(__pyx_t_4);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_3, function);
                __pyx_t_5 = 1;
              }
            }
            #endif
            {
              PyObject *__pyx_callargs[4] = {__pyx_t_4, __pyx_v_s, __pyx_v_encoding, __pyx_v_errors};
              __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 3+__pyx_t_5);
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 531, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            }
            __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 531, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_r = __pyx_t_6;
            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
            goto __pyx_L0;
          }
          #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
          __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
          __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
          if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
            __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
          }
          #endif
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
        }
        #endif
      }
    /* … */
      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_1);
      __Pyx_XDECREF(__pyx_t_2);
      __Pyx_XDECREF(__pyx_t_3);
      __Pyx_XDECREF(__pyx_t_4);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.CreateString", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = 0;
      __pyx_L0:;
      __Pyx_XDECREF(__pyx_v_x);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_17CreateString(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_16CreateString, "CreateString writes a null-terminated byte string as a vector.");
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_17CreateString = {"CreateString", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_17CreateString, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_16CreateString};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_17CreateString(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      PyObject *__pyx_v_s = 0;
      PyObject *__pyx_v_encoding = 0;
      PyObject *__pyx_v_errors = 0;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("CreateString (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_s,&__pyx_n_s_encoding,&__pyx_n_s_errors,0};
      PyObject* values[3] = {0,0,0};
        values[1] = __Pyx_Arg_NewRef_FASTCALL(((PyObject *)__pyx_kp_u_utf_8));
        values[2] = __Pyx_Arg_NewRef_FASTCALL(((PyObject *)__pyx_n_u_strict));
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_s)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 531, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (kw_args > 0) {
              PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_encoding);
              if (value) { values[1] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
              else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 531, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (kw_args > 0) {
              PyObject* value = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_errors);
              if (value) { values[2] = __Pyx_Arg_NewRef_FASTCALL(value); kw_args--; }
              else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 531, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "CreateString") < 0)) __PYX_ERR(0, 531, __pyx_L3_error)
          }
        } else {
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            break;
            default: goto __pyx_L5_argtuple_error;
          }
        }
        __pyx_v_s = ((PyObject*)values[0]);
        __pyx_v_encoding = values[1];
        __pyx_v_errors = values[2];
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("CreateString", 0, 1, 3, __pyx_nargs); __PYX_ERR(0, 531, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.CreateString", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_s), (&PyUnicode_Type), 1, "s", 1))) __PYX_ERR(0, 531, __pyx_L1_error)
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_16CreateString(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_s, __pyx_v_encoding, __pyx_v_errors);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      goto __pyx_L0;
      __pyx_L1_error:;
      __pyx_r = NULL;
      __pyx_L0:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_16CreateString(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_s, PyObject *__pyx_v_encoding, PyObject *__pyx_v_errors) {
      PyObject *__pyx_r = NULL;
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_2.__pyx_n = 2;
      __pyx_t_2.encoding = __pyx_v_encoding;
      __pyx_t_2.errors = __pyx_v_errors;
      __pyx_t_1 = __pyx_vtabptr_7flattrs_8cflattrs_7builder_Builder->CreateString(__pyx_v_self, __pyx_v_s, 1, &__pyx_t_2); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 531, __pyx_L1_error)
      __pyx_t_3 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 531, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __pyx_r = __pyx_t_3;
      __pyx_t_3 = 0;
      goto __pyx_L0;

      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_3);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.CreateString", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_tuple__38 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_s, __pyx_n_s_encoding, __pyx_n_s_errors); if (unlikely(!__pyx_tuple__38)) __PYX_ERR(0, 531, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_tuple__38);
      __Pyx_GIVEREF(__pyx_tuple__38);
      __pyx_codeobj__39 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__38, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_CreateString, 531, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__39)) __PYX_ERR(0, 531, __pyx_L1_error)
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_17CreateString, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_CreateString, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__39)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 531, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      __Pyx_CyFunction_SetDefaultsTuple(__pyx_t_3, __pyx_tuple__40);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_CreateString, __pyx_t_3) < 0) __PYX_ERR(0, 531, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
      __pyx_tuple__40 = PyTuple_Pack(2, __pyx_kp_u_utf_8, __pyx_n_u_strict); if (unlikely(!__pyx_tuple__40)) __PYX_ERR(0, 531, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_tuple__40);
      __Pyx_GIVEREF(__pyx_tuple__40);
    /* … */
    struct __pyx_opt_args_7flattrs_8cflattrs_7builder_7Builder_CreateString {
      int __pyx_n;
      PyObject *encoding;
      PyObject *errors;
    };

     532:         """CreateString writes a null-terminated byte string as a vector."""

     533:         cdef bytes x

     534:         cdef Py_ssize_t l

     535:

    +536:         self.assertNotNested()

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->assertNotNested(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 536, __pyx_L1_error)

     537:         ## @cond FLATBUFFERS_INTERNAL

    +538:         self.nested = True

      __pyx_v_self->nested = 1;

     539:         ## @endcond

     540:

    +541:         x = s.encode(encoding)

      __pyx_t_2 = __Pyx_PyObject_GetAttrStr(__pyx_v_s, __pyx_n_s_encode); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 541, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_3 = NULL;
      __pyx_t_5 = 0;
      #if CYTHON_UNPACK_METHODS
      if (likely(PyMethod_Check(__pyx_t_2))) {
        __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
        if (likely(__pyx_t_3)) {
          PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
          __Pyx_INCREF(__pyx_t_3);
          __Pyx_INCREF(function);
          __Pyx_DECREF_SET(__pyx_t_2, function);
          __pyx_t_5 = 1;
        }
      }
      #endif
      {
        PyObject *__pyx_callargs[2] = {__pyx_t_3, __pyx_v_encoding};
        __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
        __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
        if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 541, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_1);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      }
      if (!(likely(PyBytes_CheckExact(__pyx_t_1))||((__pyx_t_1) == Py_None) || __Pyx_RaiseUnexpectedTypeError("bytes", __pyx_t_1))) __PYX_ERR(0, 541, __pyx_L1_error)
      __pyx_v_x = ((PyObject*)__pyx_t_1);
      __pyx_t_1 = 0;

    +542:         l = len(x)

      if (unlikely(__pyx_v_x == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(0, 542, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyBytes_GET_SIZE(__pyx_v_x); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 542, __pyx_L1_error)
      __pyx_v_l = __pyx_t_6;

     543:

    +544:         self.Prep(Fb_uint32_t.bytewidth, (l+1)*Fb_uint8_t.bytewidth)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint32_t.bytewidth, ((__pyx_v_l + 1) * __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint8_t.bytewidth)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 544, __pyx_L1_error)

    +545:         self.Place(0, &Fb_uint8_t)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Place(__pyx_v_self, 0, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint8_t)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 545, __pyx_L1_error)

     546:

    +547:         self.head = self.head - l

      __pyx_v_self->head = (__pyx_v_self->head - __pyx_v_l);

     548:

    +549:         cdef char* c_string = x

      if (unlikely(__pyx_v_x == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "expected bytes, NoneType found");
        __PYX_ERR(0, 549, __pyx_L1_error)
      }
      __pyx_t_7 = __Pyx_PyBytes_AsWritableString(__pyx_v_x); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(0, 549, __pyx_L1_error)
      __pyx_v_c_string = __pyx_t_7;

     550:

    +551:         memcpy(<void*>&self.buffer[self.head], c_string, l)

      (void)(memcpy(((void *)(&(__pyx_v_self->buffer[__pyx_v_self->head]))), __pyx_v_c_string, __pyx_v_l));

    +552:         self.vectorNumElems = l

      __pyx_v_self->vectorNumElems = __pyx_v_l;

     553:

    +554:         return self.EndVector()

      __pyx_t_6 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->EndVector(__pyx_v_self, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 554, __pyx_L1_error)
      __pyx_r = __pyx_t_6;
      goto __pyx_L0;

     555:

    +556:     cpdef Py_ssize_t CreateByteVector(self, bytes x):

    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_19CreateByteVector(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static Py_ssize_t __pyx_f_7flattrs_8cflattrs_7builder_7Builder_CreateByteVector(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_x, int __pyx_skip_dispatch) {
      PyObject *__pyx_v_l = 0;
      char *__pyx_v_c_string;
      Py_ssize_t __pyx_r;
      /* Check if called by wrapper */
      if (unlikely(__pyx_skip_dispatch)) ;
      /* Check if overridden in Python */
      else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
        #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
        static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
        if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
          PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
          #endif
          __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_CreateByteVector); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 556, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_7flattrs_8cflattrs_7builder_7Builder_19CreateByteVector)) {
            __Pyx_INCREF(__pyx_t_1);
            __pyx_t_3 = __pyx_t_1; __pyx_t_4 = NULL;
            __pyx_t_5 = 0;
            #if CYTHON_UNPACK_METHODS
            if (unlikely(PyMethod_Check(__pyx_t_3))) {
              __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
              if (likely(__pyx_t_4)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
                __Pyx_INCREF(__pyx_t_4);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_3, function);
                __pyx_t_5 = 1;
              }
            }
            #endif
            {
              PyObject *__pyx_callargs[2] = {__pyx_t_4, __pyx_v_x};
              __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 1+__pyx_t_5);
              __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 556, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
            }
            __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 556, __pyx_L1_error)
            __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
            __pyx_r = __pyx_t_6;
            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
            goto __pyx_L0;
          }
          #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
          __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
          __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
          if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
            __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
          }
          #endif
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
        }
        #endif
      }
    /* … */
      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_1);
      __Pyx_XDECREF(__pyx_t_2);
      __Pyx_XDECREF(__pyx_t_3);
      __Pyx_XDECREF(__pyx_t_4);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.CreateByteVector", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = 0;
      __pyx_L0:;
      __Pyx_XDECREF(__pyx_v_l);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_19CreateByteVector(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_18CreateByteVector, "CreateString writes a byte vector.");
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_19CreateByteVector = {"CreateByteVector", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_19CreateByteVector, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_18CreateByteVector};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_19CreateByteVector(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      PyObject *__pyx_v_x = 0;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("CreateByteVector (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
      PyObject* values[1] = {0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 556, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "CreateByteVector") < 0)) __PYX_ERR(0, 556, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 1)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        }
        __pyx_v_x = ((PyObject*)values[0]);
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("CreateByteVector", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 556, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.CreateByteVector", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      if (unlikely(!__Pyx_ArgTypeTest(((PyObject *)__pyx_v_x), (&PyBytes_Type), 1, "x", 1))) __PYX_ERR(0, 556, __pyx_L1_error)
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_18CreateByteVector(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      goto __pyx_L0;
      __pyx_L1_error:;
      __pyx_r = NULL;
      __pyx_L0:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_18CreateByteVector(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_x) {
      PyObject *__pyx_r = NULL;
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_1 = __pyx_f_7flattrs_8cflattrs_7builder_7Builder_CreateByteVector(__pyx_v_self, __pyx_v_x, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 556, __pyx_L1_error)
      __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 556, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      goto __pyx_L0;

      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_2);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.CreateByteVector", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_tuple__41 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_x); if (unlikely(!__pyx_tuple__41)) __PYX_ERR(0, 556, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_tuple__41);
      __Pyx_GIVEREF(__pyx_tuple__41);
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_19CreateByteVector, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_CreateByteVector, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__42)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 556, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_CreateByteVector, __pyx_t_3) < 0) __PYX_ERR(0, 556, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
      __pyx_codeobj__42 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_CreateByteVector, 556, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__42)) __PYX_ERR(0, 556, __pyx_L1_error)

     557:         """CreateString writes a byte vector."""

    +558:         self.assertNotNested()

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->assertNotNested(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 558, __pyx_L1_error)

    +559:         self.nested = True

      __pyx_v_self->nested = 1;

     560:

    +561:         cdef l = len(x)

      if (unlikely(__pyx_v_x == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "object of type 'NoneType' has no len()");
        __PYX_ERR(0, 561, __pyx_L1_error)
      }
      __pyx_t_6 = __Pyx_PyBytes_GET_SIZE(__pyx_v_x); if (unlikely(__pyx_t_6 == ((Py_ssize_t)-1))) __PYX_ERR(0, 561, __pyx_L1_error)
      __pyx_t_1 = PyInt_FromSsize_t(__pyx_t_6); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 561, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_v_l = __pyx_t_1;
      __pyx_t_1 = 0;

     562:

    +563:         self.Prep(Fb_uint32_t.bytewidth, l*Fb_uint8_t.bytewidth)

      __pyx_t_1 = __Pyx_PyInt_From_uint8_t(__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint8_t.bytewidth); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 563, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_t_2 = PyNumber_Multiply(__pyx_v_l, __pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 563, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_t_2); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 563, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint32_t.bytewidth, __pyx_t_6); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 563, __pyx_L1_error)

     564:

    +565:         self.head = self.head - l

      __pyx_t_2 = PyInt_FromSsize_t(__pyx_v_self->head); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 565, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_t_1 = PyNumber_Subtract(__pyx_t_2, __pyx_v_l); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 565, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
      __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_t_1); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 565, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      __pyx_v_self->head = __pyx_t_6;

     566:

    +567:         cdef char* c_string = x

      if (unlikely(__pyx_v_x == Py_None)) {
        PyErr_SetString(PyExc_TypeError, "expected bytes, NoneType found");
        __PYX_ERR(0, 567, __pyx_L1_error)
      }
      __pyx_t_7 = __Pyx_PyBytes_AsWritableString(__pyx_v_x); if (unlikely((!__pyx_t_7) && PyErr_Occurred())) __PYX_ERR(0, 567, __pyx_L1_error)
      __pyx_v_c_string = __pyx_t_7;

     568:

    +569:         memcpy(<void*>&self.buffer[self.head], c_string, l)

      __pyx_t_8 = __Pyx_PyInt_As_size_t(__pyx_v_l); if (unlikely((__pyx_t_8 == (size_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 569, __pyx_L1_error)
      (void)(memcpy(((void *)(&(__pyx_v_self->buffer[__pyx_v_self->head]))), __pyx_v_c_string, __pyx_t_8));

    +570:         self.vectorNumElems = l

      __pyx_t_6 = __Pyx_PyIndex_AsSsize_t(__pyx_v_l); if (unlikely((__pyx_t_6 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 570, __pyx_L1_error)
      __pyx_v_self->vectorNumElems = __pyx_t_6;

     571:

    +572:         return self.EndVector()

      __pyx_t_6 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->EndVector(__pyx_v_self, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 572, __pyx_L1_error)
      __pyx_r = __pyx_t_6;
      goto __pyx_L0;

     573:

    +574:     cdef void assertNested(self) except *:

    static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_assertNested(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self) {
    /* … */
      /* function exit code */
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_2);
      __Pyx_XDECREF(__pyx_t_3);
      __Pyx_XDECREF(__pyx_t_4);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.assertNested", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_L0:;
      __Pyx_RefNannyFinishContext();
    }

     575:         """

     576:         Check that we are in the process of building an object.

     577:         """

     578:

    +579:         if not self.nested:

      __pyx_t_1 = (!__pyx_v_self->nested);
      if (unlikely(__pyx_t_1)) {
    /* … */
      }

    +580:             raise IsNotNestedError()

        __Pyx_GetModuleGlobalName(__pyx_t_3, __pyx_n_s_IsNotNestedError); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 580, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_3);
        __pyx_t_4 = NULL;
        __pyx_t_5 = 0;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_3))) {
          __pyx_t_4 = PyMethod_GET_SELF(__pyx_t_3);
          if (likely(__pyx_t_4)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_3);
            __Pyx_INCREF(__pyx_t_4);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_3, function);
            __pyx_t_5 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_4, NULL};
          __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_3, __pyx_callargs+1-__pyx_t_5, 0+__pyx_t_5);
          __Pyx_XDECREF(__pyx_t_4); __pyx_t_4 = 0;
          if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 580, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_2);
          __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        }
        __Pyx_Raise(__pyx_t_2, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __PYX_ERR(0, 580, __pyx_L1_error)

     581:

    +582:     cdef void assertNotNested(self) except *:

    static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_assertNotNested(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self) {
    /* … */
      /* function exit code */
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_1);
      __Pyx_XDECREF(__pyx_t_2);
      __Pyx_XDECREF(__pyx_t_3);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.assertNotNested", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_L0:;
      __Pyx_RefNannyFinishContext();
    }

     583:         """

     584:         Check that no other objects are being built while making this

     585:         object. If not, raise an exception.

     586:         """

     587:

    +588:         if self.nested:

      if (unlikely(__pyx_v_self->nested)) {
    /* … */
      }

    +589:             raise IsNestedError()

        __Pyx_GetModuleGlobalName(__pyx_t_2, __pyx_n_s_IsNestedError); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 589, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __pyx_t_3 = NULL;
        __pyx_t_4 = 0;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_2))) {
          __pyx_t_3 = PyMethod_GET_SELF(__pyx_t_2);
          if (likely(__pyx_t_3)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_2);
            __Pyx_INCREF(__pyx_t_3);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_2, function);
            __pyx_t_4 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_3, NULL};
          __pyx_t_1 = __Pyx_PyObject_FastCall(__pyx_t_2, __pyx_callargs+1-__pyx_t_4, 0+__pyx_t_4);
          __Pyx_XDECREF(__pyx_t_3); __pyx_t_3 = 0;
          if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 589, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        }
        __Pyx_Raise(__pyx_t_1, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
        __PYX_ERR(0, 589, __pyx_L1_error)

     590:

    +591:     cdef void assertStructIsInline(self, Py_ssize_t obj) except *:

    static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_assertStructIsInline(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_obj) {
      PyObject *__pyx_v_msg = NULL;
    /* … */
      /* function exit code */
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_3);
      __Pyx_XDECREF(__pyx_t_4);
      __Pyx_XDECREF(__pyx_t_5);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.assertStructIsInline", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_L0:;
      __Pyx_XDECREF(__pyx_v_msg);
      __Pyx_RefNannyFinishContext();
    }

     592:         """

     593:         Structs are always stored inline, so need to be created right

     594:         where they are used. You'll get this error if you created it

     595:         elsewhere.

     596:         """

     597:

    +598:         if obj != self.Offset():

      __pyx_t_1 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 598, __pyx_L1_error)
      __pyx_t_2 = (__pyx_v_obj != __pyx_t_1);
      if (unlikely(__pyx_t_2)) {
    /* … */
      }

    +599:             msg = ("flatbuffers: Tried to write a Struct at an Offset that "

        __Pyx_INCREF(__pyx_kp_u_flatbuffers_Tried_to_write_a_Str);
        __pyx_v_msg = __pyx_kp_u_flatbuffers_Tried_to_write_a_Str;

     600:                    "is different from the current Offset of the Builder.")

    +601:             raise StructIsNotInlineError(msg)

        __Pyx_GetModuleGlobalName(__pyx_t_4, __pyx_n_s_StructIsNotInlineError); if (unlikely(!__pyx_t_4)) __PYX_ERR(0, 601, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_4);
        __pyx_t_5 = NULL;
        __pyx_t_6 = 0;
        #if CYTHON_UNPACK_METHODS
        if (unlikely(PyMethod_Check(__pyx_t_4))) {
          __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
          if (likely(__pyx_t_5)) {
            PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
            __Pyx_INCREF(__pyx_t_5);
            __Pyx_INCREF(function);
            __Pyx_DECREF_SET(__pyx_t_4, function);
            __pyx_t_6 = 1;
          }
        }
        #endif
        {
          PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_v_msg};
          __pyx_t_3 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
          __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
          if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 601, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_3);
          __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
        }
        __Pyx_Raise(__pyx_t_3, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
        __PYX_ERR(0, 601, __pyx_L1_error)

     602:

    +603:     cdef void Slot(self, Py_ssize_t slotnum) except *:

    static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_Slot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_slotnum) {
    /* … */
      /* function exit code */
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_2);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_L0:;
      __Pyx_RefNannyFinishContext();
    }

     604:         """

     605:         Slot sets the vtable key `voffset` to the current location in the

     606:         buffer.

     607:

     608:         """

    +609:         self.assertNested()

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->assertNested(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 609, __pyx_L1_error)

    +610:         if slotnum >= self.current_vtable_length:

      __pyx_t_1 = (__pyx_v_slotnum >= __pyx_v_self->current_vtable_length);
      if (unlikely(__pyx_t_1)) {
    /* … */
      }

    +611:             raise IndexError()

        __pyx_t_2 = __Pyx_PyObject_CallNoArg(__pyx_builtin_IndexError); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 611, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_Raise(__pyx_t_2, 0, 0, 0);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;
        __PYX_ERR(0, 611, __pyx_L1_error)

    +612:         self.current_vtable[slotnum] = self.Offset()

      __pyx_t_3 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Offset(__pyx_v_self); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 612, __pyx_L1_error)
      (__pyx_v_self->current_vtable[__pyx_v_slotnum]) = __pyx_t_3;

     613:

    +614:     cdef Py_ssize_t __Finish(self, Py_ssize_t rootTable, bint sizePrefix):

    static Py_ssize_t __pyx_f_7flattrs_8cflattrs_7builder_7Builder__Builder__Finish(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_rootTable, int __pyx_v_sizePrefix) {
      Py_ssize_t __pyx_v_prepSize;
      Py_ssize_t __pyx_v_size;
      Py_ssize_t __pyx_r;
    /* … */
      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_2);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder._Builder__Finish", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = 0;
      __pyx_L0:;
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

     615:         """Finish finalizes a buffer, pointing to the given `rootTable`."""

     616:         cdef Py_ssize_t prepSize, size

     617:

    +618:         prepSize = Fb_uint32_t.bytewidth

      __pyx_t_1 = __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint32_t.bytewidth;
      __pyx_v_prepSize = __pyx_t_1;

    +619:         if sizePrefix:

      if (__pyx_v_sizePrefix) {
    /* … */
      }

    +620:             prepSize += Fb_int32_t.bytewidth

        __pyx_v_prepSize = (__pyx_v_prepSize + __pyx_v_7flattrs_8cflattrs_7builder_Fb_int32_t.bytewidth);

     621:

    +622:         self.Prep(self.minalign, prepSize)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_self->minalign, __pyx_v_prepSize); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 622, __pyx_L1_error)

    +623:         self.PrependUOffsetTRelative(rootTable)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependUOffsetTRelative(__pyx_v_self, __pyx_v_rootTable, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 623, __pyx_L1_error)

    +624:         if sizePrefix:

      if (__pyx_v_sizePrefix) {
    /* … */
      }

    +625:             size = self.buffer_length - self.head

        __pyx_v_size = (__pyx_v_self->buffer_length - __pyx_v_self->head);

    +626:             self.PrependInt32(size)

        __pyx_t_2 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependInt32(__pyx_v_self, __pyx_v_size, 0); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 626, __pyx_L1_error)
        __Pyx_GOTREF(__pyx_t_2);
        __Pyx_DECREF(__pyx_t_2); __pyx_t_2 = 0;

    +627:         self.finished = True

      __pyx_v_self->finished = 1;

    +628:         return self.head

      __pyx_r = __pyx_v_self->head;
      goto __pyx_L0;

     629:

    +630:     def Finish(self, int rootTable):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_21Finish(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_20Finish, "Finish finalizes a buffer, pointing to the given `rootTable`.");
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_21Finish = {"Finish", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_21Finish, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_20Finish};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_21Finish(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      int __pyx_v_rootTable;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("Finish (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_rootTable,0};
      PyObject* values[1] = {0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_rootTable)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 630, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "Finish") < 0)) __PYX_ERR(0, 630, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 1)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        }
        __pyx_v_rootTable = __Pyx_PyInt_As_int(values[0]); if (unlikely((__pyx_v_rootTable == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 630, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("Finish", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 630, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.Finish", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_20Finish(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_rootTable);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_20Finish(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, int __pyx_v_rootTable) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_2);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.Finish", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_tuple__43 = PyTuple_Pack(2, __pyx_n_s_self, __pyx_n_s_rootTable); if (unlikely(!__pyx_tuple__43)) __PYX_ERR(0, 630, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_tuple__43);
      __Pyx_GIVEREF(__pyx_tuple__43);
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_21Finish, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_Finish, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__44)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 630, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_Finish, __pyx_t_3) < 0) __PYX_ERR(0, 630, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
      __pyx_codeobj__44 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_Finish, 630, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__44)) __PYX_ERR(0, 630, __pyx_L1_error)

     631:         """Finish finalizes a buffer, pointing to the given `rootTable`."""

    +632:         return self.__Finish(rootTable, False)

      __Pyx_XDECREF(__pyx_r);
      __pyx_t_1 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->_Builder__Finish(__pyx_v_self, __pyx_v_rootTable, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 632, __pyx_L1_error)
      __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 632, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      goto __pyx_L0;

     633:

    +634:     def FinishSizePrefixed(self, Py_ssize_t rootTable):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_23FinishSizePrefixed(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_22FinishSizePrefixed, "\n        Finish finalizes a buffer, pointing to the given `rootTable`,\n        with the size prefixed.\n        ");
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_23FinishSizePrefixed = {"FinishSizePrefixed", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_23FinishSizePrefixed, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_22FinishSizePrefixed};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_23FinishSizePrefixed(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      Py_ssize_t __pyx_v_rootTable;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("FinishSizePrefixed (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_rootTable,0};
      PyObject* values[1] = {0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_rootTable)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 634, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "FinishSizePrefixed") < 0)) __PYX_ERR(0, 634, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 1)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        }
        __pyx_v_rootTable = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_rootTable == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 634, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("FinishSizePrefixed", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 634, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.FinishSizePrefixed", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_22FinishSizePrefixed(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_rootTable);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_22FinishSizePrefixed(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_rootTable) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_2);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.FinishSizePrefixed", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_23FinishSizePrefixed, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_FinishSizePrefixed, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__45)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 634, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_FinishSizePrefixed, __pyx_t_3) < 0) __PYX_ERR(0, 634, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__45 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__43, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_FinishSizePrefixed, 634, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__45)) __PYX_ERR(0, 634, __pyx_L1_error)

     635:         """

     636:         Finish finalizes a buffer, pointing to the given `rootTable`,

     637:         with the size prefixed.

     638:         """

    +639:         return self.__Finish(rootTable, True)

      __Pyx_XDECREF(__pyx_r);
      __pyx_t_1 = ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->_Builder__Finish(__pyx_v_self, __pyx_v_rootTable, 1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 639, __pyx_L1_error)
      __pyx_t_2 = PyInt_FromSsize_t(__pyx_t_1); if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 639, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_2);
      __pyx_r = __pyx_t_2;
      __pyx_t_2 = 0;
      goto __pyx_L0;

     640:

    +641:     cdef void Prepend(self, FlatbufferType* type, int64_t off):

    static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_Prepend(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, struct __pyx_t_7flattrs_8cflattrs_7builder_FlatbufferType *__pyx_v_type, int64_t __pyx_v_off) {
    /* … */
      /* function exit code */
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.Prepend", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_L0:;
    }

    +642:         self.Prep(type.bytewidth, 0)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_type->bytewidth, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 642, __pyx_L1_error)

    +643:         self.Place(off, type)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Place(__pyx_v_self, __pyx_v_off, __pyx_v_type); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 643, __pyx_L1_error)

     644:

    +645:     cdef void PrependSlot(self, FlatbufferType* type, Py_ssize_t o, int64_t x, int64_t d):

    static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_PrependSlot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, struct __pyx_t_7flattrs_8cflattrs_7builder_FlatbufferType *__pyx_v_type, Py_ssize_t __pyx_v_o, int64_t __pyx_v_x, int64_t __pyx_v_d) {
    /* … */
      /* function exit code */
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependSlot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_L0:;
    }

    +646:         if x != d:

      __pyx_t_1 = (__pyx_v_x != __pyx_v_d);
      if (__pyx_t_1) {
    /* … */
      }

    +647:             self.Prepend(type, x)

        ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prepend(__pyx_v_self, __pyx_v_type, __pyx_v_x); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 647, __pyx_L1_error)

    +648:             self.Slot(o)

        ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Slot(__pyx_v_self, __pyx_v_o); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 648, __pyx_L1_error)

     649:

    +650:     def PrependBoolSlot(self, Py_ssize_t o, bint x, bint d):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_25PrependBoolSlot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_25PrependBoolSlot = {"PrependBoolSlot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_25PrependBoolSlot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_25PrependBoolSlot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      Py_ssize_t __pyx_v_o;
      int __pyx_v_x;
      int __pyx_v_d;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependBoolSlot (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 650, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 650, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependBoolSlot", 1, 3, 3, 1); __PYX_ERR(0, 650, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 650, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependBoolSlot", 1, 3, 3, 2); __PYX_ERR(0, 650, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependBoolSlot") < 0)) __PYX_ERR(0, 650, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 650, __pyx_L3_error)
        __pyx_v_x = __Pyx_PyObject_IsTrue(values[1]); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 650, __pyx_L3_error)
        __pyx_v_d = __Pyx_PyObject_IsTrue(values[2]); if (unlikely((__pyx_v_d == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 650, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependBoolSlot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 650, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependBoolSlot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_24PrependBoolSlot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_24PrependBoolSlot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, int __pyx_v_x, int __pyx_v_d) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependBoolSlot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_tuple__46 = PyTuple_Pack(4, __pyx_n_s_self, __pyx_n_s_o, __pyx_n_s_x, __pyx_n_s_d); if (unlikely(!__pyx_tuple__46)) __PYX_ERR(0, 650, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_tuple__46);
      __Pyx_GIVEREF(__pyx_tuple__46);
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_25PrependBoolSlot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependBoolSlot, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__47)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 650, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependBoolSlot, __pyx_t_3) < 0) __PYX_ERR(0, 650, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
      __pyx_codeobj__47 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependBoolSlot, 650, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__47)) __PYX_ERR(0, 650, __pyx_L1_error)

    +651:         self.PrependSlot(&Fb_bool_t, o, x, d)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependSlot(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_bool_t), __pyx_v_o, __pyx_v_x, __pyx_v_d); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 651, __pyx_L1_error)

     652:

    +653:     def PrependByteSlot(self, Py_ssize_t o, int x, int d):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_27PrependByteSlot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_27PrependByteSlot = {"PrependByteSlot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_27PrependByteSlot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_27PrependByteSlot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      Py_ssize_t __pyx_v_o;
      int __pyx_v_x;
      int __pyx_v_d;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependByteSlot (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 653, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 653, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependByteSlot", 1, 3, 3, 1); __PYX_ERR(0, 653, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 653, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependByteSlot", 1, 3, 3, 2); __PYX_ERR(0, 653, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependByteSlot") < 0)) __PYX_ERR(0, 653, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 653, __pyx_L3_error)
        __pyx_v_x = __Pyx_PyInt_As_int(values[1]); if (unlikely((__pyx_v_x == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 653, __pyx_L3_error)
        __pyx_v_d = __Pyx_PyInt_As_int(values[2]); if (unlikely((__pyx_v_d == (int)-1) && PyErr_Occurred())) __PYX_ERR(0, 653, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependByteSlot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 653, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependByteSlot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_26PrependByteSlot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_26PrependByteSlot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, int __pyx_v_x, int __pyx_v_d) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependByteSlot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_27PrependByteSlot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependByteSlot, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__48)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 653, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependByteSlot, __pyx_t_3) < 0) __PYX_ERR(0, 653, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__48 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependByteSlot, 653, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__48)) __PYX_ERR(0, 653, __pyx_L1_error)

    +654:         self.PrependSlot(&Fb_uint8_t, o, x, d)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependSlot(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint8_t), __pyx_v_o, __pyx_v_x, __pyx_v_d); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 654, __pyx_L1_error)

     655:

    +656:     def PrependUint8Slot(self, Py_ssize_t o, uint8_t x, uint8_t d):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_29PrependUint8Slot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_29PrependUint8Slot = {"PrependUint8Slot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_29PrependUint8Slot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_29PrependUint8Slot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      Py_ssize_t __pyx_v_o;
      uint8_t __pyx_v_x;
      uint8_t __pyx_v_d;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependUint8Slot (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 656, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 656, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependUint8Slot", 1, 3, 3, 1); __PYX_ERR(0, 656, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 656, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependUint8Slot", 1, 3, 3, 2); __PYX_ERR(0, 656, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependUint8Slot") < 0)) __PYX_ERR(0, 656, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 656, __pyx_L3_error)
        __pyx_v_x = __Pyx_PyInt_As_uint8_t(values[1]); if (unlikely((__pyx_v_x == ((uint8_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 656, __pyx_L3_error)
        __pyx_v_d = __Pyx_PyInt_As_uint8_t(values[2]); if (unlikely((__pyx_v_d == ((uint8_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 656, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependUint8Slot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 656, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint8Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_28PrependUint8Slot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_28PrependUint8Slot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, uint8_t __pyx_v_x, uint8_t __pyx_v_d) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint8Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_29PrependUint8Slot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependUint8Slot, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__49)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 656, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependUint8Slot, __pyx_t_3) < 0) __PYX_ERR(0, 656, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__49 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependUint8Slot, 656, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__49)) __PYX_ERR(0, 656, __pyx_L1_error)

    +657:         self.PrependSlot(&Fb_uint8_t, o, x, d)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependSlot(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint8_t), __pyx_v_o, __pyx_v_x, __pyx_v_d); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 657, __pyx_L1_error)

     658:

    +659:     def PrependUint16Slot(self, Py_ssize_t o, uint16_t x, uint16_t d):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_31PrependUint16Slot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_31PrependUint16Slot = {"PrependUint16Slot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_31PrependUint16Slot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_31PrependUint16Slot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      Py_ssize_t __pyx_v_o;
      uint16_t __pyx_v_x;
      uint16_t __pyx_v_d;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependUint16Slot (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 659, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 659, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependUint16Slot", 1, 3, 3, 1); __PYX_ERR(0, 659, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 659, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependUint16Slot", 1, 3, 3, 2); __PYX_ERR(0, 659, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependUint16Slot") < 0)) __PYX_ERR(0, 659, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 659, __pyx_L3_error)
        __pyx_v_x = __Pyx_PyInt_As_uint16_t(values[1]); if (unlikely((__pyx_v_x == ((uint16_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 659, __pyx_L3_error)
        __pyx_v_d = __Pyx_PyInt_As_uint16_t(values[2]); if (unlikely((__pyx_v_d == ((uint16_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 659, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependUint16Slot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 659, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint16Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_30PrependUint16Slot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_30PrependUint16Slot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, uint16_t __pyx_v_x, uint16_t __pyx_v_d) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint16Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_31PrependUint16Slot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependUint16Slot, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__50)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 659, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependUint16Slot, __pyx_t_3) < 0) __PYX_ERR(0, 659, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__50 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependUint16Slot, 659, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__50)) __PYX_ERR(0, 659, __pyx_L1_error)

    +660:         self.PrependSlot(&Fb_uint16_t, o, x, d)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependSlot(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint16_t), __pyx_v_o, __pyx_v_x, __pyx_v_d); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 660, __pyx_L1_error)

     661:

    +662:     def PrependUint32Slot(self, Py_ssize_t o, uint32_t x, uint32_t d):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_33PrependUint32Slot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_33PrependUint32Slot = {"PrependUint32Slot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_33PrependUint32Slot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_33PrependUint32Slot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      Py_ssize_t __pyx_v_o;
      uint32_t __pyx_v_x;
      uint32_t __pyx_v_d;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependUint32Slot (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 662, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 662, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependUint32Slot", 1, 3, 3, 1); __PYX_ERR(0, 662, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 662, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependUint32Slot", 1, 3, 3, 2); __PYX_ERR(0, 662, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependUint32Slot") < 0)) __PYX_ERR(0, 662, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 662, __pyx_L3_error)
        __pyx_v_x = __Pyx_PyInt_As_uint32_t(values[1]); if (unlikely((__pyx_v_x == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 662, __pyx_L3_error)
        __pyx_v_d = __Pyx_PyInt_As_uint32_t(values[2]); if (unlikely((__pyx_v_d == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 662, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependUint32Slot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 662, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint32Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_32PrependUint32Slot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_32PrependUint32Slot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, uint32_t __pyx_v_x, uint32_t __pyx_v_d) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint32Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_33PrependUint32Slot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependUint32Slot, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__51)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 662, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependUint32Slot, __pyx_t_3) < 0) __PYX_ERR(0, 662, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__51 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependUint32Slot, 662, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__51)) __PYX_ERR(0, 662, __pyx_L1_error)

    +663:         self.PrependSlot(&Fb_uint32_t, o, x, d)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependSlot(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint32_t), __pyx_v_o, __pyx_v_x, __pyx_v_d); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 663, __pyx_L1_error)

     664:

    +665:     def PrependUint64Slot(self, Py_ssize_t o, uint64_t x, uint64_t d):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_35PrependUint64Slot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_35PrependUint64Slot = {"PrependUint64Slot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_35PrependUint64Slot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_35PrependUint64Slot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      Py_ssize_t __pyx_v_o;
      uint64_t __pyx_v_x;
      uint64_t __pyx_v_d;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependUint64Slot (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 665, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 665, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependUint64Slot", 1, 3, 3, 1); __PYX_ERR(0, 665, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 665, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependUint64Slot", 1, 3, 3, 2); __PYX_ERR(0, 665, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependUint64Slot") < 0)) __PYX_ERR(0, 665, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 665, __pyx_L3_error)
        __pyx_v_x = __Pyx_PyInt_As_uint64_t(values[1]); if (unlikely((__pyx_v_x == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 665, __pyx_L3_error)
        __pyx_v_d = __Pyx_PyInt_As_uint64_t(values[2]); if (unlikely((__pyx_v_d == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 665, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependUint64Slot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 665, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint64Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_34PrependUint64Slot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_34PrependUint64Slot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, uint64_t __pyx_v_x, uint64_t __pyx_v_d) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint64Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_35PrependUint64Slot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependUint64Slot, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__52)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 665, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependUint64Slot, __pyx_t_3) < 0) __PYX_ERR(0, 665, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__52 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependUint64Slot, 665, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__52)) __PYX_ERR(0, 665, __pyx_L1_error)

    +666:         self.PrependSlot(&Fb_uint64_t, o, x, d)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependSlot(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint64_t), __pyx_v_o, __pyx_v_x, __pyx_v_d); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 666, __pyx_L1_error)

     667:

    +668:     def PrependInt8Slot(self, Py_ssize_t o, int8_t x, int8_t d):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_37PrependInt8Slot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_37PrependInt8Slot = {"PrependInt8Slot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_37PrependInt8Slot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_37PrependInt8Slot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      Py_ssize_t __pyx_v_o;
      int8_t __pyx_v_x;
      int8_t __pyx_v_d;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependInt8Slot (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 668, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 668, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependInt8Slot", 1, 3, 3, 1); __PYX_ERR(0, 668, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 668, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependInt8Slot", 1, 3, 3, 2); __PYX_ERR(0, 668, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependInt8Slot") < 0)) __PYX_ERR(0, 668, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 668, __pyx_L3_error)
        __pyx_v_x = __Pyx_PyInt_As_int8_t(values[1]); if (unlikely((__pyx_v_x == ((int8_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 668, __pyx_L3_error)
        __pyx_v_d = __Pyx_PyInt_As_int8_t(values[2]); if (unlikely((__pyx_v_d == ((int8_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 668, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependInt8Slot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 668, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt8Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_36PrependInt8Slot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_36PrependInt8Slot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, int8_t __pyx_v_x, int8_t __pyx_v_d) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt8Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_37PrependInt8Slot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependInt8Slot, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__53)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 668, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependInt8Slot, __pyx_t_3) < 0) __PYX_ERR(0, 668, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__53 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependInt8Slot, 668, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__53)) __PYX_ERR(0, 668, __pyx_L1_error)

    +669:         self.PrependSlot(&Fb_int8_t, o, x, d)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependSlot(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_int8_t), __pyx_v_o, __pyx_v_x, __pyx_v_d); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 669, __pyx_L1_error)

     670:

    +671:     def PrependInt16Slot(self, Py_ssize_t o, int16_t x, int16_t d):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_39PrependInt16Slot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_39PrependInt16Slot = {"PrependInt16Slot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_39PrependInt16Slot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_39PrependInt16Slot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      Py_ssize_t __pyx_v_o;
      int16_t __pyx_v_x;
      int16_t __pyx_v_d;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependInt16Slot (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 671, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 671, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependInt16Slot", 1, 3, 3, 1); __PYX_ERR(0, 671, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 671, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependInt16Slot", 1, 3, 3, 2); __PYX_ERR(0, 671, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependInt16Slot") < 0)) __PYX_ERR(0, 671, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 671, __pyx_L3_error)
        __pyx_v_x = __Pyx_PyInt_As_int16_t(values[1]); if (unlikely((__pyx_v_x == ((int16_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 671, __pyx_L3_error)
        __pyx_v_d = __Pyx_PyInt_As_int16_t(values[2]); if (unlikely((__pyx_v_d == ((int16_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 671, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependInt16Slot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 671, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt16Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_38PrependInt16Slot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_38PrependInt16Slot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, int16_t __pyx_v_x, int16_t __pyx_v_d) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt16Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_39PrependInt16Slot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependInt16Slot, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__54)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 671, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependInt16Slot, __pyx_t_3) < 0) __PYX_ERR(0, 671, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__54 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependInt16Slot, 671, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__54)) __PYX_ERR(0, 671, __pyx_L1_error)

    +672:         self.PrependSlot(&Fb_int16_t, o, x, d)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependSlot(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_int16_t), __pyx_v_o, __pyx_v_x, __pyx_v_d); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 672, __pyx_L1_error)

     673:

    +674:     def PrependInt32Slot(self, Py_ssize_t o, int32_t x, int32_t d):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_41PrependInt32Slot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_41PrependInt32Slot = {"PrependInt32Slot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_41PrependInt32Slot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_41PrependInt32Slot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      Py_ssize_t __pyx_v_o;
      int32_t __pyx_v_x;
      int32_t __pyx_v_d;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependInt32Slot (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 674, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 674, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependInt32Slot", 1, 3, 3, 1); __PYX_ERR(0, 674, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 674, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependInt32Slot", 1, 3, 3, 2); __PYX_ERR(0, 674, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependInt32Slot") < 0)) __PYX_ERR(0, 674, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 674, __pyx_L3_error)
        __pyx_v_x = __Pyx_PyInt_As_int32_t(values[1]); if (unlikely((__pyx_v_x == ((int32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 674, __pyx_L3_error)
        __pyx_v_d = __Pyx_PyInt_As_int32_t(values[2]); if (unlikely((__pyx_v_d == ((int32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 674, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependInt32Slot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 674, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt32Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_40PrependInt32Slot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_40PrependInt32Slot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, int32_t __pyx_v_x, int32_t __pyx_v_d) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt32Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_41PrependInt32Slot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependInt32Slot, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__55)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 674, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependInt32Slot, __pyx_t_3) < 0) __PYX_ERR(0, 674, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__55 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependInt32Slot, 674, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__55)) __PYX_ERR(0, 674, __pyx_L1_error)

    +675:         self.PrependSlot(&Fb_int32_t, o, x, d)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependSlot(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_int32_t), __pyx_v_o, __pyx_v_x, __pyx_v_d); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 675, __pyx_L1_error)

     676:

    +677:     def PrependInt64Slot(self, Py_ssize_t o, int64_t x, int64_t d):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_43PrependInt64Slot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_43PrependInt64Slot = {"PrependInt64Slot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_43PrependInt64Slot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_43PrependInt64Slot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      Py_ssize_t __pyx_v_o;
      int64_t __pyx_v_x;
      int64_t __pyx_v_d;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependInt64Slot (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 677, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 677, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependInt64Slot", 1, 3, 3, 1); __PYX_ERR(0, 677, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 677, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependInt64Slot", 1, 3, 3, 2); __PYX_ERR(0, 677, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependInt64Slot") < 0)) __PYX_ERR(0, 677, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 677, __pyx_L3_error)
        __pyx_v_x = __Pyx_PyInt_As_int64_t(values[1]); if (unlikely((__pyx_v_x == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 677, __pyx_L3_error)
        __pyx_v_d = __Pyx_PyInt_As_int64_t(values[2]); if (unlikely((__pyx_v_d == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 677, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependInt64Slot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 677, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt64Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_42PrependInt64Slot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_42PrependInt64Slot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, int64_t __pyx_v_x, int64_t __pyx_v_d) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt64Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_43PrependInt64Slot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependInt64Slot, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__56)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 677, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependInt64Slot, __pyx_t_3) < 0) __PYX_ERR(0, 677, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__56 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependInt64Slot, 677, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__56)) __PYX_ERR(0, 677, __pyx_L1_error)

    +678:         self.PrependSlot(&Fb_int64_t, o, x, d)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependSlot(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_int64_t), __pyx_v_o, __pyx_v_x, __pyx_v_d); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 678, __pyx_L1_error)

     679:

    +680:     def PrependFloat32Slot(self, Py_ssize_t o, float x, float d):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_45PrependFloat32Slot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_45PrependFloat32Slot = {"PrependFloat32Slot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_45PrependFloat32Slot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_45PrependFloat32Slot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      Py_ssize_t __pyx_v_o;
      float __pyx_v_x;
      float __pyx_v_d;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependFloat32Slot (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 680, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 680, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependFloat32Slot", 1, 3, 3, 1); __PYX_ERR(0, 680, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 680, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependFloat32Slot", 1, 3, 3, 2); __PYX_ERR(0, 680, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependFloat32Slot") < 0)) __PYX_ERR(0, 680, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 680, __pyx_L3_error)
        __pyx_v_x = __pyx_PyFloat_AsFloat(values[1]); if (unlikely((__pyx_v_x == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 680, __pyx_L3_error)
        __pyx_v_d = __pyx_PyFloat_AsFloat(values[2]); if (unlikely((__pyx_v_d == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 680, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependFloat32Slot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 680, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependFloat32Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_44PrependFloat32Slot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_44PrependFloat32Slot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, float __pyx_v_x, float __pyx_v_d) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependFloat32Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_45PrependFloat32Slot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependFloat32Slot, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__57)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 680, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependFloat32Slot, __pyx_t_3) < 0) __PYX_ERR(0, 680, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__57 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependFloat32Slot, 680, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__57)) __PYX_ERR(0, 680, __pyx_L1_error)

    +681:         if x != d:

      __pyx_t_1 = (__pyx_v_x != __pyx_v_d);
      if (__pyx_t_1) {
    /* … */
      }

    +682:             self.Prep(Fb_float32_t.bytewidth, 0)

        ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_7flattrs_8cflattrs_7builder_Fb_float32_t.bytewidth, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 682, __pyx_L1_error)

    +683:             self.head = self.head - Fb_float32_t.bytewidth

        __pyx_v_self->head = (__pyx_v_self->head - __pyx_v_7flattrs_8cflattrs_7builder_Fb_float32_t.bytewidth);

    +684:             writeFloat32(x, self.buffer, self.head)

        __pyx_f_7flattrs_8cflattrs_7builder_writeFloat32(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 684, __pyx_L1_error)

    +685:             self.Slot(o)

        ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Slot(__pyx_v_self, __pyx_v_o); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 685, __pyx_L1_error)

     686:

    +687:     def PrependFloat64Slot(self, Py_ssize_t o, double x, double d):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_47PrependFloat64Slot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_47PrependFloat64Slot = {"PrependFloat64Slot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_47PrependFloat64Slot, __Pyx_METH_FASTCALL|METH_KEYWORDS, 0};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_47PrependFloat64Slot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      Py_ssize_t __pyx_v_o;
      double __pyx_v_x;
      double __pyx_v_d;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependFloat64Slot (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 687, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 687, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependFloat64Slot", 1, 3, 3, 1); __PYX_ERR(0, 687, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 687, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependFloat64Slot", 1, 3, 3, 2); __PYX_ERR(0, 687, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependFloat64Slot") < 0)) __PYX_ERR(0, 687, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 687, __pyx_L3_error)
        __pyx_v_x = __pyx_PyFloat_AsDouble(values[1]); if (unlikely((__pyx_v_x == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 687, __pyx_L3_error)
        __pyx_v_d = __pyx_PyFloat_AsDouble(values[2]); if (unlikely((__pyx_v_d == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 687, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependFloat64Slot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 687, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependFloat64Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_46PrependFloat64Slot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_46PrependFloat64Slot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, double __pyx_v_x, double __pyx_v_d) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependFloat64Slot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_47PrependFloat64Slot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependFloat64Slot, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__58)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 687, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependFloat64Slot, __pyx_t_3) < 0) __PYX_ERR(0, 687, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__58 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependFloat64Slot, 687, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__58)) __PYX_ERR(0, 687, __pyx_L1_error)

    +688:         if x != d:

      __pyx_t_1 = (__pyx_v_x != __pyx_v_d);
      if (__pyx_t_1) {
    /* … */
      }

    +689:             self.Prep(Fb_float64_t.bytewidth, 0)

        ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_7flattrs_8cflattrs_7builder_Fb_float64_t.bytewidth, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 689, __pyx_L1_error)

    +690:             self.head = self.head - Fb_float64_t.bytewidth

        __pyx_v_self->head = (__pyx_v_self->head - __pyx_v_7flattrs_8cflattrs_7builder_Fb_float64_t.bytewidth);

    +691:             writeFloat64(x, self.buffer, self.head)

        __pyx_f_7flattrs_8cflattrs_7builder_writeFloat64(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 691, __pyx_L1_error)

    +692:             self.Slot(o)

        ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Slot(__pyx_v_self, __pyx_v_o); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 692, __pyx_L1_error)

     693:

    +694:     def PrependUOffsetTRelativeSlot(self, Py_ssize_t o, Py_ssize_t x, Py_ssize_t d):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_49PrependUOffsetTRelativeSlot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_48PrependUOffsetTRelativeSlot, "\n        PrependUOffsetTRelativeSlot prepends an UOffsetT onto the object at\n        vtable slot `o`. If value `x` equals default `d`, then the slot will\n        be set to zero and no other data will be written.\n        ");
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_49PrependUOffsetTRelativeSlot = {"PrependUOffsetTRelativeSlot", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_49PrependUOffsetTRelativeSlot, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_48PrependUOffsetTRelativeSlot};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_49PrependUOffsetTRelativeSlot(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      Py_ssize_t __pyx_v_o;
      Py_ssize_t __pyx_v_x;
      Py_ssize_t __pyx_v_d;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependUOffsetTRelativeSlot (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_o,&__pyx_n_s_x,&__pyx_n_s_d,0};
      PyObject* values[3] = {0,0,0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  3: values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
            CYTHON_FALLTHROUGH;
            case  2: values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
            CYTHON_FALLTHROUGH;
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_o)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 694, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
            CYTHON_FALLTHROUGH;
            case  1:
            if (likely((values[1] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[1]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 694, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependUOffsetTRelativeSlot", 1, 3, 3, 1); __PYX_ERR(0, 694, __pyx_L3_error)
            }
            CYTHON_FALLTHROUGH;
            case  2:
            if (likely((values[2] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_d)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[2]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 694, __pyx_L3_error)
            else {
              __Pyx_RaiseArgtupleInvalid("PrependUOffsetTRelativeSlot", 1, 3, 3, 2); __PYX_ERR(0, 694, __pyx_L3_error)
            }
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependUOffsetTRelativeSlot") < 0)) __PYX_ERR(0, 694, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 3)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
          values[1] = __Pyx_Arg_FASTCALL(__pyx_args, 1);
          values[2] = __Pyx_Arg_FASTCALL(__pyx_args, 2);
        }
        __pyx_v_o = __Pyx_PyIndex_AsSsize_t(values[0]); if (unlikely((__pyx_v_o == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 694, __pyx_L3_error)
        __pyx_v_x = __Pyx_PyIndex_AsSsize_t(values[1]); if (unlikely((__pyx_v_x == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 694, __pyx_L3_error)
        __pyx_v_d = __Pyx_PyIndex_AsSsize_t(values[2]); if (unlikely((__pyx_v_d == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 694, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependUOffsetTRelativeSlot", 1, 3, 3, __pyx_nargs); __PYX_ERR(0, 694, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUOffsetTRelativeSlot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_48PrependUOffsetTRelativeSlot(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_o, __pyx_v_x, __pyx_v_d);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_48PrependUOffsetTRelativeSlot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, Py_ssize_t __pyx_v_o, Py_ssize_t __pyx_v_x, Py_ssize_t __pyx_v_d) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUOffsetTRelativeSlot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_49PrependUOffsetTRelativeSlot, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependUOffsetTRelativeS, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__59)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 694, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependUOffsetTRelativeSlot, __pyx_t_3) < 0) __PYX_ERR(0, 694, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__59 = (PyObject*)__Pyx_PyCode_New(4, 0, 0, 4, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__46, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependUOffsetTRelativeSlot, 694, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__59)) __PYX_ERR(0, 694, __pyx_L1_error)

     695:         """

     696:         PrependUOffsetTRelativeSlot prepends an UOffsetT onto the object at

     697:         vtable slot `o`. If value `x` equals default `d`, then the slot will

     698:         be set to zero and no other data will be written.

     699:         """

    +700:         if x != d:

      __pyx_t_1 = (__pyx_v_x != __pyx_v_d);
      if (__pyx_t_1) {
    /* … */
      }

    +701:             self.PrependUOffsetTRelative(x)

        ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->PrependUOffsetTRelative(__pyx_v_self, __pyx_v_x, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 701, __pyx_L1_error)

    +702:             self.Slot(o)

        ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Slot(__pyx_v_self, __pyx_v_o); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 702, __pyx_L1_error)

     703:

    +704:     cdef PrependStructSlot(self, v, x, d):

    static PyObject *__pyx_f_7flattrs_8cflattrs_7builder_7Builder_PrependStructSlot(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_v, PyObject *__pyx_v_x, PyObject *__pyx_v_d) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_1);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependStructSlot", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = 0;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

     705:         """

     706:         PrependStructSlot prepends a struct onto the object at vtable slot `o`.

     707:         Structs are stored inline, so nothing additional is being added.

     708:         In generated code, `d` is always 0.

     709:         """

    +710:         if x != d:

      __pyx_t_1 = PyObject_RichCompare(__pyx_v_x, __pyx_v_d, Py_NE); __Pyx_XGOTREF(__pyx_t_1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 710, __pyx_L1_error)
      __pyx_t_2 = __Pyx_PyObject_IsTrue(__pyx_t_1); if (unlikely((__pyx_t_2 < 0))) __PYX_ERR(0, 710, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
      if (__pyx_t_2) {
    /* … */
      }

    +711:             self.assertStructIsInline(x)

        __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_v_x); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 711, __pyx_L1_error)
        ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->assertStructIsInline(__pyx_v_self, __pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 711, __pyx_L1_error)

    +712:             self.Slot(v)

        __pyx_t_3 = __Pyx_PyIndex_AsSsize_t(__pyx_v_v); if (unlikely((__pyx_t_3 == (Py_ssize_t)-1) && PyErr_Occurred())) __PYX_ERR(0, 712, __pyx_L1_error)
        ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Slot(__pyx_v_self, __pyx_t_3); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 712, __pyx_L1_error)

     713:

    +714:     def PrependBool(self, x):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_51PrependBool(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_50PrependBool, "Prepend a `bool` to the Builder buffer.\n\n        Note: aligns and checks for space.\n        ");
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_51PrependBool = {"PrependBool", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_51PrependBool, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_50PrependBool};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_51PrependBool(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      PyObject *__pyx_v_x = 0;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependBool (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
      PyObject* values[1] = {0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 714, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependBool") < 0)) __PYX_ERR(0, 714, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 1)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        }
        __pyx_v_x = values[0];
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependBool", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 714, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependBool", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_50PrependBool(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_50PrependBool(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_x) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependBool", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_51PrependBool, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependBool, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__60)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 714, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependBool, __pyx_t_3) < 0) __PYX_ERR(0, 714, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__60 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependBool, 714, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__60)) __PYX_ERR(0, 714, __pyx_L1_error)

     715:         """Prepend a `bool` to the Builder buffer.

     716:

     717:         Note: aligns and checks for space.

     718:         """

    +719:         self.Prepend(&Fb_bool_t, x)

      __pyx_t_1 = __Pyx_PyInt_As_int64_t(__pyx_v_x); if (unlikely((__pyx_t_1 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 719, __pyx_L1_error)
      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prepend(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_bool_t), __pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 719, __pyx_L1_error)

     720:

    +721:     def PrependByte(self, x):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_53PrependByte(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_52PrependByte, "Prepend a `byte` to the Builder buffer.\n\n        Note: aligns and checks for space.\n        ");
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_53PrependByte = {"PrependByte", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_53PrependByte, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_52PrependByte};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_53PrependByte(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      PyObject *__pyx_v_x = 0;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependByte (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
      PyObject* values[1] = {0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 721, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependByte") < 0)) __PYX_ERR(0, 721, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 1)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        }
        __pyx_v_x = values[0];
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependByte", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 721, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependByte", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_52PrependByte(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_52PrependByte(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_x) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependByte", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_53PrependByte, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependByte, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__61)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 721, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependByte, __pyx_t_3) < 0) __PYX_ERR(0, 721, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__61 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependByte, 721, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__61)) __PYX_ERR(0, 721, __pyx_L1_error)

     722:         """Prepend a `byte` to the Builder buffer.

     723:

     724:         Note: aligns and checks for space.

     725:         """

    +726:         self.Prepend(&Fb_uint8_t, x)

      __pyx_t_1 = __Pyx_PyInt_As_int64_t(__pyx_v_x); if (unlikely((__pyx_t_1 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 726, __pyx_L1_error)
      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prepend(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint8_t), __pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 726, __pyx_L1_error)

     727:

    +728:     def PrependUint8(self, x):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_55PrependUint8(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_54PrependUint8, "Prepend an `uint8` to the Builder buffer.\n\n        Note: aligns and checks for space.\n        ");
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_55PrependUint8 = {"PrependUint8", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_55PrependUint8, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_54PrependUint8};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_55PrependUint8(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      PyObject *__pyx_v_x = 0;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependUint8 (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
      PyObject* values[1] = {0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 728, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependUint8") < 0)) __PYX_ERR(0, 728, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 1)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        }
        __pyx_v_x = values[0];
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependUint8", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 728, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint8", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_54PrependUint8(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_54PrependUint8(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_x) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint8", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_55PrependUint8, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependUint8, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__62)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 728, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependUint8, __pyx_t_3) < 0) __PYX_ERR(0, 728, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__62 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependUint8, 728, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__62)) __PYX_ERR(0, 728, __pyx_L1_error)

     729:         """Prepend an `uint8` to the Builder buffer.

     730:

     731:         Note: aligns and checks for space.

     732:         """

    +733:         self.Prepend(&Fb_uint8_t, x)

      __pyx_t_1 = __Pyx_PyInt_As_int64_t(__pyx_v_x); if (unlikely((__pyx_t_1 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 733, __pyx_L1_error)
      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prepend(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint8_t), __pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 733, __pyx_L1_error)

     734:

    +735:     def PrependUint16(self, x):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_57PrependUint16(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_56PrependUint16, "Prepend an `uint16` to the Builder buffer.\n\n        Note: aligns and checks for space.\n        ");
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_57PrependUint16 = {"PrependUint16", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_57PrependUint16, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_56PrependUint16};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_57PrependUint16(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      PyObject *__pyx_v_x = 0;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependUint16 (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
      PyObject* values[1] = {0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 735, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependUint16") < 0)) __PYX_ERR(0, 735, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 1)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        }
        __pyx_v_x = values[0];
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependUint16", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 735, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint16", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_56PrependUint16(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_56PrependUint16(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_x) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint16", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_57PrependUint16, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependUint16, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__63)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 735, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependUint16, __pyx_t_3) < 0) __PYX_ERR(0, 735, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__63 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependUint16, 735, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__63)) __PYX_ERR(0, 735, __pyx_L1_error)

     736:         """Prepend an `uint16` to the Builder buffer.

     737:

     738:         Note: aligns and checks for space.

     739:         """

    +740:         self.Prepend(&Fb_uint16_t, x)

      __pyx_t_1 = __Pyx_PyInt_As_int64_t(__pyx_v_x); if (unlikely((__pyx_t_1 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 740, __pyx_L1_error)
      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prepend(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint16_t), __pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 740, __pyx_L1_error)

     741:

    +742:     def PrependUint32(self, uint32_t x):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_59PrependUint32(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_58PrependUint32, "Prepend an `uint32` to the Builder buffer.\n\n        Note: aligns and checks for space.\n        ");
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_59PrependUint32 = {"PrependUint32", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_59PrependUint32, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_58PrependUint32};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_59PrependUint32(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      uint32_t __pyx_v_x;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependUint32 (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
      PyObject* values[1] = {0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 742, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependUint32") < 0)) __PYX_ERR(0, 742, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 1)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        }
        __pyx_v_x = __Pyx_PyInt_As_uint32_t(values[0]); if (unlikely((__pyx_v_x == ((uint32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 742, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependUint32", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 742, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint32", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_58PrependUint32(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_58PrependUint32(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, uint32_t __pyx_v_x) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint32", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_59PrependUint32, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependUint32, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__64)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 742, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependUint32, __pyx_t_3) < 0) __PYX_ERR(0, 742, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__64 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependUint32, 742, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__64)) __PYX_ERR(0, 742, __pyx_L1_error)

     743:         """Prepend an `uint32` to the Builder buffer.

     744:

     745:         Note: aligns and checks for space.

     746:         """

    +747:         self.Prepend(&Fb_uint32_t, x)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prepend(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint32_t), __pyx_v_x); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 747, __pyx_L1_error)

     748:

    +749:     def PrependUint64(self, x):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_61PrependUint64(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_60PrependUint64, "Prepend an `uint64` to the Builder buffer.\n\n        Note: aligns and checks for space.\n        ");
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_61PrependUint64 = {"PrependUint64", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_61PrependUint64, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_60PrependUint64};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_61PrependUint64(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      PyObject *__pyx_v_x = 0;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependUint64 (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
      PyObject* values[1] = {0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 749, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependUint64") < 0)) __PYX_ERR(0, 749, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 1)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        }
        __pyx_v_x = values[0];
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependUint64", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 749, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint64", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_60PrependUint64(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_60PrependUint64(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_x) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependUint64", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_61PrependUint64, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependUint64, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__65)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 749, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependUint64, __pyx_t_3) < 0) __PYX_ERR(0, 749, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__65 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependUint64, 749, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__65)) __PYX_ERR(0, 749, __pyx_L1_error)

     750:         """Prepend an `uint64` to the Builder buffer.

     751:

     752:         Note: aligns and checks for space.

     753:         """

    +754:         self.Prep(Fb_uint64_t.bytewidth, 0)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint64_t.bytewidth, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 754, __pyx_L1_error)

    +755:         self.Place(x, &Fb_uint64_t)

      __pyx_t_1 = __Pyx_PyInt_As_uint64_t(__pyx_v_x); if (unlikely((__pyx_t_1 == ((uint64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 755, __pyx_L1_error)
      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Place(__pyx_v_self, __pyx_t_1, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint64_t)); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 755, __pyx_L1_error)

     756:

    +757:     def PrependInt8(self, x):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_63PrependInt8(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_62PrependInt8, "Prepend an `int8` to the Builder buffer.\n\n        Note: aligns and checks for space.\n        ");
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_63PrependInt8 = {"PrependInt8", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_63PrependInt8, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_62PrependInt8};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_63PrependInt8(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      PyObject *__pyx_v_x = 0;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependInt8 (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
      PyObject* values[1] = {0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 757, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependInt8") < 0)) __PYX_ERR(0, 757, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 1)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        }
        __pyx_v_x = values[0];
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependInt8", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 757, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt8", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_62PrependInt8(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_62PrependInt8(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_x) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt8", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_63PrependInt8, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependInt8, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__66)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 757, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependInt8, __pyx_t_3) < 0) __PYX_ERR(0, 757, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__66 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependInt8, 757, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__66)) __PYX_ERR(0, 757, __pyx_L1_error)

     758:         """Prepend an `int8` to the Builder buffer.

     759:

     760:         Note: aligns and checks for space.

     761:         """

    +762:         self.Prepend(&Fb_int8_t, x)

      __pyx_t_1 = __Pyx_PyInt_As_int64_t(__pyx_v_x); if (unlikely((__pyx_t_1 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 762, __pyx_L1_error)
      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prepend(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_int8_t), __pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 762, __pyx_L1_error)

     763:

    +764:     def PrependInt16(self, x):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_65PrependInt16(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_64PrependInt16, "Prepend an `int16` to the Builder buffer.\n\n        Note: aligns and checks for space.\n        ");
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_65PrependInt16 = {"PrependInt16", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_65PrependInt16, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_64PrependInt16};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_65PrependInt16(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      PyObject *__pyx_v_x = 0;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependInt16 (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
      PyObject* values[1] = {0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 764, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependInt16") < 0)) __PYX_ERR(0, 764, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 1)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        }
        __pyx_v_x = values[0];
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependInt16", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 764, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt16", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_64PrependInt16(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_64PrependInt16(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_x) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt16", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_65PrependInt16, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependInt16, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__67)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 764, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependInt16, __pyx_t_3) < 0) __PYX_ERR(0, 764, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__67 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependInt16, 764, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__67)) __PYX_ERR(0, 764, __pyx_L1_error)

     765:         """Prepend an `int16` to the Builder buffer.

     766:

     767:         Note: aligns and checks for space.

     768:         """

    +769:         self.Prepend(&Fb_int16_t, x)

      __pyx_t_1 = __Pyx_PyInt_As_int64_t(__pyx_v_x); if (unlikely((__pyx_t_1 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 769, __pyx_L1_error)
      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prepend(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_int16_t), __pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 769, __pyx_L1_error)

     770:

    +771:     cpdef PrependInt32(self, int32_t x):

    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_67PrependInt32(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    static PyObject *__pyx_f_7flattrs_8cflattrs_7builder_7Builder_PrependInt32(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, int32_t __pyx_v_x, int __pyx_skip_dispatch) {
      PyObject *__pyx_r = NULL;
      /* Check if called by wrapper */
      if (unlikely(__pyx_skip_dispatch)) ;
      /* Check if overridden in Python */
      else if (unlikely((Py_TYPE(((PyObject *)__pyx_v_self))->tp_dictoffset != 0) || __Pyx_PyType_HasFeature(Py_TYPE(((PyObject *)__pyx_v_self)), (Py_TPFLAGS_IS_ABSTRACT | Py_TPFLAGS_HEAPTYPE)))) {
        #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
        static PY_UINT64_T __pyx_tp_dict_version = __PYX_DICT_VERSION_INIT, __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
        if (unlikely(!__Pyx_object_dict_version_matches(((PyObject *)__pyx_v_self), __pyx_tp_dict_version, __pyx_obj_dict_version))) {
          PY_UINT64_T __pyx_typedict_guard = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
          #endif
          __pyx_t_1 = __Pyx_PyObject_GetAttrStr(((PyObject *)__pyx_v_self), __pyx_n_s_PrependInt32); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 771, __pyx_L1_error)
          __Pyx_GOTREF(__pyx_t_1);
          if (!__Pyx_IsSameCFunction(__pyx_t_1, (void*) __pyx_pw_7flattrs_8cflattrs_7builder_7Builder_67PrependInt32)) {
            __Pyx_XDECREF(__pyx_r);
            __pyx_t_3 = __Pyx_PyInt_From_int32_t(__pyx_v_x); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 771, __pyx_L1_error)
            __Pyx_GOTREF(__pyx_t_3);
            __Pyx_INCREF(__pyx_t_1);
            __pyx_t_4 = __pyx_t_1; __pyx_t_5 = NULL;
            __pyx_t_6 = 0;
            #if CYTHON_UNPACK_METHODS
            if (unlikely(PyMethod_Check(__pyx_t_4))) {
              __pyx_t_5 = PyMethod_GET_SELF(__pyx_t_4);
              if (likely(__pyx_t_5)) {
                PyObject* function = PyMethod_GET_FUNCTION(__pyx_t_4);
                __Pyx_INCREF(__pyx_t_5);
                __Pyx_INCREF(function);
                __Pyx_DECREF_SET(__pyx_t_4, function);
                __pyx_t_6 = 1;
              }
            }
            #endif
            {
              PyObject *__pyx_callargs[2] = {__pyx_t_5, __pyx_t_3};
              __pyx_t_2 = __Pyx_PyObject_FastCall(__pyx_t_4, __pyx_callargs+1-__pyx_t_6, 1+__pyx_t_6);
              __Pyx_XDECREF(__pyx_t_5); __pyx_t_5 = 0;
              __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
              if (unlikely(!__pyx_t_2)) __PYX_ERR(0, 771, __pyx_L1_error)
              __Pyx_GOTREF(__pyx_t_2);
              __Pyx_DECREF(__pyx_t_4); __pyx_t_4 = 0;
            }
            __pyx_r = __pyx_t_2;
            __pyx_t_2 = 0;
            __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
            goto __pyx_L0;
          }
          #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
          __pyx_tp_dict_version = __Pyx_get_tp_dict_version(((PyObject *)__pyx_v_self));
          __pyx_obj_dict_version = __Pyx_get_object_dict_version(((PyObject *)__pyx_v_self));
          if (unlikely(__pyx_typedict_guard != __pyx_tp_dict_version)) {
            __pyx_tp_dict_version = __pyx_obj_dict_version = __PYX_DICT_VERSION_INIT;
          }
          #endif
          __Pyx_DECREF(__pyx_t_1); __pyx_t_1 = 0;
          #if CYTHON_USE_DICT_VERSIONS && CYTHON_USE_PYTYPE_LOOKUP && CYTHON_USE_TYPE_SLOTS
        }
        #endif
      }
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_1);
      __Pyx_XDECREF(__pyx_t_2);
      __Pyx_XDECREF(__pyx_t_3);
      __Pyx_XDECREF(__pyx_t_4);
      __Pyx_XDECREF(__pyx_t_5);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt32", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = 0;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_67PrependInt32(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_66PrependInt32, "Prepend an `int32` to the Builder buffer.\n\n        Note: aligns and checks for space.\n        ");
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_67PrependInt32 = {"PrependInt32", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_67PrependInt32, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_66PrependInt32};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_67PrependInt32(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      int32_t __pyx_v_x;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependInt32 (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
      PyObject* values[1] = {0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 771, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependInt32") < 0)) __PYX_ERR(0, 771, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 1)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        }
        __pyx_v_x = __Pyx_PyInt_As_int32_t(values[0]); if (unlikely((__pyx_v_x == ((int32_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 771, __pyx_L3_error)
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependInt32", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 771, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt32", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_66PrependInt32(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_66PrependInt32(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, int32_t __pyx_v_x) {
      PyObject *__pyx_r = NULL;
      __Pyx_XDECREF(__pyx_r);
      __pyx_t_1 = __pyx_f_7flattrs_8cflattrs_7builder_7Builder_PrependInt32(__pyx_v_self, __pyx_v_x, 1); if (unlikely(!__pyx_t_1)) __PYX_ERR(0, 771, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_1);
      __pyx_r = __pyx_t_1;
      __pyx_t_1 = 0;
      goto __pyx_L0;

      /* function exit code */
      __pyx_L1_error:;
      __Pyx_XDECREF(__pyx_t_1);
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt32", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_67PrependInt32, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependInt32, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__68)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 771, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependInt32, __pyx_t_3) < 0) __PYX_ERR(0, 771, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__68 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependInt32, 771, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__68)) __PYX_ERR(0, 771, __pyx_L1_error)

     772:         """Prepend an `int32` to the Builder buffer.

     773:

     774:         Note: aligns and checks for space.

     775:         """

    +776:         self.Prepend(&Fb_int32_t, x)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prepend(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_int32_t), __pyx_v_x); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 776, __pyx_L1_error)

     777:

    +778:     def PrependInt64(self, x):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_69PrependInt64(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_68PrependInt64, "Prepend an `int64` to the Builder buffer.\n\n        Note: aligns and checks for space.\n        ");
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_69PrependInt64 = {"PrependInt64", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_69PrependInt64, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_68PrependInt64};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_69PrependInt64(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      PyObject *__pyx_v_x = 0;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependInt64 (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
      PyObject* values[1] = {0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 778, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependInt64") < 0)) __PYX_ERR(0, 778, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 1)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        }
        __pyx_v_x = values[0];
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependInt64", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 778, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt64", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_68PrependInt64(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_68PrependInt64(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_x) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependInt64", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_69PrependInt64, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependInt64, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__69)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 778, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependInt64, __pyx_t_3) < 0) __PYX_ERR(0, 778, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__69 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependInt64, 778, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__69)) __PYX_ERR(0, 778, __pyx_L1_error)

     779:         """Prepend an `int64` to the Builder buffer.

     780:

     781:         Note: aligns and checks for space.

     782:         """

    +783:         self.Prepend(&Fb_int64_t, x)

      __pyx_t_1 = __Pyx_PyInt_As_int64_t(__pyx_v_x); if (unlikely((__pyx_t_1 == ((int64_t)-1)) && PyErr_Occurred())) __PYX_ERR(0, 783, __pyx_L1_error)
      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prepend(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_int64_t), __pyx_t_1); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 783, __pyx_L1_error)

     784:

    +785:     def PrependFloat32(self, x):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_71PrependFloat32(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_70PrependFloat32, "Prepend a `float32` to the Builder buffer.\n\n        Note: aligns and checks for space.\n        ");
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_71PrependFloat32 = {"PrependFloat32", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_71PrependFloat32, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_70PrependFloat32};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_71PrependFloat32(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      PyObject *__pyx_v_x = 0;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependFloat32 (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
      PyObject* values[1] = {0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 785, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependFloat32") < 0)) __PYX_ERR(0, 785, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 1)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        }
        __pyx_v_x = values[0];
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependFloat32", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 785, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependFloat32", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_70PrependFloat32(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_70PrependFloat32(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_x) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependFloat32", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_71PrependFloat32, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependFloat32, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__70)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 785, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependFloat32, __pyx_t_3) < 0) __PYX_ERR(0, 785, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__70 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependFloat32, 785, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__70)) __PYX_ERR(0, 785, __pyx_L1_error)

     786:         """Prepend a `float32` to the Builder buffer.

     787:

     788:         Note: aligns and checks for space.

     789:         """

    +790:         self.Prep(Fb_float32_t.bytewidth, 0)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_7flattrs_8cflattrs_7builder_Fb_float32_t.bytewidth, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 790, __pyx_L1_error)

    +791:         self.head = self.head - Fb_float32_t.bytewidth

      __pyx_v_self->head = (__pyx_v_self->head - __pyx_v_7flattrs_8cflattrs_7builder_Fb_float32_t.bytewidth);

    +792:         writeFloat32(x, self.buffer, self.head)

      __pyx_t_1 = __pyx_PyFloat_AsFloat(__pyx_v_x); if (unlikely((__pyx_t_1 == (float)-1) && PyErr_Occurred())) __PYX_ERR(0, 792, __pyx_L1_error)
      __pyx_f_7flattrs_8cflattrs_7builder_writeFloat32(__pyx_t_1, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 792, __pyx_L1_error)

     793:

    +794:     def PrependFloat64(self, x):

    /* Python wrapper */
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_73PrependFloat64(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ); /*proto*/
    PyDoc_STRVAR(__pyx_doc_7flattrs_8cflattrs_7builder_7Builder_72PrependFloat64, "Prepend a `float64` to the Builder buffer.\n\n        Note: aligns and checks for space.\n        ");
    static PyMethodDef __pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_73PrependFloat64 = {"PrependFloat64", (PyCFunction)(void*)(__Pyx_PyCFunction_FastCallWithKeywords)__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_73PrependFloat64, __Pyx_METH_FASTCALL|METH_KEYWORDS, __pyx_doc_7flattrs_8cflattrs_7builder_7Builder_72PrependFloat64};
    static PyObject *__pyx_pw_7flattrs_8cflattrs_7builder_7Builder_73PrependFloat64(PyObject *__pyx_v_self,
    #if CYTHON_METH_FASTCALL
    PyObject *const *__pyx_args, Py_ssize_t __pyx_nargs, PyObject *__pyx_kwds
    #else
    PyObject *__pyx_args, PyObject *__pyx_kwds
    #endif
    ) {
      PyObject *__pyx_v_x = 0;
      #if !CYTHON_METH_FASTCALL
      CYTHON_UNUSED Py_ssize_t __pyx_nargs;
      #endif
      CYTHON_UNUSED PyObject *const *__pyx_kwvalues;
      PyObject *__pyx_r = 0;
      __Pyx_RefNannyDeclarations
      __Pyx_RefNannySetupContext("PrependFloat64 (wrapper)", 0);
      #if !CYTHON_METH_FASTCALL
      #if CYTHON_ASSUME_SAFE_MACROS
      __pyx_nargs = PyTuple_GET_SIZE(__pyx_args);
      #else
      __pyx_nargs = PyTuple_Size(__pyx_args); if (unlikely(__pyx_nargs < 0)) return NULL;
      #endif
      #endif
      __pyx_kwvalues = __Pyx_KwValues_FASTCALL(__pyx_args, __pyx_nargs);
      {
        PyObject **__pyx_pyargnames[] = {&__pyx_n_s_x,0};
      PyObject* values[1] = {0};
        if (__pyx_kwds) {
          Py_ssize_t kw_args;
          switch (__pyx_nargs) {
            case  1: values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
            CYTHON_FALLTHROUGH;
            case  0: break;
            default: goto __pyx_L5_argtuple_error;
          }
          kw_args = __Pyx_NumKwargs_FASTCALL(__pyx_kwds);
          switch (__pyx_nargs) {
            case  0:
            if (likely((values[0] = __Pyx_GetKwValue_FASTCALL(__pyx_kwds, __pyx_kwvalues, __pyx_n_s_x)) != 0)) {
              (void)__Pyx_Arg_NewRef_FASTCALL(values[0]);
              kw_args--;
            }
            else if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 794, __pyx_L3_error)
            else goto __pyx_L5_argtuple_error;
          }
          if (unlikely(kw_args > 0)) {
            const Py_ssize_t kwd_pos_args = __pyx_nargs;
            if (unlikely(__Pyx_ParseOptionalKeywords(__pyx_kwds, __pyx_kwvalues, __pyx_pyargnames, 0, values + 0, kwd_pos_args, "PrependFloat64") < 0)) __PYX_ERR(0, 794, __pyx_L3_error)
          }
        } else if (unlikely(__pyx_nargs != 1)) {
          goto __pyx_L5_argtuple_error;
        } else {
          values[0] = __Pyx_Arg_FASTCALL(__pyx_args, 0);
        }
        __pyx_v_x = values[0];
      }
      goto __pyx_L6_skip;
      __pyx_L5_argtuple_error:;
      __Pyx_RaiseArgtupleInvalid("PrependFloat64", 1, 1, 1, __pyx_nargs); __PYX_ERR(0, 794, __pyx_L3_error)
      __pyx_L6_skip:;
      goto __pyx_L4_argument_unpacking_done;
      __pyx_L3_error:;
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependFloat64", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __Pyx_RefNannyFinishContext();
      return NULL;
      __pyx_L4_argument_unpacking_done:;
      __pyx_r = __pyx_pf_7flattrs_8cflattrs_7builder_7Builder_72PrependFloat64(((struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self), __pyx_v_x);
      int __pyx_lineno = 0;
      const char *__pyx_filename = NULL;
      int __pyx_clineno = 0;

      /* function exit code */
      {
        Py_ssize_t __pyx_temp;
        for (__pyx_temp=0; __pyx_temp < (Py_ssize_t)(sizeof(values)/sizeof(values[0])); ++__pyx_temp) {
          __Pyx_Arg_XDECREF_FASTCALL(values[__pyx_temp]);
        }
      }
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }

    static PyObject *__pyx_pf_7flattrs_8cflattrs_7builder_7Builder_72PrependFloat64(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, PyObject *__pyx_v_x) {
      PyObject *__pyx_r = NULL;
    /* … */
      /* function exit code */
      __pyx_r = Py_None; __Pyx_INCREF(Py_None);
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependFloat64", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_r = NULL;
      __pyx_L0:;
      __Pyx_XGIVEREF(__pyx_r);
      __Pyx_RefNannyFinishContext();
      return __pyx_r;
    }
    /* … */
      __pyx_t_3 = __Pyx_CyFunction_New(&__pyx_mdef_7flattrs_8cflattrs_7builder_7Builder_73PrependFloat64, __Pyx_CYFUNCTION_CCLASS, __pyx_n_s_Builder_PrependFloat64, NULL, __pyx_n_s_flattrs_cflattrs_builder, __pyx_d, ((PyObject *)__pyx_codeobj__71)); if (unlikely(!__pyx_t_3)) __PYX_ERR(0, 794, __pyx_L1_error)
      __Pyx_GOTREF(__pyx_t_3);
      if (__Pyx_SetItemOnTypeDict((PyObject *)__pyx_ptype_7flattrs_8cflattrs_7builder_Builder, __pyx_n_s_PrependFloat64, __pyx_t_3) < 0) __PYX_ERR(0, 794, __pyx_L1_error)
      __Pyx_DECREF(__pyx_t_3); __pyx_t_3 = 0;
      PyType_Modified(__pyx_ptype_7flattrs_8cflattrs_7builder_Builder);
    /* … */
      __pyx_codeobj__71 = (PyObject*)__Pyx_PyCode_New(2, 0, 0, 2, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_tuple__41, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_flattrs_cflattrs_builder_pyx, __pyx_n_s_PrependFloat64, 794, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__71)) __PYX_ERR(0, 794, __pyx_L1_error)

     795:         """Prepend a `float64` to the Builder buffer.

     796:

     797:         Note: aligns and checks for space.

     798:         """

    +799:         self.Prep(Fb_float64_t.bytewidth, 0)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prep(__pyx_v_self, __pyx_v_7flattrs_8cflattrs_7builder_Fb_float64_t.bytewidth, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 799, __pyx_L1_error)

    +800:         self.head = self.head - Fb_float64_t.bytewidth

      __pyx_v_self->head = (__pyx_v_self->head - __pyx_v_7flattrs_8cflattrs_7builder_Fb_float64_t.bytewidth);

    +801:         writeFloat64(x, self.buffer, self.head)

      __pyx_t_1 = __pyx_PyFloat_AsDouble(__pyx_v_x); if (unlikely((__pyx_t_1 == (double)-1) && PyErr_Occurred())) __PYX_ERR(0, 801, __pyx_L1_error)
      __pyx_f_7flattrs_8cflattrs_7builder_writeFloat64(__pyx_t_1, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 801, __pyx_L1_error)

     802:

    +803:     cdef void PrependVOffsetT(self, uint16_t x):

    static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_PrependVOffsetT(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, uint16_t __pyx_v_x) {
    /* … */
      /* function exit code */
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PrependVOffsetT", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_L0:;
    }

    +804:         self.Prepend(&Fb_uint16_t, x)

      ((struct __pyx_vtabstruct_7flattrs_8cflattrs_7builder_Builder *)__pyx_v_self->__pyx_vtab)->Prepend(__pyx_v_self, (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint16_t), __pyx_v_x); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 804, __pyx_L1_error)

     805:

    +806:     cdef void Place(self, uint64_t x, FlatbufferType *fb_type):

    static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_Place(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, uint64_t __pyx_v_x, struct __pyx_t_7flattrs_8cflattrs_7builder_FlatbufferType *__pyx_v_fb_type) {
    /* … */
      /* function exit code */
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.Place", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_L0:;
    }

     807:         """

     808:         Place prepends a value specified by `flags` to the Builder,

     809:         without checking for available space.

     810:         """

    +811:         self.head = self.head - fb_type.bytewidth

      __pyx_v_self->head = (__pyx_v_self->head - __pyx_v_fb_type->bytewidth);

     812:         #Write(flags.packer_type, self.Bytes, self.head, x)

     813:

    +814:         if fb_type == &Fb_bool_t:

      __pyx_t_1 = (__pyx_v_fb_type == (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_bool_t));
      if (__pyx_t_1) {
    /* … */
        goto __pyx_L3;
      }

    +815:             writeBool(x, self.buffer, self.head)

        __pyx_f_7flattrs_8cflattrs_7builder_writeBool(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 815, __pyx_L1_error)

    +816:         elif fb_type == &Fb_uint8_t:

      __pyx_t_1 = (__pyx_v_fb_type == (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint8_t));
      if (__pyx_t_1) {
    /* … */
        goto __pyx_L3;
      }

    +817:             writeUint8(x, self.buffer, self.head)

        __pyx_f_7flattrs_8cflattrs_7builder_writeUint8(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 817, __pyx_L1_error)

    +818:         elif fb_type == &Fb_uint16_t:

      __pyx_t_1 = (__pyx_v_fb_type == (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint16_t));
      if (__pyx_t_1) {
    /* … */
        goto __pyx_L3;
      }

    +819:             writeUint16(x, self.buffer, self.head)

        __pyx_f_7flattrs_8cflattrs_7builder_writeUint16(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 819, __pyx_L1_error)

    +820:         elif fb_type == &Fb_uint32_t:

      __pyx_t_1 = (__pyx_v_fb_type == (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint32_t));
      if (__pyx_t_1) {
    /* … */
        goto __pyx_L3;
      }

    +821:             writeUint32(x, self.buffer, self.head)

        __pyx_f_7flattrs_8cflattrs_7builder_writeUint32(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 821, __pyx_L1_error)

    +822:         elif fb_type == &Fb_uint64_t:

      __pyx_t_1 = (__pyx_v_fb_type == (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_uint64_t));
      if (__pyx_t_1) {
    /* … */
        goto __pyx_L3;
      }

    +823:             writeUint64(x, self.buffer, self.head)

        __pyx_f_7flattrs_8cflattrs_7builder_writeUint64(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 823, __pyx_L1_error)

    +824:         elif fb_type == &Fb_int8_t:

      __pyx_t_1 = (__pyx_v_fb_type == (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_int8_t));
      if (__pyx_t_1) {
    /* … */
        goto __pyx_L3;
      }

    +825:             writeInt8(x, self.buffer, self.head)

        __pyx_f_7flattrs_8cflattrs_7builder_writeInt8(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 825, __pyx_L1_error)

    +826:         elif fb_type == &Fb_int16_t:

      __pyx_t_1 = (__pyx_v_fb_type == (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_int16_t));
      if (__pyx_t_1) {
    /* … */
        goto __pyx_L3;
      }

    +827:             writeInt16(x, self.buffer, self.head)

        __pyx_f_7flattrs_8cflattrs_7builder_writeInt16(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 827, __pyx_L1_error)

    +828:         elif fb_type == &Fb_int32_t:

      __pyx_t_1 = (__pyx_v_fb_type == (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_int32_t));
      if (__pyx_t_1) {
    /* … */
        goto __pyx_L3;
      }

    +829:             writeInt32(x, self.buffer, self.head)

        __pyx_f_7flattrs_8cflattrs_7builder_writeInt32(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 829, __pyx_L1_error)

    +830:         elif fb_type == &Fb_int64_t:

      __pyx_t_1 = (__pyx_v_fb_type == (&__pyx_v_7flattrs_8cflattrs_7builder_Fb_int64_t));
      if (__pyx_t_1) {
    /* … */
      }
      __pyx_L3:;

    +831:             writeInt64(x, self.buffer, self.head)

        __pyx_f_7flattrs_8cflattrs_7builder_writeInt64(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 831, __pyx_L1_error)

     832:

    +833:     cdef void PlaceVOffsetT(self, uint16_t x):

    static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_PlaceVOffsetT(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, uint16_t __pyx_v_x) {
    /* … */
      /* function exit code */
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PlaceVOffsetT", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_L0:;
    }

     834:         """PlaceVOffsetT prepends a VOffsetT to the Builder, without checking

     835:         for space.

     836:         """

    +837:         self.head = self.head - Fb_uint16_t.bytewidth

      __pyx_v_self->head = (__pyx_v_self->head - __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint16_t.bytewidth);

    +838:         writeUint16(x, self.buffer, self.head)

      __pyx_f_7flattrs_8cflattrs_7builder_writeUint16(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 838, __pyx_L1_error)

     839:

    +840:     cdef void PlaceSOffsetT(self, int32_t x):

    static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_PlaceSOffsetT(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, int32_t __pyx_v_x) {
    /* … */
      /* function exit code */
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PlaceSOffsetT", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_L0:;
    }

     841:         """PlaceSOffsetT prepends a SOffsetT to the Builder, without checking

     842:         for space.

     843:         """

    +844:         self.head = self.head - Fb_int32_t.bytewidth

      __pyx_v_self->head = (__pyx_v_self->head - __pyx_v_7flattrs_8cflattrs_7builder_Fb_int32_t.bytewidth);

     845:         #Write(soffset, self.Bytes, self.head, x)

    +846:         writeInt32(x, self.buffer, self.head)

      __pyx_f_7flattrs_8cflattrs_7builder_writeInt32(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 846, __pyx_L1_error)

     847:

    +848:     cdef void PlaceUOffsetT(self, uint32_t x):

    static void __pyx_f_7flattrs_8cflattrs_7builder_7Builder_PlaceUOffsetT(struct __pyx_obj_7flattrs_8cflattrs_7builder_Builder *__pyx_v_self, uint32_t __pyx_v_x) {
    /* … */
      /* function exit code */
      goto __pyx_L0;
      __pyx_L1_error:;
      __Pyx_AddTraceback("flattrs.cflattrs.builder.Builder.PlaceUOffsetT", __pyx_clineno, __pyx_lineno, __pyx_filename);
      __pyx_L0:;
    }

     849:         """PlaceUOffsetT prepends a UOffsetT to the Builder, without checking

     850:         for space.

     851:         """

    +852:         self.head = self.head - Fb_uint32_t.bytewidth

      __pyx_v_self->head = (__pyx_v_self->head - __pyx_v_7flattrs_8cflattrs_7builder_Fb_uint32_t.bytewidth);

     853:         #Write(uoffset, self.Bytes, self.head, x)

    +854:         writeUint32(x, self.buffer, self.head)

      __pyx_f_7flattrs_8cflattrs_7builder_writeUint32(__pyx_v_x, __pyx_v_self->buffer, __pyx_v_self->head, 0); if (unlikely(PyErr_Occurred())) __PYX_ERR(0, 854, __pyx_L1_error)