void Gio::MemoryInputStream::add_data(const string&) (struct MemoryInputStream * const this, const struct string & data)
{
  const char * D.98243;
  struct GMemoryInputStream * D.98244;
  char * data_copy;

  D.98243 = std::basic_string<char>::c_str (data);
  data_copy = g_strdup (D.98243);
  D.98244 = Gio::MemoryInputStream::gobj (this);
  g_memory_input_stream_add_data (D.98244, data_copy, -1, g_free);
}


const _CharT* std::basic_string<_CharT, _Traits, _Alloc>::c_str() const [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>] (const struct basic_string * const this)
{
  const char * D.98247;

  D.98247 = std::basic_string<char>::_M_data (this);
  return D.98247;
}


_CharT* std::basic_string<_CharT, _Traits, _Alloc>::_M_data() const [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>] (const struct basic_string * const this)
{
  char * D.98250;

  D.98250 = this->_M_dataplus._M_p;
  return D.98250;
}


GMemoryInputStream* Gio::MemoryInputStream::gobj() (struct MemoryInputStream * const this)
{
  struct GMemoryInputStream * D.98252;
  int (*__vtbl_ptr_type) () * D.98253;
  int (*__vtbl_ptr_type) () * D.98254;
  long int D.98255;
  sizetype D.98256;
  struct ObjectBase * D.98257;

  D.98253 = this->D.86637.D.86366._vptr.Object;
  D.98254 = D.98253 + 18446744073709551592;
  D.98255 = MEM[(long int *)D.98254];
  D.98256 = (sizetype) D.98255;
  D.98257 = this + D.98256;
  D.98252 = D.98257->gobject_;
  return D.98252;
}


void Gio::MemoryInputStream::add_data(const void*, gssize) (struct MemoryInputStream * const this, const void * data, gssize len)
{
  unsigned int D.98262;
  struct GMemoryInputStream * D.98263;
  char * data_copy;

  data_copy = 0B;
  if (len < 0) goto <D.98259>; else goto <D.98260>;
  <D.98259>:
  data_copy = g_strdup (data);
  goto <D.98261>;
  <D.98260>:
  D.98262 = (unsigned int) len;
  data_copy = g_memdup (data, D.98262);
  <D.98261>:
  D.98263 = Gio::MemoryInputStream::gobj (this);
  g_memory_input_stream_add_data (D.98263, data_copy, len, g_free);
}


void Gio::MemoryInputStream::add_data(const void*, gssize, const SlotDestroyData&) (struct MemoryInputStream * const this, const void * data, gssize len, const struct SlotDestroyData & destroy_slot)
{
  void * slot_with_data.0;
  long unsigned int len.1;
  struct GMemoryInputStream * D.98267;
  struct SlotWithData * slot_with_data;
  struct GBytes * bytes;

  slot_with_data.0 = operator new (16);
  try
    {
      {anonymous}::SlotWithData::SlotWithData (slot_with_data.0, destroy_slot, data);
    }
  catch
    {
      operator delete (slot_with_data.0);
    }
  slot_with_data = slot_with_data.0;
  len.1 = (long unsigned int) len;
  bytes = g_bytes_new_with_free_func (data, len.1, destroy_data_callback, slot_with_data);
  D.98267 = Gio::MemoryInputStream::gobj (this);
  g_memory_input_stream_add_bytes (D.98267, bytes);
  g_bytes_unref (bytes);
}


void {anonymous}::destroy_data_callback(void*) (void * user_data)
{
  bool retval.2;
  int retval.3;
  long int D.98277;
  long int D.98278;
  void * D.98282;
  struct SlotWithData * slot_with_data.4;
  struct SlotWithData * slot_with_data;
  static const char __PRETTY_FUNCTION__[47] = "void {anonymous}::destroy_data_callback(void*)";

  slot_with_data = user_data;
  {
    {
      {
        int _g_boolean_var_;

        if (slot_with_data != 0B) goto <D.98274>; else goto <D.98275>;
        <D.98274>:
        _g_boolean_var_ = 1;
        goto <D.98276>;
        <D.98275>:
        _g_boolean_var_ = 0;
        <D.98276>:
        retval.3 = _g_boolean_var_;
      }
      D.98277 = (long int) retval.3;
      D.98278 = __builtin_expect (D.98277, 1);
      retval.2 = D.98278 != 0;
      if (retval.2 != 0) goto <D.98279>; else goto <D.98280>;
      <D.98279>:
      goto <D.98281>;
      <D.98280>:
      g_return_if_fail_warning ("giomm", &__PRETTY_FUNCTION__, "slot_with_data != 0");
      return;
      <D.98281>:
    }
  }
  try
    {
      {anonymous}::SlotWithData::operator() (slot_with_data);
    }
  catch
    {
      catch (NULL)
        {
          try
            {
              D.98282 = __builtin_eh_pointer (0);
              __cxa_begin_catch (D.98282);
              Glib::exception_handlers_invoke ();
            }
          finally
            {
              __cxa_end_catch ();
            }
        }
    }
  slot_with_data.4 = slot_with_data;
  if (slot_with_data.4 != 0B) goto <D.98284>; else goto <D.98285>;
  <D.98284>:
  {anonymous}::SlotWithData::~SlotWithData (slot_with_data.4);
  operator delete (slot_with_data.4);
  goto <D.98286>;
  <D.98285>:
  <D.98286>:
}


void {anonymous}::SlotWithData::operator()() (struct SlotWithData * const this)
{
  void * * D.98291;
  struct SlotDestroyData * D.98292;
  struct slot1 * D.98293;

  D.98291 = &this->m_data;
  D.98292 = this->m_slot;
  D.98293 = &D.98292->D.97251;
  sigc::slot1<void, void*>::operator() (D.98293, D.98291);
}


T_return sigc::slot1<T_return, T_arg1>::operator()(sigc::slot1<T_return, T_arg1>::arg1_type_) const [with T_return = void; T_arg1 = void*; sigc::slot1<T_return, T_arg1>::arg1_type_ = void* const&] (const struct slot1 * const this, void * const & _A_a1)
{
  bool retval.5;
  bool iftmp.6;
  const struct slot_base * D.98298;
  bool D.98299;
  bool D.98300;
  bool D.98302;
  bool D.98303;
  struct rep_type * D.98307;
  void * (*<T609>) (void *) D.98308;

  D.98298 = &this->D.97209;
  D.98299 = sigc::slot_base::empty (D.98298);
  D.98300 = ~D.98299;
  if (D.98300 != 0) goto <D.98301>; else goto <D.98296>;
  <D.98301>:
  D.98298 = &this->D.97209;
  D.98302 = sigc::slot_base::blocked (D.98298);
  D.98303 = ~D.98302;
  if (D.98303 != 0) goto <D.98304>; else goto <D.98296>;
  <D.98304>:
  iftmp.6 = 1;
  goto <D.98297>;
  <D.98296>:
  iftmp.6 = 0;
  <D.98297>:
  retval.5 = iftmp.6;
  if (retval.5 != 0) goto <D.98305>; else goto <D.98306>;
  <D.98305>:
  D.98307 = this->D.97209.rep_;
  D.98308 = D.98307->call_;
  D.98307 = this->D.97209.rep_;
  D.98308 (D.98307, _A_a1);
  return;
  <D.98306>:
  return;
}


bool sigc::slot_base::empty() const (const struct slot_base * const this)
{
  bool D.98310;
  bool iftmp.7;
  struct rep_type * D.98315;
  void * (*<T609>) (void *) D.98317;

  D.98315 = this->rep_;
  if (D.98315 == 0B) goto <D.98312>; else goto <D.98316>;
  <D.98316>:
  D.98315 = this->rep_;
  D.98317 = D.98315->call_;
  if (D.98317 == 0B) goto <D.98312>; else goto <D.98313>;
  <D.98312>:
  iftmp.7 = 1;
  goto <D.98314>;
  <D.98313>:
  iftmp.7 = 0;
  <D.98314>:
  D.98310 = iftmp.7;
  return D.98310;
}


