diff --git a/ipaacalib/cpp/ipaaca.pb.cc b/ipaacalib/cpp/ipaaca.pb.cc
deleted file mode 100644
index d40df61b71290c4595a34b89606078a7fb678085..0000000000000000000000000000000000000000
--- a/ipaacalib/cpp/ipaaca.pb.cc
+++ /dev/null
@@ -1,3600 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-
-#define INTERNAL_SUPPRESS_PROTOBUF_FIELD_DEPRECATION
-#include "ipaaca.pb.h"
-
-#include <algorithm>
-
-#include <google/protobuf/stubs/once.h>
-#include <google/protobuf/io/coded_stream.h>
-#include <google/protobuf/wire_format_lite_inl.h>
-#include <google/protobuf/descriptor.h>
-#include <google/protobuf/reflection_ops.h>
-#include <google/protobuf/wire_format.h>
-// @@protoc_insertion_point(includes)
-
-namespace ipaaca {
-namespace protobuf {
-
-namespace {
-
-const ::google::protobuf::Descriptor* IntMessage_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  IntMessage_reflection_ = NULL;
-const ::google::protobuf::Descriptor* LinkSet_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  LinkSet_reflection_ = NULL;
-const ::google::protobuf::Descriptor* PayloadItem_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  PayloadItem_reflection_ = NULL;
-const ::google::protobuf::Descriptor* IU_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  IU_reflection_ = NULL;
-const ::google::protobuf::EnumDescriptor* IU_AccessMode_descriptor_ = NULL;
-const ::google::protobuf::Descriptor* IUPayloadUpdate_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  IUPayloadUpdate_reflection_ = NULL;
-const ::google::protobuf::Descriptor* IURetraction_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  IURetraction_reflection_ = NULL;
-const ::google::protobuf::Descriptor* IUCommission_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  IUCommission_reflection_ = NULL;
-const ::google::protobuf::Descriptor* IUResendRequest_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  IUResendRequest_reflection_ = NULL;
-const ::google::protobuf::Descriptor* IULinkUpdate_descriptor_ = NULL;
-const ::google::protobuf::internal::GeneratedMessageReflection*
-  IULinkUpdate_reflection_ = NULL;
-
-}  // namespace
-
-
-void protobuf_AssignDesc_ipaaca_2eproto() {
-  protobuf_AddDesc_ipaaca_2eproto();
-  const ::google::protobuf::FileDescriptor* file =
-    ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
-      "ipaaca.proto");
-  GOOGLE_CHECK(file != NULL);
-  IntMessage_descriptor_ = file->message_type(0);
-  static const int IntMessage_offsets_[1] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IntMessage, value_),
-  };
-  IntMessage_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      IntMessage_descriptor_,
-      IntMessage::default_instance_,
-      IntMessage_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IntMessage, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IntMessage, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(IntMessage));
-  LinkSet_descriptor_ = file->message_type(1);
-  static const int LinkSet_offsets_[2] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LinkSet, type_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LinkSet, targets_),
-  };
-  LinkSet_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      LinkSet_descriptor_,
-      LinkSet::default_instance_,
-      LinkSet_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LinkSet, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LinkSet, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(LinkSet));
-  PayloadItem_descriptor_ = file->message_type(2);
-  static const int PayloadItem_offsets_[3] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PayloadItem, key_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PayloadItem, value_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PayloadItem, type_),
-  };
-  PayloadItem_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      PayloadItem_descriptor_,
-      PayloadItem::default_instance_,
-      PayloadItem_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PayloadItem, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PayloadItem, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(PayloadItem));
-  IU_descriptor_ = file->message_type(3);
-  static const int IU_offsets_[10] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IU, uid_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IU, revision_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IU, category_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IU, payload_type_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IU, owner_name_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IU, committed_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IU, access_mode_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IU, read_only_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IU, payload_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IU, links_),
-  };
-  IU_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      IU_descriptor_,
-      IU::default_instance_,
-      IU_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IU, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IU, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(IU));
-  IU_AccessMode_descriptor_ = IU_descriptor_->enum_type(0);
-  IUPayloadUpdate_descriptor_ = file->message_type(4);
-  static const int IUPayloadUpdate_offsets_[6] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUPayloadUpdate, uid_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUPayloadUpdate, revision_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUPayloadUpdate, new_items_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUPayloadUpdate, keys_to_remove_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUPayloadUpdate, is_delta_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUPayloadUpdate, writer_name_),
-  };
-  IUPayloadUpdate_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      IUPayloadUpdate_descriptor_,
-      IUPayloadUpdate::default_instance_,
-      IUPayloadUpdate_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUPayloadUpdate, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUPayloadUpdate, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(IUPayloadUpdate));
-  IURetraction_descriptor_ = file->message_type(5);
-  static const int IURetraction_offsets_[2] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IURetraction, uid_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IURetraction, revision_),
-  };
-  IURetraction_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      IURetraction_descriptor_,
-      IURetraction::default_instance_,
-      IURetraction_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IURetraction, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IURetraction, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(IURetraction));
-  IUCommission_descriptor_ = file->message_type(6);
-  static const int IUCommission_offsets_[3] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUCommission, uid_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUCommission, revision_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUCommission, writer_name_),
-  };
-  IUCommission_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      IUCommission_descriptor_,
-      IUCommission::default_instance_,
-      IUCommission_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUCommission, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUCommission, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(IUCommission));
-  IUResendRequest_descriptor_ = file->message_type(7);
-  static const int IUResendRequest_offsets_[2] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUResendRequest, uid_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUResendRequest, hidden_scope_name_),
-  };
-  IUResendRequest_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      IUResendRequest_descriptor_,
-      IUResendRequest::default_instance_,
-      IUResendRequest_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUResendRequest, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IUResendRequest, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(IUResendRequest));
-  IULinkUpdate_descriptor_ = file->message_type(8);
-  static const int IULinkUpdate_offsets_[6] = {
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IULinkUpdate, uid_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IULinkUpdate, revision_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IULinkUpdate, new_links_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IULinkUpdate, links_to_remove_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IULinkUpdate, is_delta_),
-    GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IULinkUpdate, writer_name_),
-  };
-  IULinkUpdate_reflection_ =
-    new ::google::protobuf::internal::GeneratedMessageReflection(
-      IULinkUpdate_descriptor_,
-      IULinkUpdate::default_instance_,
-      IULinkUpdate_offsets_,
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IULinkUpdate, _has_bits_[0]),
-      GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(IULinkUpdate, _unknown_fields_),
-      -1,
-      ::google::protobuf::DescriptorPool::generated_pool(),
-      ::google::protobuf::MessageFactory::generated_factory(),
-      sizeof(IULinkUpdate));
-}
-
-namespace {
-
-GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
-inline void protobuf_AssignDescriptorsOnce() {
-  ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
-                 &protobuf_AssignDesc_ipaaca_2eproto);
-}
-
-void protobuf_RegisterTypes(const ::std::string&) {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    IntMessage_descriptor_, &IntMessage::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    LinkSet_descriptor_, &LinkSet::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    PayloadItem_descriptor_, &PayloadItem::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    IU_descriptor_, &IU::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    IUPayloadUpdate_descriptor_, &IUPayloadUpdate::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    IURetraction_descriptor_, &IURetraction::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    IUCommission_descriptor_, &IUCommission::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    IUResendRequest_descriptor_, &IUResendRequest::default_instance());
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
-    IULinkUpdate_descriptor_, &IULinkUpdate::default_instance());
-}
-
-}  // namespace
-
-void protobuf_ShutdownFile_ipaaca_2eproto() {
-  delete IntMessage::default_instance_;
-  delete IntMessage_reflection_;
-  delete LinkSet::default_instance_;
-  delete LinkSet_reflection_;
-  delete PayloadItem::default_instance_;
-  delete PayloadItem_reflection_;
-  delete IU::default_instance_;
-  delete IU_reflection_;
-  delete IUPayloadUpdate::default_instance_;
-  delete IUPayloadUpdate_reflection_;
-  delete IURetraction::default_instance_;
-  delete IURetraction_reflection_;
-  delete IUCommission::default_instance_;
-  delete IUCommission_reflection_;
-  delete IUResendRequest::default_instance_;
-  delete IUResendRequest_reflection_;
-  delete IULinkUpdate::default_instance_;
-  delete IULinkUpdate_reflection_;
-}
-
-void protobuf_AddDesc_ipaaca_2eproto() {
-  static bool already_here = false;
-  if (already_here) return;
-  already_here = true;
-  GOOGLE_PROTOBUF_VERIFY_VERSION;
-
-  ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
-    "\n\014ipaaca.proto\022\017ipaaca.protobuf\"\033\n\nIntMe"
-    "ssage\022\r\n\005value\030\001 \002(\021\"(\n\007LinkSet\022\014\n\004type\030"
-    "\001 \002(\t\022\017\n\007targets\030\002 \003(\t\"<\n\013PayloadItem\022\013\n"
-    "\003key\030\001 \002(\t\022\r\n\005value\030\002 \002(\t\022\021\n\004type\030\003 \002(\t:"
-    "\003str\"\343\002\n\002IU\022\013\n\003uid\030\001 \002(\t\022\020\n\010revision\030\002 \002"
-    "(\r\022\027\n\010category\030\003 \002(\t:\005undef\022\031\n\014payload_t"
-    "ype\030\004 \002(\t:\003MAP\022\022\n\nowner_name\030\005 \002(\t\022\030\n\tco"
-    "mmitted\030\006 \002(\010:\005false\0229\n\013access_mode\030\007 \002("
-    "\0162\036.ipaaca.protobuf.IU.AccessMode:\004PUSH\022"
-    "\030\n\tread_only\030\010 \002(\010:\005false\022-\n\007payload\030\t \003"
-    "(\0132\034.ipaaca.protobuf.PayloadItem\022\'\n\005link"
-    "s\030\n \003(\0132\030.ipaaca.protobuf.LinkSet\"/\n\nAcc"
-    "essMode\022\010\n\004PUSH\020\000\022\n\n\006REMOTE\020\001\022\013\n\007MESSAGE"
-    "\020\002\"\247\001\n\017IUPayloadUpdate\022\013\n\003uid\030\001 \002(\t\022\020\n\010r"
-    "evision\030\002 \002(\r\022/\n\tnew_items\030\003 \003(\0132\034.ipaac"
-    "a.protobuf.PayloadItem\022\026\n\016keys_to_remove"
-    "\030\004 \003(\t\022\027\n\010is_delta\030\005 \002(\010:\005false\022\023\n\013write"
-    "r_name\030\006 \002(\t\"-\n\014IURetraction\022\013\n\003uid\030\001 \002("
-    "\t\022\020\n\010revision\030\002 \002(\r\"B\n\014IUCommission\022\013\n\003u"
-    "id\030\001 \002(\t\022\020\n\010revision\030\002 \002(\r\022\023\n\013writer_nam"
-    "e\030\003 \002(\t\"9\n\017IUResendRequest\022\013\n\003uid\030\001 \002(\t\022"
-    "\031\n\021hidden_scope_name\030\002 \002(\t\"\273\001\n\014IULinkUpd"
-    "ate\022\013\n\003uid\030\001 \002(\t\022\020\n\010revision\030\002 \002(\r\022+\n\tne"
-    "w_links\030\003 \003(\0132\030.ipaaca.protobuf.LinkSet\022"
-    "1\n\017links_to_remove\030\004 \003(\0132\030.ipaaca.protob"
-    "uf.LinkSet\022\027\n\010is_delta\030\005 \002(\010:\005false\022\023\n\013w"
-    "riter_name\030\006 \002(\t", 1056);
-  ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
-    "ipaaca.proto", &protobuf_RegisterTypes);
-  IntMessage::default_instance_ = new IntMessage();
-  LinkSet::default_instance_ = new LinkSet();
-  PayloadItem::default_instance_ = new PayloadItem();
-  IU::default_instance_ = new IU();
-  IUPayloadUpdate::default_instance_ = new IUPayloadUpdate();
-  IURetraction::default_instance_ = new IURetraction();
-  IUCommission::default_instance_ = new IUCommission();
-  IUResendRequest::default_instance_ = new IUResendRequest();
-  IULinkUpdate::default_instance_ = new IULinkUpdate();
-  IntMessage::default_instance_->InitAsDefaultInstance();
-  LinkSet::default_instance_->InitAsDefaultInstance();
-  PayloadItem::default_instance_->InitAsDefaultInstance();
-  IU::default_instance_->InitAsDefaultInstance();
-  IUPayloadUpdate::default_instance_->InitAsDefaultInstance();
-  IURetraction::default_instance_->InitAsDefaultInstance();
-  IUCommission::default_instance_->InitAsDefaultInstance();
-  IUResendRequest::default_instance_->InitAsDefaultInstance();
-  IULinkUpdate::default_instance_->InitAsDefaultInstance();
-  ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_ipaaca_2eproto);
-}
-
-// Force AddDescriptors() to be called at static initialization time.
-struct StaticDescriptorInitializer_ipaaca_2eproto {
-  StaticDescriptorInitializer_ipaaca_2eproto() {
-    protobuf_AddDesc_ipaaca_2eproto();
-  }
-} static_descriptor_initializer_ipaaca_2eproto_;
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int IntMessage::kValueFieldNumber;
-#endif  // !_MSC_VER
-
-IntMessage::IntMessage()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void IntMessage::InitAsDefaultInstance() {
-}
-
-IntMessage::IntMessage(const IntMessage& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void IntMessage::SharedCtor() {
-  _cached_size_ = 0;
-  value_ = 0;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-IntMessage::~IntMessage() {
-  SharedDtor();
-}
-
-void IntMessage::SharedDtor() {
-  if (this != default_instance_) {
-  }
-}
-
-void IntMessage::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* IntMessage::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return IntMessage_descriptor_;
-}
-
-const IntMessage& IntMessage::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ipaaca_2eproto();  return *default_instance_;
-}
-
-IntMessage* IntMessage::default_instance_ = NULL;
-
-IntMessage* IntMessage::New() const {
-  return new IntMessage;
-}
-
-void IntMessage::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    value_ = 0;
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool IntMessage::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required sint32 value = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_SINT32>(
-                 input, &value_)));
-          set_has_value();
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void IntMessage::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // required sint32 value = 1;
-  if (has_value()) {
-    ::google::protobuf::internal::WireFormatLite::WriteSInt32(1, this->value(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* IntMessage::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // required sint32 value = 1;
-  if (has_value()) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteSInt32ToArray(1, this->value(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int IntMessage::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required sint32 value = 1;
-    if (has_value()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::SInt32Size(
-          this->value());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void IntMessage::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const IntMessage* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const IntMessage*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void IntMessage::MergeFrom(const IntMessage& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from.has_value()) {
-      set_value(from.value());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void IntMessage::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void IntMessage::CopyFrom(const IntMessage& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool IntMessage::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
-  
-  return true;
-}
-
-void IntMessage::Swap(IntMessage* other) {
-  if (other != this) {
-    std::swap(value_, other->value_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata IntMessage::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = IntMessage_descriptor_;
-  metadata.reflection = IntMessage_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int LinkSet::kTypeFieldNumber;
-const int LinkSet::kTargetsFieldNumber;
-#endif  // !_MSC_VER
-
-LinkSet::LinkSet()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void LinkSet::InitAsDefaultInstance() {
-}
-
-LinkSet::LinkSet(const LinkSet& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void LinkSet::SharedCtor() {
-  _cached_size_ = 0;
-  type_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-LinkSet::~LinkSet() {
-  SharedDtor();
-}
-
-void LinkSet::SharedDtor() {
-  if (type_ != &::google::protobuf::internal::kEmptyString) {
-    delete type_;
-  }
-  if (this != default_instance_) {
-  }
-}
-
-void LinkSet::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* LinkSet::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return LinkSet_descriptor_;
-}
-
-const LinkSet& LinkSet::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ipaaca_2eproto();  return *default_instance_;
-}
-
-LinkSet* LinkSet::default_instance_ = NULL;
-
-LinkSet* LinkSet::New() const {
-  return new LinkSet;
-}
-
-void LinkSet::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (has_type()) {
-      if (type_ != &::google::protobuf::internal::kEmptyString) {
-        type_->clear();
-      }
-    }
-  }
-  targets_.Clear();
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool LinkSet::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required string type = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_type()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->type().data(), this->type().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(18)) goto parse_targets;
-        break;
-      }
-      
-      // repeated string targets = 2;
-      case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_targets:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->add_targets()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->targets(0).data(), this->targets(0).length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(18)) goto parse_targets;
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void LinkSet::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // required string type = 1;
-  if (has_type()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->type().data(), this->type().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      1, this->type(), output);
-  }
-  
-  // repeated string targets = 2;
-  for (int i = 0; i < this->targets_size(); i++) {
-  ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-    this->targets(i).data(), this->targets(i).length(),
-    ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      2, this->targets(i), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* LinkSet::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // required string type = 1;
-  if (has_type()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->type().data(), this->type().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        1, this->type(), target);
-  }
-  
-  // repeated string targets = 2;
-  for (int i = 0; i < this->targets_size(); i++) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->targets(i).data(), this->targets(i).length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target = ::google::protobuf::internal::WireFormatLite::
-      WriteStringToArray(2, this->targets(i), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int LinkSet::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required string type = 1;
-    if (has_type()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->type());
-    }
-    
-  }
-  // repeated string targets = 2;
-  total_size += 1 * this->targets_size();
-  for (int i = 0; i < this->targets_size(); i++) {
-    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
-      this->targets(i));
-  }
-  
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void LinkSet::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const LinkSet* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const LinkSet*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void LinkSet::MergeFrom(const LinkSet& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  targets_.MergeFrom(from.targets_);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from.has_type()) {
-      set_type(from.type());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void LinkSet::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void LinkSet::CopyFrom(const LinkSet& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool LinkSet::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000001) != 0x00000001) return false;
-  
-  return true;
-}
-
-void LinkSet::Swap(LinkSet* other) {
-  if (other != this) {
-    std::swap(type_, other->type_);
-    targets_.Swap(&other->targets_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata LinkSet::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = LinkSet_descriptor_;
-  metadata.reflection = LinkSet_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-const ::std::string PayloadItem::_default_type_("str");
-#ifndef _MSC_VER
-const int PayloadItem::kKeyFieldNumber;
-const int PayloadItem::kValueFieldNumber;
-const int PayloadItem::kTypeFieldNumber;
-#endif  // !_MSC_VER
-
-PayloadItem::PayloadItem()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void PayloadItem::InitAsDefaultInstance() {
-}
-
-PayloadItem::PayloadItem(const PayloadItem& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void PayloadItem::SharedCtor() {
-  _cached_size_ = 0;
-  key_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-  value_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-  type_ = const_cast< ::std::string*>(&_default_type_);
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-PayloadItem::~PayloadItem() {
-  SharedDtor();
-}
-
-void PayloadItem::SharedDtor() {
-  if (key_ != &::google::protobuf::internal::kEmptyString) {
-    delete key_;
-  }
-  if (value_ != &::google::protobuf::internal::kEmptyString) {
-    delete value_;
-  }
-  if (type_ != &_default_type_) {
-    delete type_;
-  }
-  if (this != default_instance_) {
-  }
-}
-
-void PayloadItem::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* PayloadItem::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return PayloadItem_descriptor_;
-}
-
-const PayloadItem& PayloadItem::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ipaaca_2eproto();  return *default_instance_;
-}
-
-PayloadItem* PayloadItem::default_instance_ = NULL;
-
-PayloadItem* PayloadItem::New() const {
-  return new PayloadItem;
-}
-
-void PayloadItem::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (has_key()) {
-      if (key_ != &::google::protobuf::internal::kEmptyString) {
-        key_->clear();
-      }
-    }
-    if (has_value()) {
-      if (value_ != &::google::protobuf::internal::kEmptyString) {
-        value_->clear();
-      }
-    }
-    if (has_type()) {
-      if (type_ != &_default_type_) {
-        type_->assign(_default_type_);
-      }
-    }
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool PayloadItem::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required string key = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_key()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->key().data(), this->key().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(18)) goto parse_value;
-        break;
-      }
-      
-      // required string value = 2;
-      case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_value:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_value()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->value().data(), this->value().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(26)) goto parse_type;
-        break;
-      }
-      
-      // required string type = 3 [default = "str"];
-      case 3: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_type:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_type()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->type().data(), this->type().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void PayloadItem::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // required string key = 1;
-  if (has_key()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->key().data(), this->key().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      1, this->key(), output);
-  }
-  
-  // required string value = 2;
-  if (has_value()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->value().data(), this->value().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      2, this->value(), output);
-  }
-  
-  // required string type = 3 [default = "str"];
-  if (has_type()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->type().data(), this->type().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      3, this->type(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* PayloadItem::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // required string key = 1;
-  if (has_key()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->key().data(), this->key().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        1, this->key(), target);
-  }
-  
-  // required string value = 2;
-  if (has_value()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->value().data(), this->value().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        2, this->value(), target);
-  }
-  
-  // required string type = 3 [default = "str"];
-  if (has_type()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->type().data(), this->type().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        3, this->type(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int PayloadItem::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required string key = 1;
-    if (has_key()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->key());
-    }
-    
-    // required string value = 2;
-    if (has_value()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->value());
-    }
-    
-    // required string type = 3 [default = "str"];
-    if (has_type()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->type());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void PayloadItem::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const PayloadItem* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const PayloadItem*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void PayloadItem::MergeFrom(const PayloadItem& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from.has_key()) {
-      set_key(from.key());
-    }
-    if (from.has_value()) {
-      set_value(from.value());
-    }
-    if (from.has_type()) {
-      set_type(from.type());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void PayloadItem::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void PayloadItem::CopyFrom(const PayloadItem& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool PayloadItem::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000007) != 0x00000007) return false;
-  
-  return true;
-}
-
-void PayloadItem::Swap(PayloadItem* other) {
-  if (other != this) {
-    std::swap(key_, other->key_);
-    std::swap(value_, other->value_);
-    std::swap(type_, other->type_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata PayloadItem::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = PayloadItem_descriptor_;
-  metadata.reflection = PayloadItem_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-const ::google::protobuf::EnumDescriptor* IU_AccessMode_descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return IU_AccessMode_descriptor_;
-}
-bool IU_AccessMode_IsValid(int value) {
-  switch(value) {
-    case 0:
-    case 1:
-    case 2:
-      return true;
-    default:
-      return false;
-  }
-}
-
-#ifndef _MSC_VER
-const IU_AccessMode IU::PUSH;
-const IU_AccessMode IU::REMOTE;
-const IU_AccessMode IU::MESSAGE;
-const IU_AccessMode IU::AccessMode_MIN;
-const IU_AccessMode IU::AccessMode_MAX;
-const int IU::AccessMode_ARRAYSIZE;
-#endif  // _MSC_VER
-const ::std::string IU::_default_category_("undef");
-const ::std::string IU::_default_payload_type_("MAP");
-#ifndef _MSC_VER
-const int IU::kUidFieldNumber;
-const int IU::kRevisionFieldNumber;
-const int IU::kCategoryFieldNumber;
-const int IU::kPayloadTypeFieldNumber;
-const int IU::kOwnerNameFieldNumber;
-const int IU::kCommittedFieldNumber;
-const int IU::kAccessModeFieldNumber;
-const int IU::kReadOnlyFieldNumber;
-const int IU::kPayloadFieldNumber;
-const int IU::kLinksFieldNumber;
-#endif  // !_MSC_VER
-
-IU::IU()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void IU::InitAsDefaultInstance() {
-}
-
-IU::IU(const IU& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void IU::SharedCtor() {
-  _cached_size_ = 0;
-  uid_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-  revision_ = 0u;
-  category_ = const_cast< ::std::string*>(&_default_category_);
-  payload_type_ = const_cast< ::std::string*>(&_default_payload_type_);
-  owner_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-  committed_ = false;
-  access_mode_ = 0;
-  read_only_ = false;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-IU::~IU() {
-  SharedDtor();
-}
-
-void IU::SharedDtor() {
-  if (uid_ != &::google::protobuf::internal::kEmptyString) {
-    delete uid_;
-  }
-  if (category_ != &_default_category_) {
-    delete category_;
-  }
-  if (payload_type_ != &_default_payload_type_) {
-    delete payload_type_;
-  }
-  if (owner_name_ != &::google::protobuf::internal::kEmptyString) {
-    delete owner_name_;
-  }
-  if (this != default_instance_) {
-  }
-}
-
-void IU::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* IU::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return IU_descriptor_;
-}
-
-const IU& IU::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ipaaca_2eproto();  return *default_instance_;
-}
-
-IU* IU::default_instance_ = NULL;
-
-IU* IU::New() const {
-  return new IU;
-}
-
-void IU::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (has_uid()) {
-      if (uid_ != &::google::protobuf::internal::kEmptyString) {
-        uid_->clear();
-      }
-    }
-    revision_ = 0u;
-    if (has_category()) {
-      if (category_ != &_default_category_) {
-        category_->assign(_default_category_);
-      }
-    }
-    if (has_payload_type()) {
-      if (payload_type_ != &_default_payload_type_) {
-        payload_type_->assign(_default_payload_type_);
-      }
-    }
-    if (has_owner_name()) {
-      if (owner_name_ != &::google::protobuf::internal::kEmptyString) {
-        owner_name_->clear();
-      }
-    }
-    committed_ = false;
-    access_mode_ = 0;
-    read_only_ = false;
-  }
-  payload_.Clear();
-  links_.Clear();
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool IU::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required string uid = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_uid()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->uid().data(), this->uid().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(16)) goto parse_revision;
-        break;
-      }
-      
-      // required uint32 revision = 2;
-      case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_revision:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, &revision_)));
-          set_has_revision();
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(26)) goto parse_category;
-        break;
-      }
-      
-      // required string category = 3 [default = "undef"];
-      case 3: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_category:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_category()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->category().data(), this->category().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(34)) goto parse_payload_type;
-        break;
-      }
-      
-      // required string payload_type = 4 [default = "MAP"];
-      case 4: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_payload_type:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_payload_type()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->payload_type().data(), this->payload_type().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(42)) goto parse_owner_name;
-        break;
-      }
-      
-      // required string owner_name = 5;
-      case 5: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_owner_name:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_owner_name()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->owner_name().data(), this->owner_name().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(48)) goto parse_committed;
-        break;
-      }
-      
-      // required bool committed = 6 [default = false];
-      case 6: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_committed:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
-                 input, &committed_)));
-          set_has_committed();
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(56)) goto parse_access_mode;
-        break;
-      }
-      
-      // required .ipaaca.protobuf.IU.AccessMode access_mode = 7 [default = PUSH];
-      case 7: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_access_mode:
-          int value;
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
-                 input, &value)));
-          if (::ipaaca::protobuf::IU_AccessMode_IsValid(value)) {
-            set_access_mode(static_cast< ::ipaaca::protobuf::IU_AccessMode >(value));
-          } else {
-            mutable_unknown_fields()->AddVarint(7, value);
-          }
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(64)) goto parse_read_only;
-        break;
-      }
-      
-      // required bool read_only = 8 [default = false];
-      case 8: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_read_only:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
-                 input, &read_only_)));
-          set_has_read_only();
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(74)) goto parse_payload;
-        break;
-      }
-      
-      // repeated .ipaaca.protobuf.PayloadItem payload = 9;
-      case 9: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_payload:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-                input, add_payload()));
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(74)) goto parse_payload;
-        if (input->ExpectTag(82)) goto parse_links;
-        break;
-      }
-      
-      // repeated .ipaaca.protobuf.LinkSet links = 10;
-      case 10: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_links:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-                input, add_links()));
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(82)) goto parse_links;
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void IU::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // required string uid = 1;
-  if (has_uid()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->uid().data(), this->uid().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      1, this->uid(), output);
-  }
-  
-  // required uint32 revision = 2;
-  if (has_revision()) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->revision(), output);
-  }
-  
-  // required string category = 3 [default = "undef"];
-  if (has_category()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->category().data(), this->category().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      3, this->category(), output);
-  }
-  
-  // required string payload_type = 4 [default = "MAP"];
-  if (has_payload_type()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->payload_type().data(), this->payload_type().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      4, this->payload_type(), output);
-  }
-  
-  // required string owner_name = 5;
-  if (has_owner_name()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->owner_name().data(), this->owner_name().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      5, this->owner_name(), output);
-  }
-  
-  // required bool committed = 6 [default = false];
-  if (has_committed()) {
-    ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->committed(), output);
-  }
-  
-  // required .ipaaca.protobuf.IU.AccessMode access_mode = 7 [default = PUSH];
-  if (has_access_mode()) {
-    ::google::protobuf::internal::WireFormatLite::WriteEnum(
-      7, this->access_mode(), output);
-  }
-  
-  // required bool read_only = 8 [default = false];
-  if (has_read_only()) {
-    ::google::protobuf::internal::WireFormatLite::WriteBool(8, this->read_only(), output);
-  }
-  
-  // repeated .ipaaca.protobuf.PayloadItem payload = 9;
-  for (int i = 0; i < this->payload_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      9, this->payload(i), output);
-  }
-  
-  // repeated .ipaaca.protobuf.LinkSet links = 10;
-  for (int i = 0; i < this->links_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      10, this->links(i), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* IU::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // required string uid = 1;
-  if (has_uid()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->uid().data(), this->uid().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        1, this->uid(), target);
-  }
-  
-  // required uint32 revision = 2;
-  if (has_revision()) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->revision(), target);
-  }
-  
-  // required string category = 3 [default = "undef"];
-  if (has_category()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->category().data(), this->category().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        3, this->category(), target);
-  }
-  
-  // required string payload_type = 4 [default = "MAP"];
-  if (has_payload_type()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->payload_type().data(), this->payload_type().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        4, this->payload_type(), target);
-  }
-  
-  // required string owner_name = 5;
-  if (has_owner_name()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->owner_name().data(), this->owner_name().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        5, this->owner_name(), target);
-  }
-  
-  // required bool committed = 6 [default = false];
-  if (has_committed()) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(6, this->committed(), target);
-  }
-  
-  // required .ipaaca.protobuf.IU.AccessMode access_mode = 7 [default = PUSH];
-  if (has_access_mode()) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
-      7, this->access_mode(), target);
-  }
-  
-  // required bool read_only = 8 [default = false];
-  if (has_read_only()) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(8, this->read_only(), target);
-  }
-  
-  // repeated .ipaaca.protobuf.PayloadItem payload = 9;
-  for (int i = 0; i < this->payload_size(); i++) {
-    target = ::google::protobuf::internal::WireFormatLite::
-      WriteMessageNoVirtualToArray(
-        9, this->payload(i), target);
-  }
-  
-  // repeated .ipaaca.protobuf.LinkSet links = 10;
-  for (int i = 0; i < this->links_size(); i++) {
-    target = ::google::protobuf::internal::WireFormatLite::
-      WriteMessageNoVirtualToArray(
-        10, this->links(i), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int IU::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required string uid = 1;
-    if (has_uid()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->uid());
-    }
-    
-    // required uint32 revision = 2;
-    if (has_revision()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::UInt32Size(
-          this->revision());
-    }
-    
-    // required string category = 3 [default = "undef"];
-    if (has_category()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->category());
-    }
-    
-    // required string payload_type = 4 [default = "MAP"];
-    if (has_payload_type()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->payload_type());
-    }
-    
-    // required string owner_name = 5;
-    if (has_owner_name()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->owner_name());
-    }
-    
-    // required bool committed = 6 [default = false];
-    if (has_committed()) {
-      total_size += 1 + 1;
-    }
-    
-    // required .ipaaca.protobuf.IU.AccessMode access_mode = 7 [default = PUSH];
-    if (has_access_mode()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::EnumSize(this->access_mode());
-    }
-    
-    // required bool read_only = 8 [default = false];
-    if (has_read_only()) {
-      total_size += 1 + 1;
-    }
-    
-  }
-  // repeated .ipaaca.protobuf.PayloadItem payload = 9;
-  total_size += 1 * this->payload_size();
-  for (int i = 0; i < this->payload_size(); i++) {
-    total_size +=
-      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-        this->payload(i));
-  }
-  
-  // repeated .ipaaca.protobuf.LinkSet links = 10;
-  total_size += 1 * this->links_size();
-  for (int i = 0; i < this->links_size(); i++) {
-    total_size +=
-      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-        this->links(i));
-  }
-  
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void IU::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const IU* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const IU*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void IU::MergeFrom(const IU& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  payload_.MergeFrom(from.payload_);
-  links_.MergeFrom(from.links_);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from.has_uid()) {
-      set_uid(from.uid());
-    }
-    if (from.has_revision()) {
-      set_revision(from.revision());
-    }
-    if (from.has_category()) {
-      set_category(from.category());
-    }
-    if (from.has_payload_type()) {
-      set_payload_type(from.payload_type());
-    }
-    if (from.has_owner_name()) {
-      set_owner_name(from.owner_name());
-    }
-    if (from.has_committed()) {
-      set_committed(from.committed());
-    }
-    if (from.has_access_mode()) {
-      set_access_mode(from.access_mode());
-    }
-    if (from.has_read_only()) {
-      set_read_only(from.read_only());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void IU::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void IU::CopyFrom(const IU& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool IU::IsInitialized() const {
-  if ((_has_bits_[0] & 0x000000ff) != 0x000000ff) return false;
-  
-  for (int i = 0; i < payload_size(); i++) {
-    if (!this->payload(i).IsInitialized()) return false;
-  }
-  for (int i = 0; i < links_size(); i++) {
-    if (!this->links(i).IsInitialized()) return false;
-  }
-  return true;
-}
-
-void IU::Swap(IU* other) {
-  if (other != this) {
-    std::swap(uid_, other->uid_);
-    std::swap(revision_, other->revision_);
-    std::swap(category_, other->category_);
-    std::swap(payload_type_, other->payload_type_);
-    std::swap(owner_name_, other->owner_name_);
-    std::swap(committed_, other->committed_);
-    std::swap(access_mode_, other->access_mode_);
-    std::swap(read_only_, other->read_only_);
-    payload_.Swap(&other->payload_);
-    links_.Swap(&other->links_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata IU::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = IU_descriptor_;
-  metadata.reflection = IU_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int IUPayloadUpdate::kUidFieldNumber;
-const int IUPayloadUpdate::kRevisionFieldNumber;
-const int IUPayloadUpdate::kNewItemsFieldNumber;
-const int IUPayloadUpdate::kKeysToRemoveFieldNumber;
-const int IUPayloadUpdate::kIsDeltaFieldNumber;
-const int IUPayloadUpdate::kWriterNameFieldNumber;
-#endif  // !_MSC_VER
-
-IUPayloadUpdate::IUPayloadUpdate()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void IUPayloadUpdate::InitAsDefaultInstance() {
-}
-
-IUPayloadUpdate::IUPayloadUpdate(const IUPayloadUpdate& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void IUPayloadUpdate::SharedCtor() {
-  _cached_size_ = 0;
-  uid_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-  revision_ = 0u;
-  is_delta_ = false;
-  writer_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-IUPayloadUpdate::~IUPayloadUpdate() {
-  SharedDtor();
-}
-
-void IUPayloadUpdate::SharedDtor() {
-  if (uid_ != &::google::protobuf::internal::kEmptyString) {
-    delete uid_;
-  }
-  if (writer_name_ != &::google::protobuf::internal::kEmptyString) {
-    delete writer_name_;
-  }
-  if (this != default_instance_) {
-  }
-}
-
-void IUPayloadUpdate::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* IUPayloadUpdate::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return IUPayloadUpdate_descriptor_;
-}
-
-const IUPayloadUpdate& IUPayloadUpdate::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ipaaca_2eproto();  return *default_instance_;
-}
-
-IUPayloadUpdate* IUPayloadUpdate::default_instance_ = NULL;
-
-IUPayloadUpdate* IUPayloadUpdate::New() const {
-  return new IUPayloadUpdate;
-}
-
-void IUPayloadUpdate::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (has_uid()) {
-      if (uid_ != &::google::protobuf::internal::kEmptyString) {
-        uid_->clear();
-      }
-    }
-    revision_ = 0u;
-    is_delta_ = false;
-    if (has_writer_name()) {
-      if (writer_name_ != &::google::protobuf::internal::kEmptyString) {
-        writer_name_->clear();
-      }
-    }
-  }
-  new_items_.Clear();
-  keys_to_remove_.Clear();
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool IUPayloadUpdate::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required string uid = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_uid()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->uid().data(), this->uid().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(16)) goto parse_revision;
-        break;
-      }
-      
-      // required uint32 revision = 2;
-      case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_revision:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, &revision_)));
-          set_has_revision();
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(26)) goto parse_new_items;
-        break;
-      }
-      
-      // repeated .ipaaca.protobuf.PayloadItem new_items = 3;
-      case 3: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_new_items:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-                input, add_new_items()));
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(26)) goto parse_new_items;
-        if (input->ExpectTag(34)) goto parse_keys_to_remove;
-        break;
-      }
-      
-      // repeated string keys_to_remove = 4;
-      case 4: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_keys_to_remove:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->add_keys_to_remove()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->keys_to_remove(0).data(), this->keys_to_remove(0).length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(34)) goto parse_keys_to_remove;
-        if (input->ExpectTag(40)) goto parse_is_delta;
-        break;
-      }
-      
-      // required bool is_delta = 5 [default = false];
-      case 5: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_is_delta:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
-                 input, &is_delta_)));
-          set_has_is_delta();
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(50)) goto parse_writer_name;
-        break;
-      }
-      
-      // required string writer_name = 6;
-      case 6: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_writer_name:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_writer_name()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->writer_name().data(), this->writer_name().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void IUPayloadUpdate::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // required string uid = 1;
-  if (has_uid()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->uid().data(), this->uid().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      1, this->uid(), output);
-  }
-  
-  // required uint32 revision = 2;
-  if (has_revision()) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->revision(), output);
-  }
-  
-  // repeated .ipaaca.protobuf.PayloadItem new_items = 3;
-  for (int i = 0; i < this->new_items_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      3, this->new_items(i), output);
-  }
-  
-  // repeated string keys_to_remove = 4;
-  for (int i = 0; i < this->keys_to_remove_size(); i++) {
-  ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-    this->keys_to_remove(i).data(), this->keys_to_remove(i).length(),
-    ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      4, this->keys_to_remove(i), output);
-  }
-  
-  // required bool is_delta = 5 [default = false];
-  if (has_is_delta()) {
-    ::google::protobuf::internal::WireFormatLite::WriteBool(5, this->is_delta(), output);
-  }
-  
-  // required string writer_name = 6;
-  if (has_writer_name()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->writer_name().data(), this->writer_name().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      6, this->writer_name(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* IUPayloadUpdate::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // required string uid = 1;
-  if (has_uid()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->uid().data(), this->uid().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        1, this->uid(), target);
-  }
-  
-  // required uint32 revision = 2;
-  if (has_revision()) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->revision(), target);
-  }
-  
-  // repeated .ipaaca.protobuf.PayloadItem new_items = 3;
-  for (int i = 0; i < this->new_items_size(); i++) {
-    target = ::google::protobuf::internal::WireFormatLite::
-      WriteMessageNoVirtualToArray(
-        3, this->new_items(i), target);
-  }
-  
-  // repeated string keys_to_remove = 4;
-  for (int i = 0; i < this->keys_to_remove_size(); i++) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->keys_to_remove(i).data(), this->keys_to_remove(i).length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target = ::google::protobuf::internal::WireFormatLite::
-      WriteStringToArray(4, this->keys_to_remove(i), target);
-  }
-  
-  // required bool is_delta = 5 [default = false];
-  if (has_is_delta()) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(5, this->is_delta(), target);
-  }
-  
-  // required string writer_name = 6;
-  if (has_writer_name()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->writer_name().data(), this->writer_name().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        6, this->writer_name(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int IUPayloadUpdate::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required string uid = 1;
-    if (has_uid()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->uid());
-    }
-    
-    // required uint32 revision = 2;
-    if (has_revision()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::UInt32Size(
-          this->revision());
-    }
-    
-    // required bool is_delta = 5 [default = false];
-    if (has_is_delta()) {
-      total_size += 1 + 1;
-    }
-    
-    // required string writer_name = 6;
-    if (has_writer_name()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->writer_name());
-    }
-    
-  }
-  // repeated .ipaaca.protobuf.PayloadItem new_items = 3;
-  total_size += 1 * this->new_items_size();
-  for (int i = 0; i < this->new_items_size(); i++) {
-    total_size +=
-      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-        this->new_items(i));
-  }
-  
-  // repeated string keys_to_remove = 4;
-  total_size += 1 * this->keys_to_remove_size();
-  for (int i = 0; i < this->keys_to_remove_size(); i++) {
-    total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
-      this->keys_to_remove(i));
-  }
-  
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void IUPayloadUpdate::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const IUPayloadUpdate* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const IUPayloadUpdate*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void IUPayloadUpdate::MergeFrom(const IUPayloadUpdate& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  new_items_.MergeFrom(from.new_items_);
-  keys_to_remove_.MergeFrom(from.keys_to_remove_);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from.has_uid()) {
-      set_uid(from.uid());
-    }
-    if (from.has_revision()) {
-      set_revision(from.revision());
-    }
-    if (from.has_is_delta()) {
-      set_is_delta(from.is_delta());
-    }
-    if (from.has_writer_name()) {
-      set_writer_name(from.writer_name());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void IUPayloadUpdate::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void IUPayloadUpdate::CopyFrom(const IUPayloadUpdate& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool IUPayloadUpdate::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000033) != 0x00000033) return false;
-  
-  for (int i = 0; i < new_items_size(); i++) {
-    if (!this->new_items(i).IsInitialized()) return false;
-  }
-  return true;
-}
-
-void IUPayloadUpdate::Swap(IUPayloadUpdate* other) {
-  if (other != this) {
-    std::swap(uid_, other->uid_);
-    std::swap(revision_, other->revision_);
-    new_items_.Swap(&other->new_items_);
-    keys_to_remove_.Swap(&other->keys_to_remove_);
-    std::swap(is_delta_, other->is_delta_);
-    std::swap(writer_name_, other->writer_name_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata IUPayloadUpdate::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = IUPayloadUpdate_descriptor_;
-  metadata.reflection = IUPayloadUpdate_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int IURetraction::kUidFieldNumber;
-const int IURetraction::kRevisionFieldNumber;
-#endif  // !_MSC_VER
-
-IURetraction::IURetraction()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void IURetraction::InitAsDefaultInstance() {
-}
-
-IURetraction::IURetraction(const IURetraction& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void IURetraction::SharedCtor() {
-  _cached_size_ = 0;
-  uid_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-  revision_ = 0u;
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-IURetraction::~IURetraction() {
-  SharedDtor();
-}
-
-void IURetraction::SharedDtor() {
-  if (uid_ != &::google::protobuf::internal::kEmptyString) {
-    delete uid_;
-  }
-  if (this != default_instance_) {
-  }
-}
-
-void IURetraction::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* IURetraction::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return IURetraction_descriptor_;
-}
-
-const IURetraction& IURetraction::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ipaaca_2eproto();  return *default_instance_;
-}
-
-IURetraction* IURetraction::default_instance_ = NULL;
-
-IURetraction* IURetraction::New() const {
-  return new IURetraction;
-}
-
-void IURetraction::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (has_uid()) {
-      if (uid_ != &::google::protobuf::internal::kEmptyString) {
-        uid_->clear();
-      }
-    }
-    revision_ = 0u;
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool IURetraction::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required string uid = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_uid()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->uid().data(), this->uid().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(16)) goto parse_revision;
-        break;
-      }
-      
-      // required uint32 revision = 2;
-      case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_revision:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, &revision_)));
-          set_has_revision();
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void IURetraction::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // required string uid = 1;
-  if (has_uid()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->uid().data(), this->uid().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      1, this->uid(), output);
-  }
-  
-  // required uint32 revision = 2;
-  if (has_revision()) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->revision(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* IURetraction::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // required string uid = 1;
-  if (has_uid()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->uid().data(), this->uid().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        1, this->uid(), target);
-  }
-  
-  // required uint32 revision = 2;
-  if (has_revision()) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->revision(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int IURetraction::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required string uid = 1;
-    if (has_uid()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->uid());
-    }
-    
-    // required uint32 revision = 2;
-    if (has_revision()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::UInt32Size(
-          this->revision());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void IURetraction::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const IURetraction* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const IURetraction*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void IURetraction::MergeFrom(const IURetraction& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from.has_uid()) {
-      set_uid(from.uid());
-    }
-    if (from.has_revision()) {
-      set_revision(from.revision());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void IURetraction::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void IURetraction::CopyFrom(const IURetraction& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool IURetraction::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
-  
-  return true;
-}
-
-void IURetraction::Swap(IURetraction* other) {
-  if (other != this) {
-    std::swap(uid_, other->uid_);
-    std::swap(revision_, other->revision_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata IURetraction::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = IURetraction_descriptor_;
-  metadata.reflection = IURetraction_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int IUCommission::kUidFieldNumber;
-const int IUCommission::kRevisionFieldNumber;
-const int IUCommission::kWriterNameFieldNumber;
-#endif  // !_MSC_VER
-
-IUCommission::IUCommission()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void IUCommission::InitAsDefaultInstance() {
-}
-
-IUCommission::IUCommission(const IUCommission& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void IUCommission::SharedCtor() {
-  _cached_size_ = 0;
-  uid_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-  revision_ = 0u;
-  writer_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-IUCommission::~IUCommission() {
-  SharedDtor();
-}
-
-void IUCommission::SharedDtor() {
-  if (uid_ != &::google::protobuf::internal::kEmptyString) {
-    delete uid_;
-  }
-  if (writer_name_ != &::google::protobuf::internal::kEmptyString) {
-    delete writer_name_;
-  }
-  if (this != default_instance_) {
-  }
-}
-
-void IUCommission::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* IUCommission::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return IUCommission_descriptor_;
-}
-
-const IUCommission& IUCommission::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ipaaca_2eproto();  return *default_instance_;
-}
-
-IUCommission* IUCommission::default_instance_ = NULL;
-
-IUCommission* IUCommission::New() const {
-  return new IUCommission;
-}
-
-void IUCommission::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (has_uid()) {
-      if (uid_ != &::google::protobuf::internal::kEmptyString) {
-        uid_->clear();
-      }
-    }
-    revision_ = 0u;
-    if (has_writer_name()) {
-      if (writer_name_ != &::google::protobuf::internal::kEmptyString) {
-        writer_name_->clear();
-      }
-    }
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool IUCommission::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required string uid = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_uid()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->uid().data(), this->uid().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(16)) goto parse_revision;
-        break;
-      }
-      
-      // required uint32 revision = 2;
-      case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_revision:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, &revision_)));
-          set_has_revision();
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(26)) goto parse_writer_name;
-        break;
-      }
-      
-      // required string writer_name = 3;
-      case 3: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_writer_name:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_writer_name()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->writer_name().data(), this->writer_name().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void IUCommission::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // required string uid = 1;
-  if (has_uid()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->uid().data(), this->uid().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      1, this->uid(), output);
-  }
-  
-  // required uint32 revision = 2;
-  if (has_revision()) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->revision(), output);
-  }
-  
-  // required string writer_name = 3;
-  if (has_writer_name()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->writer_name().data(), this->writer_name().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      3, this->writer_name(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* IUCommission::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // required string uid = 1;
-  if (has_uid()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->uid().data(), this->uid().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        1, this->uid(), target);
-  }
-  
-  // required uint32 revision = 2;
-  if (has_revision()) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->revision(), target);
-  }
-  
-  // required string writer_name = 3;
-  if (has_writer_name()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->writer_name().data(), this->writer_name().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        3, this->writer_name(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int IUCommission::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required string uid = 1;
-    if (has_uid()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->uid());
-    }
-    
-    // required uint32 revision = 2;
-    if (has_revision()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::UInt32Size(
-          this->revision());
-    }
-    
-    // required string writer_name = 3;
-    if (has_writer_name()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->writer_name());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void IUCommission::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const IUCommission* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const IUCommission*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void IUCommission::MergeFrom(const IUCommission& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from.has_uid()) {
-      set_uid(from.uid());
-    }
-    if (from.has_revision()) {
-      set_revision(from.revision());
-    }
-    if (from.has_writer_name()) {
-      set_writer_name(from.writer_name());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void IUCommission::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void IUCommission::CopyFrom(const IUCommission& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool IUCommission::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000007) != 0x00000007) return false;
-  
-  return true;
-}
-
-void IUCommission::Swap(IUCommission* other) {
-  if (other != this) {
-    std::swap(uid_, other->uid_);
-    std::swap(revision_, other->revision_);
-    std::swap(writer_name_, other->writer_name_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata IUCommission::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = IUCommission_descriptor_;
-  metadata.reflection = IUCommission_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int IUResendRequest::kUidFieldNumber;
-const int IUResendRequest::kHiddenScopeNameFieldNumber;
-#endif  // !_MSC_VER
-
-IUResendRequest::IUResendRequest()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void IUResendRequest::InitAsDefaultInstance() {
-}
-
-IUResendRequest::IUResendRequest(const IUResendRequest& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void IUResendRequest::SharedCtor() {
-  _cached_size_ = 0;
-  uid_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-  hidden_scope_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-IUResendRequest::~IUResendRequest() {
-  SharedDtor();
-}
-
-void IUResendRequest::SharedDtor() {
-  if (uid_ != &::google::protobuf::internal::kEmptyString) {
-    delete uid_;
-  }
-  if (hidden_scope_name_ != &::google::protobuf::internal::kEmptyString) {
-    delete hidden_scope_name_;
-  }
-  if (this != default_instance_) {
-  }
-}
-
-void IUResendRequest::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* IUResendRequest::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return IUResendRequest_descriptor_;
-}
-
-const IUResendRequest& IUResendRequest::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ipaaca_2eproto();  return *default_instance_;
-}
-
-IUResendRequest* IUResendRequest::default_instance_ = NULL;
-
-IUResendRequest* IUResendRequest::New() const {
-  return new IUResendRequest;
-}
-
-void IUResendRequest::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (has_uid()) {
-      if (uid_ != &::google::protobuf::internal::kEmptyString) {
-        uid_->clear();
-      }
-    }
-    if (has_hidden_scope_name()) {
-      if (hidden_scope_name_ != &::google::protobuf::internal::kEmptyString) {
-        hidden_scope_name_->clear();
-      }
-    }
-  }
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool IUResendRequest::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required string uid = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_uid()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->uid().data(), this->uid().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(18)) goto parse_hidden_scope_name;
-        break;
-      }
-      
-      // required string hidden_scope_name = 2;
-      case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_hidden_scope_name:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_hidden_scope_name()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->hidden_scope_name().data(), this->hidden_scope_name().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void IUResendRequest::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // required string uid = 1;
-  if (has_uid()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->uid().data(), this->uid().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      1, this->uid(), output);
-  }
-  
-  // required string hidden_scope_name = 2;
-  if (has_hidden_scope_name()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->hidden_scope_name().data(), this->hidden_scope_name().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      2, this->hidden_scope_name(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* IUResendRequest::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // required string uid = 1;
-  if (has_uid()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->uid().data(), this->uid().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        1, this->uid(), target);
-  }
-  
-  // required string hidden_scope_name = 2;
-  if (has_hidden_scope_name()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->hidden_scope_name().data(), this->hidden_scope_name().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        2, this->hidden_scope_name(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int IUResendRequest::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required string uid = 1;
-    if (has_uid()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->uid());
-    }
-    
-    // required string hidden_scope_name = 2;
-    if (has_hidden_scope_name()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->hidden_scope_name());
-    }
-    
-  }
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void IUResendRequest::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const IUResendRequest* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const IUResendRequest*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void IUResendRequest::MergeFrom(const IUResendRequest& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from.has_uid()) {
-      set_uid(from.uid());
-    }
-    if (from.has_hidden_scope_name()) {
-      set_hidden_scope_name(from.hidden_scope_name());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void IUResendRequest::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void IUResendRequest::CopyFrom(const IUResendRequest& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool IUResendRequest::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000003) != 0x00000003) return false;
-  
-  return true;
-}
-
-void IUResendRequest::Swap(IUResendRequest* other) {
-  if (other != this) {
-    std::swap(uid_, other->uid_);
-    std::swap(hidden_scope_name_, other->hidden_scope_name_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata IUResendRequest::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = IUResendRequest_descriptor_;
-  metadata.reflection = IUResendRequest_reflection_;
-  return metadata;
-}
-
-
-// ===================================================================
-
-#ifndef _MSC_VER
-const int IULinkUpdate::kUidFieldNumber;
-const int IULinkUpdate::kRevisionFieldNumber;
-const int IULinkUpdate::kNewLinksFieldNumber;
-const int IULinkUpdate::kLinksToRemoveFieldNumber;
-const int IULinkUpdate::kIsDeltaFieldNumber;
-const int IULinkUpdate::kWriterNameFieldNumber;
-#endif  // !_MSC_VER
-
-IULinkUpdate::IULinkUpdate()
-  : ::google::protobuf::Message() {
-  SharedCtor();
-}
-
-void IULinkUpdate::InitAsDefaultInstance() {
-}
-
-IULinkUpdate::IULinkUpdate(const IULinkUpdate& from)
-  : ::google::protobuf::Message() {
-  SharedCtor();
-  MergeFrom(from);
-}
-
-void IULinkUpdate::SharedCtor() {
-  _cached_size_ = 0;
-  uid_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-  revision_ = 0u;
-  is_delta_ = false;
-  writer_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-}
-
-IULinkUpdate::~IULinkUpdate() {
-  SharedDtor();
-}
-
-void IULinkUpdate::SharedDtor() {
-  if (uid_ != &::google::protobuf::internal::kEmptyString) {
-    delete uid_;
-  }
-  if (writer_name_ != &::google::protobuf::internal::kEmptyString) {
-    delete writer_name_;
-  }
-  if (this != default_instance_) {
-  }
-}
-
-void IULinkUpdate::SetCachedSize(int size) const {
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-}
-const ::google::protobuf::Descriptor* IULinkUpdate::descriptor() {
-  protobuf_AssignDescriptorsOnce();
-  return IULinkUpdate_descriptor_;
-}
-
-const IULinkUpdate& IULinkUpdate::default_instance() {
-  if (default_instance_ == NULL) protobuf_AddDesc_ipaaca_2eproto();  return *default_instance_;
-}
-
-IULinkUpdate* IULinkUpdate::default_instance_ = NULL;
-
-IULinkUpdate* IULinkUpdate::New() const {
-  return new IULinkUpdate;
-}
-
-void IULinkUpdate::Clear() {
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (has_uid()) {
-      if (uid_ != &::google::protobuf::internal::kEmptyString) {
-        uid_->clear();
-      }
-    }
-    revision_ = 0u;
-    is_delta_ = false;
-    if (has_writer_name()) {
-      if (writer_name_ != &::google::protobuf::internal::kEmptyString) {
-        writer_name_->clear();
-      }
-    }
-  }
-  new_links_.Clear();
-  links_to_remove_.Clear();
-  ::memset(_has_bits_, 0, sizeof(_has_bits_));
-  mutable_unknown_fields()->Clear();
-}
-
-bool IULinkUpdate::MergePartialFromCodedStream(
-    ::google::protobuf::io::CodedInputStream* input) {
-#define DO_(EXPRESSION) if (!(EXPRESSION)) return false
-  ::google::protobuf::uint32 tag;
-  while ((tag = input->ReadTag()) != 0) {
-    switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
-      // required string uid = 1;
-      case 1: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_uid()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->uid().data(), this->uid().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(16)) goto parse_revision;
-        break;
-      }
-      
-      // required uint32 revision = 2;
-      case 2: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_revision:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
-                 input, &revision_)));
-          set_has_revision();
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(26)) goto parse_new_links;
-        break;
-      }
-      
-      // repeated .ipaaca.protobuf.LinkSet new_links = 3;
-      case 3: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_new_links:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-                input, add_new_links()));
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(26)) goto parse_new_links;
-        if (input->ExpectTag(34)) goto parse_links_to_remove;
-        break;
-      }
-      
-      // repeated .ipaaca.protobuf.LinkSet links_to_remove = 4;
-      case 4: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_links_to_remove:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
-                input, add_links_to_remove()));
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(34)) goto parse_links_to_remove;
-        if (input->ExpectTag(40)) goto parse_is_delta;
-        break;
-      }
-      
-      // required bool is_delta = 5 [default = false];
-      case 5: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_VARINT) {
-         parse_is_delta:
-          DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
-                   bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
-                 input, &is_delta_)));
-          set_has_is_delta();
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectTag(50)) goto parse_writer_name;
-        break;
-      }
-      
-      // required string writer_name = 6;
-      case 6: {
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED) {
-         parse_writer_name:
-          DO_(::google::protobuf::internal::WireFormatLite::ReadString(
-                input, this->mutable_writer_name()));
-          ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-            this->writer_name().data(), this->writer_name().length(),
-            ::google::protobuf::internal::WireFormat::PARSE);
-        } else {
-          goto handle_uninterpreted;
-        }
-        if (input->ExpectAtEnd()) return true;
-        break;
-      }
-      
-      default: {
-      handle_uninterpreted:
-        if (::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
-            ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
-          return true;
-        }
-        DO_(::google::protobuf::internal::WireFormat::SkipField(
-              input, tag, mutable_unknown_fields()));
-        break;
-      }
-    }
-  }
-  return true;
-#undef DO_
-}
-
-void IULinkUpdate::SerializeWithCachedSizes(
-    ::google::protobuf::io::CodedOutputStream* output) const {
-  // required string uid = 1;
-  if (has_uid()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->uid().data(), this->uid().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      1, this->uid(), output);
-  }
-  
-  // required uint32 revision = 2;
-  if (has_revision()) {
-    ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->revision(), output);
-  }
-  
-  // repeated .ipaaca.protobuf.LinkSet new_links = 3;
-  for (int i = 0; i < this->new_links_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      3, this->new_links(i), output);
-  }
-  
-  // repeated .ipaaca.protobuf.LinkSet links_to_remove = 4;
-  for (int i = 0; i < this->links_to_remove_size(); i++) {
-    ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
-      4, this->links_to_remove(i), output);
-  }
-  
-  // required bool is_delta = 5 [default = false];
-  if (has_is_delta()) {
-    ::google::protobuf::internal::WireFormatLite::WriteBool(5, this->is_delta(), output);
-  }
-  
-  // required string writer_name = 6;
-  if (has_writer_name()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->writer_name().data(), this->writer_name().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    ::google::protobuf::internal::WireFormatLite::WriteString(
-      6, this->writer_name(), output);
-  }
-  
-  if (!unknown_fields().empty()) {
-    ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
-        unknown_fields(), output);
-  }
-}
-
-::google::protobuf::uint8* IULinkUpdate::SerializeWithCachedSizesToArray(
-    ::google::protobuf::uint8* target) const {
-  // required string uid = 1;
-  if (has_uid()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->uid().data(), this->uid().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        1, this->uid(), target);
-  }
-  
-  // required uint32 revision = 2;
-  if (has_revision()) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->revision(), target);
-  }
-  
-  // repeated .ipaaca.protobuf.LinkSet new_links = 3;
-  for (int i = 0; i < this->new_links_size(); i++) {
-    target = ::google::protobuf::internal::WireFormatLite::
-      WriteMessageNoVirtualToArray(
-        3, this->new_links(i), target);
-  }
-  
-  // repeated .ipaaca.protobuf.LinkSet links_to_remove = 4;
-  for (int i = 0; i < this->links_to_remove_size(); i++) {
-    target = ::google::protobuf::internal::WireFormatLite::
-      WriteMessageNoVirtualToArray(
-        4, this->links_to_remove(i), target);
-  }
-  
-  // required bool is_delta = 5 [default = false];
-  if (has_is_delta()) {
-    target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(5, this->is_delta(), target);
-  }
-  
-  // required string writer_name = 6;
-  if (has_writer_name()) {
-    ::google::protobuf::internal::WireFormat::VerifyUTF8String(
-      this->writer_name().data(), this->writer_name().length(),
-      ::google::protobuf::internal::WireFormat::SERIALIZE);
-    target =
-      ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
-        6, this->writer_name(), target);
-  }
-  
-  if (!unknown_fields().empty()) {
-    target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
-        unknown_fields(), target);
-  }
-  return target;
-}
-
-int IULinkUpdate::ByteSize() const {
-  int total_size = 0;
-  
-  if (_has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    // required string uid = 1;
-    if (has_uid()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->uid());
-    }
-    
-    // required uint32 revision = 2;
-    if (has_revision()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::UInt32Size(
-          this->revision());
-    }
-    
-    // required bool is_delta = 5 [default = false];
-    if (has_is_delta()) {
-      total_size += 1 + 1;
-    }
-    
-    // required string writer_name = 6;
-    if (has_writer_name()) {
-      total_size += 1 +
-        ::google::protobuf::internal::WireFormatLite::StringSize(
-          this->writer_name());
-    }
-    
-  }
-  // repeated .ipaaca.protobuf.LinkSet new_links = 3;
-  total_size += 1 * this->new_links_size();
-  for (int i = 0; i < this->new_links_size(); i++) {
-    total_size +=
-      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-        this->new_links(i));
-  }
-  
-  // repeated .ipaaca.protobuf.LinkSet links_to_remove = 4;
-  total_size += 1 * this->links_to_remove_size();
-  for (int i = 0; i < this->links_to_remove_size(); i++) {
-    total_size +=
-      ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
-        this->links_to_remove(i));
-  }
-  
-  if (!unknown_fields().empty()) {
-    total_size +=
-      ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
-        unknown_fields());
-  }
-  GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
-  _cached_size_ = total_size;
-  GOOGLE_SAFE_CONCURRENT_WRITES_END();
-  return total_size;
-}
-
-void IULinkUpdate::MergeFrom(const ::google::protobuf::Message& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  const IULinkUpdate* source =
-    ::google::protobuf::internal::dynamic_cast_if_available<const IULinkUpdate*>(
-      &from);
-  if (source == NULL) {
-    ::google::protobuf::internal::ReflectionOps::Merge(from, this);
-  } else {
-    MergeFrom(*source);
-  }
-}
-
-void IULinkUpdate::MergeFrom(const IULinkUpdate& from) {
-  GOOGLE_CHECK_NE(&from, this);
-  new_links_.MergeFrom(from.new_links_);
-  links_to_remove_.MergeFrom(from.links_to_remove_);
-  if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
-    if (from.has_uid()) {
-      set_uid(from.uid());
-    }
-    if (from.has_revision()) {
-      set_revision(from.revision());
-    }
-    if (from.has_is_delta()) {
-      set_is_delta(from.is_delta());
-    }
-    if (from.has_writer_name()) {
-      set_writer_name(from.writer_name());
-    }
-  }
-  mutable_unknown_fields()->MergeFrom(from.unknown_fields());
-}
-
-void IULinkUpdate::CopyFrom(const ::google::protobuf::Message& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-void IULinkUpdate::CopyFrom(const IULinkUpdate& from) {
-  if (&from == this) return;
-  Clear();
-  MergeFrom(from);
-}
-
-bool IULinkUpdate::IsInitialized() const {
-  if ((_has_bits_[0] & 0x00000033) != 0x00000033) return false;
-  
-  for (int i = 0; i < new_links_size(); i++) {
-    if (!this->new_links(i).IsInitialized()) return false;
-  }
-  for (int i = 0; i < links_to_remove_size(); i++) {
-    if (!this->links_to_remove(i).IsInitialized()) return false;
-  }
-  return true;
-}
-
-void IULinkUpdate::Swap(IULinkUpdate* other) {
-  if (other != this) {
-    std::swap(uid_, other->uid_);
-    std::swap(revision_, other->revision_);
-    new_links_.Swap(&other->new_links_);
-    links_to_remove_.Swap(&other->links_to_remove_);
-    std::swap(is_delta_, other->is_delta_);
-    std::swap(writer_name_, other->writer_name_);
-    std::swap(_has_bits_[0], other->_has_bits_[0]);
-    _unknown_fields_.Swap(&other->_unknown_fields_);
-    std::swap(_cached_size_, other->_cached_size_);
-  }
-}
-
-::google::protobuf::Metadata IULinkUpdate::GetMetadata() const {
-  protobuf_AssignDescriptorsOnce();
-  ::google::protobuf::Metadata metadata;
-  metadata.descriptor = IULinkUpdate_descriptor_;
-  metadata.reflection = IULinkUpdate_reflection_;
-  return metadata;
-}
-
-
-// @@protoc_insertion_point(namespace_scope)
-
-}  // namespace protobuf
-}  // namespace ipaaca
-
-// @@protoc_insertion_point(global_scope)
diff --git a/ipaacalib/cpp/ipaaca.pb.h b/ipaacalib/cpp/ipaaca.pb.h
deleted file mode 100644
index 2947a1fd5f80a33337e74e1dfe0b069256322679..0000000000000000000000000000000000000000
--- a/ipaacalib/cpp/ipaaca.pb.h
+++ /dev/null
@@ -1,2691 +0,0 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// source: ipaaca.proto
-
-#ifndef PROTOBUF_ipaaca_2eproto__INCLUDED
-#define PROTOBUF_ipaaca_2eproto__INCLUDED
-
-#include <string>
-
-#include <google/protobuf/stubs/common.h>
-
-#if GOOGLE_PROTOBUF_VERSION < 2004000
-#error This file was generated by a newer version of protoc which is
-#error incompatible with your Protocol Buffer headers.  Please update
-#error your headers.
-#endif
-#if 2004001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
-#error This file was generated by an older version of protoc which is
-#error incompatible with your Protocol Buffer headers.  Please
-#error regenerate this file with a newer version of protoc.
-#endif
-
-#include <google/protobuf/generated_message_util.h>
-#include <google/protobuf/repeated_field.h>
-#include <google/protobuf/extension_set.h>
-#include <google/protobuf/generated_message_reflection.h>
-// @@protoc_insertion_point(includes)
-
-namespace ipaaca {
-namespace protobuf {
-
-// Internal implementation detail -- do not call these.
-void  protobuf_AddDesc_ipaaca_2eproto();
-void protobuf_AssignDesc_ipaaca_2eproto();
-void protobuf_ShutdownFile_ipaaca_2eproto();
-
-class IntMessage;
-class LinkSet;
-class PayloadItem;
-class IU;
-class IUPayloadUpdate;
-class IURetraction;
-class IUCommission;
-class IUResendRequest;
-class IULinkUpdate;
-
-enum IU_AccessMode {
-  IU_AccessMode_PUSH = 0,
-  IU_AccessMode_REMOTE = 1,
-  IU_AccessMode_MESSAGE = 2
-};
-bool IU_AccessMode_IsValid(int value);
-const IU_AccessMode IU_AccessMode_AccessMode_MIN = IU_AccessMode_PUSH;
-const IU_AccessMode IU_AccessMode_AccessMode_MAX = IU_AccessMode_MESSAGE;
-const int IU_AccessMode_AccessMode_ARRAYSIZE = IU_AccessMode_AccessMode_MAX + 1;
-
-const ::google::protobuf::EnumDescriptor* IU_AccessMode_descriptor();
-inline const ::std::string& IU_AccessMode_Name(IU_AccessMode value) {
-  return ::google::protobuf::internal::NameOfEnum(
-    IU_AccessMode_descriptor(), value);
-}
-inline bool IU_AccessMode_Parse(
-    const ::std::string& name, IU_AccessMode* value) {
-  return ::google::protobuf::internal::ParseNamedEnum<IU_AccessMode>(
-    IU_AccessMode_descriptor(), name, value);
-}
-// ===================================================================
-
-class IntMessage : public ::google::protobuf::Message {
- public:
-  IntMessage();
-  virtual ~IntMessage();
-  
-  IntMessage(const IntMessage& from);
-  
-  inline IntMessage& operator=(const IntMessage& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const IntMessage& default_instance();
-  
-  void Swap(IntMessage* other);
-  
-  // implements Message ----------------------------------------------
-  
-  IntMessage* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const IntMessage& from);
-  void MergeFrom(const IntMessage& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // required sint32 value = 1;
-  inline bool has_value() const;
-  inline void clear_value();
-  static const int kValueFieldNumber = 1;
-  inline ::google::protobuf::int32 value() const;
-  inline void set_value(::google::protobuf::int32 value);
-  
-  // @@protoc_insertion_point(class_scope:ipaaca.protobuf.IntMessage)
- private:
-  inline void set_has_value();
-  inline void clear_has_value();
-  
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  
-  ::google::protobuf::int32 value_;
-  
-  mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(1 + 31) / 32];
-  
-  friend void  protobuf_AddDesc_ipaaca_2eproto();
-  friend void protobuf_AssignDesc_ipaaca_2eproto();
-  friend void protobuf_ShutdownFile_ipaaca_2eproto();
-  
-  void InitAsDefaultInstance();
-  static IntMessage* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class LinkSet : public ::google::protobuf::Message {
- public:
-  LinkSet();
-  virtual ~LinkSet();
-  
-  LinkSet(const LinkSet& from);
-  
-  inline LinkSet& operator=(const LinkSet& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const LinkSet& default_instance();
-  
-  void Swap(LinkSet* other);
-  
-  // implements Message ----------------------------------------------
-  
-  LinkSet* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const LinkSet& from);
-  void MergeFrom(const LinkSet& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // required string type = 1;
-  inline bool has_type() const;
-  inline void clear_type();
-  static const int kTypeFieldNumber = 1;
-  inline const ::std::string& type() const;
-  inline void set_type(const ::std::string& value);
-  inline void set_type(const char* value);
-  inline void set_type(const char* value, size_t size);
-  inline ::std::string* mutable_type();
-  inline ::std::string* release_type();
-  
-  // repeated string targets = 2;
-  inline int targets_size() const;
-  inline void clear_targets();
-  static const int kTargetsFieldNumber = 2;
-  inline const ::std::string& targets(int index) const;
-  inline ::std::string* mutable_targets(int index);
-  inline void set_targets(int index, const ::std::string& value);
-  inline void set_targets(int index, const char* value);
-  inline void set_targets(int index, const char* value, size_t size);
-  inline ::std::string* add_targets();
-  inline void add_targets(const ::std::string& value);
-  inline void add_targets(const char* value);
-  inline void add_targets(const char* value, size_t size);
-  inline const ::google::protobuf::RepeatedPtrField< ::std::string>& targets() const;
-  inline ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_targets();
-  
-  // @@protoc_insertion_point(class_scope:ipaaca.protobuf.LinkSet)
- private:
-  inline void set_has_type();
-  inline void clear_has_type();
-  
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  
-  ::std::string* type_;
-  ::google::protobuf::RepeatedPtrField< ::std::string> targets_;
-  
-  mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];
-  
-  friend void  protobuf_AddDesc_ipaaca_2eproto();
-  friend void protobuf_AssignDesc_ipaaca_2eproto();
-  friend void protobuf_ShutdownFile_ipaaca_2eproto();
-  
-  void InitAsDefaultInstance();
-  static LinkSet* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class PayloadItem : public ::google::protobuf::Message {
- public:
-  PayloadItem();
-  virtual ~PayloadItem();
-  
-  PayloadItem(const PayloadItem& from);
-  
-  inline PayloadItem& operator=(const PayloadItem& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const PayloadItem& default_instance();
-  
-  void Swap(PayloadItem* other);
-  
-  // implements Message ----------------------------------------------
-  
-  PayloadItem* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const PayloadItem& from);
-  void MergeFrom(const PayloadItem& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // required string key = 1;
-  inline bool has_key() const;
-  inline void clear_key();
-  static const int kKeyFieldNumber = 1;
-  inline const ::std::string& key() const;
-  inline void set_key(const ::std::string& value);
-  inline void set_key(const char* value);
-  inline void set_key(const char* value, size_t size);
-  inline ::std::string* mutable_key();
-  inline ::std::string* release_key();
-  
-  // required string value = 2;
-  inline bool has_value() const;
-  inline void clear_value();
-  static const int kValueFieldNumber = 2;
-  inline const ::std::string& value() const;
-  inline void set_value(const ::std::string& value);
-  inline void set_value(const char* value);
-  inline void set_value(const char* value, size_t size);
-  inline ::std::string* mutable_value();
-  inline ::std::string* release_value();
-  
-  // required string type = 3 [default = "str"];
-  inline bool has_type() const;
-  inline void clear_type();
-  static const int kTypeFieldNumber = 3;
-  inline const ::std::string& type() const;
-  inline void set_type(const ::std::string& value);
-  inline void set_type(const char* value);
-  inline void set_type(const char* value, size_t size);
-  inline ::std::string* mutable_type();
-  inline ::std::string* release_type();
-  
-  // @@protoc_insertion_point(class_scope:ipaaca.protobuf.PayloadItem)
- private:
-  inline void set_has_key();
-  inline void clear_has_key();
-  inline void set_has_value();
-  inline void clear_has_value();
-  inline void set_has_type();
-  inline void clear_has_type();
-  
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  
-  ::std::string* key_;
-  ::std::string* value_;
-  ::std::string* type_;
-  static const ::std::string _default_type_;
-  
-  mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32];
-  
-  friend void  protobuf_AddDesc_ipaaca_2eproto();
-  friend void protobuf_AssignDesc_ipaaca_2eproto();
-  friend void protobuf_ShutdownFile_ipaaca_2eproto();
-  
-  void InitAsDefaultInstance();
-  static PayloadItem* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class IU : public ::google::protobuf::Message {
- public:
-  IU();
-  virtual ~IU();
-  
-  IU(const IU& from);
-  
-  inline IU& operator=(const IU& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const IU& default_instance();
-  
-  void Swap(IU* other);
-  
-  // implements Message ----------------------------------------------
-  
-  IU* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const IU& from);
-  void MergeFrom(const IU& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  typedef IU_AccessMode AccessMode;
-  static const AccessMode PUSH = IU_AccessMode_PUSH;
-  static const AccessMode REMOTE = IU_AccessMode_REMOTE;
-  static const AccessMode MESSAGE = IU_AccessMode_MESSAGE;
-  static inline bool AccessMode_IsValid(int value) {
-    return IU_AccessMode_IsValid(value);
-  }
-  static const AccessMode AccessMode_MIN =
-    IU_AccessMode_AccessMode_MIN;
-  static const AccessMode AccessMode_MAX =
-    IU_AccessMode_AccessMode_MAX;
-  static const int AccessMode_ARRAYSIZE =
-    IU_AccessMode_AccessMode_ARRAYSIZE;
-  static inline const ::google::protobuf::EnumDescriptor*
-  AccessMode_descriptor() {
-    return IU_AccessMode_descriptor();
-  }
-  static inline const ::std::string& AccessMode_Name(AccessMode value) {
-    return IU_AccessMode_Name(value);
-  }
-  static inline bool AccessMode_Parse(const ::std::string& name,
-      AccessMode* value) {
-    return IU_AccessMode_Parse(name, value);
-  }
-  
-  // accessors -------------------------------------------------------
-  
-  // required string uid = 1;
-  inline bool has_uid() const;
-  inline void clear_uid();
-  static const int kUidFieldNumber = 1;
-  inline const ::std::string& uid() const;
-  inline void set_uid(const ::std::string& value);
-  inline void set_uid(const char* value);
-  inline void set_uid(const char* value, size_t size);
-  inline ::std::string* mutable_uid();
-  inline ::std::string* release_uid();
-  
-  // required uint32 revision = 2;
-  inline bool has_revision() const;
-  inline void clear_revision();
-  static const int kRevisionFieldNumber = 2;
-  inline ::google::protobuf::uint32 revision() const;
-  inline void set_revision(::google::protobuf::uint32 value);
-  
-  // required string category = 3 [default = "undef"];
-  inline bool has_category() const;
-  inline void clear_category();
-  static const int kCategoryFieldNumber = 3;
-  inline const ::std::string& category() const;
-  inline void set_category(const ::std::string& value);
-  inline void set_category(const char* value);
-  inline void set_category(const char* value, size_t size);
-  inline ::std::string* mutable_category();
-  inline ::std::string* release_category();
-  
-  // required string payload_type = 4 [default = "MAP"];
-  inline bool has_payload_type() const;
-  inline void clear_payload_type();
-  static const int kPayloadTypeFieldNumber = 4;
-  inline const ::std::string& payload_type() const;
-  inline void set_payload_type(const ::std::string& value);
-  inline void set_payload_type(const char* value);
-  inline void set_payload_type(const char* value, size_t size);
-  inline ::std::string* mutable_payload_type();
-  inline ::std::string* release_payload_type();
-  
-  // required string owner_name = 5;
-  inline bool has_owner_name() const;
-  inline void clear_owner_name();
-  static const int kOwnerNameFieldNumber = 5;
-  inline const ::std::string& owner_name() const;
-  inline void set_owner_name(const ::std::string& value);
-  inline void set_owner_name(const char* value);
-  inline void set_owner_name(const char* value, size_t size);
-  inline ::std::string* mutable_owner_name();
-  inline ::std::string* release_owner_name();
-  
-  // required bool committed = 6 [default = false];
-  inline bool has_committed() const;
-  inline void clear_committed();
-  static const int kCommittedFieldNumber = 6;
-  inline bool committed() const;
-  inline void set_committed(bool value);
-  
-  // required .ipaaca.protobuf.IU.AccessMode access_mode = 7 [default = PUSH];
-  inline bool has_access_mode() const;
-  inline void clear_access_mode();
-  static const int kAccessModeFieldNumber = 7;
-  inline ::ipaaca::protobuf::IU_AccessMode access_mode() const;
-  inline void set_access_mode(::ipaaca::protobuf::IU_AccessMode value);
-  
-  // required bool read_only = 8 [default = false];
-  inline bool has_read_only() const;
-  inline void clear_read_only();
-  static const int kReadOnlyFieldNumber = 8;
-  inline bool read_only() const;
-  inline void set_read_only(bool value);
-  
-  // repeated .ipaaca.protobuf.PayloadItem payload = 9;
-  inline int payload_size() const;
-  inline void clear_payload();
-  static const int kPayloadFieldNumber = 9;
-  inline const ::ipaaca::protobuf::PayloadItem& payload(int index) const;
-  inline ::ipaaca::protobuf::PayloadItem* mutable_payload(int index);
-  inline ::ipaaca::protobuf::PayloadItem* add_payload();
-  inline const ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::PayloadItem >&
-      payload() const;
-  inline ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::PayloadItem >*
-      mutable_payload();
-  
-  // repeated .ipaaca.protobuf.LinkSet links = 10;
-  inline int links_size() const;
-  inline void clear_links();
-  static const int kLinksFieldNumber = 10;
-  inline const ::ipaaca::protobuf::LinkSet& links(int index) const;
-  inline ::ipaaca::protobuf::LinkSet* mutable_links(int index);
-  inline ::ipaaca::protobuf::LinkSet* add_links();
-  inline const ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet >&
-      links() const;
-  inline ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet >*
-      mutable_links();
-  
-  // @@protoc_insertion_point(class_scope:ipaaca.protobuf.IU)
- private:
-  inline void set_has_uid();
-  inline void clear_has_uid();
-  inline void set_has_revision();
-  inline void clear_has_revision();
-  inline void set_has_category();
-  inline void clear_has_category();
-  inline void set_has_payload_type();
-  inline void clear_has_payload_type();
-  inline void set_has_owner_name();
-  inline void clear_has_owner_name();
-  inline void set_has_committed();
-  inline void clear_has_committed();
-  inline void set_has_access_mode();
-  inline void clear_has_access_mode();
-  inline void set_has_read_only();
-  inline void clear_has_read_only();
-  
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  
-  ::std::string* uid_;
-  ::std::string* category_;
-  static const ::std::string _default_category_;
-  ::std::string* payload_type_;
-  static const ::std::string _default_payload_type_;
-  ::google::protobuf::uint32 revision_;
-  int access_mode_;
-  ::std::string* owner_name_;
-  ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::PayloadItem > payload_;
-  ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet > links_;
-  bool committed_;
-  bool read_only_;
-  
-  mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(10 + 31) / 32];
-  
-  friend void  protobuf_AddDesc_ipaaca_2eproto();
-  friend void protobuf_AssignDesc_ipaaca_2eproto();
-  friend void protobuf_ShutdownFile_ipaaca_2eproto();
-  
-  void InitAsDefaultInstance();
-  static IU* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class IUPayloadUpdate : public ::google::protobuf::Message {
- public:
-  IUPayloadUpdate();
-  virtual ~IUPayloadUpdate();
-  
-  IUPayloadUpdate(const IUPayloadUpdate& from);
-  
-  inline IUPayloadUpdate& operator=(const IUPayloadUpdate& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const IUPayloadUpdate& default_instance();
-  
-  void Swap(IUPayloadUpdate* other);
-  
-  // implements Message ----------------------------------------------
-  
-  IUPayloadUpdate* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const IUPayloadUpdate& from);
-  void MergeFrom(const IUPayloadUpdate& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // required string uid = 1;
-  inline bool has_uid() const;
-  inline void clear_uid();
-  static const int kUidFieldNumber = 1;
-  inline const ::std::string& uid() const;
-  inline void set_uid(const ::std::string& value);
-  inline void set_uid(const char* value);
-  inline void set_uid(const char* value, size_t size);
-  inline ::std::string* mutable_uid();
-  inline ::std::string* release_uid();
-  
-  // required uint32 revision = 2;
-  inline bool has_revision() const;
-  inline void clear_revision();
-  static const int kRevisionFieldNumber = 2;
-  inline ::google::protobuf::uint32 revision() const;
-  inline void set_revision(::google::protobuf::uint32 value);
-  
-  // repeated .ipaaca.protobuf.PayloadItem new_items = 3;
-  inline int new_items_size() const;
-  inline void clear_new_items();
-  static const int kNewItemsFieldNumber = 3;
-  inline const ::ipaaca::protobuf::PayloadItem& new_items(int index) const;
-  inline ::ipaaca::protobuf::PayloadItem* mutable_new_items(int index);
-  inline ::ipaaca::protobuf::PayloadItem* add_new_items();
-  inline const ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::PayloadItem >&
-      new_items() const;
-  inline ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::PayloadItem >*
-      mutable_new_items();
-  
-  // repeated string keys_to_remove = 4;
-  inline int keys_to_remove_size() const;
-  inline void clear_keys_to_remove();
-  static const int kKeysToRemoveFieldNumber = 4;
-  inline const ::std::string& keys_to_remove(int index) const;
-  inline ::std::string* mutable_keys_to_remove(int index);
-  inline void set_keys_to_remove(int index, const ::std::string& value);
-  inline void set_keys_to_remove(int index, const char* value);
-  inline void set_keys_to_remove(int index, const char* value, size_t size);
-  inline ::std::string* add_keys_to_remove();
-  inline void add_keys_to_remove(const ::std::string& value);
-  inline void add_keys_to_remove(const char* value);
-  inline void add_keys_to_remove(const char* value, size_t size);
-  inline const ::google::protobuf::RepeatedPtrField< ::std::string>& keys_to_remove() const;
-  inline ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_keys_to_remove();
-  
-  // required bool is_delta = 5 [default = false];
-  inline bool has_is_delta() const;
-  inline void clear_is_delta();
-  static const int kIsDeltaFieldNumber = 5;
-  inline bool is_delta() const;
-  inline void set_is_delta(bool value);
-  
-  // required string writer_name = 6;
-  inline bool has_writer_name() const;
-  inline void clear_writer_name();
-  static const int kWriterNameFieldNumber = 6;
-  inline const ::std::string& writer_name() const;
-  inline void set_writer_name(const ::std::string& value);
-  inline void set_writer_name(const char* value);
-  inline void set_writer_name(const char* value, size_t size);
-  inline ::std::string* mutable_writer_name();
-  inline ::std::string* release_writer_name();
-  
-  // @@protoc_insertion_point(class_scope:ipaaca.protobuf.IUPayloadUpdate)
- private:
-  inline void set_has_uid();
-  inline void clear_has_uid();
-  inline void set_has_revision();
-  inline void clear_has_revision();
-  inline void set_has_is_delta();
-  inline void clear_has_is_delta();
-  inline void set_has_writer_name();
-  inline void clear_has_writer_name();
-  
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  
-  ::std::string* uid_;
-  ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::PayloadItem > new_items_;
-  ::google::protobuf::uint32 revision_;
-  bool is_delta_;
-  ::google::protobuf::RepeatedPtrField< ::std::string> keys_to_remove_;
-  ::std::string* writer_name_;
-  
-  mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(6 + 31) / 32];
-  
-  friend void  protobuf_AddDesc_ipaaca_2eproto();
-  friend void protobuf_AssignDesc_ipaaca_2eproto();
-  friend void protobuf_ShutdownFile_ipaaca_2eproto();
-  
-  void InitAsDefaultInstance();
-  static IUPayloadUpdate* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class IURetraction : public ::google::protobuf::Message {
- public:
-  IURetraction();
-  virtual ~IURetraction();
-  
-  IURetraction(const IURetraction& from);
-  
-  inline IURetraction& operator=(const IURetraction& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const IURetraction& default_instance();
-  
-  void Swap(IURetraction* other);
-  
-  // implements Message ----------------------------------------------
-  
-  IURetraction* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const IURetraction& from);
-  void MergeFrom(const IURetraction& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // required string uid = 1;
-  inline bool has_uid() const;
-  inline void clear_uid();
-  static const int kUidFieldNumber = 1;
-  inline const ::std::string& uid() const;
-  inline void set_uid(const ::std::string& value);
-  inline void set_uid(const char* value);
-  inline void set_uid(const char* value, size_t size);
-  inline ::std::string* mutable_uid();
-  inline ::std::string* release_uid();
-  
-  // required uint32 revision = 2;
-  inline bool has_revision() const;
-  inline void clear_revision();
-  static const int kRevisionFieldNumber = 2;
-  inline ::google::protobuf::uint32 revision() const;
-  inline void set_revision(::google::protobuf::uint32 value);
-  
-  // @@protoc_insertion_point(class_scope:ipaaca.protobuf.IURetraction)
- private:
-  inline void set_has_uid();
-  inline void clear_has_uid();
-  inline void set_has_revision();
-  inline void clear_has_revision();
-  
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  
-  ::std::string* uid_;
-  ::google::protobuf::uint32 revision_;
-  
-  mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];
-  
-  friend void  protobuf_AddDesc_ipaaca_2eproto();
-  friend void protobuf_AssignDesc_ipaaca_2eproto();
-  friend void protobuf_ShutdownFile_ipaaca_2eproto();
-  
-  void InitAsDefaultInstance();
-  static IURetraction* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class IUCommission : public ::google::protobuf::Message {
- public:
-  IUCommission();
-  virtual ~IUCommission();
-  
-  IUCommission(const IUCommission& from);
-  
-  inline IUCommission& operator=(const IUCommission& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const IUCommission& default_instance();
-  
-  void Swap(IUCommission* other);
-  
-  // implements Message ----------------------------------------------
-  
-  IUCommission* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const IUCommission& from);
-  void MergeFrom(const IUCommission& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // required string uid = 1;
-  inline bool has_uid() const;
-  inline void clear_uid();
-  static const int kUidFieldNumber = 1;
-  inline const ::std::string& uid() const;
-  inline void set_uid(const ::std::string& value);
-  inline void set_uid(const char* value);
-  inline void set_uid(const char* value, size_t size);
-  inline ::std::string* mutable_uid();
-  inline ::std::string* release_uid();
-  
-  // required uint32 revision = 2;
-  inline bool has_revision() const;
-  inline void clear_revision();
-  static const int kRevisionFieldNumber = 2;
-  inline ::google::protobuf::uint32 revision() const;
-  inline void set_revision(::google::protobuf::uint32 value);
-  
-  // required string writer_name = 3;
-  inline bool has_writer_name() const;
-  inline void clear_writer_name();
-  static const int kWriterNameFieldNumber = 3;
-  inline const ::std::string& writer_name() const;
-  inline void set_writer_name(const ::std::string& value);
-  inline void set_writer_name(const char* value);
-  inline void set_writer_name(const char* value, size_t size);
-  inline ::std::string* mutable_writer_name();
-  inline ::std::string* release_writer_name();
-  
-  // @@protoc_insertion_point(class_scope:ipaaca.protobuf.IUCommission)
- private:
-  inline void set_has_uid();
-  inline void clear_has_uid();
-  inline void set_has_revision();
-  inline void clear_has_revision();
-  inline void set_has_writer_name();
-  inline void clear_has_writer_name();
-  
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  
-  ::std::string* uid_;
-  ::std::string* writer_name_;
-  ::google::protobuf::uint32 revision_;
-  
-  mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(3 + 31) / 32];
-  
-  friend void  protobuf_AddDesc_ipaaca_2eproto();
-  friend void protobuf_AssignDesc_ipaaca_2eproto();
-  friend void protobuf_ShutdownFile_ipaaca_2eproto();
-  
-  void InitAsDefaultInstance();
-  static IUCommission* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class IUResendRequest : public ::google::protobuf::Message {
- public:
-  IUResendRequest();
-  virtual ~IUResendRequest();
-  
-  IUResendRequest(const IUResendRequest& from);
-  
-  inline IUResendRequest& operator=(const IUResendRequest& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const IUResendRequest& default_instance();
-  
-  void Swap(IUResendRequest* other);
-  
-  // implements Message ----------------------------------------------
-  
-  IUResendRequest* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const IUResendRequest& from);
-  void MergeFrom(const IUResendRequest& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // required string uid = 1;
-  inline bool has_uid() const;
-  inline void clear_uid();
-  static const int kUidFieldNumber = 1;
-  inline const ::std::string& uid() const;
-  inline void set_uid(const ::std::string& value);
-  inline void set_uid(const char* value);
-  inline void set_uid(const char* value, size_t size);
-  inline ::std::string* mutable_uid();
-  inline ::std::string* release_uid();
-  
-  // required string hidden_scope_name = 2;
-  inline bool has_hidden_scope_name() const;
-  inline void clear_hidden_scope_name();
-  static const int kHiddenScopeNameFieldNumber = 2;
-  inline const ::std::string& hidden_scope_name() const;
-  inline void set_hidden_scope_name(const ::std::string& value);
-  inline void set_hidden_scope_name(const char* value);
-  inline void set_hidden_scope_name(const char* value, size_t size);
-  inline ::std::string* mutable_hidden_scope_name();
-  inline ::std::string* release_hidden_scope_name();
-  
-  // @@protoc_insertion_point(class_scope:ipaaca.protobuf.IUResendRequest)
- private:
-  inline void set_has_uid();
-  inline void clear_has_uid();
-  inline void set_has_hidden_scope_name();
-  inline void clear_has_hidden_scope_name();
-  
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  
-  ::std::string* uid_;
-  ::std::string* hidden_scope_name_;
-  
-  mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(2 + 31) / 32];
-  
-  friend void  protobuf_AddDesc_ipaaca_2eproto();
-  friend void protobuf_AssignDesc_ipaaca_2eproto();
-  friend void protobuf_ShutdownFile_ipaaca_2eproto();
-  
-  void InitAsDefaultInstance();
-  static IUResendRequest* default_instance_;
-};
-// -------------------------------------------------------------------
-
-class IULinkUpdate : public ::google::protobuf::Message {
- public:
-  IULinkUpdate();
-  virtual ~IULinkUpdate();
-  
-  IULinkUpdate(const IULinkUpdate& from);
-  
-  inline IULinkUpdate& operator=(const IULinkUpdate& from) {
-    CopyFrom(from);
-    return *this;
-  }
-  
-  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
-    return _unknown_fields_;
-  }
-  
-  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
-    return &_unknown_fields_;
-  }
-  
-  static const ::google::protobuf::Descriptor* descriptor();
-  static const IULinkUpdate& default_instance();
-  
-  void Swap(IULinkUpdate* other);
-  
-  // implements Message ----------------------------------------------
-  
-  IULinkUpdate* New() const;
-  void CopyFrom(const ::google::protobuf::Message& from);
-  void MergeFrom(const ::google::protobuf::Message& from);
-  void CopyFrom(const IULinkUpdate& from);
-  void MergeFrom(const IULinkUpdate& from);
-  void Clear();
-  bool IsInitialized() const;
-  
-  int ByteSize() const;
-  bool MergePartialFromCodedStream(
-      ::google::protobuf::io::CodedInputStream* input);
-  void SerializeWithCachedSizes(
-      ::google::protobuf::io::CodedOutputStream* output) const;
-  ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const;
-  int GetCachedSize() const { return _cached_size_; }
-  private:
-  void SharedCtor();
-  void SharedDtor();
-  void SetCachedSize(int size) const;
-  public:
-  
-  ::google::protobuf::Metadata GetMetadata() const;
-  
-  // nested types ----------------------------------------------------
-  
-  // accessors -------------------------------------------------------
-  
-  // required string uid = 1;
-  inline bool has_uid() const;
-  inline void clear_uid();
-  static const int kUidFieldNumber = 1;
-  inline const ::std::string& uid() const;
-  inline void set_uid(const ::std::string& value);
-  inline void set_uid(const char* value);
-  inline void set_uid(const char* value, size_t size);
-  inline ::std::string* mutable_uid();
-  inline ::std::string* release_uid();
-  
-  // required uint32 revision = 2;
-  inline bool has_revision() const;
-  inline void clear_revision();
-  static const int kRevisionFieldNumber = 2;
-  inline ::google::protobuf::uint32 revision() const;
-  inline void set_revision(::google::protobuf::uint32 value);
-  
-  // repeated .ipaaca.protobuf.LinkSet new_links = 3;
-  inline int new_links_size() const;
-  inline void clear_new_links();
-  static const int kNewLinksFieldNumber = 3;
-  inline const ::ipaaca::protobuf::LinkSet& new_links(int index) const;
-  inline ::ipaaca::protobuf::LinkSet* mutable_new_links(int index);
-  inline ::ipaaca::protobuf::LinkSet* add_new_links();
-  inline const ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet >&
-      new_links() const;
-  inline ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet >*
-      mutable_new_links();
-  
-  // repeated .ipaaca.protobuf.LinkSet links_to_remove = 4;
-  inline int links_to_remove_size() const;
-  inline void clear_links_to_remove();
-  static const int kLinksToRemoveFieldNumber = 4;
-  inline const ::ipaaca::protobuf::LinkSet& links_to_remove(int index) const;
-  inline ::ipaaca::protobuf::LinkSet* mutable_links_to_remove(int index);
-  inline ::ipaaca::protobuf::LinkSet* add_links_to_remove();
-  inline const ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet >&
-      links_to_remove() const;
-  inline ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet >*
-      mutable_links_to_remove();
-  
-  // required bool is_delta = 5 [default = false];
-  inline bool has_is_delta() const;
-  inline void clear_is_delta();
-  static const int kIsDeltaFieldNumber = 5;
-  inline bool is_delta() const;
-  inline void set_is_delta(bool value);
-  
-  // required string writer_name = 6;
-  inline bool has_writer_name() const;
-  inline void clear_writer_name();
-  static const int kWriterNameFieldNumber = 6;
-  inline const ::std::string& writer_name() const;
-  inline void set_writer_name(const ::std::string& value);
-  inline void set_writer_name(const char* value);
-  inline void set_writer_name(const char* value, size_t size);
-  inline ::std::string* mutable_writer_name();
-  inline ::std::string* release_writer_name();
-  
-  // @@protoc_insertion_point(class_scope:ipaaca.protobuf.IULinkUpdate)
- private:
-  inline void set_has_uid();
-  inline void clear_has_uid();
-  inline void set_has_revision();
-  inline void clear_has_revision();
-  inline void set_has_is_delta();
-  inline void clear_has_is_delta();
-  inline void set_has_writer_name();
-  inline void clear_has_writer_name();
-  
-  ::google::protobuf::UnknownFieldSet _unknown_fields_;
-  
-  ::std::string* uid_;
-  ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet > new_links_;
-  ::google::protobuf::uint32 revision_;
-  bool is_delta_;
-  ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet > links_to_remove_;
-  ::std::string* writer_name_;
-  
-  mutable int _cached_size_;
-  ::google::protobuf::uint32 _has_bits_[(6 + 31) / 32];
-  
-  friend void  protobuf_AddDesc_ipaaca_2eproto();
-  friend void protobuf_AssignDesc_ipaaca_2eproto();
-  friend void protobuf_ShutdownFile_ipaaca_2eproto();
-  
-  void InitAsDefaultInstance();
-  static IULinkUpdate* default_instance_;
-};
-// ===================================================================
-
-
-// ===================================================================
-
-// IntMessage
-
-// required sint32 value = 1;
-inline bool IntMessage::has_value() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-inline void IntMessage::set_has_value() {
-  _has_bits_[0] |= 0x00000001u;
-}
-inline void IntMessage::clear_has_value() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline void IntMessage::clear_value() {
-  value_ = 0;
-  clear_has_value();
-}
-inline ::google::protobuf::int32 IntMessage::value() const {
-  return value_;
-}
-inline void IntMessage::set_value(::google::protobuf::int32 value) {
-  set_has_value();
-  value_ = value;
-}
-
-// -------------------------------------------------------------------
-
-// LinkSet
-
-// required string type = 1;
-inline bool LinkSet::has_type() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-inline void LinkSet::set_has_type() {
-  _has_bits_[0] |= 0x00000001u;
-}
-inline void LinkSet::clear_has_type() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline void LinkSet::clear_type() {
-  if (type_ != &::google::protobuf::internal::kEmptyString) {
-    type_->clear();
-  }
-  clear_has_type();
-}
-inline const ::std::string& LinkSet::type() const {
-  return *type_;
-}
-inline void LinkSet::set_type(const ::std::string& value) {
-  set_has_type();
-  if (type_ == &::google::protobuf::internal::kEmptyString) {
-    type_ = new ::std::string;
-  }
-  type_->assign(value);
-}
-inline void LinkSet::set_type(const char* value) {
-  set_has_type();
-  if (type_ == &::google::protobuf::internal::kEmptyString) {
-    type_ = new ::std::string;
-  }
-  type_->assign(value);
-}
-inline void LinkSet::set_type(const char* value, size_t size) {
-  set_has_type();
-  if (type_ == &::google::protobuf::internal::kEmptyString) {
-    type_ = new ::std::string;
-  }
-  type_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* LinkSet::mutable_type() {
-  set_has_type();
-  if (type_ == &::google::protobuf::internal::kEmptyString) {
-    type_ = new ::std::string;
-  }
-  return type_;
-}
-inline ::std::string* LinkSet::release_type() {
-  clear_has_type();
-  if (type_ == &::google::protobuf::internal::kEmptyString) {
-    return NULL;
-  } else {
-    ::std::string* temp = type_;
-    type_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-    return temp;
-  }
-}
-
-// repeated string targets = 2;
-inline int LinkSet::targets_size() const {
-  return targets_.size();
-}
-inline void LinkSet::clear_targets() {
-  targets_.Clear();
-}
-inline const ::std::string& LinkSet::targets(int index) const {
-  return targets_.Get(index);
-}
-inline ::std::string* LinkSet::mutable_targets(int index) {
-  return targets_.Mutable(index);
-}
-inline void LinkSet::set_targets(int index, const ::std::string& value) {
-  targets_.Mutable(index)->assign(value);
-}
-inline void LinkSet::set_targets(int index, const char* value) {
-  targets_.Mutable(index)->assign(value);
-}
-inline void LinkSet::set_targets(int index, const char* value, size_t size) {
-  targets_.Mutable(index)->assign(
-    reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* LinkSet::add_targets() {
-  return targets_.Add();
-}
-inline void LinkSet::add_targets(const ::std::string& value) {
-  targets_.Add()->assign(value);
-}
-inline void LinkSet::add_targets(const char* value) {
-  targets_.Add()->assign(value);
-}
-inline void LinkSet::add_targets(const char* value, size_t size) {
-  targets_.Add()->assign(reinterpret_cast<const char*>(value), size);
-}
-inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
-LinkSet::targets() const {
-  return targets_;
-}
-inline ::google::protobuf::RepeatedPtrField< ::std::string>*
-LinkSet::mutable_targets() {
-  return &targets_;
-}
-
-// -------------------------------------------------------------------
-
-// PayloadItem
-
-// required string key = 1;
-inline bool PayloadItem::has_key() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-inline void PayloadItem::set_has_key() {
-  _has_bits_[0] |= 0x00000001u;
-}
-inline void PayloadItem::clear_has_key() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline void PayloadItem::clear_key() {
-  if (key_ != &::google::protobuf::internal::kEmptyString) {
-    key_->clear();
-  }
-  clear_has_key();
-}
-inline const ::std::string& PayloadItem::key() const {
-  return *key_;
-}
-inline void PayloadItem::set_key(const ::std::string& value) {
-  set_has_key();
-  if (key_ == &::google::protobuf::internal::kEmptyString) {
-    key_ = new ::std::string;
-  }
-  key_->assign(value);
-}
-inline void PayloadItem::set_key(const char* value) {
-  set_has_key();
-  if (key_ == &::google::protobuf::internal::kEmptyString) {
-    key_ = new ::std::string;
-  }
-  key_->assign(value);
-}
-inline void PayloadItem::set_key(const char* value, size_t size) {
-  set_has_key();
-  if (key_ == &::google::protobuf::internal::kEmptyString) {
-    key_ = new ::std::string;
-  }
-  key_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* PayloadItem::mutable_key() {
-  set_has_key();
-  if (key_ == &::google::protobuf::internal::kEmptyString) {
-    key_ = new ::std::string;
-  }
-  return key_;
-}
-inline ::std::string* PayloadItem::release_key() {
-  clear_has_key();
-  if (key_ == &::google::protobuf::internal::kEmptyString) {
-    return NULL;
-  } else {
-    ::std::string* temp = key_;
-    key_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-    return temp;
-  }
-}
-
-// required string value = 2;
-inline bool PayloadItem::has_value() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
-}
-inline void PayloadItem::set_has_value() {
-  _has_bits_[0] |= 0x00000002u;
-}
-inline void PayloadItem::clear_has_value() {
-  _has_bits_[0] &= ~0x00000002u;
-}
-inline void PayloadItem::clear_value() {
-  if (value_ != &::google::protobuf::internal::kEmptyString) {
-    value_->clear();
-  }
-  clear_has_value();
-}
-inline const ::std::string& PayloadItem::value() const {
-  return *value_;
-}
-inline void PayloadItem::set_value(const ::std::string& value) {
-  set_has_value();
-  if (value_ == &::google::protobuf::internal::kEmptyString) {
-    value_ = new ::std::string;
-  }
-  value_->assign(value);
-}
-inline void PayloadItem::set_value(const char* value) {
-  set_has_value();
-  if (value_ == &::google::protobuf::internal::kEmptyString) {
-    value_ = new ::std::string;
-  }
-  value_->assign(value);
-}
-inline void PayloadItem::set_value(const char* value, size_t size) {
-  set_has_value();
-  if (value_ == &::google::protobuf::internal::kEmptyString) {
-    value_ = new ::std::string;
-  }
-  value_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* PayloadItem::mutable_value() {
-  set_has_value();
-  if (value_ == &::google::protobuf::internal::kEmptyString) {
-    value_ = new ::std::string;
-  }
-  return value_;
-}
-inline ::std::string* PayloadItem::release_value() {
-  clear_has_value();
-  if (value_ == &::google::protobuf::internal::kEmptyString) {
-    return NULL;
-  } else {
-    ::std::string* temp = value_;
-    value_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-    return temp;
-  }
-}
-
-// required string type = 3 [default = "str"];
-inline bool PayloadItem::has_type() const {
-  return (_has_bits_[0] & 0x00000004u) != 0;
-}
-inline void PayloadItem::set_has_type() {
-  _has_bits_[0] |= 0x00000004u;
-}
-inline void PayloadItem::clear_has_type() {
-  _has_bits_[0] &= ~0x00000004u;
-}
-inline void PayloadItem::clear_type() {
-  if (type_ != &_default_type_) {
-    type_->assign(_default_type_);
-  }
-  clear_has_type();
-}
-inline const ::std::string& PayloadItem::type() const {
-  return *type_;
-}
-inline void PayloadItem::set_type(const ::std::string& value) {
-  set_has_type();
-  if (type_ == &_default_type_) {
-    type_ = new ::std::string;
-  }
-  type_->assign(value);
-}
-inline void PayloadItem::set_type(const char* value) {
-  set_has_type();
-  if (type_ == &_default_type_) {
-    type_ = new ::std::string;
-  }
-  type_->assign(value);
-}
-inline void PayloadItem::set_type(const char* value, size_t size) {
-  set_has_type();
-  if (type_ == &_default_type_) {
-    type_ = new ::std::string;
-  }
-  type_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* PayloadItem::mutable_type() {
-  set_has_type();
-  if (type_ == &_default_type_) {
-    type_ = new ::std::string(_default_type_);
-  }
-  return type_;
-}
-inline ::std::string* PayloadItem::release_type() {
-  clear_has_type();
-  if (type_ == &_default_type_) {
-    return NULL;
-  } else {
-    ::std::string* temp = type_;
-    type_ = const_cast< ::std::string*>(&_default_type_);
-    return temp;
-  }
-}
-
-// -------------------------------------------------------------------
-
-// IU
-
-// required string uid = 1;
-inline bool IU::has_uid() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-inline void IU::set_has_uid() {
-  _has_bits_[0] |= 0x00000001u;
-}
-inline void IU::clear_has_uid() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline void IU::clear_uid() {
-  if (uid_ != &::google::protobuf::internal::kEmptyString) {
-    uid_->clear();
-  }
-  clear_has_uid();
-}
-inline const ::std::string& IU::uid() const {
-  return *uid_;
-}
-inline void IU::set_uid(const ::std::string& value) {
-  set_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    uid_ = new ::std::string;
-  }
-  uid_->assign(value);
-}
-inline void IU::set_uid(const char* value) {
-  set_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    uid_ = new ::std::string;
-  }
-  uid_->assign(value);
-}
-inline void IU::set_uid(const char* value, size_t size) {
-  set_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    uid_ = new ::std::string;
-  }
-  uid_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* IU::mutable_uid() {
-  set_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    uid_ = new ::std::string;
-  }
-  return uid_;
-}
-inline ::std::string* IU::release_uid() {
-  clear_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    return NULL;
-  } else {
-    ::std::string* temp = uid_;
-    uid_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-    return temp;
-  }
-}
-
-// required uint32 revision = 2;
-inline bool IU::has_revision() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
-}
-inline void IU::set_has_revision() {
-  _has_bits_[0] |= 0x00000002u;
-}
-inline void IU::clear_has_revision() {
-  _has_bits_[0] &= ~0x00000002u;
-}
-inline void IU::clear_revision() {
-  revision_ = 0u;
-  clear_has_revision();
-}
-inline ::google::protobuf::uint32 IU::revision() const {
-  return revision_;
-}
-inline void IU::set_revision(::google::protobuf::uint32 value) {
-  set_has_revision();
-  revision_ = value;
-}
-
-// required string category = 3 [default = "undef"];
-inline bool IU::has_category() const {
-  return (_has_bits_[0] & 0x00000004u) != 0;
-}
-inline void IU::set_has_category() {
-  _has_bits_[0] |= 0x00000004u;
-}
-inline void IU::clear_has_category() {
-  _has_bits_[0] &= ~0x00000004u;
-}
-inline void IU::clear_category() {
-  if (category_ != &_default_category_) {
-    category_->assign(_default_category_);
-  }
-  clear_has_category();
-}
-inline const ::std::string& IU::category() const {
-  return *category_;
-}
-inline void IU::set_category(const ::std::string& value) {
-  set_has_category();
-  if (category_ == &_default_category_) {
-    category_ = new ::std::string;
-  }
-  category_->assign(value);
-}
-inline void IU::set_category(const char* value) {
-  set_has_category();
-  if (category_ == &_default_category_) {
-    category_ = new ::std::string;
-  }
-  category_->assign(value);
-}
-inline void IU::set_category(const char* value, size_t size) {
-  set_has_category();
-  if (category_ == &_default_category_) {
-    category_ = new ::std::string;
-  }
-  category_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* IU::mutable_category() {
-  set_has_category();
-  if (category_ == &_default_category_) {
-    category_ = new ::std::string(_default_category_);
-  }
-  return category_;
-}
-inline ::std::string* IU::release_category() {
-  clear_has_category();
-  if (category_ == &_default_category_) {
-    return NULL;
-  } else {
-    ::std::string* temp = category_;
-    category_ = const_cast< ::std::string*>(&_default_category_);
-    return temp;
-  }
-}
-
-// required string payload_type = 4 [default = "MAP"];
-inline bool IU::has_payload_type() const {
-  return (_has_bits_[0] & 0x00000008u) != 0;
-}
-inline void IU::set_has_payload_type() {
-  _has_bits_[0] |= 0x00000008u;
-}
-inline void IU::clear_has_payload_type() {
-  _has_bits_[0] &= ~0x00000008u;
-}
-inline void IU::clear_payload_type() {
-  if (payload_type_ != &_default_payload_type_) {
-    payload_type_->assign(_default_payload_type_);
-  }
-  clear_has_payload_type();
-}
-inline const ::std::string& IU::payload_type() const {
-  return *payload_type_;
-}
-inline void IU::set_payload_type(const ::std::string& value) {
-  set_has_payload_type();
-  if (payload_type_ == &_default_payload_type_) {
-    payload_type_ = new ::std::string;
-  }
-  payload_type_->assign(value);
-}
-inline void IU::set_payload_type(const char* value) {
-  set_has_payload_type();
-  if (payload_type_ == &_default_payload_type_) {
-    payload_type_ = new ::std::string;
-  }
-  payload_type_->assign(value);
-}
-inline void IU::set_payload_type(const char* value, size_t size) {
-  set_has_payload_type();
-  if (payload_type_ == &_default_payload_type_) {
-    payload_type_ = new ::std::string;
-  }
-  payload_type_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* IU::mutable_payload_type() {
-  set_has_payload_type();
-  if (payload_type_ == &_default_payload_type_) {
-    payload_type_ = new ::std::string(_default_payload_type_);
-  }
-  return payload_type_;
-}
-inline ::std::string* IU::release_payload_type() {
-  clear_has_payload_type();
-  if (payload_type_ == &_default_payload_type_) {
-    return NULL;
-  } else {
-    ::std::string* temp = payload_type_;
-    payload_type_ = const_cast< ::std::string*>(&_default_payload_type_);
-    return temp;
-  }
-}
-
-// required string owner_name = 5;
-inline bool IU::has_owner_name() const {
-  return (_has_bits_[0] & 0x00000010u) != 0;
-}
-inline void IU::set_has_owner_name() {
-  _has_bits_[0] |= 0x00000010u;
-}
-inline void IU::clear_has_owner_name() {
-  _has_bits_[0] &= ~0x00000010u;
-}
-inline void IU::clear_owner_name() {
-  if (owner_name_ != &::google::protobuf::internal::kEmptyString) {
-    owner_name_->clear();
-  }
-  clear_has_owner_name();
-}
-inline const ::std::string& IU::owner_name() const {
-  return *owner_name_;
-}
-inline void IU::set_owner_name(const ::std::string& value) {
-  set_has_owner_name();
-  if (owner_name_ == &::google::protobuf::internal::kEmptyString) {
-    owner_name_ = new ::std::string;
-  }
-  owner_name_->assign(value);
-}
-inline void IU::set_owner_name(const char* value) {
-  set_has_owner_name();
-  if (owner_name_ == &::google::protobuf::internal::kEmptyString) {
-    owner_name_ = new ::std::string;
-  }
-  owner_name_->assign(value);
-}
-inline void IU::set_owner_name(const char* value, size_t size) {
-  set_has_owner_name();
-  if (owner_name_ == &::google::protobuf::internal::kEmptyString) {
-    owner_name_ = new ::std::string;
-  }
-  owner_name_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* IU::mutable_owner_name() {
-  set_has_owner_name();
-  if (owner_name_ == &::google::protobuf::internal::kEmptyString) {
-    owner_name_ = new ::std::string;
-  }
-  return owner_name_;
-}
-inline ::std::string* IU::release_owner_name() {
-  clear_has_owner_name();
-  if (owner_name_ == &::google::protobuf::internal::kEmptyString) {
-    return NULL;
-  } else {
-    ::std::string* temp = owner_name_;
-    owner_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-    return temp;
-  }
-}
-
-// required bool committed = 6 [default = false];
-inline bool IU::has_committed() const {
-  return (_has_bits_[0] & 0x00000020u) != 0;
-}
-inline void IU::set_has_committed() {
-  _has_bits_[0] |= 0x00000020u;
-}
-inline void IU::clear_has_committed() {
-  _has_bits_[0] &= ~0x00000020u;
-}
-inline void IU::clear_committed() {
-  committed_ = false;
-  clear_has_committed();
-}
-inline bool IU::committed() const {
-  return committed_;
-}
-inline void IU::set_committed(bool value) {
-  set_has_committed();
-  committed_ = value;
-}
-
-// required .ipaaca.protobuf.IU.AccessMode access_mode = 7 [default = PUSH];
-inline bool IU::has_access_mode() const {
-  return (_has_bits_[0] & 0x00000040u) != 0;
-}
-inline void IU::set_has_access_mode() {
-  _has_bits_[0] |= 0x00000040u;
-}
-inline void IU::clear_has_access_mode() {
-  _has_bits_[0] &= ~0x00000040u;
-}
-inline void IU::clear_access_mode() {
-  access_mode_ = 0;
-  clear_has_access_mode();
-}
-inline ::ipaaca::protobuf::IU_AccessMode IU::access_mode() const {
-  return static_cast< ::ipaaca::protobuf::IU_AccessMode >(access_mode_);
-}
-inline void IU::set_access_mode(::ipaaca::protobuf::IU_AccessMode value) {
-  GOOGLE_DCHECK(::ipaaca::protobuf::IU_AccessMode_IsValid(value));
-  set_has_access_mode();
-  access_mode_ = value;
-}
-
-// required bool read_only = 8 [default = false];
-inline bool IU::has_read_only() const {
-  return (_has_bits_[0] & 0x00000080u) != 0;
-}
-inline void IU::set_has_read_only() {
-  _has_bits_[0] |= 0x00000080u;
-}
-inline void IU::clear_has_read_only() {
-  _has_bits_[0] &= ~0x00000080u;
-}
-inline void IU::clear_read_only() {
-  read_only_ = false;
-  clear_has_read_only();
-}
-inline bool IU::read_only() const {
-  return read_only_;
-}
-inline void IU::set_read_only(bool value) {
-  set_has_read_only();
-  read_only_ = value;
-}
-
-// repeated .ipaaca.protobuf.PayloadItem payload = 9;
-inline int IU::payload_size() const {
-  return payload_.size();
-}
-inline void IU::clear_payload() {
-  payload_.Clear();
-}
-inline const ::ipaaca::protobuf::PayloadItem& IU::payload(int index) const {
-  return payload_.Get(index);
-}
-inline ::ipaaca::protobuf::PayloadItem* IU::mutable_payload(int index) {
-  return payload_.Mutable(index);
-}
-inline ::ipaaca::protobuf::PayloadItem* IU::add_payload() {
-  return payload_.Add();
-}
-inline const ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::PayloadItem >&
-IU::payload() const {
-  return payload_;
-}
-inline ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::PayloadItem >*
-IU::mutable_payload() {
-  return &payload_;
-}
-
-// repeated .ipaaca.protobuf.LinkSet links = 10;
-inline int IU::links_size() const {
-  return links_.size();
-}
-inline void IU::clear_links() {
-  links_.Clear();
-}
-inline const ::ipaaca::protobuf::LinkSet& IU::links(int index) const {
-  return links_.Get(index);
-}
-inline ::ipaaca::protobuf::LinkSet* IU::mutable_links(int index) {
-  return links_.Mutable(index);
-}
-inline ::ipaaca::protobuf::LinkSet* IU::add_links() {
-  return links_.Add();
-}
-inline const ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet >&
-IU::links() const {
-  return links_;
-}
-inline ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet >*
-IU::mutable_links() {
-  return &links_;
-}
-
-// -------------------------------------------------------------------
-
-// IUPayloadUpdate
-
-// required string uid = 1;
-inline bool IUPayloadUpdate::has_uid() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-inline void IUPayloadUpdate::set_has_uid() {
-  _has_bits_[0] |= 0x00000001u;
-}
-inline void IUPayloadUpdate::clear_has_uid() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline void IUPayloadUpdate::clear_uid() {
-  if (uid_ != &::google::protobuf::internal::kEmptyString) {
-    uid_->clear();
-  }
-  clear_has_uid();
-}
-inline const ::std::string& IUPayloadUpdate::uid() const {
-  return *uid_;
-}
-inline void IUPayloadUpdate::set_uid(const ::std::string& value) {
-  set_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    uid_ = new ::std::string;
-  }
-  uid_->assign(value);
-}
-inline void IUPayloadUpdate::set_uid(const char* value) {
-  set_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    uid_ = new ::std::string;
-  }
-  uid_->assign(value);
-}
-inline void IUPayloadUpdate::set_uid(const char* value, size_t size) {
-  set_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    uid_ = new ::std::string;
-  }
-  uid_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* IUPayloadUpdate::mutable_uid() {
-  set_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    uid_ = new ::std::string;
-  }
-  return uid_;
-}
-inline ::std::string* IUPayloadUpdate::release_uid() {
-  clear_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    return NULL;
-  } else {
-    ::std::string* temp = uid_;
-    uid_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-    return temp;
-  }
-}
-
-// required uint32 revision = 2;
-inline bool IUPayloadUpdate::has_revision() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
-}
-inline void IUPayloadUpdate::set_has_revision() {
-  _has_bits_[0] |= 0x00000002u;
-}
-inline void IUPayloadUpdate::clear_has_revision() {
-  _has_bits_[0] &= ~0x00000002u;
-}
-inline void IUPayloadUpdate::clear_revision() {
-  revision_ = 0u;
-  clear_has_revision();
-}
-inline ::google::protobuf::uint32 IUPayloadUpdate::revision() const {
-  return revision_;
-}
-inline void IUPayloadUpdate::set_revision(::google::protobuf::uint32 value) {
-  set_has_revision();
-  revision_ = value;
-}
-
-// repeated .ipaaca.protobuf.PayloadItem new_items = 3;
-inline int IUPayloadUpdate::new_items_size() const {
-  return new_items_.size();
-}
-inline void IUPayloadUpdate::clear_new_items() {
-  new_items_.Clear();
-}
-inline const ::ipaaca::protobuf::PayloadItem& IUPayloadUpdate::new_items(int index) const {
-  return new_items_.Get(index);
-}
-inline ::ipaaca::protobuf::PayloadItem* IUPayloadUpdate::mutable_new_items(int index) {
-  return new_items_.Mutable(index);
-}
-inline ::ipaaca::protobuf::PayloadItem* IUPayloadUpdate::add_new_items() {
-  return new_items_.Add();
-}
-inline const ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::PayloadItem >&
-IUPayloadUpdate::new_items() const {
-  return new_items_;
-}
-inline ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::PayloadItem >*
-IUPayloadUpdate::mutable_new_items() {
-  return &new_items_;
-}
-
-// repeated string keys_to_remove = 4;
-inline int IUPayloadUpdate::keys_to_remove_size() const {
-  return keys_to_remove_.size();
-}
-inline void IUPayloadUpdate::clear_keys_to_remove() {
-  keys_to_remove_.Clear();
-}
-inline const ::std::string& IUPayloadUpdate::keys_to_remove(int index) const {
-  return keys_to_remove_.Get(index);
-}
-inline ::std::string* IUPayloadUpdate::mutable_keys_to_remove(int index) {
-  return keys_to_remove_.Mutable(index);
-}
-inline void IUPayloadUpdate::set_keys_to_remove(int index, const ::std::string& value) {
-  keys_to_remove_.Mutable(index)->assign(value);
-}
-inline void IUPayloadUpdate::set_keys_to_remove(int index, const char* value) {
-  keys_to_remove_.Mutable(index)->assign(value);
-}
-inline void IUPayloadUpdate::set_keys_to_remove(int index, const char* value, size_t size) {
-  keys_to_remove_.Mutable(index)->assign(
-    reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* IUPayloadUpdate::add_keys_to_remove() {
-  return keys_to_remove_.Add();
-}
-inline void IUPayloadUpdate::add_keys_to_remove(const ::std::string& value) {
-  keys_to_remove_.Add()->assign(value);
-}
-inline void IUPayloadUpdate::add_keys_to_remove(const char* value) {
-  keys_to_remove_.Add()->assign(value);
-}
-inline void IUPayloadUpdate::add_keys_to_remove(const char* value, size_t size) {
-  keys_to_remove_.Add()->assign(reinterpret_cast<const char*>(value), size);
-}
-inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
-IUPayloadUpdate::keys_to_remove() const {
-  return keys_to_remove_;
-}
-inline ::google::protobuf::RepeatedPtrField< ::std::string>*
-IUPayloadUpdate::mutable_keys_to_remove() {
-  return &keys_to_remove_;
-}
-
-// required bool is_delta = 5 [default = false];
-inline bool IUPayloadUpdate::has_is_delta() const {
-  return (_has_bits_[0] & 0x00000010u) != 0;
-}
-inline void IUPayloadUpdate::set_has_is_delta() {
-  _has_bits_[0] |= 0x00000010u;
-}
-inline void IUPayloadUpdate::clear_has_is_delta() {
-  _has_bits_[0] &= ~0x00000010u;
-}
-inline void IUPayloadUpdate::clear_is_delta() {
-  is_delta_ = false;
-  clear_has_is_delta();
-}
-inline bool IUPayloadUpdate::is_delta() const {
-  return is_delta_;
-}
-inline void IUPayloadUpdate::set_is_delta(bool value) {
-  set_has_is_delta();
-  is_delta_ = value;
-}
-
-// required string writer_name = 6;
-inline bool IUPayloadUpdate::has_writer_name() const {
-  return (_has_bits_[0] & 0x00000020u) != 0;
-}
-inline void IUPayloadUpdate::set_has_writer_name() {
-  _has_bits_[0] |= 0x00000020u;
-}
-inline void IUPayloadUpdate::clear_has_writer_name() {
-  _has_bits_[0] &= ~0x00000020u;
-}
-inline void IUPayloadUpdate::clear_writer_name() {
-  if (writer_name_ != &::google::protobuf::internal::kEmptyString) {
-    writer_name_->clear();
-  }
-  clear_has_writer_name();
-}
-inline const ::std::string& IUPayloadUpdate::writer_name() const {
-  return *writer_name_;
-}
-inline void IUPayloadUpdate::set_writer_name(const ::std::string& value) {
-  set_has_writer_name();
-  if (writer_name_ == &::google::protobuf::internal::kEmptyString) {
-    writer_name_ = new ::std::string;
-  }
-  writer_name_->assign(value);
-}
-inline void IUPayloadUpdate::set_writer_name(const char* value) {
-  set_has_writer_name();
-  if (writer_name_ == &::google::protobuf::internal::kEmptyString) {
-    writer_name_ = new ::std::string;
-  }
-  writer_name_->assign(value);
-}
-inline void IUPayloadUpdate::set_writer_name(const char* value, size_t size) {
-  set_has_writer_name();
-  if (writer_name_ == &::google::protobuf::internal::kEmptyString) {
-    writer_name_ = new ::std::string;
-  }
-  writer_name_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* IUPayloadUpdate::mutable_writer_name() {
-  set_has_writer_name();
-  if (writer_name_ == &::google::protobuf::internal::kEmptyString) {
-    writer_name_ = new ::std::string;
-  }
-  return writer_name_;
-}
-inline ::std::string* IUPayloadUpdate::release_writer_name() {
-  clear_has_writer_name();
-  if (writer_name_ == &::google::protobuf::internal::kEmptyString) {
-    return NULL;
-  } else {
-    ::std::string* temp = writer_name_;
-    writer_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-    return temp;
-  }
-}
-
-// -------------------------------------------------------------------
-
-// IURetraction
-
-// required string uid = 1;
-inline bool IURetraction::has_uid() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-inline void IURetraction::set_has_uid() {
-  _has_bits_[0] |= 0x00000001u;
-}
-inline void IURetraction::clear_has_uid() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline void IURetraction::clear_uid() {
-  if (uid_ != &::google::protobuf::internal::kEmptyString) {
-    uid_->clear();
-  }
-  clear_has_uid();
-}
-inline const ::std::string& IURetraction::uid() const {
-  return *uid_;
-}
-inline void IURetraction::set_uid(const ::std::string& value) {
-  set_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    uid_ = new ::std::string;
-  }
-  uid_->assign(value);
-}
-inline void IURetraction::set_uid(const char* value) {
-  set_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    uid_ = new ::std::string;
-  }
-  uid_->assign(value);
-}
-inline void IURetraction::set_uid(const char* value, size_t size) {
-  set_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    uid_ = new ::std::string;
-  }
-  uid_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* IURetraction::mutable_uid() {
-  set_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    uid_ = new ::std::string;
-  }
-  return uid_;
-}
-inline ::std::string* IURetraction::release_uid() {
-  clear_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    return NULL;
-  } else {
-    ::std::string* temp = uid_;
-    uid_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-    return temp;
-  }
-}
-
-// required uint32 revision = 2;
-inline bool IURetraction::has_revision() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
-}
-inline void IURetraction::set_has_revision() {
-  _has_bits_[0] |= 0x00000002u;
-}
-inline void IURetraction::clear_has_revision() {
-  _has_bits_[0] &= ~0x00000002u;
-}
-inline void IURetraction::clear_revision() {
-  revision_ = 0u;
-  clear_has_revision();
-}
-inline ::google::protobuf::uint32 IURetraction::revision() const {
-  return revision_;
-}
-inline void IURetraction::set_revision(::google::protobuf::uint32 value) {
-  set_has_revision();
-  revision_ = value;
-}
-
-// -------------------------------------------------------------------
-
-// IUCommission
-
-// required string uid = 1;
-inline bool IUCommission::has_uid() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-inline void IUCommission::set_has_uid() {
-  _has_bits_[0] |= 0x00000001u;
-}
-inline void IUCommission::clear_has_uid() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline void IUCommission::clear_uid() {
-  if (uid_ != &::google::protobuf::internal::kEmptyString) {
-    uid_->clear();
-  }
-  clear_has_uid();
-}
-inline const ::std::string& IUCommission::uid() const {
-  return *uid_;
-}
-inline void IUCommission::set_uid(const ::std::string& value) {
-  set_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    uid_ = new ::std::string;
-  }
-  uid_->assign(value);
-}
-inline void IUCommission::set_uid(const char* value) {
-  set_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    uid_ = new ::std::string;
-  }
-  uid_->assign(value);
-}
-inline void IUCommission::set_uid(const char* value, size_t size) {
-  set_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    uid_ = new ::std::string;
-  }
-  uid_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* IUCommission::mutable_uid() {
-  set_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    uid_ = new ::std::string;
-  }
-  return uid_;
-}
-inline ::std::string* IUCommission::release_uid() {
-  clear_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    return NULL;
-  } else {
-    ::std::string* temp = uid_;
-    uid_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-    return temp;
-  }
-}
-
-// required uint32 revision = 2;
-inline bool IUCommission::has_revision() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
-}
-inline void IUCommission::set_has_revision() {
-  _has_bits_[0] |= 0x00000002u;
-}
-inline void IUCommission::clear_has_revision() {
-  _has_bits_[0] &= ~0x00000002u;
-}
-inline void IUCommission::clear_revision() {
-  revision_ = 0u;
-  clear_has_revision();
-}
-inline ::google::protobuf::uint32 IUCommission::revision() const {
-  return revision_;
-}
-inline void IUCommission::set_revision(::google::protobuf::uint32 value) {
-  set_has_revision();
-  revision_ = value;
-}
-
-// required string writer_name = 3;
-inline bool IUCommission::has_writer_name() const {
-  return (_has_bits_[0] & 0x00000004u) != 0;
-}
-inline void IUCommission::set_has_writer_name() {
-  _has_bits_[0] |= 0x00000004u;
-}
-inline void IUCommission::clear_has_writer_name() {
-  _has_bits_[0] &= ~0x00000004u;
-}
-inline void IUCommission::clear_writer_name() {
-  if (writer_name_ != &::google::protobuf::internal::kEmptyString) {
-    writer_name_->clear();
-  }
-  clear_has_writer_name();
-}
-inline const ::std::string& IUCommission::writer_name() const {
-  return *writer_name_;
-}
-inline void IUCommission::set_writer_name(const ::std::string& value) {
-  set_has_writer_name();
-  if (writer_name_ == &::google::protobuf::internal::kEmptyString) {
-    writer_name_ = new ::std::string;
-  }
-  writer_name_->assign(value);
-}
-inline void IUCommission::set_writer_name(const char* value) {
-  set_has_writer_name();
-  if (writer_name_ == &::google::protobuf::internal::kEmptyString) {
-    writer_name_ = new ::std::string;
-  }
-  writer_name_->assign(value);
-}
-inline void IUCommission::set_writer_name(const char* value, size_t size) {
-  set_has_writer_name();
-  if (writer_name_ == &::google::protobuf::internal::kEmptyString) {
-    writer_name_ = new ::std::string;
-  }
-  writer_name_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* IUCommission::mutable_writer_name() {
-  set_has_writer_name();
-  if (writer_name_ == &::google::protobuf::internal::kEmptyString) {
-    writer_name_ = new ::std::string;
-  }
-  return writer_name_;
-}
-inline ::std::string* IUCommission::release_writer_name() {
-  clear_has_writer_name();
-  if (writer_name_ == &::google::protobuf::internal::kEmptyString) {
-    return NULL;
-  } else {
-    ::std::string* temp = writer_name_;
-    writer_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-    return temp;
-  }
-}
-
-// -------------------------------------------------------------------
-
-// IUResendRequest
-
-// required string uid = 1;
-inline bool IUResendRequest::has_uid() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-inline void IUResendRequest::set_has_uid() {
-  _has_bits_[0] |= 0x00000001u;
-}
-inline void IUResendRequest::clear_has_uid() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline void IUResendRequest::clear_uid() {
-  if (uid_ != &::google::protobuf::internal::kEmptyString) {
-    uid_->clear();
-  }
-  clear_has_uid();
-}
-inline const ::std::string& IUResendRequest::uid() const {
-  return *uid_;
-}
-inline void IUResendRequest::set_uid(const ::std::string& value) {
-  set_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    uid_ = new ::std::string;
-  }
-  uid_->assign(value);
-}
-inline void IUResendRequest::set_uid(const char* value) {
-  set_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    uid_ = new ::std::string;
-  }
-  uid_->assign(value);
-}
-inline void IUResendRequest::set_uid(const char* value, size_t size) {
-  set_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    uid_ = new ::std::string;
-  }
-  uid_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* IUResendRequest::mutable_uid() {
-  set_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    uid_ = new ::std::string;
-  }
-  return uid_;
-}
-inline ::std::string* IUResendRequest::release_uid() {
-  clear_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    return NULL;
-  } else {
-    ::std::string* temp = uid_;
-    uid_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-    return temp;
-  }
-}
-
-// required string hidden_scope_name = 2;
-inline bool IUResendRequest::has_hidden_scope_name() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
-}
-inline void IUResendRequest::set_has_hidden_scope_name() {
-  _has_bits_[0] |= 0x00000002u;
-}
-inline void IUResendRequest::clear_has_hidden_scope_name() {
-  _has_bits_[0] &= ~0x00000002u;
-}
-inline void IUResendRequest::clear_hidden_scope_name() {
-  if (hidden_scope_name_ != &::google::protobuf::internal::kEmptyString) {
-    hidden_scope_name_->clear();
-  }
-  clear_has_hidden_scope_name();
-}
-inline const ::std::string& IUResendRequest::hidden_scope_name() const {
-  return *hidden_scope_name_;
-}
-inline void IUResendRequest::set_hidden_scope_name(const ::std::string& value) {
-  set_has_hidden_scope_name();
-  if (hidden_scope_name_ == &::google::protobuf::internal::kEmptyString) {
-    hidden_scope_name_ = new ::std::string;
-  }
-  hidden_scope_name_->assign(value);
-}
-inline void IUResendRequest::set_hidden_scope_name(const char* value) {
-  set_has_hidden_scope_name();
-  if (hidden_scope_name_ == &::google::protobuf::internal::kEmptyString) {
-    hidden_scope_name_ = new ::std::string;
-  }
-  hidden_scope_name_->assign(value);
-}
-inline void IUResendRequest::set_hidden_scope_name(const char* value, size_t size) {
-  set_has_hidden_scope_name();
-  if (hidden_scope_name_ == &::google::protobuf::internal::kEmptyString) {
-    hidden_scope_name_ = new ::std::string;
-  }
-  hidden_scope_name_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* IUResendRequest::mutable_hidden_scope_name() {
-  set_has_hidden_scope_name();
-  if (hidden_scope_name_ == &::google::protobuf::internal::kEmptyString) {
-    hidden_scope_name_ = new ::std::string;
-  }
-  return hidden_scope_name_;
-}
-inline ::std::string* IUResendRequest::release_hidden_scope_name() {
-  clear_has_hidden_scope_name();
-  if (hidden_scope_name_ == &::google::protobuf::internal::kEmptyString) {
-    return NULL;
-  } else {
-    ::std::string* temp = hidden_scope_name_;
-    hidden_scope_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-    return temp;
-  }
-}
-
-// -------------------------------------------------------------------
-
-// IULinkUpdate
-
-// required string uid = 1;
-inline bool IULinkUpdate::has_uid() const {
-  return (_has_bits_[0] & 0x00000001u) != 0;
-}
-inline void IULinkUpdate::set_has_uid() {
-  _has_bits_[0] |= 0x00000001u;
-}
-inline void IULinkUpdate::clear_has_uid() {
-  _has_bits_[0] &= ~0x00000001u;
-}
-inline void IULinkUpdate::clear_uid() {
-  if (uid_ != &::google::protobuf::internal::kEmptyString) {
-    uid_->clear();
-  }
-  clear_has_uid();
-}
-inline const ::std::string& IULinkUpdate::uid() const {
-  return *uid_;
-}
-inline void IULinkUpdate::set_uid(const ::std::string& value) {
-  set_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    uid_ = new ::std::string;
-  }
-  uid_->assign(value);
-}
-inline void IULinkUpdate::set_uid(const char* value) {
-  set_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    uid_ = new ::std::string;
-  }
-  uid_->assign(value);
-}
-inline void IULinkUpdate::set_uid(const char* value, size_t size) {
-  set_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    uid_ = new ::std::string;
-  }
-  uid_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* IULinkUpdate::mutable_uid() {
-  set_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    uid_ = new ::std::string;
-  }
-  return uid_;
-}
-inline ::std::string* IULinkUpdate::release_uid() {
-  clear_has_uid();
-  if (uid_ == &::google::protobuf::internal::kEmptyString) {
-    return NULL;
-  } else {
-    ::std::string* temp = uid_;
-    uid_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-    return temp;
-  }
-}
-
-// required uint32 revision = 2;
-inline bool IULinkUpdate::has_revision() const {
-  return (_has_bits_[0] & 0x00000002u) != 0;
-}
-inline void IULinkUpdate::set_has_revision() {
-  _has_bits_[0] |= 0x00000002u;
-}
-inline void IULinkUpdate::clear_has_revision() {
-  _has_bits_[0] &= ~0x00000002u;
-}
-inline void IULinkUpdate::clear_revision() {
-  revision_ = 0u;
-  clear_has_revision();
-}
-inline ::google::protobuf::uint32 IULinkUpdate::revision() const {
-  return revision_;
-}
-inline void IULinkUpdate::set_revision(::google::protobuf::uint32 value) {
-  set_has_revision();
-  revision_ = value;
-}
-
-// repeated .ipaaca.protobuf.LinkSet new_links = 3;
-inline int IULinkUpdate::new_links_size() const {
-  return new_links_.size();
-}
-inline void IULinkUpdate::clear_new_links() {
-  new_links_.Clear();
-}
-inline const ::ipaaca::protobuf::LinkSet& IULinkUpdate::new_links(int index) const {
-  return new_links_.Get(index);
-}
-inline ::ipaaca::protobuf::LinkSet* IULinkUpdate::mutable_new_links(int index) {
-  return new_links_.Mutable(index);
-}
-inline ::ipaaca::protobuf::LinkSet* IULinkUpdate::add_new_links() {
-  return new_links_.Add();
-}
-inline const ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet >&
-IULinkUpdate::new_links() const {
-  return new_links_;
-}
-inline ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet >*
-IULinkUpdate::mutable_new_links() {
-  return &new_links_;
-}
-
-// repeated .ipaaca.protobuf.LinkSet links_to_remove = 4;
-inline int IULinkUpdate::links_to_remove_size() const {
-  return links_to_remove_.size();
-}
-inline void IULinkUpdate::clear_links_to_remove() {
-  links_to_remove_.Clear();
-}
-inline const ::ipaaca::protobuf::LinkSet& IULinkUpdate::links_to_remove(int index) const {
-  return links_to_remove_.Get(index);
-}
-inline ::ipaaca::protobuf::LinkSet* IULinkUpdate::mutable_links_to_remove(int index) {
-  return links_to_remove_.Mutable(index);
-}
-inline ::ipaaca::protobuf::LinkSet* IULinkUpdate::add_links_to_remove() {
-  return links_to_remove_.Add();
-}
-inline const ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet >&
-IULinkUpdate::links_to_remove() const {
-  return links_to_remove_;
-}
-inline ::google::protobuf::RepeatedPtrField< ::ipaaca::protobuf::LinkSet >*
-IULinkUpdate::mutable_links_to_remove() {
-  return &links_to_remove_;
-}
-
-// required bool is_delta = 5 [default = false];
-inline bool IULinkUpdate::has_is_delta() const {
-  return (_has_bits_[0] & 0x00000010u) != 0;
-}
-inline void IULinkUpdate::set_has_is_delta() {
-  _has_bits_[0] |= 0x00000010u;
-}
-inline void IULinkUpdate::clear_has_is_delta() {
-  _has_bits_[0] &= ~0x00000010u;
-}
-inline void IULinkUpdate::clear_is_delta() {
-  is_delta_ = false;
-  clear_has_is_delta();
-}
-inline bool IULinkUpdate::is_delta() const {
-  return is_delta_;
-}
-inline void IULinkUpdate::set_is_delta(bool value) {
-  set_has_is_delta();
-  is_delta_ = value;
-}
-
-// required string writer_name = 6;
-inline bool IULinkUpdate::has_writer_name() const {
-  return (_has_bits_[0] & 0x00000020u) != 0;
-}
-inline void IULinkUpdate::set_has_writer_name() {
-  _has_bits_[0] |= 0x00000020u;
-}
-inline void IULinkUpdate::clear_has_writer_name() {
-  _has_bits_[0] &= ~0x00000020u;
-}
-inline void IULinkUpdate::clear_writer_name() {
-  if (writer_name_ != &::google::protobuf::internal::kEmptyString) {
-    writer_name_->clear();
-  }
-  clear_has_writer_name();
-}
-inline const ::std::string& IULinkUpdate::writer_name() const {
-  return *writer_name_;
-}
-inline void IULinkUpdate::set_writer_name(const ::std::string& value) {
-  set_has_writer_name();
-  if (writer_name_ == &::google::protobuf::internal::kEmptyString) {
-    writer_name_ = new ::std::string;
-  }
-  writer_name_->assign(value);
-}
-inline void IULinkUpdate::set_writer_name(const char* value) {
-  set_has_writer_name();
-  if (writer_name_ == &::google::protobuf::internal::kEmptyString) {
-    writer_name_ = new ::std::string;
-  }
-  writer_name_->assign(value);
-}
-inline void IULinkUpdate::set_writer_name(const char* value, size_t size) {
-  set_has_writer_name();
-  if (writer_name_ == &::google::protobuf::internal::kEmptyString) {
-    writer_name_ = new ::std::string;
-  }
-  writer_name_->assign(reinterpret_cast<const char*>(value), size);
-}
-inline ::std::string* IULinkUpdate::mutable_writer_name() {
-  set_has_writer_name();
-  if (writer_name_ == &::google::protobuf::internal::kEmptyString) {
-    writer_name_ = new ::std::string;
-  }
-  return writer_name_;
-}
-inline ::std::string* IULinkUpdate::release_writer_name() {
-  clear_has_writer_name();
-  if (writer_name_ == &::google::protobuf::internal::kEmptyString) {
-    return NULL;
-  } else {
-    ::std::string* temp = writer_name_;
-    writer_name_ = const_cast< ::std::string*>(&::google::protobuf::internal::kEmptyString);
-    return temp;
-  }
-}
-
-
-// @@protoc_insertion_point(namespace_scope)
-
-}  // namespace protobuf
-}  // namespace ipaaca
-
-#ifndef SWIG
-namespace google {
-namespace protobuf {
-
-template <>
-inline const EnumDescriptor* GetEnumDescriptor< ::ipaaca::protobuf::IU_AccessMode>() {
-  return ::ipaaca::protobuf::IU_AccessMode_descriptor();
-}
-
-}  // namespace google
-}  // namespace protobuf
-#endif  // SWIG
-
-// @@protoc_insertion_point(global_scope)
-
-#endif  // PROTOBUF_ipaaca_2eproto__INCLUDED
diff --git a/ipaacalib/cpp/src/Makefile b/ipaacalib/cpp/src/Makefile
deleted file mode 100644
index 3c600c2d1c74bae792c20009636c5df381e95094..0000000000000000000000000000000000000000
--- a/ipaacalib/cpp/src/Makefile
+++ /dev/null
@@ -1,42 +0,0 @@
-ifeq ($(WBS_ARCH),mac)
-	LIB_SUFFIX=.dylib
-else
-	LIB_SUFFIX=.so
-endif
-
-CONFIG = -DIPAACA_DEBUG_MESSAGES
-#IPAACASOURCES = ipaaca.cc ../build/ipaaca/ipaaca.pb.cc
-IPAACASOURCES = ../build/ipaaca/ipaaca.pb.cc
-SOURCES = ${IPAACASOURCES} ipaaca-test-main.cc
-TEXTSOURCES = ${IPAACASOURCES} textsender.cc
-CCFLAGS=-I../include -I../build -I/usr/local/include -I/opt/local/include ${CONFIG}
-LIBFLAGS=-fPIC -shared
-BOOSTLIBS = -L/opt/local/lib -lboost_regex-mt -lboost_date_time-mt -lboost_program_options-mt -lboost_thread-mt -lboost_filesystem-mt -lboost_signals-mt -lboost_system-mt
-PROTOLIBS = -L/opt/local/lib -lprotobuf
-#LIBS = ${BOOSTLIBS} ${PROTOLIBS} -L/usr/local/lib -lrsc -lrsbcore
-LIBS = ${BOOSTLIBS} ${PROTOLIBS} -L/usr/local/lib -L../build -lipaaca
-
-COMPILER = gcc#gfilt
-
-all: lib
-	
-
-#lib:
-#	${COMPILER} ${CCFLAGS} ${IPAACASOURCES} ${LIBS} ${LIBFLAGS} -o libipaaca${LIB_SUFFIX}
-
-receiver:
-	${COMPILER} ${CCFLAGS} -DMAKE_RECEIVER -o ipaaca-receiver ${SOURCES} ${LIBS}
-
-sender:
-	${COMPILER} ${CCFLAGS} -DMAKE_SENDER -o ipaaca-sender ${SOURCES} ${LIBS}
-
-#main:
-#	${COMPILER} ${CCFLAGS} -o ipaaca-main ${SOURCES} ${LIBS}
-
-#protoc:
-#	protoc --proto_path=../../proto ../../proto/ipaaca.proto --cpp_out=.
-
-#clean:
-#	rm -f libipaaca${LIB_SUFFIX} ipaaca-main ipaaca-sender ipaaca-receiver ipaaca.pb.h ipaaca.pb.cc
-
-
diff --git a/ipaacalib/cpp/src/rsb.conf b/ipaacalib/cpp/src/rsb.conf
deleted file mode 100644
index 3fb0a683fded31bf2f123d947dcc6ff6a7bfeea1..0000000000000000000000000000000000000000
--- a/ipaacalib/cpp/src/rsb.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-[transport.spread]
-host = localhost
-port = 4803
-enabled = 1
-
diff --git a/ipaacalib/cpp/test/src/Makefile~ b/ipaacalib/cpp/test/src/Makefile~
deleted file mode 100644
index 6227f8f6720efbc3993471f65520989c5f5b0fbc..0000000000000000000000000000000000000000
--- a/ipaacalib/cpp/test/src/Makefile~
+++ /dev/null
@@ -1,27 +0,0 @@
-CONFIG = -DIPAACA_DEBUG_MESSAGES
-#IPAACASOURCES = ../../src/ipaaca.cc ipaaca.pb.cc
-#TEXTSOURCES = ${IPAACASOURCES} testipaaca.cc
-TEXTSOURCES = testipaaca.cc
-CCFLAGS=-I../../build -I../../../../deps/include -I../../../../dist/include -I. -I../../src -I/usr/local/include -I/opt/local/include ${CONFIG}
-BOOSTLIBS = -L/opt/local/lib -lboost_regex-mt -lboost_date_time-mt -lboost_thread-mt 
-PROTOLIBS = -L/opt/local/lib -lprotobuf
-#LIBS = ${BOOSTLIBS} ${PROTOLIBS} -L/usr/local/lib -lrsc -lrsbcore
-#LIBS = -L../../../../deps/lib -L../../../../dist/lib -lipaaca
-LIBS = -L../../build -L../../../../deps/lib -L../../../../dist/lib -lipaaca
-
-#COMPILER = gfilt
-COMPILER = gcc
-
-all: testipaaca
-	
-
-testipaaca:
-	${COMPILER} ${CCFLAGS} -o testipaaca ${TEXTSOURCES} ${LIBS}
-
-protoc:
-	protoc --proto_path=../../../proto ../../../proto/ipaaca.proto --cpp_out=.
-
-clean:
-	rm -f testipaaca ipaaca.pb.h ipaaca.pb.cc
-
-