bool sigc::slot_base::blocked() const (const struct slot_base * const this)
{
  bool D.98319;

  D.98319 = this->blocked_;
  return D.98319;
}


{anonymous}::SlotWithData::~SlotWithData() (struct SlotWithData * const this)
{
  struct SlotDestroyData * D.98321;

  {
    try
      {
        D.98321 = this->m_slot;
        if (D.98321 != 0B) goto <D.98322>; else goto <D.98323>;
        <D.98322>:
        sigc::slot<void, void*>::~slot (D.98321);
        operator delete (D.98321);
        goto <D.98324>;
        <D.98323>:
        <D.98324>:
      }
    finally
      {
        *this = {CLOBBER};
      }
  }
  <D.97302>:
}


sigc::slot<void, void*>::~slot() (struct slot * const this)
{
  struct slot1 * D.98326;

  {
    try
      {
        try
          {

          }
        finally
          {
            D.98326 = &this->D.97251;
            sigc::slot1<void, void*>::~slot1 (D.98326);
          }
      }
    finally
      {
        *this = {CLOBBER};
      }
  }
  <D.97297>:
}


sigc::slot1<void, void*>::~slot1() (struct slot1 * const this)
{
  struct slot_base * D.98328;

  {
    try
      {
        try
          {

          }
        finally
          {
            D.98328 = &this->D.97209;
            sigc::slot_base::~slot_base (D.98328);
          }
      }
    finally
      {
        *this = {CLOBBER};
      }
  }
  <D.97292>:
}


{anonymous}::SlotWithData::SlotWithData(const SlotDestroyData&, void*) (struct SlotWithData * const this, const struct SlotDestroyData & slot, void * data)
{
  void * D.97264;

  D.97264 = operator new (16);
  try
    {
      sigc::slot<void, void*>::slot (D.97264, slot);
    }
  catch
    {
      operator delete (D.97264);
    }
  this->m_slot = D.97264;
  this->m_data = data;
}


sigc::slot<T_return, T_arg1, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>::slot(const sigc::slot<T_return, T_arg1, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil, sigc::nil>&) [with T_return = void; T_arg1 = void*] (struct slot * const this, const struct slot & src)
{
  struct slot1 * D.98332;

  D.98332 = &this->D.97251;
  sigc::slot1<void, void*>::slot1 (D.98332, src);
  try
    {

    }
  catch
    {
      D.98332 = &this->D.97251;
      sigc::slot1<void, void*>::~slot1 (D.98332);
    }
}


sigc::slot1<T_return, T_arg1>::slot1(const sigc::slot1<T_return, T_arg1>&) [with T_return = void; T_arg1 = void*] (struct slot1 * const this, const struct slot1 & src)
{
  const struct slot_base * D.98333;
  struct slot_base * D.98334;

  D.98333 = &src->D.97209;
  D.98334 = &this->D.97209;
  sigc::slot_base::slot_base (D.98334, D.98333);
  try
    {

    }
  catch
    {
      D.98334 = &this->D.97209;
      sigc::slot_base::~slot_base (D.98334);
    }
}


Glib::RefPtr<Gio::MemoryInputStream> Glib::wrap(GMemoryInputStream*, bool) (struct GMemoryInputStream * object, bool take_copy)
{
  struct MemoryInputStream * iftmp.8;
  int D.98337;
  struct ObjectBase * D.98338;

  D.98337 = (int) take_copy;
  D.98338 = Glib::wrap_auto (object, D.98337);
  if (D.98338 == 0B) goto <D.98339>; else goto <D.98340>;
  <D.98339>:
  iftmp.8 = 0B;
  goto <D.98341>;
  <D.98340>:
  iftmp.8 = __dynamic_cast (D.98338, &_ZTIN4Glib10ObjectBaseE, &_ZTIN3Gio17MemoryInputStreamE, -1);
  <D.98341>:
  Glib::RefPtr<Gio::MemoryInputStream>::RefPtr (<retval>, iftmp.8);
  return <retval>;
}


Glib::RefPtr<T_CppObject>::RefPtr(T_CppObject*) [with T_CppObject = Gio::MemoryInputStream] (struct RefPtr * const this, struct MemoryInputStream * pCppObject)
{
  this->pCppObject_ = pCppObject;
}


const Glib::Class& Gio::MemoryInputStream_Class::init() (struct MemoryInputStream_Class * const this)
{
  long unsigned int D.98344;
  long unsigned int D.98347;
  struct Class * D.98348;
  long unsigned int D.98349;
  const struct Class & D.98351;

  D.98344 = this->D.86701.gtype_;
  if (D.98344 == 0) goto <D.98345>; else goto <D.98346>;
  <D.98345>:
  this->D.86701.class_init_func_ = class_init_function;
  D.98347 = g_memory_input_stream_get_type ();
  D.98348 = &this->D.86701;
  Glib::Class::register_derived_type (D.98348, D.98347);
  D.98348 = &this->D.86701;
  D.98349 = Glib::Class::get_type (D.98348);
  Gio::Seekable::add_interface (D.98349);
  goto <D.98350>;
  <D.98346>:
  <D.98350>:
  D.98351 = &this->D.86701;
  return D.98351;
}


GType Glib::Class::get_type() const (const struct Class * const this)
{
  GType D.98354;

  D.98354 = this->gtype_;
  return D.98354;
}


static void Gio::MemoryInputStream_Class::class_init_function(void*, void*) (void * g_class, void * class_data)
{
  struct BaseClassType * const klass;

  klass = g_class;
  Gio::InputStream_Class::class_init_function (klass, class_data);
}


static Glib::ObjectBase* Gio::MemoryInputStream_Class::wrap_new(GObject*) (struct GObject * object)
{
  struct ObjectBase * D.98356;
  struct ObjectBase * iftmp.9;
  void * D.97495;
  void * D.98358;
  int (*__vtbl_ptr_type) () * D.98361;
  int (*__vtbl_ptr_type) () * D.98362;
  long int D.98363;
  sizetype D.98364;

  D.97495 = operator new (56);
  try
    {
      Gio::MemoryInputStream::MemoryInputStream (D.97495, object);
    }
  catch
    {
      operator delete (D.97495);
    }
  D.98358 = D.97495;
  if (D.98358 != 0B) goto <D.98359>; else goto <D.98360>;
  <D.98359>:
  D.98361 = MEM[(struct MemoryInputStream *)D.98358].D.86637.D.86366._vptr.Object;
  D.98362 = D.98361 + 18446744073709551592;
  D.98363 = MEM[(long int *)D.98362];
  D.98364 = (sizetype) D.98363;
  iftmp.9 = D.98358 + D.98364;
  goto <D.98365>;
  <D.98360>:
  iftmp.9 = 0B;
  <D.98365>:
  D.98356 = iftmp.9;
  return D.98356;
}


GMemoryInputStream* Gio::MemoryInputStream::gobj_copy() (struct MemoryInputStream * const this)
{
  int (*__vtbl_ptr_type) () * D.98369;
  int (*__vtbl_ptr_type) () * D.98370;
  long int D.98371;
  sizetype D.98372;
  struct ObjectBase * D.98373;
  int (*__vtbl_ptr_type) () * D.98374;
  int (*__vtbl_ptr_type) () * D.98375;
  int (*__vtbl_ptr_type) () D.98376;
  struct GMemoryInputStream * D.98377;

  D.98369 = this->D.86637.D.86366._vptr.Object;
  D.98370 = D.98369 + 18446744073709551592;
  D.98371 = MEM[(long int *)D.98370];
  D.98372 = (sizetype) D.98371;
  D.98373 = this + D.98372;
  D.98369 = this->D.86637.D.86366._vptr.Object;
  D.98370 = D.98369 + 18446744073709551592;
  D.98371 = MEM[(long int *)D.98370];
  D.98372 = (sizetype) D.98371;
  D.98373 = this + D.98372;
  D.98374 = D.98373->_vptr.ObjectBase;
  D.98375 = D.98374 + 16;
  D.98376 = *D.98375;
  D.98369 = this->D.86637.D.86366._vptr.Object;
  D.98370 = D.98369 + 18446744073709551592;
  D.98371 = MEM[(long int *)D.98370];
  D.98372 = (sizetype) D.98371;
  D.98373 = this + D.98372;
  OBJ_TYPE_REF(D.98376;(const struct ObjectBase)D.98373->2) (D.98373);
  D.98377 = Gio::MemoryInputStream::gobj (this);
  return D.98377;
}


Gio::MemoryInputStream::MemoryInputStream(const Glib::ConstructParams&) (struct MemoryInputStream * const this, const void * * __vtt_parm, const struct ConstructParams & construct_params)
{
  struct trackable * D.98381;
  const void * * iftmp.10;
  struct ObjectBase * D.98389;
  const void * * iftmp.11;
  struct InputStream * D.98395;
  const void * * iftmp.12;
  struct Seekable * D.98400;
  int (*__vtbl_ptr_type) () * iftmp.13;
  sizetype iftmp.14;
  int (*__vtbl_ptr_type) () * D.98408;
  int (*__vtbl_ptr_type) () * D.98409;
  long int D.98410;
  struct ObjectBase * D.98412;
  int (*__vtbl_ptr_type) () * iftmp.15;
  int (*__vtbl_ptr_type) () * iftmp.16;
  const void * * iftmp.17;
  const void * * iftmp.18;
  const void * * iftmp.19;

  if (0 != 0) goto <D.98379>; else goto <D.98380>;
  <D.98379>:
  D.98381 = &this->D.86642;
  sigc::trackable::trackable (D.98381);
  goto <D.98382>;
  <D.98380>:
  <D.98382>:
  try
    {
      if (0 != 0) goto <D.98383>; else goto <D.98384>;
      <D.98383>:
      if (0 == 0) goto <D.98386>; else goto <D.98387>;
      <D.98386>:
      iftmp.10 = __vtt_parm + 88;
      goto <D.98388>;
      <D.98387>:
      iftmp.10 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 88B];
      <D.98388>:
      D.98389 = &this->D.86641;
      Glib::ObjectBase::ObjectBase (D.98389, iftmp.10);
      goto <D.98390>;
      <D.98384>:
      <D.98390>:
      try
        {
          if (0 == 0) goto <D.98392>; else goto <D.98393>;
          <D.98392>:
          iftmp.11 = __vtt_parm + 8;
          goto <D.98394>;
          <D.98393>:
          iftmp.11 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 8B];
          <D.98394>:
          D.98395 = &this->D.86637;
          Gio::InputStream::InputStream (D.98395, iftmp.11, construct_params);
          try
            {
              if (0 == 0) goto <D.98397>; else goto <D.98398>;
              <D.98397>:
              iftmp.12 = __vtt_parm + 40;
              goto <D.98399>;
              <D.98398>:
              iftmp.12 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 40B];
              <D.98399>:
              D.98400 = &this->D.86638;
              Gio::Seekable::Seekable (D.98400, iftmp.12);
              try
                {
                  if (0 == 0) goto <D.98402>; else goto <D.98403>;
                  <D.98402>:
                  iftmp.13 = *__vtt_parm;
                  goto <D.98404>;
                  <D.98403>:
                  iftmp.13 = &MEM[(void *)&_ZTVN3Gio17MemoryInputStreamE + 32B];
                  <D.98404>:
                  this->D.86637.D.86366._vptr.Object = iftmp.13;
                  if (0 == 0) goto <D.98406>; else goto <D.98407>;
                  <D.98406>:
                  D.98408 = this->D.86637.D.86366._vptr.Object;
                  D.98409 = D.98408 + 18446744073709551592;
                  D.98410 = MEM[(long int *)D.98409];
                  iftmp.14 = (sizetype) D.98410;
                  goto <D.98411>;
                  <D.98407>:
                  iftmp.14 = 16;
                  <D.98411>:
                  D.98412 = this + iftmp.14;
                  if (0 == 0) goto <D.98414>; else goto <D.98415>;
                  <D.98414>:
                  iftmp.15 = MEM[(const void * *)__vtt_parm + 72B];
                  goto <D.98416>;
                  <D.98415>:
                  iftmp.15 = &MEM[(void *)&_ZTVN3Gio17MemoryInputStreamE + 160B];
                  <D.98416>:
                  D.98412->_vptr.ObjectBase = iftmp.15;
                  if (0 == 0) goto <D.98418>; else goto <D.98419>;
                  <D.98418>:
                  iftmp.16 = MEM[(const void * *)__vtt_parm + 80B];
                  goto <D.98420>;
                  <D.98419>:
                  iftmp.16 = &MEM[(void *)&_ZTVN3Gio17MemoryInputStreamE + 80B];
                  <D.98420>:
                  this->D.86638.D.86503._vptr.Interface = iftmp.16;
                }
              catch
                {
                  if (0 == 0) goto <D.98422>; else goto <D.98423>;
                  <D.98422>:
                  iftmp.17 = __vtt_parm + 40;
                  goto <D.98424>;
                  <D.98423>:
                  iftmp.17 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 40B];
                  <D.98424>:
                  D.98400 = &this->D.86638;
                  Gio::Seekable::~Seekable (D.98400, iftmp.17);
                }
            }
          catch
            {
              if (0 == 0) goto <D.98426>; else goto <D.98427>;
              <D.98426>:
              iftmp.18 = __vtt_parm + 8;
              goto <D.98428>;
              <D.98427>:
              iftmp.18 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 8B];
              <D.98428>:
              D.98395 = &this->D.86637;
              Gio::InputStream::~InputStream (D.98395, iftmp.18);
            }
        }
      catch
        {
          if (0 != 0) goto <D.98429>; else goto <D.98430>;
          <D.98429>:
          if (0 == 0) goto <D.98432>; else goto <D.98433>;
          <D.98432>:
          iftmp.19 = __vtt_parm + 88;
          goto <D.98434>;
          <D.98433>:
          iftmp.19 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 88B];
          <D.98434>:
          D.98389 = &this->D.86641;
          Glib::ObjectBase::~ObjectBase (D.98389, iftmp.19);
          goto <D.98435>;
          <D.98430>:
          <D.98435>:
        }
    }
  catch
    {
      if (0 != 0) goto <D.98436>; else goto <D.98437>;
      <D.98436>:
      D.98381 = &this->D.86642;
      sigc::trackable::~trackable (D.98381);
      goto <D.98438>;
      <D.98437>:
      <D.98438>:
    }
}


Gio::MemoryInputStream::MemoryInputStream(const Glib::ConstructParams&) (struct MemoryInputStream * const this, const struct ConstructParams & construct_params)
{
  struct trackable * D.98444;
  const void * * iftmp.20;
  struct ObjectBase * D.98452;
  const void * * iftmp.21;
  struct InputStream * D.98458;
  const void * * iftmp.22;
  struct Seekable * D.98463;
  int (*__vtbl_ptr_type) () * iftmp.23;
  const void * * D.98467;
  sizetype iftmp.24;
  int (*__vtbl_ptr_type) () * D.98472;
  int (*__vtbl_ptr_type) () * D.98473;
  long int D.98474;
  struct ObjectBase * D.98476;
  int (*__vtbl_ptr_type) () * iftmp.25;
  int (*__vtbl_ptr_type) () * iftmp.26;
  const void * * iftmp.27;
  const void * * iftmp.28;
  const void * * iftmp.29;

  if (1 != 0) goto <D.98442>; else goto <D.98443>;
  <D.98442>:
  D.98444 = &this->D.86642;
  sigc::trackable::trackable (D.98444);
  goto <D.98445>;
  <D.98443>:
  <D.98445>:
  try
    {
      if (1 != 0) goto <D.98446>; else goto <D.98447>;
      <D.98446>:
      if (1 == 0) goto <D.98449>; else goto <D.98450>;
      <D.98449>:
      iftmp.20 = 88B;
      goto <D.98451>;
      <D.98450>:
      iftmp.20 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 88B];
      <D.98451>:
      D.98452 = &this->D.86641;
      Glib::ObjectBase::ObjectBase (D.98452, iftmp.20);
      goto <D.98453>;
      <D.98447>:
      <D.98453>:
      try
        {
          if (1 == 0) goto <D.98455>; else goto <D.98456>;
          <D.98455>:
          iftmp.21 = 8B;
          goto <D.98457>;
          <D.98456>:
          iftmp.21 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 8B];
          <D.98457>:
          D.98458 = &this->D.86637;
          Gio::InputStream::InputStream (D.98458, iftmp.21, construct_params);
          try
            {
              if (1 == 0) goto <D.98460>; else goto <D.98461>;
              <D.98460>:
              iftmp.22 = 40B;
              goto <D.98462>;
              <D.98461>:
              iftmp.22 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 40B];
              <D.98462>:
              D.98463 = &this->D.86638;
              Gio::Seekable::Seekable (D.98463, iftmp.22);
              try
                {
                  if (1 == 0) goto <D.98465>; else goto <D.98466>;
                  <D.98465>:
                  D.98467 = 0B;
                  iftmp.23 = *D.98467;
                  goto <D.98468>;
                  <D.98466>:
                  iftmp.23 = &MEM[(void *)&_ZTVN3Gio17MemoryInputStreamE + 32B];
                  <D.98468>:
                  this->D.86637.D.86366._vptr.Object = iftmp.23;
                  if (1 == 0) goto <D.98470>; else goto <D.98471>;
                  <D.98470>:
                  D.98472 = this->D.86637.D.86366._vptr.Object;
                  D.98473 = D.98472 + 18446744073709551592;
                  D.98474 = MEM[(long int *)D.98473];
                  iftmp.24 = (sizetype) D.98474;
                  goto <D.98475>;
                  <D.98471>:
                  iftmp.24 = 16;
                  <D.98475>:
                  D.98476 = this + iftmp.24;
                  if (1 == 0) goto <D.98478>; else goto <D.98479>;
                  <D.98478>:
                  iftmp.25 = MEM[(const void * *)0B + 72B];
                  goto <D.98480>;
                  <D.98479>:
                  iftmp.25 = &MEM[(void *)&_ZTVN3Gio17MemoryInputStreamE + 160B];
                  <D.98480>:
                  D.98476->_vptr.ObjectBase = iftmp.25;
                  if (1 == 0) goto <D.98482>; else goto <D.98483>;
                  <D.98482>:
                  iftmp.26 = MEM[(const void * *)0B + 80B];
                  goto <D.98484>;
                  <D.98483>:
                  iftmp.26 = &MEM[(void *)&_ZTVN3Gio17MemoryInputStreamE + 80B];
                  <D.98484>:
                  this->D.86638.D.86503._vptr.Interface = iftmp.26;
                }
              catch
                {
                  if (1 == 0) goto <D.98486>; else goto <D.98487>;
                  <D.98486>:
                  iftmp.27 = 40B;
                  goto <D.98488>;
                  <D.98487>:
                  iftmp.27 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 40B];
                  <D.98488>:
                  D.98463 = &this->D.86638;
                  Gio::Seekable::~Seekable (D.98463, iftmp.27);
                }
            }
          catch
            {
              if (1 == 0) goto <D.98490>; else goto <D.98491>;
              <D.98490>:
              iftmp.28 = 8B;
              goto <D.98492>;
              <D.98491>:
              iftmp.28 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 8B];
              <D.98492>:
              D.98458 = &this->D.86637;
              Gio::InputStream::~InputStream (D.98458, iftmp.28);
            }
        }
      catch
        {
          if (1 != 0) goto <D.98493>; else goto <D.98494>;
          <D.98493>:
          if (1 == 0) goto <D.98496>; else goto <D.98497>;
          <D.98496>:
          iftmp.29 = 88B;
          goto <D.98498>;
          <D.98497>:
          iftmp.29 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 88B];
          <D.98498>:
          D.98452 = &this->D.86641;
          Glib::ObjectBase::~ObjectBase (D.98452, iftmp.29);
          goto <D.98499>;
          <D.98494>:
          <D.98499>:
        }
    }
  catch
    {
      if (1 != 0) goto <D.98500>; else goto <D.98501>;
      <D.98500>:
      D.98444 = &this->D.86642;
      sigc::trackable::~trackable (D.98444);
      goto <D.98502>;
      <D.98501>:
      <D.98502>:
    }
}


Gio::MemoryInputStream::MemoryInputStream(GMemoryInputStream*) (struct MemoryInputStream * const this, const void * * __vtt_parm, struct GMemoryInputStream * castitem)
{
  struct trackable * D.98508;
  const void * * iftmp.30;
  struct ObjectBase * D.98516;
  const void * * iftmp.31;
  struct InputStream * D.98522;
  const void * * iftmp.32;
  struct Seekable * D.98527;
  int (*__vtbl_ptr_type) () * iftmp.33;
  sizetype iftmp.34;
  int (*__vtbl_ptr_type) () * D.98535;
  int (*__vtbl_ptr_type) () * D.98536;
  long int D.98537;
  struct ObjectBase * D.98539;
  int (*__vtbl_ptr_type) () * iftmp.35;
  int (*__vtbl_ptr_type) () * iftmp.36;
  const void * * iftmp.37;
  const void * * iftmp.38;
  const void * * iftmp.39;

  if (0 != 0) goto <D.98506>; else goto <D.98507>;
  <D.98506>:
  D.98508 = &this->D.86642;
  sigc::trackable::trackable (D.98508);
  goto <D.98509>;
  <D.98507>:
  <D.98509>:
  try
    {
      if (0 != 0) goto <D.98510>; else goto <D.98511>;
      <D.98510>:
      if (0 == 0) goto <D.98513>; else goto <D.98514>;
      <D.98513>:
      iftmp.30 = __vtt_parm + 88;
      goto <D.98515>;
      <D.98514>:
      iftmp.30 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 88B];
      <D.98515>:
      D.98516 = &this->D.86641;
      Glib::ObjectBase::ObjectBase (D.98516, iftmp.30);
      goto <D.98517>;
      <D.98511>:
      <D.98517>:
      try
        {
          if (0 == 0) goto <D.98519>; else goto <D.98520>;
          <D.98519>:
          iftmp.31 = __vtt_parm + 8;
          goto <D.98521>;
          <D.98520>:
          iftmp.31 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 8B];
          <D.98521>:
          D.98522 = &this->D.86637;
          Gio::InputStream::InputStream (D.98522, iftmp.31, castitem);
          try
            {
              if (0 == 0) goto <D.98524>; else goto <D.98525>;
              <D.98524>:
              iftmp.32 = __vtt_parm + 40;
              goto <D.98526>;
              <D.98525>:
              iftmp.32 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 40B];
              <D.98526>:
              D.98527 = &this->D.86638;
              Gio::Seekable::Seekable (D.98527, iftmp.32);
              try
                {
                  if (0 == 0) goto <D.98529>; else goto <D.98530>;
                  <D.98529>:
                  iftmp.33 = *__vtt_parm;
                  goto <D.98531>;
                  <D.98530>:
                  iftmp.33 = &MEM[(void *)&_ZTVN3Gio17MemoryInputStreamE + 32B];
                  <D.98531>:
                  this->D.86637.D.86366._vptr.Object = iftmp.33;
                  if (0 == 0) goto <D.98533>; else goto <D.98534>;
                  <D.98533>:
                  D.98535 = this->D.86637.D.86366._vptr.Object;
                  D.98536 = D.98535 + 18446744073709551592;
                  D.98537 = MEM[(long int *)D.98536];
                  iftmp.34 = (sizetype) D.98537;
                  goto <D.98538>;
                  <D.98534>:
                  iftmp.34 = 16;
                  <D.98538>:
                  D.98539 = this + iftmp.34;
                  if (0 == 0) goto <D.98541>; else goto <D.98542>;
                  <D.98541>:
                  iftmp.35 = MEM[(const void * *)__vtt_parm + 72B];
                  goto <D.98543>;
                  <D.98542>:
                  iftmp.35 = &MEM[(void *)&_ZTVN3Gio17MemoryInputStreamE + 160B];
                  <D.98543>:
                  D.98539->_vptr.ObjectBase = iftmp.35;
                  if (0 == 0) goto <D.98545>; else goto <D.98546>;
                  <D.98545>:
                  iftmp.36 = MEM[(const void * *)__vtt_parm + 80B];
                  goto <D.98547>;
                  <D.98546>:
                  iftmp.36 = &MEM[(void *)&_ZTVN3Gio17MemoryInputStreamE + 80B];
                  <D.98547>:
                  this->D.86638.D.86503._vptr.Interface = iftmp.36;
                }
              catch
                {
                  if (0 == 0) goto <D.98549>; else goto <D.98550>;
                  <D.98549>:
                  iftmp.37 = __vtt_parm + 40;
                  goto <D.98551>;
                  <D.98550>:
                  iftmp.37 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 40B];
                  <D.98551>:
                  D.98527 = &this->D.86638;
                  Gio::Seekable::~Seekable (D.98527, iftmp.37);
                }
            }
          catch
            {
              if (0 == 0) goto <D.98553>; else goto <D.98554>;
              <D.98553>:
              iftmp.38 = __vtt_parm + 8;
              goto <D.98555>;
              <D.98554>:
              iftmp.38 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 8B];
              <D.98555>:
              D.98522 = &this->D.86637;
              Gio::InputStream::~InputStream (D.98522, iftmp.38);
            }
        }
      catch
        {
          if (0 != 0) goto <D.98556>; else goto <D.98557>;
          <D.98556>:
          if (0 == 0) goto <D.98559>; else goto <D.98560>;
          <D.98559>:
          iftmp.39 = __vtt_parm + 88;
          goto <D.98561>;
          <D.98560>:
          iftmp.39 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 88B];
          <D.98561>:
          D.98516 = &this->D.86641;
          Glib::ObjectBase::~ObjectBase (D.98516, iftmp.39);
          goto <D.98562>;
          <D.98557>:
          <D.98562>:
        }
    }
  catch
    {
      if (0 != 0) goto <D.98563>; else goto <D.98564>;
      <D.98563>:
      D.98508 = &this->D.86642;
      sigc::trackable::~trackable (D.98508);
      goto <D.98565>;
      <D.98564>:
      <D.98565>:
    }
}


Gio::MemoryInputStream::MemoryInputStream(GMemoryInputStream*) (struct MemoryInputStream * const this, struct GMemoryInputStream * castitem)
{
  struct trackable * D.98571;
  const void * * iftmp.40;
  struct ObjectBase * D.98579;
  const void * * iftmp.41;
  struct InputStream * D.98585;
  const void * * iftmp.42;
  struct Seekable * D.98590;
  int (*__vtbl_ptr_type) () * iftmp.43;
  const void * * D.98594;
  sizetype iftmp.44;
  int (*__vtbl_ptr_type) () * D.98599;
  int (*__vtbl_ptr_type) () * D.98600;
  long int D.98601;
  struct ObjectBase * D.98603;
  int (*__vtbl_ptr_type) () * iftmp.45;
  int (*__vtbl_ptr_type) () * iftmp.46;
  const void * * iftmp.47;
  const void * * iftmp.48;
  const void * * iftmp.49;

  if (1 != 0) goto <D.98569>; else goto <D.98570>;
  <D.98569>:
  D.98571 = &this->D.86642;
  sigc::trackable::trackable (D.98571);
  goto <D.98572>;
  <D.98570>:
  <D.98572>:
  try
    {
      if (1 != 0) goto <D.98573>; else goto <D.98574>;
      <D.98573>:
      if (1 == 0) goto <D.98576>; else goto <D.98577>;
      <D.98576>:
      iftmp.40 = 88B;
      goto <D.98578>;
      <D.98577>:
      iftmp.40 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 88B];
      <D.98578>:
      D.98579 = &this->D.86641;
      Glib::ObjectBase::ObjectBase (D.98579, iftmp.40);
      goto <D.98580>;
      <D.98574>:
      <D.98580>:
      try
        {
          if (1 == 0) goto <D.98582>; else goto <D.98583>;
          <D.98582>:
          iftmp.41 = 8B;
          goto <D.98584>;
          <D.98583>:
          iftmp.41 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 8B];
          <D.98584>:
          D.98585 = &this->D.86637;
          Gio::InputStream::InputStream (D.98585, iftmp.41, castitem);
          try
            {
              if (1 == 0) goto <D.98587>; else goto <D.98588>;
              <D.98587>:
              iftmp.42 = 40B;
              goto <D.98589>;
              <D.98588>:
              iftmp.42 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 40B];
              <D.98589>:
              D.98590 = &this->D.86638;
              Gio::Seekable::Seekable (D.98590, iftmp.42);
              try
                {
                  if (1 == 0) goto <D.98592>; else goto <D.98593>;
                  <D.98592>:
                  D.98594 = 0B;
                  iftmp.43 = *D.98594;
                  goto <D.98595>;
                  <D.98593>:
                  iftmp.43 = &MEM[(void *)&_ZTVN3Gio17MemoryInputStreamE + 32B];
                  <D.98595>:
                  this->D.86637.D.86366._vptr.Object = iftmp.43;
                  if (1 == 0) goto <D.98597>; else goto <D.98598>;
                  <D.98597>:
                  D.98599 = this->D.86637.D.86366._vptr.Object;
                  D.98600 = D.98599 + 18446744073709551592;
                  D.98601 = MEM[(long int *)D.98600];
                  iftmp.44 = (sizetype) D.98601;
                  goto <D.98602>;
                  <D.98598>:
                  iftmp.44 = 16;
                  <D.98602>:
                  D.98603 = this + iftmp.44;
                  if (1 == 0) goto <D.98605>; else goto <D.98606>;
                  <D.98605>:
                  iftmp.45 = MEM[(const void * *)0B + 72B];
                  goto <D.98607>;
                  <D.98606>:
                  iftmp.45 = &MEM[(void *)&_ZTVN3Gio17MemoryInputStreamE + 160B];
                  <D.98607>:
                  D.98603->_vptr.ObjectBase = iftmp.45;
                  if (1 == 0) goto <D.98609>; else goto <D.98610>;
                  <D.98609>:
                  iftmp.46 = MEM[(const void * *)0B + 80B];
                  goto <D.98611>;
                  <D.98610>:
                  iftmp.46 = &MEM[(void *)&_ZTVN3Gio17MemoryInputStreamE + 80B];
                  <D.98611>:
                  this->D.86638.D.86503._vptr.Interface = iftmp.46;
                }
              catch
                {
                  if (1 == 0) goto <D.98613>; else goto <D.98614>;
                  <D.98613>:
                  iftmp.47 = 40B;
                  goto <D.98615>;
                  <D.98614>:
                  iftmp.47 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 40B];
                  <D.98615>:
                  D.98590 = &this->D.86638;
                  Gio::Seekable::~Seekable (D.98590, iftmp.47);
                }
            }
          catch
            {
              if (1 == 0) goto <D.98617>; else goto <D.98618>;
              <D.98617>:
              iftmp.48 = 8B;
              goto <D.98619>;
              <D.98618>:
              iftmp.48 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 8B];
              <D.98619>:
              D.98585 = &this->D.86637;
              Gio::InputStream::~InputStream (D.98585, iftmp.48);
            }
        }
      catch
        {
          if (1 != 0) goto <D.98620>; else goto <D.98621>;
          <D.98620>:
          if (1 == 0) goto <D.98623>; else goto <D.98624>;
          <D.98623>:
          iftmp.49 = 88B;
          goto <D.98625>;
          <D.98624>:
          iftmp.49 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 88B];
          <D.98625>:
          D.98579 = &this->D.86641;
          Glib::ObjectBase::~ObjectBase (D.98579, iftmp.49);
          goto <D.98626>;
          <D.98621>:
          <D.98626>:
        }
    }
  catch
    {
      if (1 != 0) goto <D.98627>; else goto <D.98628>;
      <D.98627>:
      D.98571 = &this->D.86642;
      sigc::trackable::~trackable (D.98571);
      goto <D.98629>;
      <D.98628>:
      <D.98629>:
    }
}


Gio::MemoryInputStream::~MemoryInputStream() (struct MemoryInputStream * const this, const void * * __vtt_parm)
{
  int (*__vtbl_ptr_type) () * iftmp.50;
  sizetype iftmp.51;
  int (*__vtbl_ptr_type) () * D.98640;
  int (*__vtbl_ptr_type) () * D.98641;
  long int D.98642;
  struct ObjectBase * D.98644;
  int (*__vtbl_ptr_type) () * iftmp.52;
  int (*__vtbl_ptr_type) () * iftmp.53;
  const void * * iftmp.54;
  struct Seekable * D.98657;
  const void * * iftmp.55;
  struct InputStream * D.98662;
  int D.98663;
  const void * * iftmp.56;
  struct ObjectBase * D.98670;
  struct trackable * D.98674;
  int D.98676;

  {
    if (0 == 0) goto <D.98634>; else goto <D.98635>;
    <D.98634>:
    iftmp.50 = *__vtt_parm;
    goto <D.98636>;
    <D.98635>:
    iftmp.50 = &MEM[(void *)&_ZTVN3Gio17MemoryInputStreamE + 32B];
    <D.98636>:
    this->D.86637.D.86366._vptr.Object = iftmp.50;
    if (0 == 0) goto <D.98638>; else goto <D.98639>;
    <D.98638>:
    D.98640 = this->D.86637.D.86366._vptr.Object;
    D.98641 = D.98640 + 18446744073709551592;
    D.98642 = MEM[(long int *)D.98641];
    iftmp.51 = (sizetype) D.98642;
    goto <D.98643>;
    <D.98639>:
    iftmp.51 = 16;
    <D.98643>:
    D.98644 = this + iftmp.51;
    if (0 == 0) goto <D.98646>; else goto <D.98647>;
    <D.98646>:
    iftmp.52 = MEM[(const void * *)__vtt_parm + 72B];
    goto <D.98648>;
    <D.98647>:
    iftmp.52 = &MEM[(void *)&_ZTVN3Gio17MemoryInputStreamE + 160B];
    <D.98648>:
    D.98644->_vptr.ObjectBase = iftmp.52;
    if (0 == 0) goto <D.98650>; else goto <D.98651>;
    <D.98650>:
    iftmp.53 = MEM[(const void * *)__vtt_parm + 80B];
    goto <D.98652>;
    <D.98651>:
    iftmp.53 = &MEM[(void *)&_ZTVN3Gio17MemoryInputStreamE + 80B];
    <D.98652>:
    this->D.86638.D.86503._vptr.Interface = iftmp.53;
    try
      {
        try
          {
            try
              {
                try
                  {
                    try
                      {

                      }
                    finally
                      {
                        if (0 == 0) goto <D.98654>; else goto <D.98655>;
                        <D.98654>:
                        iftmp.54 = __vtt_parm + 40;
                        goto <D.98656>;
                        <D.98655>:
                        iftmp.54 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 40B];
                        <D.98656>:
                        D.98657 = &this->D.86638;
                        Gio::Seekable::~Seekable (D.98657, iftmp.54);
                      }
                  }
                finally
                  {
                    if (0 == 0) goto <D.98659>; else goto <D.98660>;
                    <D.98659>:
                    iftmp.55 = __vtt_parm + 8;
                    goto <D.98661>;
                    <D.98660>:
                    iftmp.55 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 8B];
                    <D.98661>:
                    D.98662 = &this->D.86637;
                    Gio::InputStream::~InputStream (D.98662, iftmp.55);
                  }
              }
            finally
              {
                D.98663 = 0;
                if (D.98663 != 0) goto <D.98664>; else goto <D.98665>;
                <D.98664>:
                if (0 == 0) goto <D.98667>; else goto <D.98668>;
                <D.98667>:
                iftmp.56 = __vtt_parm + 88;
                goto <D.98669>;
                <D.98668>:
                iftmp.56 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 88B];
                <D.98669>:
                D.98670 = &this->D.86641;
                Glib::ObjectBase::~ObjectBase (D.98670, iftmp.56);
                goto <D.98671>;
                <D.98665>:
                <D.98671>:
              }
          }
        finally
          {
            D.98663 = 0;
            if (D.98663 != 0) goto <D.98672>; else goto <D.98673>;
            <D.98672>:
            D.98674 = &this->D.86642;
            sigc::trackable::~trackable (D.98674);
            goto <D.98675>;
            <D.98673>:
            <D.98675>:
          }
      }
    finally
      {
        *this = {CLOBBER};
      }
  }
  <D.97523>:
  D.98676 = 0;
  if (D.98676 != 0) goto <D.98677>; else goto <D.98678>;
  <D.98677>:
  operator delete (this);
  goto <D.98679>;
  <D.98678>:
  <D.98679>:
}


virtual Gio::MemoryInputStream::~MemoryInputStream() (struct MemoryInputStream * const this)
{
  int (*__vtbl_ptr_type) () * iftmp.57;
  const void * * D.98699;
  sizetype iftmp.58;
  int (*__vtbl_ptr_type) () * D.98704;
  int (*__vtbl_ptr_type) () * D.98705;
  long int D.98706;
  struct ObjectBase * D.98708;
  int (*__vtbl_ptr_type) () * iftmp.59;
  int (*__vtbl_ptr_type) () * iftmp.60;
  const void * * iftmp.61;
  struct Seekable * D.98721;
  const void * * iftmp.62;
  struct InputStream * D.98726;
  int D.98727;
  const void * * iftmp.63;
  struct ObjectBase * D.98734;
  struct trackable * D.98738;
  int D.98740;

  {
    if (2 == 0) goto <D.98697>; else goto <D.98698>;
    <D.98697>:
    D.98699 = 0B;
    iftmp.57 = *D.98699;
    goto <D.98700>;
    <D.98698>:
    iftmp.57 = &MEM[(void *)&_ZTVN3Gio17MemoryInputStreamE + 32B];
    <D.98700>:
    this->D.86637.D.86366._vptr.Object = iftmp.57;
    if (2 == 0) goto <D.98702>; else goto <D.98703>;
    <D.98702>:
    D.98704 = this->D.86637.D.86366._vptr.Object;
    D.98705 = D.98704 + 18446744073709551592;
    D.98706 = MEM[(long int *)D.98705];
    iftmp.58 = (sizetype) D.98706;
    goto <D.98707>;
    <D.98703>:
    iftmp.58 = 16;
    <D.98707>:
    D.98708 = this + iftmp.58;
    if (2 == 0) goto <D.98710>; else goto <D.98711>;
    <D.98710>:
    iftmp.59 = MEM[(const void * *)0B + 72B];
    goto <D.98712>;
    <D.98711>:
    iftmp.59 = &MEM[(void *)&_ZTVN3Gio17MemoryInputStreamE + 160B];
    <D.98712>:
    D.98708->_vptr.ObjectBase = iftmp.59;
    if (2 == 0) goto <D.98714>; else goto <D.98715>;
    <D.98714>:
    iftmp.60 = MEM[(const void * *)0B + 80B];
    goto <D.98716>;
    <D.98715>:
    iftmp.60 = &MEM[(void *)&_ZTVN3Gio17MemoryInputStreamE + 80B];
    <D.98716>:
    this->D.86638.D.86503._vptr.Interface = iftmp.60;
    try
      {
        try
          {
            try
              {
                try
                  {
                    try
                      {

                      }
                    finally
                      {
                        if (2 == 0) goto <D.98718>; else goto <D.98719>;
                        <D.98718>:
                        iftmp.61 = 40B;
                        goto <D.98720>;
                        <D.98719>:
                        iftmp.61 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 40B];
                        <D.98720>:
                        D.98721 = &this->D.86638;
                        Gio::Seekable::~Seekable (D.98721, iftmp.61);
                      }
                  }
                finally
                  {
                    if (2 == 0) goto <D.98723>; else goto <D.98724>;
                    <D.98723>:
                    iftmp.62 = 8B;
                    goto <D.98725>;
                    <D.98724>:
                    iftmp.62 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 8B];
                    <D.98725>:
                    D.98726 = &this->D.86637;
                    Gio::InputStream::~InputStream (D.98726, iftmp.62);
                  }
              }
            finally
              {
                D.98727 = 2;
                if (D.98727 != 0) goto <D.98728>; else goto <D.98729>;
                <D.98728>:
                if (2 == 0) goto <D.98731>; else goto <D.98732>;
                <D.98731>:
                iftmp.63 = 88B;
                goto <D.98733>;
                <D.98732>:
                iftmp.63 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 88B];
                <D.98733>:
                D.98734 = &this->D.86641;
                Glib::ObjectBase::~ObjectBase (D.98734, iftmp.63);
                goto <D.98735>;
                <D.98729>:
                <D.98735>:
              }
          }
        finally
          {
            D.98727 = 2;
            if (D.98727 != 0) goto <D.98736>; else goto <D.98737>;
            <D.98736>:
            D.98738 = &this->D.86642;
            sigc::trackable::~trackable (D.98738);
            goto <D.98739>;
            <D.98737>:
            <D.98739>:
          }
      }
    finally
      {
        *this = {CLOBBER};
      }
  }
  <D.97526>:
  D.98740 = 0;
  if (D.98740 != 0) goto <D.98741>; else goto <D.98742>;
  <D.98741>:
  operator delete (this);
  goto <D.98743>;
  <D.98742>:
  <D.98743>:
}


virtual Gio::MemoryInputStream::~MemoryInputStream() (struct MemoryInputStream * const this)
{
  Gio::MemoryInputStream::~MemoryInputStream (this);
  <D.97534>:
  operator delete (this);
}


static GType Gio::MemoryInputStream::get_type() ()
{
  GType D.98760;
  const struct Class & D.98761;

  D.98761 = Gio::MemoryInputStream_Class::init (&memoryinputstream_class_);
  D.98760 = Glib::Class::get_type (D.98761);
  return D.98760;
}


static GType Gio::MemoryInputStream::get_base_type() ()
{
  GType D.98764;

  D.98764 = g_memory_input_stream_get_type ();
  return D.98764;
}


Gio::MemoryInputStream::MemoryInputStream() (struct MemoryInputStream * const this, const void * * __vtt_parm)
{
  struct trackable * D.98769;
  const void * * iftmp.64;
  struct ObjectBase * D.98777;
  struct ConstructParams D.97555;
  const struct Class & D.98779;
  const void * * iftmp.65;
  struct InputStream * D.98784;
  const void * * iftmp.66;
  struct Seekable * D.98789;
  int (*__vtbl_ptr_type) () * iftmp.67;
  sizetype iftmp.68;
  int (*__vtbl_ptr_type) () * D.98797;
  int (*__vtbl_ptr_type) () * D.98798;
  long int D.98799;
  struct ObjectBase * D.98801;
  int (*__vtbl_ptr_type) () * iftmp.69;
  int (*__vtbl_ptr_type) () * iftmp.70;
  const void * * iftmp.71;
  const void * * iftmp.72;
  const void * * iftmp.73;

  if (0 != 0) goto <D.98767>; else goto <D.98768>;
  <D.98767>:
  D.98769 = &this->D.86642;
  sigc::trackable::trackable (D.98769);
  goto <D.98770>;
  <D.98768>:
  <D.98770>:
  try
    {
      if (0 != 0) goto <D.98771>; else goto <D.98772>;
      <D.98771>:
      if (0 == 0) goto <D.98774>; else goto <D.98775>;
      <D.98774>:
      iftmp.64 = __vtt_parm + 88;
      goto <D.98776>;
      <D.98775>:
      iftmp.64 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 88B];
      <D.98776>:
      D.98777 = &this->D.86641;
      Glib::ObjectBase::ObjectBase (D.98777, iftmp.64, 0B);
      goto <D.98778>;
      <D.98772>:
      <D.98778>:
      try
        {
          D.98779 = Gio::MemoryInputStream_Class::init (&memoryinputstream_class_);
          Glib::ConstructParams::ConstructParams (&D.97555, D.98779);
          try
            {
              if (0 == 0) goto <D.98781>; else goto <D.98782>;
              <D.98781>:
              iftmp.65 = __vtt_parm + 8;
              goto <D.98783>;
              <D.98782>:
              iftmp.65 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 8B];
              <D.98783>:
              D.98784 = &this->D.86637;
              Gio::InputStream::InputStream (D.98784, iftmp.65, &D.97555);
            }
          finally
            {
              Glib::ConstructParams::~ConstructParams (&D.97555);
              D.97555 = {CLOBBER};
            }
          try
            {
              if (0 == 0) goto <D.98786>; else goto <D.98787>;
              <D.98786>:
              iftmp.66 = __vtt_parm + 40;
              goto <D.98788>;
              <D.98787>:
              iftmp.66 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 40B];
              <D.98788>:
              D.98789 = &this->D.86638;
              Gio::Seekable::Seekable (D.98789, iftmp.66);
              try
                {
                  if (0 == 0) goto <D.98791>; else goto <D.98792>;
                  <D.98791>:
                  iftmp.67 = *__vtt_parm;
                  goto <D.98793>;
                  <D.98792>:
                  iftmp.67 = &MEM[(void *)&_ZTVN3Gio17MemoryInputStreamE + 32B];
                  <D.98793>:
                  this->D.86637.D.86366._vptr.Object = iftmp.67;
                  if (0 == 0) goto <D.98795>; else goto <D.98796>;
                  <D.98795>:
                  D.98797 = this->D.86637.D.86366._vptr.Object;
                  D.98798 = D.98797 + 18446744073709551592;
                  D.98799 = MEM[(long int *)D.98798];
                  iftmp.68 = (sizetype) D.98799;
                  goto <D.98800>;
                  <D.98796>:
                  iftmp.68 = 16;
                  <D.98800>:
                  D.98801 = this + iftmp.68;
                  if (0 == 0) goto <D.98803>; else goto <D.98804>;
                  <D.98803>:
                  iftmp.69 = MEM[(const void * *)__vtt_parm + 72B];
                  goto <D.98805>;
                  <D.98804>:
                  iftmp.69 = &MEM[(void *)&_ZTVN3Gio17MemoryInputStreamE + 160B];
                  <D.98805>:
                  D.98801->_vptr.ObjectBase = iftmp.69;
                  if (0 == 0) goto <D.98807>; else goto <D.98808>;
                  <D.98807>:
                  iftmp.70 = MEM[(const void * *)__vtt_parm + 80B];
                  goto <D.98809>;
                  <D.98808>:
                  iftmp.70 = &MEM[(void *)&_ZTVN3Gio17MemoryInputStreamE + 80B];
                  <D.98809>:
                  this->D.86638.D.86503._vptr.Interface = iftmp.70;
                }
              catch
                {
                  if (0 == 0) goto <D.98811>; else goto <D.98812>;
                  <D.98811>:
                  iftmp.71 = __vtt_parm + 40;
                  goto <D.98813>;
                  <D.98812>:
                  iftmp.71 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 40B];
                  <D.98813>:
                  D.98789 = &this->D.86638;
                  Gio::Seekable::~Seekable (D.98789, iftmp.71);
                }
            }
          catch
            {
              if (0 == 0) goto <D.98815>; else goto <D.98816>;
              <D.98815>:
              iftmp.72 = __vtt_parm + 8;
              goto <D.98817>;
              <D.98816>:
              iftmp.72 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 8B];
              <D.98817>:
              D.98784 = &this->D.86637;
              Gio::InputStream::~InputStream (D.98784, iftmp.72);
            }
        }
      catch
        {
          if (0 != 0) goto <D.98818>; else goto <D.98819>;
          <D.98818>:
          if (0 == 0) goto <D.98821>; else goto <D.98822>;
          <D.98821>:
          iftmp.73 = __vtt_parm + 88;
          goto <D.98823>;
          <D.98822>:
          iftmp.73 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 88B];
          <D.98823>:
          D.98777 = &this->D.86641;
          Glib::ObjectBase::~ObjectBase (D.98777, iftmp.73);
          goto <D.98824>;
          <D.98819>:
          <D.98824>:
        }
    }
  catch
    {
      if (0 != 0) goto <D.98825>; else goto <D.98826>;
      <D.98825>:
      D.98769 = &this->D.86642;
      sigc::trackable::~trackable (D.98769);
      goto <D.98827>;
      <D.98826>:
      <D.98827>:
    }
}


Gio::MemoryInputStream::MemoryInputStream() (struct MemoryInputStream * const this)
{
  struct trackable * D.98835;
  const void * * iftmp.74;
  struct ObjectBase * D.98843;
  struct ConstructParams D.97557;
  const struct Class & D.98845;
  const void * * iftmp.75;
  struct InputStream * D.98850;
  const void * * iftmp.76;
  struct Seekable * D.98855;
  int (*__vtbl_ptr_type) () * iftmp.77;
  const void * * D.98859;
  sizetype iftmp.78;
  int (*__vtbl_ptr_type) () * D.98864;
  int (*__vtbl_ptr_type) () * D.98865;
  long int D.98866;
  struct ObjectBase * D.98868;
  int (*__vtbl_ptr_type) () * iftmp.79;
  int (*__vtbl_ptr_type) () * iftmp.80;
  const void * * iftmp.81;
  const void * * iftmp.82;
  const void * * iftmp.83;

  if (1 != 0) goto <D.98833>; else goto <D.98834>;
  <D.98833>:
  D.98835 = &this->D.86642;
  sigc::trackable::trackable (D.98835);
  goto <D.98836>;
  <D.98834>:
  <D.98836>:
  try
    {
      if (1 != 0) goto <D.98837>; else goto <D.98838>;
      <D.98837>:
      if (1 == 0) goto <D.98840>; else goto <D.98841>;
      <D.98840>:
      iftmp.74 = 88B;
      goto <D.98842>;
      <D.98841>:
      iftmp.74 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 88B];
      <D.98842>:
      D.98843 = &this->D.86641;
      Glib::ObjectBase::ObjectBase (D.98843, iftmp.74, 0B);
      goto <D.98844>;
      <D.98838>:
      <D.98844>:
      try
        {
          D.98845 = Gio::MemoryInputStream_Class::init (&memoryinputstream_class_);
          Glib::ConstructParams::ConstructParams (&D.97557, D.98845);
          try
            {
              if (1 == 0) goto <D.98847>; else goto <D.98848>;
              <D.98847>:
              iftmp.75 = 8B;
              goto <D.98849>;
              <D.98848>:
              iftmp.75 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 8B];
              <D.98849>:
              D.98850 = &this->D.86637;
              Gio::InputStream::InputStream (D.98850, iftmp.75, &D.97557);
            }
          finally
            {
              Glib::ConstructParams::~ConstructParams (&D.97557);
              D.97557 = {CLOBBER};
            }
          try
            {
              if (1 == 0) goto <D.98852>; else goto <D.98853>;
              <D.98852>:
              iftmp.76 = 40B;
              goto <D.98854>;
              <D.98853>:
              iftmp.76 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 40B];
              <D.98854>:
              D.98855 = &this->D.86638;
              Gio::Seekable::Seekable (D.98855, iftmp.76);
              try
                {
                  if (1 == 0) goto <D.98857>; else goto <D.98858>;
                  <D.98857>:
                  D.98859 = 0B;
                  iftmp.77 = *D.98859;
                  goto <D.98860>;
                  <D.98858>:
                  iftmp.77 = &MEM[(void *)&_ZTVN3Gio17MemoryInputStreamE + 32B];
                  <D.98860>:
                  this->D.86637.D.86366._vptr.Object = iftmp.77;
                  if (1 == 0) goto <D.98862>; else goto <D.98863>;
                  <D.98862>:
                  D.98864 = this->D.86637.D.86366._vptr.Object;
                  D.98865 = D.98864 + 18446744073709551592;
                  D.98866 = MEM[(long int *)D.98865];
                  iftmp.78 = (sizetype) D.98866;
                  goto <D.98867>;
                  <D.98863>:
                  iftmp.78 = 16;
                  <D.98867>:
                  D.98868 = this + iftmp.78;
                  if (1 == 0) goto <D.98870>; else goto <D.98871>;
                  <D.98870>:
                  iftmp.79 = MEM[(const void * *)0B + 72B];
                  goto <D.98872>;
                  <D.98871>:
                  iftmp.79 = &MEM[(void *)&_ZTVN3Gio17MemoryInputStreamE + 160B];
                  <D.98872>:
                  D.98868->_vptr.ObjectBase = iftmp.79;
                  if (1 == 0) goto <D.98874>; else goto <D.98875>;
                  <D.98874>:
                  iftmp.80 = MEM[(const void * *)0B + 80B];
                  goto <D.98876>;
                  <D.98875>:
                  iftmp.80 = &MEM[(void *)&_ZTVN3Gio17MemoryInputStreamE + 80B];
                  <D.98876>:
                  this->D.86638.D.86503._vptr.Interface = iftmp.80;
                }
              catch
                {
                  if (1 == 0) goto <D.98878>; else goto <D.98879>;
                  <D.98878>:
                  iftmp.81 = 40B;
                  goto <D.98880>;
                  <D.98879>:
                  iftmp.81 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 40B];
                  <D.98880>:
                  D.98855 = &this->D.86638;
                  Gio::Seekable::~Seekable (D.98855, iftmp.81);
                }
            }
          catch
            {
              if (1 == 0) goto <D.98882>; else goto <D.98883>;
              <D.98882>:
              iftmp.82 = 8B;
              goto <D.98884>;
              <D.98883>:
              iftmp.82 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 8B];
              <D.98884>:
              D.98850 = &this->D.86637;
              Gio::InputStream::~InputStream (D.98850, iftmp.82);
            }
        }
      catch
        {
          if (1 != 0) goto <D.98885>; else goto <D.98886>;
          <D.98885>:
          if (1 == 0) goto <D.98888>; else goto <D.98889>;
          <D.98888>:
          iftmp.83 = 88B;
          goto <D.98890>;
          <D.98889>:
          iftmp.83 = &MEM[(void *)&_ZTTN3Gio17MemoryInputStreamE + 88B];
          <D.98890>:
          D.98843 = &this->D.86641;
          Glib::ObjectBase::~ObjectBase (D.98843, iftmp.83);
          goto <D.98891>;
          <D.98886>:
          <D.98891>:
        }
    }
  catch
    {
      if (1 != 0) goto <D.98892>; else goto <D.98893>;
      <D.98892>:
      D.98835 = &this->D.86642;
      sigc::trackable::~trackable (D.98835);
      goto <D.98894>;
      <D.98893>:
      <D.98894>:
    }
}


static Glib::RefPtr<Gio::MemoryInputStream> Gio::MemoryInputStream::create() ()
{
  void * D.97561;

  D.97561 = operator new (56);
  try
    {
      Gio::MemoryInputStream::MemoryInputStream (D.97561);
    }
  catch
    {
      operator delete (D.97561);
    }
  Glib::RefPtr<Gio::MemoryInputStream>::RefPtr (<retval>, D.97561);
  return <retval>;
}


void Gio::MemoryInputStream::add_data(const void*, gssize, GDestroyNotify) (struct MemoryInputStream * const this, const void * data, gssize len, void (*GDestroyNotify) (void *) destroy)
{
  struct GMemoryInputStream * D.98904;

  D.98904 = Gio::MemoryInputStream::gobj (this);
  g_memory_input_stream_add_data (D.98904, data, len, destroy);
}


