package com.jsc.dsp.proto;// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: FaceBookUserInfo.proto

public final class FaceBookUserInfoOuterClass {
  private FaceBookUserInfoOuterClass() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface FaceBookUserInfoOrBuilder extends
      // @@protoc_insertion_point(interface_extends:FaceBookUserInfo)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <pre>
     *id主键
     * </pre>
     *
     * <code>string ID = 1;</code>
     * @return The iD.
     */
    String getID();
    /**
     * <pre>
     *id主键
     * </pre>
     *
     * <code>string ID = 1;</code>
     * @return The bytes for iD.
     */
    com.google.protobuf.ByteString
        getIDBytes();

    /**
     * <pre>
     *姓名
     * </pre>
     *
     * <code>string NAME = 2;</code>
     * @return The nAME.
     */
    String getNAME();
    /**
     * <pre>
     *姓名
     * </pre>
     *
     * <code>string NAME = 2;</code>
     * @return The bytes for nAME.
     */
    com.google.protobuf.ByteString
        getNAMEBytes();

    /**
     * <pre>
     *性别
     * </pre>
     *
     * <code>string GENDER = 3;</code>
     * @return The gENDER.
     */
    String getGENDER();
    /**
     * <pre>
     *性别
     * </pre>
     *
     * <code>string GENDER = 3;</code>
     * @return The bytes for gENDER.
     */
    com.google.protobuf.ByteString
        getGENDERBytes();

    /**
     * <pre>
     *出生日期
     * </pre>
     *
     * <code>string BRITHDAY = 4;</code>
     * @return The bRITHDAY.
     */
    String getBRITHDAY();
    /**
     * <pre>
     *出生日期
     * </pre>
     *
     * <code>string BRITHDAY = 4;</code>
     * @return The bytes for bRITHDAY.
     */
    com.google.protobuf.ByteString
        getBRITHDAYBytes();

    /**
     * <pre>
     *教育经历，["学历：学校"]
     * </pre>
     *
     * <code>repeated string EDUCATION = 5;</code>
     * @return A list containing the eDUCATION.
     */
    java.util.List<String>
        getEDUCATIONList();
    /**
     * <pre>
     *教育经历，["学历：学校"]
     * </pre>
     *
     * <code>repeated string EDUCATION = 5;</code>
     * @return The count of eDUCATION.
     */
    int getEDUCATIONCount();
    /**
     * <pre>
     *教育经历，["学历：学校"]
     * </pre>
     *
     * <code>repeated string EDUCATION = 5;</code>
     * @param index The index of the element to return.
     * @return The eDUCATION at the given index.
     */
    String getEDUCATION(int index);
    /**
     * <pre>
     *教育经历，["学历：学校"]
     * </pre>
     *
     * <code>repeated string EDUCATION = 5;</code>
     * @param index The index of the value to return.
     * @return The bytes of the eDUCATION at the given index.
     */
    com.google.protobuf.ByteString
        getEDUCATIONBytes(int index);

    /**
     * <pre>
     *工作经历 ["工作单位"]
     * </pre>
     *
     * <code>repeated string WORK = 6;</code>
     * @return A list containing the wORK.
     */
    java.util.List<String>
        getWORKList();
    /**
     * <pre>
     *工作经历 ["工作单位"]
     * </pre>
     *
     * <code>repeated string WORK = 6;</code>
     * @return The count of wORK.
     */
    int getWORKCount();
    /**
     * <pre>
     *工作经历 ["工作单位"]
     * </pre>
     *
     * <code>repeated string WORK = 6;</code>
     * @param index The index of the element to return.
     * @return The wORK at the given index.
     */
    String getWORK(int index);
    /**
     * <pre>
     *工作经历 ["工作单位"]
     * </pre>
     *
     * <code>repeated string WORK = 6;</code>
     * @param index The index of the value to return.
     * @return The bytes of the wORK at the given index.
     */
    com.google.protobuf.ByteString
        getWORKBytes(int index);

    /**
     * <pre>
     *居住地址 ["家乡：地址","现住地：地址"]
     * </pre>
     *
     * <code>repeated string LIVING = 7;</code>
     * @return A list containing the lIVING.
     */
    java.util.List<String>
        getLIVINGList();
    /**
     * <pre>
     *居住地址 ["家乡：地址","现住地：地址"]
     * </pre>
     *
     * <code>repeated string LIVING = 7;</code>
     * @return The count of lIVING.
     */
    int getLIVINGCount();
    /**
     * <pre>
     *居住地址 ["家乡：地址","现住地：地址"]
     * </pre>
     *
     * <code>repeated string LIVING = 7;</code>
     * @param index The index of the element to return.
     * @return The lIVING at the given index.
     */
    String getLIVING(int index);
    /**
     * <pre>
     *居住地址 ["家乡：地址","现住地：地址"]
     * </pre>
     *
     * <code>repeated string LIVING = 7;</code>
     * @param index The index of the value to return.
     * @return The bytes of the lIVING at the given index.
     */
    com.google.protobuf.ByteString
        getLIVINGBytes(int index);

    /**
     * <pre>
     *联系方式 ["类别：地址"]
     * </pre>
     *
     * <code>repeated string CONTACT = 8;</code>
     * @return A list containing the cONTACT.
     */
    java.util.List<String>
        getCONTACTList();
    /**
     * <pre>
     *联系方式 ["类别：地址"]
     * </pre>
     *
     * <code>repeated string CONTACT = 8;</code>
     * @return The count of cONTACT.
     */
    int getCONTACTCount();
    /**
     * <pre>
     *联系方式 ["类别：地址"]
     * </pre>
     *
     * <code>repeated string CONTACT = 8;</code>
     * @param index The index of the element to return.
     * @return The cONTACT at the given index.
     */
    String getCONTACT(int index);
    /**
     * <pre>
     *联系方式 ["类别：地址"]
     * </pre>
     *
     * <code>repeated string CONTACT = 8;</code>
     * @param index The index of the value to return.
     * @return The bytes of the cONTACT at the given index.
     */
    com.google.protobuf.ByteString
        getCONTACTBytes(int index);

    /**
     * <pre>
     *生活纪事 ["日期：事件"]
     * </pre>
     *
     * <code>repeated string YEAR_OVERVIEW = 9;</code>
     * @return A list containing the yEAROVERVIEW.
     */
    java.util.List<String>
        getYEAROVERVIEWList();
    /**
     * <pre>
     *生活纪事 ["日期：事件"]
     * </pre>
     *
     * <code>repeated string YEAR_OVERVIEW = 9;</code>
     * @return The count of yEAROVERVIEW.
     */
    int getYEAROVERVIEWCount();
    /**
     * <pre>
     *生活纪事 ["日期：事件"]
     * </pre>
     *
     * <code>repeated string YEAR_OVERVIEW = 9;</code>
     * @param index The index of the element to return.
     * @return The yEAROVERVIEW at the given index.
     */
    String getYEAROVERVIEW(int index);
    /**
     * <pre>
     *生活纪事 ["日期：事件"]
     * </pre>
     *
     * <code>repeated string YEAR_OVERVIEW = 9;</code>
     * @param index The index of the value to return.
     * @return The bytes of the yEAROVERVIEW at the given index.
     */
    com.google.protobuf.ByteString
        getYEAROVERVIEWBytes(int index);

    /**
     * <pre>
     *感情状况
     * </pre>
     *
     * <code>string RELATIONSHIP = 10;</code>
     * @return The rELATIONSHIP.
     */
    String getRELATIONSHIP();
    /**
     * <pre>
     *感情状况
     * </pre>
     *
     * <code>string RELATIONSHIP = 10;</code>
     * @return The bytes for rELATIONSHIP.
     */
    com.google.protobuf.ByteString
        getRELATIONSHIPBytes();

    /**
     * <code>repeated string FRIEND_IDS = 11;</code>
     * @return A list containing the fRIENDIDS.
     */
    java.util.List<String>
        getFRIENDIDSList();
    /**
     * <code>repeated string FRIEND_IDS = 11;</code>
     * @return The count of fRIENDIDS.
     */
    int getFRIENDIDSCount();
    /**
     * <code>repeated string FRIEND_IDS = 11;</code>
     * @param index The index of the element to return.
     * @return The fRIENDIDS at the given index.
     */
    String getFRIENDIDS(int index);
    /**
     * <code>repeated string FRIEND_IDS = 11;</code>
     * @param index The index of the value to return.
     * @return The bytes of the fRIENDIDS at the given index.
     */
    com.google.protobuf.ByteString
        getFRIENDIDSBytes(int index);
  }
  /**
   * Protobuf type {@code FaceBookUserInfo}
   */
  public  static final class FaceBookUserInfo extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:FaceBookUserInfo)
      FaceBookUserInfoOrBuilder, Base {
  private static final long serialVersionUID = 0L;
    // Use FaceBookUserInfo.newBuilder() to construct.
    private FaceBookUserInfo(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private FaceBookUserInfo() {
      iD_ = "";
      nAME_ = "";
      gENDER_ = "";
      bRITHDAY_ = "";
      eDUCATION_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      wORK_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      lIVING_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      cONTACT_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      yEAROVERVIEW_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      rELATIONSHIP_ = "";
      fRIENDIDS_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    }

    @Override
    @SuppressWarnings({"unused"})
    protected Object newInstance(
        UnusedPrivateParameter unused) {
      return new FaceBookUserInfo();
    }

    @Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private FaceBookUserInfo(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              String s = input.readStringRequireUtf8();

              iD_ = s;
              break;
            }
            case 18: {
              String s = input.readStringRequireUtf8();

              nAME_ = s;
              break;
            }
            case 26: {
              String s = input.readStringRequireUtf8();

              gENDER_ = s;
              break;
            }
            case 34: {
              String s = input.readStringRequireUtf8();

              bRITHDAY_ = s;
              break;
            }
            case 42: {
              String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                eDUCATION_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000001;
              }
              eDUCATION_.add(s);
              break;
            }
            case 50: {
              String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000002) != 0)) {
                wORK_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              wORK_.add(s);
              break;
            }
            case 58: {
              String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000004) != 0)) {
                lIVING_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000004;
              }
              lIVING_.add(s);
              break;
            }
            case 66: {
              String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000008) != 0)) {
                cONTACT_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000008;
              }
              cONTACT_.add(s);
              break;
            }
            case 74: {
              String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000010) != 0)) {
                yEAROVERVIEW_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000010;
              }
              yEAROVERVIEW_.add(s);
              break;
            }
            case 82: {
              String s = input.readStringRequireUtf8();

              rELATIONSHIP_ = s;
              break;
            }
            case 90: {
              String s = input.readStringRequireUtf8();
              if (!((mutable_bitField0_ & 0x00000020) != 0)) {
                fRIENDIDS_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000020;
              }
              fRIENDIDS_.add(s);
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          eDUCATION_ = eDUCATION_.getUnmodifiableView();
        }
        if (((mutable_bitField0_ & 0x00000002) != 0)) {
          wORK_ = wORK_.getUnmodifiableView();
        }
        if (((mutable_bitField0_ & 0x00000004) != 0)) {
          lIVING_ = lIVING_.getUnmodifiableView();
        }
        if (((mutable_bitField0_ & 0x00000008) != 0)) {
          cONTACT_ = cONTACT_.getUnmodifiableView();
        }
        if (((mutable_bitField0_ & 0x00000010) != 0)) {
          yEAROVERVIEW_ = yEAROVERVIEW_.getUnmodifiableView();
        }
        if (((mutable_bitField0_ & 0x00000020) != 0)) {
          fRIENDIDS_ = fRIENDIDS_.getUnmodifiableView();
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return FaceBookUserInfoOuterClass.internal_static_FaceBookUserInfo_descriptor;
    }

    @Override
    protected FieldAccessorTable
        internalGetFieldAccessorTable() {
      return FaceBookUserInfoOuterClass.internal_static_FaceBookUserInfo_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              FaceBookUserInfo.class, Builder.class);
    }

    public static final int ID_FIELD_NUMBER = 1;
    private volatile Object iD_;
    /**
     * <pre>
     *id主键
     * </pre>
     *
     * <code>string ID = 1;</code>
     * @return The iD.
     */
    public String getID() {
      Object ref = iD_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        iD_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *id主键
     * </pre>
     *
     * <code>string ID = 1;</code>
     * @return The bytes for iD.
     */
    public com.google.protobuf.ByteString
        getIDBytes() {
      Object ref = iD_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        iD_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int NAME_FIELD_NUMBER = 2;
    private volatile Object nAME_;
    /**
     * <pre>
     *姓名
     * </pre>
     *
     * <code>string NAME = 2;</code>
     * @return The nAME.
     */
    public String getNAME() {
      Object ref = nAME_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        nAME_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *姓名
     * </pre>
     *
     * <code>string NAME = 2;</code>
     * @return The bytes for nAME.
     */
    public com.google.protobuf.ByteString
        getNAMEBytes() {
      Object ref = nAME_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        nAME_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int GENDER_FIELD_NUMBER = 3;
    private volatile Object gENDER_;
    /**
     * <pre>
     *性别
     * </pre>
     *
     * <code>string GENDER = 3;</code>
     * @return The gENDER.
     */
    public String getGENDER() {
      Object ref = gENDER_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        gENDER_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *性别
     * </pre>
     *
     * <code>string GENDER = 3;</code>
     * @return The bytes for gENDER.
     */
    public com.google.protobuf.ByteString
        getGENDERBytes() {
      Object ref = gENDER_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        gENDER_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int BRITHDAY_FIELD_NUMBER = 4;
    private volatile Object bRITHDAY_;
    /**
     * <pre>
     *出生日期
     * </pre>
     *
     * <code>string BRITHDAY = 4;</code>
     * @return The bRITHDAY.
     */
    public String getBRITHDAY() {
      Object ref = bRITHDAY_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        bRITHDAY_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *出生日期
     * </pre>
     *
     * <code>string BRITHDAY = 4;</code>
     * @return The bytes for bRITHDAY.
     */
    public com.google.protobuf.ByteString
        getBRITHDAYBytes() {
      Object ref = bRITHDAY_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        bRITHDAY_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int EDUCATION_FIELD_NUMBER = 5;
    private com.google.protobuf.LazyStringList eDUCATION_;
    /**
     * <pre>
     *教育经历，["学历：学校"]
     * </pre>
     *
     * <code>repeated string EDUCATION = 5;</code>
     * @return A list containing the eDUCATION.
     */
    public com.google.protobuf.ProtocolStringList
        getEDUCATIONList() {
      return eDUCATION_;
    }
    /**
     * <pre>
     *教育经历，["学历：学校"]
     * </pre>
     *
     * <code>repeated string EDUCATION = 5;</code>
     * @return The count of eDUCATION.
     */
    public int getEDUCATIONCount() {
      return eDUCATION_.size();
    }
    /**
     * <pre>
     *教育经历，["学历：学校"]
     * </pre>
     *
     * <code>repeated string EDUCATION = 5;</code>
     * @param index The index of the element to return.
     * @return The eDUCATION at the given index.
     */
    public String getEDUCATION(int index) {
      return eDUCATION_.get(index);
    }
    /**
     * <pre>
     *教育经历，["学历：学校"]
     * </pre>
     *
     * <code>repeated string EDUCATION = 5;</code>
     * @param index The index of the value to return.
     * @return The bytes of the eDUCATION at the given index.
     */
    public com.google.protobuf.ByteString
        getEDUCATIONBytes(int index) {
      return eDUCATION_.getByteString(index);
    }

    public static final int WORK_FIELD_NUMBER = 6;
    private com.google.protobuf.LazyStringList wORK_;
    /**
     * <pre>
     *工作经历 ["工作单位"]
     * </pre>
     *
     * <code>repeated string WORK = 6;</code>
     * @return A list containing the wORK.
     */
    public com.google.protobuf.ProtocolStringList
        getWORKList() {
      return wORK_;
    }
    /**
     * <pre>
     *工作经历 ["工作单位"]
     * </pre>
     *
     * <code>repeated string WORK = 6;</code>
     * @return The count of wORK.
     */
    public int getWORKCount() {
      return wORK_.size();
    }
    /**
     * <pre>
     *工作经历 ["工作单位"]
     * </pre>
     *
     * <code>repeated string WORK = 6;</code>
     * @param index The index of the element to return.
     * @return The wORK at the given index.
     */
    public String getWORK(int index) {
      return wORK_.get(index);
    }
    /**
     * <pre>
     *工作经历 ["工作单位"]
     * </pre>
     *
     * <code>repeated string WORK = 6;</code>
     * @param index The index of the value to return.
     * @return The bytes of the wORK at the given index.
     */
    public com.google.protobuf.ByteString
        getWORKBytes(int index) {
      return wORK_.getByteString(index);
    }

    public static final int LIVING_FIELD_NUMBER = 7;
    private com.google.protobuf.LazyStringList lIVING_;
    /**
     * <pre>
     *居住地址 ["家乡：地址","现住地：地址"]
     * </pre>
     *
     * <code>repeated string LIVING = 7;</code>
     * @return A list containing the lIVING.
     */
    public com.google.protobuf.ProtocolStringList
        getLIVINGList() {
      return lIVING_;
    }
    /**
     * <pre>
     *居住地址 ["家乡：地址","现住地：地址"]
     * </pre>
     *
     * <code>repeated string LIVING = 7;</code>
     * @return The count of lIVING.
     */
    public int getLIVINGCount() {
      return lIVING_.size();
    }
    /**
     * <pre>
     *居住地址 ["家乡：地址","现住地：地址"]
     * </pre>
     *
     * <code>repeated string LIVING = 7;</code>
     * @param index The index of the element to return.
     * @return The lIVING at the given index.
     */
    public String getLIVING(int index) {
      return lIVING_.get(index);
    }
    /**
     * <pre>
     *居住地址 ["家乡：地址","现住地：地址"]
     * </pre>
     *
     * <code>repeated string LIVING = 7;</code>
     * @param index The index of the value to return.
     * @return The bytes of the lIVING at the given index.
     */
    public com.google.protobuf.ByteString
        getLIVINGBytes(int index) {
      return lIVING_.getByteString(index);
    }

    public static final int CONTACT_FIELD_NUMBER = 8;
    private com.google.protobuf.LazyStringList cONTACT_;
    /**
     * <pre>
     *联系方式 ["类别：地址"]
     * </pre>
     *
     * <code>repeated string CONTACT = 8;</code>
     * @return A list containing the cONTACT.
     */
    public com.google.protobuf.ProtocolStringList
        getCONTACTList() {
      return cONTACT_;
    }
    /**
     * <pre>
     *联系方式 ["类别：地址"]
     * </pre>
     *
     * <code>repeated string CONTACT = 8;</code>
     * @return The count of cONTACT.
     */
    public int getCONTACTCount() {
      return cONTACT_.size();
    }
    /**
     * <pre>
     *联系方式 ["类别：地址"]
     * </pre>
     *
     * <code>repeated string CONTACT = 8;</code>
     * @param index The index of the element to return.
     * @return The cONTACT at the given index.
     */
    public String getCONTACT(int index) {
      return cONTACT_.get(index);
    }
    /**
     * <pre>
     *联系方式 ["类别：地址"]
     * </pre>
     *
     * <code>repeated string CONTACT = 8;</code>
     * @param index The index of the value to return.
     * @return The bytes of the cONTACT at the given index.
     */
    public com.google.protobuf.ByteString
        getCONTACTBytes(int index) {
      return cONTACT_.getByteString(index);
    }

    public static final int YEAR_OVERVIEW_FIELD_NUMBER = 9;
    private com.google.protobuf.LazyStringList yEAROVERVIEW_;
    /**
     * <pre>
     *生活纪事 ["日期：事件"]
     * </pre>
     *
     * <code>repeated string YEAR_OVERVIEW = 9;</code>
     * @return A list containing the yEAROVERVIEW.
     */
    public com.google.protobuf.ProtocolStringList
        getYEAROVERVIEWList() {
      return yEAROVERVIEW_;
    }
    /**
     * <pre>
     *生活纪事 ["日期：事件"]
     * </pre>
     *
     * <code>repeated string YEAR_OVERVIEW = 9;</code>
     * @return The count of yEAROVERVIEW.
     */
    public int getYEAROVERVIEWCount() {
      return yEAROVERVIEW_.size();
    }
    /**
     * <pre>
     *生活纪事 ["日期：事件"]
     * </pre>
     *
     * <code>repeated string YEAR_OVERVIEW = 9;</code>
     * @param index The index of the element to return.
     * @return The yEAROVERVIEW at the given index.
     */
    public String getYEAROVERVIEW(int index) {
      return yEAROVERVIEW_.get(index);
    }
    /**
     * <pre>
     *生活纪事 ["日期：事件"]
     * </pre>
     *
     * <code>repeated string YEAR_OVERVIEW = 9;</code>
     * @param index The index of the value to return.
     * @return The bytes of the yEAROVERVIEW at the given index.
     */
    public com.google.protobuf.ByteString
        getYEAROVERVIEWBytes(int index) {
      return yEAROVERVIEW_.getByteString(index);
    }

    public static final int RELATIONSHIP_FIELD_NUMBER = 10;
    private volatile Object rELATIONSHIP_;
    /**
     * <pre>
     *感情状况
     * </pre>
     *
     * <code>string RELATIONSHIP = 10;</code>
     * @return The rELATIONSHIP.
     */
    public String getRELATIONSHIP() {
      Object ref = rELATIONSHIP_;
      if (ref instanceof String) {
        return (String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        String s = bs.toStringUtf8();
        rELATIONSHIP_ = s;
        return s;
      }
    }
    /**
     * <pre>
     *感情状况
     * </pre>
     *
     * <code>string RELATIONSHIP = 10;</code>
     * @return The bytes for rELATIONSHIP.
     */
    public com.google.protobuf.ByteString
        getRELATIONSHIPBytes() {
      Object ref = rELATIONSHIP_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (String) ref);
        rELATIONSHIP_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int FRIEND_IDS_FIELD_NUMBER = 11;
    private com.google.protobuf.LazyStringList fRIENDIDS_;
    /**
     * <code>repeated string FRIEND_IDS = 11;</code>
     * @return A list containing the fRIENDIDS.
     */
    public com.google.protobuf.ProtocolStringList
        getFRIENDIDSList() {
      return fRIENDIDS_;
    }
    /**
     * <code>repeated string FRIEND_IDS = 11;</code>
     * @return The count of fRIENDIDS.
     */
    public int getFRIENDIDSCount() {
      return fRIENDIDS_.size();
    }
    /**
     * <code>repeated string FRIEND_IDS = 11;</code>
     * @param index The index of the element to return.
     * @return The fRIENDIDS at the given index.
     */
    public String getFRIENDIDS(int index) {
      return fRIENDIDS_.get(index);
    }
    /**
     * <code>repeated string FRIEND_IDS = 11;</code>
     * @param index The index of the value to return.
     * @return The bytes of the fRIENDIDS at the given index.
     */
    public com.google.protobuf.ByteString
        getFRIENDIDSBytes(int index) {
      return fRIENDIDS_.getByteString(index);
    }

    private byte memoizedIsInitialized = -1;
    @Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (!getIDBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, iD_);
      }
      if (!getNAMEBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, nAME_);
      }
      if (!getGENDERBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, gENDER_);
      }
      if (!getBRITHDAYBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, bRITHDAY_);
      }
      for (int i = 0; i < eDUCATION_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, eDUCATION_.getRaw(i));
      }
      for (int i = 0; i < wORK_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, wORK_.getRaw(i));
      }
      for (int i = 0; i < lIVING_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, lIVING_.getRaw(i));
      }
      for (int i = 0; i < cONTACT_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 8, cONTACT_.getRaw(i));
      }
      for (int i = 0; i < yEAROVERVIEW_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 9, yEAROVERVIEW_.getRaw(i));
      }
      if (!getRELATIONSHIPBytes().isEmpty()) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 10, rELATIONSHIP_);
      }
      for (int i = 0; i < fRIENDIDS_.size(); i++) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 11, fRIENDIDS_.getRaw(i));
      }
      unknownFields.writeTo(output);
    }

    @Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (!getIDBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, iD_);
      }
      if (!getNAMEBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, nAME_);
      }
      if (!getGENDERBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, gENDER_);
      }
      if (!getBRITHDAYBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, bRITHDAY_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < eDUCATION_.size(); i++) {
          dataSize += computeStringSizeNoTag(eDUCATION_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getEDUCATIONList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < wORK_.size(); i++) {
          dataSize += computeStringSizeNoTag(wORK_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getWORKList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < lIVING_.size(); i++) {
          dataSize += computeStringSizeNoTag(lIVING_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getLIVINGList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < cONTACT_.size(); i++) {
          dataSize += computeStringSizeNoTag(cONTACT_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getCONTACTList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < yEAROVERVIEW_.size(); i++) {
          dataSize += computeStringSizeNoTag(yEAROVERVIEW_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getYEAROVERVIEWList().size();
      }
      if (!getRELATIONSHIPBytes().isEmpty()) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, rELATIONSHIP_);
      }
      {
        int dataSize = 0;
        for (int i = 0; i < fRIENDIDS_.size(); i++) {
          dataSize += computeStringSizeNoTag(fRIENDIDS_.getRaw(i));
        }
        size += dataSize;
        size += 1 * getFRIENDIDSList().size();
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @Override
    public boolean equals(final Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof FaceBookUserInfo)) {
        return super.equals(obj);
      }
      FaceBookUserInfo other = (FaceBookUserInfo) obj;

      if (!getID()
          .equals(other.getID())) return false;
      if (!getNAME()
          .equals(other.getNAME())) return false;
      if (!getGENDER()
          .equals(other.getGENDER())) return false;
      if (!getBRITHDAY()
          .equals(other.getBRITHDAY())) return false;
      if (!getEDUCATIONList()
          .equals(other.getEDUCATIONList())) return false;
      if (!getWORKList()
          .equals(other.getWORKList())) return false;
      if (!getLIVINGList()
          .equals(other.getLIVINGList())) return false;
      if (!getCONTACTList()
          .equals(other.getCONTACTList())) return false;
      if (!getYEAROVERVIEWList()
          .equals(other.getYEAROVERVIEWList())) return false;
      if (!getRELATIONSHIP()
          .equals(other.getRELATIONSHIP())) return false;
      if (!getFRIENDIDSList()
          .equals(other.getFRIENDIDSList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      hash = (37 * hash) + ID_FIELD_NUMBER;
      hash = (53 * hash) + getID().hashCode();
      hash = (37 * hash) + NAME_FIELD_NUMBER;
      hash = (53 * hash) + getNAME().hashCode();
      hash = (37 * hash) + GENDER_FIELD_NUMBER;
      hash = (53 * hash) + getGENDER().hashCode();
      hash = (37 * hash) + BRITHDAY_FIELD_NUMBER;
      hash = (53 * hash) + getBRITHDAY().hashCode();
      if (getEDUCATIONCount() > 0) {
        hash = (37 * hash) + EDUCATION_FIELD_NUMBER;
        hash = (53 * hash) + getEDUCATIONList().hashCode();
      }
      if (getWORKCount() > 0) {
        hash = (37 * hash) + WORK_FIELD_NUMBER;
        hash = (53 * hash) + getWORKList().hashCode();
      }
      if (getLIVINGCount() > 0) {
        hash = (37 * hash) + LIVING_FIELD_NUMBER;
        hash = (53 * hash) + getLIVINGList().hashCode();
      }
      if (getCONTACTCount() > 0) {
        hash = (37 * hash) + CONTACT_FIELD_NUMBER;
        hash = (53 * hash) + getCONTACTList().hashCode();
      }
      if (getYEAROVERVIEWCount() > 0) {
        hash = (37 * hash) + YEAR_OVERVIEW_FIELD_NUMBER;
        hash = (53 * hash) + getYEAROVERVIEWList().hashCode();
      }
      hash = (37 * hash) + RELATIONSHIP_FIELD_NUMBER;
      hash = (53 * hash) + getRELATIONSHIP().hashCode();
      if (getFRIENDIDSCount() > 0) {
        hash = (37 * hash) + FRIEND_IDS_FIELD_NUMBER;
        hash = (53 * hash) + getFRIENDIDSList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static FaceBookUserInfo parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static FaceBookUserInfo parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static FaceBookUserInfo parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static FaceBookUserInfo parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static FaceBookUserInfo parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static FaceBookUserInfo parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static FaceBookUserInfo parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static FaceBookUserInfo parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static FaceBookUserInfo parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static FaceBookUserInfo parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static FaceBookUserInfo parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static FaceBookUserInfo parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(FaceBookUserInfo prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @Override
    protected Builder newBuilderForType(
        BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code FaceBookUserInfo}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:FaceBookUserInfo)
        FaceBookUserInfoOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return FaceBookUserInfoOuterClass.internal_static_FaceBookUserInfo_descriptor;
      }

      @Override
      protected FieldAccessorTable
          internalGetFieldAccessorTable() {
        return FaceBookUserInfoOuterClass.internal_static_FaceBookUserInfo_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                FaceBookUserInfo.class, Builder.class);
      }

      // Construct using FaceBookUserInfoOuterClass.FaceBookUserInfo.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
        }
      }
      @Override
      public Builder clear() {
        super.clear();
        iD_ = "";

        nAME_ = "";

        gENDER_ = "";

        bRITHDAY_ = "";

        eDUCATION_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        wORK_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        lIVING_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        cONTACT_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000008);
        yEAROVERVIEW_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000010);
        rELATIONSHIP_ = "";

        fRIENDIDS_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000020);
        return this;
      }

      @Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return FaceBookUserInfoOuterClass.internal_static_FaceBookUserInfo_descriptor;
      }

      @Override
      public FaceBookUserInfo getDefaultInstanceForType() {
        return FaceBookUserInfo.getDefaultInstance();
      }

      @Override
      public FaceBookUserInfo build() {
        FaceBookUserInfo result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @Override
      public FaceBookUserInfo buildPartial() {
        FaceBookUserInfo result = new FaceBookUserInfo(this);
        int from_bitField0_ = bitField0_;
        result.iD_ = iD_;
        result.nAME_ = nAME_;
        result.gENDER_ = gENDER_;
        result.bRITHDAY_ = bRITHDAY_;
        if (((bitField0_ & 0x00000001) != 0)) {
          eDUCATION_ = eDUCATION_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000001);
        }
        result.eDUCATION_ = eDUCATION_;
        if (((bitField0_ & 0x00000002) != 0)) {
          wORK_ = wORK_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.wORK_ = wORK_;
        if (((bitField0_ & 0x00000004) != 0)) {
          lIVING_ = lIVING_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.lIVING_ = lIVING_;
        if (((bitField0_ & 0x00000008) != 0)) {
          cONTACT_ = cONTACT_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000008);
        }
        result.cONTACT_ = cONTACT_;
        if (((bitField0_ & 0x00000010) != 0)) {
          yEAROVERVIEW_ = yEAROVERVIEW_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000010);
        }
        result.yEAROVERVIEW_ = yEAROVERVIEW_;
        result.rELATIONSHIP_ = rELATIONSHIP_;
        if (((bitField0_ & 0x00000020) != 0)) {
          fRIENDIDS_ = fRIENDIDS_.getUnmodifiableView();
          bitField0_ = (bitField0_ & ~0x00000020);
        }
        result.fRIENDIDS_ = fRIENDIDS_;
        onBuilt();
        return result;
      }

      @Override
      public Builder clone() {
        return super.clone();
      }
      @Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return super.setField(field, value);
      }
      @Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return super.addRepeatedField(field, value);
      }
      @Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof FaceBookUserInfo) {
          return mergeFrom((FaceBookUserInfo)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(FaceBookUserInfo other) {
        if (other == FaceBookUserInfo.getDefaultInstance()) return this;
        if (!other.getID().isEmpty()) {
          iD_ = other.iD_;
          onChanged();
        }
        if (!other.getNAME().isEmpty()) {
          nAME_ = other.nAME_;
          onChanged();
        }
        if (!other.getGENDER().isEmpty()) {
          gENDER_ = other.gENDER_;
          onChanged();
        }
        if (!other.getBRITHDAY().isEmpty()) {
          bRITHDAY_ = other.bRITHDAY_;
          onChanged();
        }
        if (!other.eDUCATION_.isEmpty()) {
          if (eDUCATION_.isEmpty()) {
            eDUCATION_ = other.eDUCATION_;
            bitField0_ = (bitField0_ & ~0x00000001);
          } else {
            ensureEDUCATIONIsMutable();
            eDUCATION_.addAll(other.eDUCATION_);
          }
          onChanged();
        }
        if (!other.wORK_.isEmpty()) {
          if (wORK_.isEmpty()) {
            wORK_ = other.wORK_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureWORKIsMutable();
            wORK_.addAll(other.wORK_);
          }
          onChanged();
        }
        if (!other.lIVING_.isEmpty()) {
          if (lIVING_.isEmpty()) {
            lIVING_ = other.lIVING_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureLIVINGIsMutable();
            lIVING_.addAll(other.lIVING_);
          }
          onChanged();
        }
        if (!other.cONTACT_.isEmpty()) {
          if (cONTACT_.isEmpty()) {
            cONTACT_ = other.cONTACT_;
            bitField0_ = (bitField0_ & ~0x00000008);
          } else {
            ensureCONTACTIsMutable();
            cONTACT_.addAll(other.cONTACT_);
          }
          onChanged();
        }
        if (!other.yEAROVERVIEW_.isEmpty()) {
          if (yEAROVERVIEW_.isEmpty()) {
            yEAROVERVIEW_ = other.yEAROVERVIEW_;
            bitField0_ = (bitField0_ & ~0x00000010);
          } else {
            ensureYEAROVERVIEWIsMutable();
            yEAROVERVIEW_.addAll(other.yEAROVERVIEW_);
          }
          onChanged();
        }
        if (!other.getRELATIONSHIP().isEmpty()) {
          rELATIONSHIP_ = other.rELATIONSHIP_;
          onChanged();
        }
        if (!other.fRIENDIDS_.isEmpty()) {
          if (fRIENDIDS_.isEmpty()) {
            fRIENDIDS_ = other.fRIENDIDS_;
            bitField0_ = (bitField0_ & ~0x00000020);
          } else {
            ensureFRIENDIDSIsMutable();
            fRIENDIDS_.addAll(other.fRIENDIDS_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @Override
      public final boolean isInitialized() {
        return true;
      }

      @Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        FaceBookUserInfo parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (FaceBookUserInfo) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private Object iD_ = "";
      /**
       * <pre>
       *id主键
       * </pre>
       *
       * <code>string ID = 1;</code>
       * @return The iD.
       */
      public String getID() {
        Object ref = iD_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          iD_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       *id主键
       * </pre>
       *
       * <code>string ID = 1;</code>
       * @return The bytes for iD.
       */
      public com.google.protobuf.ByteString
          getIDBytes() {
        Object ref = iD_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          iD_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *id主键
       * </pre>
       *
       * <code>string ID = 1;</code>
       * @param value The iD to set.
       * @return This builder for chaining.
       */
      public Builder setID(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        iD_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *id主键
       * </pre>
       *
       * <code>string ID = 1;</code>
       * @return This builder for chaining.
       */
      public Builder clearID() {
        
        iD_ = getDefaultInstance().getID();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *id主键
       * </pre>
       *
       * <code>string ID = 1;</code>
       * @param value The bytes for iD to set.
       * @return This builder for chaining.
       */
      public Builder setIDBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        iD_ = value;
        onChanged();
        return this;
      }

      private Object nAME_ = "";
      /**
       * <pre>
       *姓名
       * </pre>
       *
       * <code>string NAME = 2;</code>
       * @return The nAME.
       */
      public String getNAME() {
        Object ref = nAME_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          nAME_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       *姓名
       * </pre>
       *
       * <code>string NAME = 2;</code>
       * @return The bytes for nAME.
       */
      public com.google.protobuf.ByteString
          getNAMEBytes() {
        Object ref = nAME_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          nAME_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *姓名
       * </pre>
       *
       * <code>string NAME = 2;</code>
       * @param value The nAME to set.
       * @return This builder for chaining.
       */
      public Builder setNAME(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        nAME_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *姓名
       * </pre>
       *
       * <code>string NAME = 2;</code>
       * @return This builder for chaining.
       */
      public Builder clearNAME() {
        
        nAME_ = getDefaultInstance().getNAME();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *姓名
       * </pre>
       *
       * <code>string NAME = 2;</code>
       * @param value The bytes for nAME to set.
       * @return This builder for chaining.
       */
      public Builder setNAMEBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        nAME_ = value;
        onChanged();
        return this;
      }

      private Object gENDER_ = "";
      /**
       * <pre>
       *性别
       * </pre>
       *
       * <code>string GENDER = 3;</code>
       * @return The gENDER.
       */
      public String getGENDER() {
        Object ref = gENDER_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          gENDER_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       *性别
       * </pre>
       *
       * <code>string GENDER = 3;</code>
       * @return The bytes for gENDER.
       */
      public com.google.protobuf.ByteString
          getGENDERBytes() {
        Object ref = gENDER_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          gENDER_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *性别
       * </pre>
       *
       * <code>string GENDER = 3;</code>
       * @param value The gENDER to set.
       * @return This builder for chaining.
       */
      public Builder setGENDER(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        gENDER_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *性别
       * </pre>
       *
       * <code>string GENDER = 3;</code>
       * @return This builder for chaining.
       */
      public Builder clearGENDER() {
        
        gENDER_ = getDefaultInstance().getGENDER();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *性别
       * </pre>
       *
       * <code>string GENDER = 3;</code>
       * @param value The bytes for gENDER to set.
       * @return This builder for chaining.
       */
      public Builder setGENDERBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        gENDER_ = value;
        onChanged();
        return this;
      }

      private Object bRITHDAY_ = "";
      /**
       * <pre>
       *出生日期
       * </pre>
       *
       * <code>string BRITHDAY = 4;</code>
       * @return The bRITHDAY.
       */
      public String getBRITHDAY() {
        Object ref = bRITHDAY_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          bRITHDAY_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       *出生日期
       * </pre>
       *
       * <code>string BRITHDAY = 4;</code>
       * @return The bytes for bRITHDAY.
       */
      public com.google.protobuf.ByteString
          getBRITHDAYBytes() {
        Object ref = bRITHDAY_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          bRITHDAY_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *出生日期
       * </pre>
       *
       * <code>string BRITHDAY = 4;</code>
       * @param value The bRITHDAY to set.
       * @return This builder for chaining.
       */
      public Builder setBRITHDAY(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        bRITHDAY_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *出生日期
       * </pre>
       *
       * <code>string BRITHDAY = 4;</code>
       * @return This builder for chaining.
       */
      public Builder clearBRITHDAY() {
        
        bRITHDAY_ = getDefaultInstance().getBRITHDAY();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *出生日期
       * </pre>
       *
       * <code>string BRITHDAY = 4;</code>
       * @param value The bytes for bRITHDAY to set.
       * @return This builder for chaining.
       */
      public Builder setBRITHDAYBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        bRITHDAY_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringList eDUCATION_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureEDUCATIONIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          eDUCATION_ = new com.google.protobuf.LazyStringArrayList(eDUCATION_);
          bitField0_ |= 0x00000001;
         }
      }
      /**
       * <pre>
       *教育经历，["学历：学校"]
       * </pre>
       *
       * <code>repeated string EDUCATION = 5;</code>
       * @return A list containing the eDUCATION.
       */
      public com.google.protobuf.ProtocolStringList
          getEDUCATIONList() {
        return eDUCATION_.getUnmodifiableView();
      }
      /**
       * <pre>
       *教育经历，["学历：学校"]
       * </pre>
       *
       * <code>repeated string EDUCATION = 5;</code>
       * @return The count of eDUCATION.
       */
      public int getEDUCATIONCount() {
        return eDUCATION_.size();
      }
      /**
       * <pre>
       *教育经历，["学历：学校"]
       * </pre>
       *
       * <code>repeated string EDUCATION = 5;</code>
       * @param index The index of the element to return.
       * @return The eDUCATION at the given index.
       */
      public String getEDUCATION(int index) {
        return eDUCATION_.get(index);
      }
      /**
       * <pre>
       *教育经历，["学历：学校"]
       * </pre>
       *
       * <code>repeated string EDUCATION = 5;</code>
       * @param index The index of the value to return.
       * @return The bytes of the eDUCATION at the given index.
       */
      public com.google.protobuf.ByteString
          getEDUCATIONBytes(int index) {
        return eDUCATION_.getByteString(index);
      }
      /**
       * <pre>
       *教育经历，["学历：学校"]
       * </pre>
       *
       * <code>repeated string EDUCATION = 5;</code>
       * @param index The index to set the value at.
       * @param value The eDUCATION to set.
       * @return This builder for chaining.
       */
      public Builder setEDUCATION(
          int index, String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureEDUCATIONIsMutable();
        eDUCATION_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *教育经历，["学历：学校"]
       * </pre>
       *
       * <code>repeated string EDUCATION = 5;</code>
       * @param value The eDUCATION to add.
       * @return This builder for chaining.
       */
      public Builder addEDUCATION(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureEDUCATIONIsMutable();
        eDUCATION_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *教育经历，["学历：学校"]
       * </pre>
       *
       * <code>repeated string EDUCATION = 5;</code>
       * @param values The eDUCATION to add.
       * @return This builder for chaining.
       */
      public Builder addAllEDUCATION(
          Iterable<String> values) {
        ensureEDUCATIONIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, eDUCATION_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *教育经历，["学历：学校"]
       * </pre>
       *
       * <code>repeated string EDUCATION = 5;</code>
       * @return This builder for chaining.
       */
      public Builder clearEDUCATION() {
        eDUCATION_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000001);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *教育经历，["学历：学校"]
       * </pre>
       *
       * <code>repeated string EDUCATION = 5;</code>
       * @param value The bytes of the eDUCATION to add.
       * @return This builder for chaining.
       */
      public Builder addEDUCATIONBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureEDUCATIONIsMutable();
        eDUCATION_.add(value);
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringList wORK_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureWORKIsMutable() {
        if (!((bitField0_ & 0x00000002) != 0)) {
          wORK_ = new com.google.protobuf.LazyStringArrayList(wORK_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * <pre>
       *工作经历 ["工作单位"]
       * </pre>
       *
       * <code>repeated string WORK = 6;</code>
       * @return A list containing the wORK.
       */
      public com.google.protobuf.ProtocolStringList
          getWORKList() {
        return wORK_.getUnmodifiableView();
      }
      /**
       * <pre>
       *工作经历 ["工作单位"]
       * </pre>
       *
       * <code>repeated string WORK = 6;</code>
       * @return The count of wORK.
       */
      public int getWORKCount() {
        return wORK_.size();
      }
      /**
       * <pre>
       *工作经历 ["工作单位"]
       * </pre>
       *
       * <code>repeated string WORK = 6;</code>
       * @param index The index of the element to return.
       * @return The wORK at the given index.
       */
      public String getWORK(int index) {
        return wORK_.get(index);
      }
      /**
       * <pre>
       *工作经历 ["工作单位"]
       * </pre>
       *
       * <code>repeated string WORK = 6;</code>
       * @param index The index of the value to return.
       * @return The bytes of the wORK at the given index.
       */
      public com.google.protobuf.ByteString
          getWORKBytes(int index) {
        return wORK_.getByteString(index);
      }
      /**
       * <pre>
       *工作经历 ["工作单位"]
       * </pre>
       *
       * <code>repeated string WORK = 6;</code>
       * @param index The index to set the value at.
       * @param value The wORK to set.
       * @return This builder for chaining.
       */
      public Builder setWORK(
          int index, String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureWORKIsMutable();
        wORK_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *工作经历 ["工作单位"]
       * </pre>
       *
       * <code>repeated string WORK = 6;</code>
       * @param value The wORK to add.
       * @return This builder for chaining.
       */
      public Builder addWORK(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureWORKIsMutable();
        wORK_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *工作经历 ["工作单位"]
       * </pre>
       *
       * <code>repeated string WORK = 6;</code>
       * @param values The wORK to add.
       * @return This builder for chaining.
       */
      public Builder addAllWORK(
          Iterable<String> values) {
        ensureWORKIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, wORK_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *工作经历 ["工作单位"]
       * </pre>
       *
       * <code>repeated string WORK = 6;</code>
       * @return This builder for chaining.
       */
      public Builder clearWORK() {
        wORK_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *工作经历 ["工作单位"]
       * </pre>
       *
       * <code>repeated string WORK = 6;</code>
       * @param value The bytes of the wORK to add.
       * @return This builder for chaining.
       */
      public Builder addWORKBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureWORKIsMutable();
        wORK_.add(value);
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringList lIVING_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureLIVINGIsMutable() {
        if (!((bitField0_ & 0x00000004) != 0)) {
          lIVING_ = new com.google.protobuf.LazyStringArrayList(lIVING_);
          bitField0_ |= 0x00000004;
         }
      }
      /**
       * <pre>
       *居住地址 ["家乡：地址","现住地：地址"]
       * </pre>
       *
       * <code>repeated string LIVING = 7;</code>
       * @return A list containing the lIVING.
       */
      public com.google.protobuf.ProtocolStringList
          getLIVINGList() {
        return lIVING_.getUnmodifiableView();
      }
      /**
       * <pre>
       *居住地址 ["家乡：地址","现住地：地址"]
       * </pre>
       *
       * <code>repeated string LIVING = 7;</code>
       * @return The count of lIVING.
       */
      public int getLIVINGCount() {
        return lIVING_.size();
      }
      /**
       * <pre>
       *居住地址 ["家乡：地址","现住地：地址"]
       * </pre>
       *
       * <code>repeated string LIVING = 7;</code>
       * @param index The index of the element to return.
       * @return The lIVING at the given index.
       */
      public String getLIVING(int index) {
        return lIVING_.get(index);
      }
      /**
       * <pre>
       *居住地址 ["家乡：地址","现住地：地址"]
       * </pre>
       *
       * <code>repeated string LIVING = 7;</code>
       * @param index The index of the value to return.
       * @return The bytes of the lIVING at the given index.
       */
      public com.google.protobuf.ByteString
          getLIVINGBytes(int index) {
        return lIVING_.getByteString(index);
      }
      /**
       * <pre>
       *居住地址 ["家乡：地址","现住地：地址"]
       * </pre>
       *
       * <code>repeated string LIVING = 7;</code>
       * @param index The index to set the value at.
       * @param value The lIVING to set.
       * @return This builder for chaining.
       */
      public Builder setLIVING(
          int index, String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureLIVINGIsMutable();
        lIVING_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *居住地址 ["家乡：地址","现住地：地址"]
       * </pre>
       *
       * <code>repeated string LIVING = 7;</code>
       * @param value The lIVING to add.
       * @return This builder for chaining.
       */
      public Builder addLIVING(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureLIVINGIsMutable();
        lIVING_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *居住地址 ["家乡：地址","现住地：地址"]
       * </pre>
       *
       * <code>repeated string LIVING = 7;</code>
       * @param values The lIVING to add.
       * @return This builder for chaining.
       */
      public Builder addAllLIVING(
          Iterable<String> values) {
        ensureLIVINGIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, lIVING_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *居住地址 ["家乡：地址","现住地：地址"]
       * </pre>
       *
       * <code>repeated string LIVING = 7;</code>
       * @return This builder for chaining.
       */
      public Builder clearLIVING() {
        lIVING_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *居住地址 ["家乡：地址","现住地：地址"]
       * </pre>
       *
       * <code>repeated string LIVING = 7;</code>
       * @param value The bytes of the lIVING to add.
       * @return This builder for chaining.
       */
      public Builder addLIVINGBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureLIVINGIsMutable();
        lIVING_.add(value);
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringList cONTACT_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureCONTACTIsMutable() {
        if (!((bitField0_ & 0x00000008) != 0)) {
          cONTACT_ = new com.google.protobuf.LazyStringArrayList(cONTACT_);
          bitField0_ |= 0x00000008;
         }
      }
      /**
       * <pre>
       *联系方式 ["类别：地址"]
       * </pre>
       *
       * <code>repeated string CONTACT = 8;</code>
       * @return A list containing the cONTACT.
       */
      public com.google.protobuf.ProtocolStringList
          getCONTACTList() {
        return cONTACT_.getUnmodifiableView();
      }
      /**
       * <pre>
       *联系方式 ["类别：地址"]
       * </pre>
       *
       * <code>repeated string CONTACT = 8;</code>
       * @return The count of cONTACT.
       */
      public int getCONTACTCount() {
        return cONTACT_.size();
      }
      /**
       * <pre>
       *联系方式 ["类别：地址"]
       * </pre>
       *
       * <code>repeated string CONTACT = 8;</code>
       * @param index The index of the element to return.
       * @return The cONTACT at the given index.
       */
      public String getCONTACT(int index) {
        return cONTACT_.get(index);
      }
      /**
       * <pre>
       *联系方式 ["类别：地址"]
       * </pre>
       *
       * <code>repeated string CONTACT = 8;</code>
       * @param index The index of the value to return.
       * @return The bytes of the cONTACT at the given index.
       */
      public com.google.protobuf.ByteString
          getCONTACTBytes(int index) {
        return cONTACT_.getByteString(index);
      }
      /**
       * <pre>
       *联系方式 ["类别：地址"]
       * </pre>
       *
       * <code>repeated string CONTACT = 8;</code>
       * @param index The index to set the value at.
       * @param value The cONTACT to set.
       * @return This builder for chaining.
       */
      public Builder setCONTACT(
          int index, String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureCONTACTIsMutable();
        cONTACT_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *联系方式 ["类别：地址"]
       * </pre>
       *
       * <code>repeated string CONTACT = 8;</code>
       * @param value The cONTACT to add.
       * @return This builder for chaining.
       */
      public Builder addCONTACT(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureCONTACTIsMutable();
        cONTACT_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *联系方式 ["类别：地址"]
       * </pre>
       *
       * <code>repeated string CONTACT = 8;</code>
       * @param values The cONTACT to add.
       * @return This builder for chaining.
       */
      public Builder addAllCONTACT(
          Iterable<String> values) {
        ensureCONTACTIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, cONTACT_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *联系方式 ["类别：地址"]
       * </pre>
       *
       * <code>repeated string CONTACT = 8;</code>
       * @return This builder for chaining.
       */
      public Builder clearCONTACT() {
        cONTACT_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000008);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *联系方式 ["类别：地址"]
       * </pre>
       *
       * <code>repeated string CONTACT = 8;</code>
       * @param value The bytes of the cONTACT to add.
       * @return This builder for chaining.
       */
      public Builder addCONTACTBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureCONTACTIsMutable();
        cONTACT_.add(value);
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringList yEAROVERVIEW_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureYEAROVERVIEWIsMutable() {
        if (!((bitField0_ & 0x00000010) != 0)) {
          yEAROVERVIEW_ = new com.google.protobuf.LazyStringArrayList(yEAROVERVIEW_);
          bitField0_ |= 0x00000010;
         }
      }
      /**
       * <pre>
       *生活纪事 ["日期：事件"]
       * </pre>
       *
       * <code>repeated string YEAR_OVERVIEW = 9;</code>
       * @return A list containing the yEAROVERVIEW.
       */
      public com.google.protobuf.ProtocolStringList
          getYEAROVERVIEWList() {
        return yEAROVERVIEW_.getUnmodifiableView();
      }
      /**
       * <pre>
       *生活纪事 ["日期：事件"]
       * </pre>
       *
       * <code>repeated string YEAR_OVERVIEW = 9;</code>
       * @return The count of yEAROVERVIEW.
       */
      public int getYEAROVERVIEWCount() {
        return yEAROVERVIEW_.size();
      }
      /**
       * <pre>
       *生活纪事 ["日期：事件"]
       * </pre>
       *
       * <code>repeated string YEAR_OVERVIEW = 9;</code>
       * @param index The index of the element to return.
       * @return The yEAROVERVIEW at the given index.
       */
      public String getYEAROVERVIEW(int index) {
        return yEAROVERVIEW_.get(index);
      }
      /**
       * <pre>
       *生活纪事 ["日期：事件"]
       * </pre>
       *
       * <code>repeated string YEAR_OVERVIEW = 9;</code>
       * @param index The index of the value to return.
       * @return The bytes of the yEAROVERVIEW at the given index.
       */
      public com.google.protobuf.ByteString
          getYEAROVERVIEWBytes(int index) {
        return yEAROVERVIEW_.getByteString(index);
      }
      /**
       * <pre>
       *生活纪事 ["日期：事件"]
       * </pre>
       *
       * <code>repeated string YEAR_OVERVIEW = 9;</code>
       * @param index The index to set the value at.
       * @param value The yEAROVERVIEW to set.
       * @return This builder for chaining.
       */
      public Builder setYEAROVERVIEW(
          int index, String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureYEAROVERVIEWIsMutable();
        yEAROVERVIEW_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *生活纪事 ["日期：事件"]
       * </pre>
       *
       * <code>repeated string YEAR_OVERVIEW = 9;</code>
       * @param value The yEAROVERVIEW to add.
       * @return This builder for chaining.
       */
      public Builder addYEAROVERVIEW(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureYEAROVERVIEWIsMutable();
        yEAROVERVIEW_.add(value);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *生活纪事 ["日期：事件"]
       * </pre>
       *
       * <code>repeated string YEAR_OVERVIEW = 9;</code>
       * @param values The yEAROVERVIEW to add.
       * @return This builder for chaining.
       */
      public Builder addAllYEAROVERVIEW(
          Iterable<String> values) {
        ensureYEAROVERVIEWIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, yEAROVERVIEW_);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *生活纪事 ["日期：事件"]
       * </pre>
       *
       * <code>repeated string YEAR_OVERVIEW = 9;</code>
       * @return This builder for chaining.
       */
      public Builder clearYEAROVERVIEW() {
        yEAROVERVIEW_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000010);
        onChanged();
        return this;
      }
      /**
       * <pre>
       *生活纪事 ["日期：事件"]
       * </pre>
       *
       * <code>repeated string YEAR_OVERVIEW = 9;</code>
       * @param value The bytes of the yEAROVERVIEW to add.
       * @return This builder for chaining.
       */
      public Builder addYEAROVERVIEWBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureYEAROVERVIEWIsMutable();
        yEAROVERVIEW_.add(value);
        onChanged();
        return this;
      }

      private Object rELATIONSHIP_ = "";
      /**
       * <pre>
       *感情状况
       * </pre>
       *
       * <code>string RELATIONSHIP = 10;</code>
       * @return The rELATIONSHIP.
       */
      public String getRELATIONSHIP() {
        Object ref = rELATIONSHIP_;
        if (!(ref instanceof String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          String s = bs.toStringUtf8();
          rELATIONSHIP_ = s;
          return s;
        } else {
          return (String) ref;
        }
      }
      /**
       * <pre>
       *感情状况
       * </pre>
       *
       * <code>string RELATIONSHIP = 10;</code>
       * @return The bytes for rELATIONSHIP.
       */
      public com.google.protobuf.ByteString
          getRELATIONSHIPBytes() {
        Object ref = rELATIONSHIP_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (String) ref);
          rELATIONSHIP_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <pre>
       *感情状况
       * </pre>
       *
       * <code>string RELATIONSHIP = 10;</code>
       * @param value The rELATIONSHIP to set.
       * @return This builder for chaining.
       */
      public Builder setRELATIONSHIP(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  
        rELATIONSHIP_ = value;
        onChanged();
        return this;
      }
      /**
       * <pre>
       *感情状况
       * </pre>
       *
       * <code>string RELATIONSHIP = 10;</code>
       * @return This builder for chaining.
       */
      public Builder clearRELATIONSHIP() {
        
        rELATIONSHIP_ = getDefaultInstance().getRELATIONSHIP();
        onChanged();
        return this;
      }
      /**
       * <pre>
       *感情状况
       * </pre>
       *
       * <code>string RELATIONSHIP = 10;</code>
       * @param value The bytes for rELATIONSHIP to set.
       * @return This builder for chaining.
       */
      public Builder setRELATIONSHIPBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        
        rELATIONSHIP_ = value;
        onChanged();
        return this;
      }

      private com.google.protobuf.LazyStringList fRIENDIDS_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureFRIENDIDSIsMutable() {
        if (!((bitField0_ & 0x00000020) != 0)) {
          fRIENDIDS_ = new com.google.protobuf.LazyStringArrayList(fRIENDIDS_);
          bitField0_ |= 0x00000020;
         }
      }
      /**
       * <code>repeated string FRIEND_IDS = 11;</code>
       * @return A list containing the fRIENDIDS.
       */
      public com.google.protobuf.ProtocolStringList
          getFRIENDIDSList() {
        return fRIENDIDS_.getUnmodifiableView();
      }
      /**
       * <code>repeated string FRIEND_IDS = 11;</code>
       * @return The count of fRIENDIDS.
       */
      public int getFRIENDIDSCount() {
        return fRIENDIDS_.size();
      }
      /**
       * <code>repeated string FRIEND_IDS = 11;</code>
       * @param index The index of the element to return.
       * @return The fRIENDIDS at the given index.
       */
      public String getFRIENDIDS(int index) {
        return fRIENDIDS_.get(index);
      }
      /**
       * <code>repeated string FRIEND_IDS = 11;</code>
       * @param index The index of the value to return.
       * @return The bytes of the fRIENDIDS at the given index.
       */
      public com.google.protobuf.ByteString
          getFRIENDIDSBytes(int index) {
        return fRIENDIDS_.getByteString(index);
      }
      /**
       * <code>repeated string FRIEND_IDS = 11;</code>
       * @param index The index to set the value at.
       * @param value The fRIENDIDS to set.
       * @return This builder for chaining.
       */
      public Builder setFRIENDIDS(
          int index, String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureFRIENDIDSIsMutable();
        fRIENDIDS_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string FRIEND_IDS = 11;</code>
       * @param value The fRIENDIDS to add.
       * @return This builder for chaining.
       */
      public Builder addFRIENDIDS(
          String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureFRIENDIDSIsMutable();
        fRIENDIDS_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string FRIEND_IDS = 11;</code>
       * @param values The fRIENDIDS to add.
       * @return This builder for chaining.
       */
      public Builder addAllFRIENDIDS(
          Iterable<String> values) {
        ensureFRIENDIDSIsMutable();
        com.google.protobuf.AbstractMessageLite.Builder.addAll(
            values, fRIENDIDS_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string FRIEND_IDS = 11;</code>
       * @return This builder for chaining.
       */
      public Builder clearFRIENDIDS() {
        fRIENDIDS_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000020);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string FRIEND_IDS = 11;</code>
       * @param value The bytes of the fRIENDIDS to add.
       * @return This builder for chaining.
       */
      public Builder addFRIENDIDSBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
        ensureFRIENDIDSIsMutable();
        fRIENDIDS_.add(value);
        onChanged();
        return this;
      }
      @Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:FaceBookUserInfo)
    }

    // @@protoc_insertion_point(class_scope:FaceBookUserInfo)
    private static final FaceBookUserInfo DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new FaceBookUserInfo();
    }

    public static FaceBookUserInfo getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<FaceBookUserInfo>
        PARSER = new com.google.protobuf.AbstractParser<FaceBookUserInfo>() {
      @Override
      public FaceBookUserInfo parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new FaceBookUserInfo(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<FaceBookUserInfo> parser() {
      return PARSER;
    }

    @Override
    public com.google.protobuf.Parser<FaceBookUserInfo> getParserForType() {
      return PARSER;
    }

    @Override
    public FaceBookUserInfo getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  public interface FaceBookUserInfoSetsOrBuilder extends
      // @@protoc_insertion_point(interface_extends:FaceBookUserInfoSets)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>repeated .FaceBookUserInfo SETS = 1;</code>
     */
    java.util.List<FaceBookUserInfo>
        getSETSList();
    /**
     * <code>repeated .FaceBookUserInfo SETS = 1;</code>
     */
    FaceBookUserInfo getSETS(int index);
    /**
     * <code>repeated .FaceBookUserInfo SETS = 1;</code>
     */
    int getSETSCount();
    /**
     * <code>repeated .FaceBookUserInfo SETS = 1;</code>
     */
    java.util.List<? extends FaceBookUserInfoOrBuilder>
        getSETSOrBuilderList();
    /**
     * <code>repeated .FaceBookUserInfo SETS = 1;</code>
     */
    FaceBookUserInfoOrBuilder getSETSOrBuilder(
        int index);
  }
  /**
   * Protobuf type {@code FaceBookUserInfoSets}
   */
  public  static final class FaceBookUserInfoSets extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:FaceBookUserInfoSets)
      FaceBookUserInfoSetsOrBuilder, BaseSets {
  private static final long serialVersionUID = 0L;
    // Use FaceBookUserInfoSets.newBuilder() to construct.
    private FaceBookUserInfoSets(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private FaceBookUserInfoSets() {
      sETS_ = java.util.Collections.emptyList();
    }

    @Override
    @SuppressWarnings({"unused"})
    protected Object newInstance(
        UnusedPrivateParameter unused) {
      return new FaceBookUserInfoSets();
    }

    @Override
    public final com.google.protobuf.UnknownFieldSet
    getUnknownFields() {
      return this.unknownFields;
    }
    private FaceBookUserInfoSets(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      this();
      if (extensionRegistry == null) {
        throw new NullPointerException();
      }
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            case 10: {
              if (!((mutable_bitField0_ & 0x00000001) != 0)) {
                sETS_ = new java.util.ArrayList<FaceBookUserInfo>();
                mutable_bitField0_ |= 0x00000001;
              }
              sETS_.add(
                  input.readMessage(FaceBookUserInfo.parser(), extensionRegistry));
              break;
            }
            default: {
              if (!parseUnknownField(
                  input, unknownFields, extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000001) != 0)) {
          sETS_ = java.util.Collections.unmodifiableList(sETS_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return FaceBookUserInfoOuterClass.internal_static_FaceBookUserInfoSets_descriptor;
    }

    @Override
    protected FieldAccessorTable
        internalGetFieldAccessorTable() {
      return FaceBookUserInfoOuterClass.internal_static_FaceBookUserInfoSets_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              FaceBookUserInfoSets.class, Builder.class);
    }

    public static final int SETS_FIELD_NUMBER = 1;
    private java.util.List<FaceBookUserInfo> sETS_;
    /**
     * <code>repeated .FaceBookUserInfo SETS = 1;</code>
     */
    public java.util.List<FaceBookUserInfo> getSETSList() {
      return sETS_;
    }
    /**
     * <code>repeated .FaceBookUserInfo SETS = 1;</code>
     */
    public java.util.List<? extends FaceBookUserInfoOrBuilder>
        getSETSOrBuilderList() {
      return sETS_;
    }
    /**
     * <code>repeated .FaceBookUserInfo SETS = 1;</code>
     */
    public int getSETSCount() {
      return sETS_.size();
    }
    /**
     * <code>repeated .FaceBookUserInfo SETS = 1;</code>
     */
    public FaceBookUserInfo getSETS(int index) {
      return sETS_.get(index);
    }

    @Override
    public int getCountBase() {
      return getSETSCount();
    }

    @Override
    public Object getBase(int i) {
      return getSETS(i);
    }

    /**
     * <code>repeated .FaceBookUserInfo SETS = 1;</code>
     */
    public FaceBookUserInfoOrBuilder getSETSOrBuilder(
        int index) {
      return sETS_.get(index);
    }

    private byte memoizedIsInitialized = -1;
    @Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      for (int i = 0; i < sETS_.size(); i++) {
        output.writeMessage(1, sETS_.get(i));
      }
      unknownFields.writeTo(output);
    }

    @Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      for (int i = 0; i < sETS_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, sETS_.get(i));
      }
      size += unknownFields.getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @Override
    public boolean equals(final Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof FaceBookUserInfoSets)) {
        return super.equals(obj);
      }
      FaceBookUserInfoSets other = (FaceBookUserInfoSets) obj;

      if (!getSETSList()
          .equals(other.getSETSList())) return false;
      if (!unknownFields.equals(other.unknownFields)) return false;
      return true;
    }

    @Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (getSETSCount() > 0) {
        hash = (37 * hash) + SETS_FIELD_NUMBER;
        hash = (53 * hash) + getSETSList().hashCode();
      }
      hash = (29 * hash) + unknownFields.hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static FaceBookUserInfoSets parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static FaceBookUserInfoSets parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static FaceBookUserInfoSets parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static FaceBookUserInfoSets parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static FaceBookUserInfoSets parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static FaceBookUserInfoSets parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static FaceBookUserInfoSets parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static FaceBookUserInfoSets parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }
    public static FaceBookUserInfoSets parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }
    public static FaceBookUserInfoSets parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static FaceBookUserInfoSets parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static FaceBookUserInfoSets parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(FaceBookUserInfoSets prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @Override
    protected Builder newBuilderForType(
        BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code FaceBookUserInfoSets}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:FaceBookUserInfoSets)
        FaceBookUserInfoSetsOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return FaceBookUserInfoOuterClass.internal_static_FaceBookUserInfoSets_descriptor;
      }

      @Override
      protected FieldAccessorTable
          internalGetFieldAccessorTable() {
        return FaceBookUserInfoOuterClass.internal_static_FaceBookUserInfoSets_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                FaceBookUserInfoSets.class, Builder.class);
      }

      // Construct using FaceBookUserInfoOuterClass.FaceBookUserInfoSets.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getSETSFieldBuilder();
        }
      }
      @Override
      public Builder clear() {
        super.clear();
        if (sETSBuilder_ == null) {
          sETS_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
        } else {
          sETSBuilder_.clear();
        }
        return this;
      }

      @Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return FaceBookUserInfoOuterClass.internal_static_FaceBookUserInfoSets_descriptor;
      }

      @Override
      public FaceBookUserInfoSets getDefaultInstanceForType() {
        return FaceBookUserInfoSets.getDefaultInstance();
      }

      @Override
      public FaceBookUserInfoSets build() {
        FaceBookUserInfoSets result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @Override
      public FaceBookUserInfoSets buildPartial() {
        FaceBookUserInfoSets result = new FaceBookUserInfoSets(this);
        int from_bitField0_ = bitField0_;
        if (sETSBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0)) {
            sETS_ = java.util.Collections.unmodifiableList(sETS_);
            bitField0_ = (bitField0_ & ~0x00000001);
          }
          result.sETS_ = sETS_;
        } else {
          result.sETS_ = sETSBuilder_.build();
        }
        onBuilt();
        return result;
      }

      @Override
      public Builder clone() {
        return super.clone();
      }
      @Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return super.setField(field, value);
      }
      @Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          Object value) {
        return super.addRepeatedField(field, value);
      }
      @Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof FaceBookUserInfoSets) {
          return mergeFrom((FaceBookUserInfoSets)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(FaceBookUserInfoSets other) {
        if (other == FaceBookUserInfoSets.getDefaultInstance()) return this;
        if (sETSBuilder_ == null) {
          if (!other.sETS_.isEmpty()) {
            if (sETS_.isEmpty()) {
              sETS_ = other.sETS_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureSETSIsMutable();
              sETS_.addAll(other.sETS_);
            }
            onChanged();
          }
        } else {
          if (!other.sETS_.isEmpty()) {
            if (sETSBuilder_.isEmpty()) {
              sETSBuilder_.dispose();
              sETSBuilder_ = null;
              sETS_ = other.sETS_;
              bitField0_ = (bitField0_ & ~0x00000001);
              sETSBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getSETSFieldBuilder() : null;
            } else {
              sETSBuilder_.addAllMessages(other.sETS_);
            }
          }
        }
        this.mergeUnknownFields(other.unknownFields);
        onChanged();
        return this;
      }

      @Override
      public final boolean isInitialized() {
        return true;
      }

      @Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        FaceBookUserInfoSets parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (FaceBookUserInfoSets) e.getUnfinishedMessage();
          throw e.unwrapIOException();
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      private java.util.List<FaceBookUserInfo> sETS_ =
        java.util.Collections.emptyList();
      private void ensureSETSIsMutable() {
        if (!((bitField0_ & 0x00000001) != 0)) {
          sETS_ = new java.util.ArrayList<FaceBookUserInfo>(sETS_);
          bitField0_ |= 0x00000001;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          FaceBookUserInfo, FaceBookUserInfo.Builder, FaceBookUserInfoOrBuilder> sETSBuilder_;

      /**
       * <code>repeated .FaceBookUserInfo SETS = 1;</code>
       */
      public java.util.List<FaceBookUserInfo> getSETSList() {
        if (sETSBuilder_ == null) {
          return java.util.Collections.unmodifiableList(sETS_);
        } else {
          return sETSBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .FaceBookUserInfo SETS = 1;</code>
       */
      public int getSETSCount() {
        if (sETSBuilder_ == null) {
          return sETS_.size();
        } else {
          return sETSBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .FaceBookUserInfo SETS = 1;</code>
       */
      public FaceBookUserInfo getSETS(int index) {
        if (sETSBuilder_ == null) {
          return sETS_.get(index);
        } else {
          return sETSBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .FaceBookUserInfo SETS = 1;</code>
       */
      public Builder setSETS(
          int index, FaceBookUserInfo value) {
        if (sETSBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSETSIsMutable();
          sETS_.set(index, value);
          onChanged();
        } else {
          sETSBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .FaceBookUserInfo SETS = 1;</code>
       */
      public Builder setSETS(
          int index, FaceBookUserInfo.Builder builderForValue) {
        if (sETSBuilder_ == null) {
          ensureSETSIsMutable();
          sETS_.set(index, builderForValue.build());
          onChanged();
        } else {
          sETSBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .FaceBookUserInfo SETS = 1;</code>
       */
      public Builder addSETS(FaceBookUserInfo value) {
        if (sETSBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSETSIsMutable();
          sETS_.add(value);
          onChanged();
        } else {
          sETSBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .FaceBookUserInfo SETS = 1;</code>
       */
      public Builder addSETS(
          int index, FaceBookUserInfo value) {
        if (sETSBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureSETSIsMutable();
          sETS_.add(index, value);
          onChanged();
        } else {
          sETSBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .FaceBookUserInfo SETS = 1;</code>
       */
      public Builder addSETS(
          FaceBookUserInfo.Builder builderForValue) {
        if (sETSBuilder_ == null) {
          ensureSETSIsMutable();
          sETS_.add(builderForValue.build());
          onChanged();
        } else {
          sETSBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .FaceBookUserInfo SETS = 1;</code>
       */
      public Builder addSETS(
          int index, FaceBookUserInfo.Builder builderForValue) {
        if (sETSBuilder_ == null) {
          ensureSETSIsMutable();
          sETS_.add(index, builderForValue.build());
          onChanged();
        } else {
          sETSBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .FaceBookUserInfo SETS = 1;</code>
       */
      public Builder addAllSETS(
          Iterable<? extends FaceBookUserInfo> values) {
        if (sETSBuilder_ == null) {
          ensureSETSIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, sETS_);
          onChanged();
        } else {
          sETSBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .FaceBookUserInfo SETS = 1;</code>
       */
      public Builder clearSETS() {
        if (sETSBuilder_ == null) {
          sETS_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
        } else {
          sETSBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .FaceBookUserInfo SETS = 1;</code>
       */
      public Builder removeSETS(int index) {
        if (sETSBuilder_ == null) {
          ensureSETSIsMutable();
          sETS_.remove(index);
          onChanged();
        } else {
          sETSBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .FaceBookUserInfo SETS = 1;</code>
       */
      public FaceBookUserInfo.Builder getSETSBuilder(
          int index) {
        return getSETSFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .FaceBookUserInfo SETS = 1;</code>
       */
      public FaceBookUserInfoOrBuilder getSETSOrBuilder(
          int index) {
        if (sETSBuilder_ == null) {
          return sETS_.get(index);  } else {
          return sETSBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .FaceBookUserInfo SETS = 1;</code>
       */
      public java.util.List<? extends FaceBookUserInfoOrBuilder>
           getSETSOrBuilderList() {
        if (sETSBuilder_ != null) {
          return sETSBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(sETS_);
        }
      }
      /**
       * <code>repeated .FaceBookUserInfo SETS = 1;</code>
       */
      public FaceBookUserInfo.Builder addSETSBuilder() {
        return getSETSFieldBuilder().addBuilder(
            FaceBookUserInfo.getDefaultInstance());
      }
      /**
       * <code>repeated .FaceBookUserInfo SETS = 1;</code>
       */
      public FaceBookUserInfo.Builder addSETSBuilder(
          int index) {
        return getSETSFieldBuilder().addBuilder(
            index, FaceBookUserInfo.getDefaultInstance());
      }
      /**
       * <code>repeated .FaceBookUserInfo SETS = 1;</code>
       */
      public java.util.List<FaceBookUserInfo.Builder>
           getSETSBuilderList() {
        return getSETSFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          FaceBookUserInfo, FaceBookUserInfo.Builder, FaceBookUserInfoOrBuilder>
          getSETSFieldBuilder() {
        if (sETSBuilder_ == null) {
          sETSBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              FaceBookUserInfo, FaceBookUserInfo.Builder, FaceBookUserInfoOrBuilder>(
                  sETS_,
                  ((bitField0_ & 0x00000001) != 0),
                  getParentForChildren(),
                  isClean());
          sETS_ = null;
        }
        return sETSBuilder_;
      }
      @Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:FaceBookUserInfoSets)
    }

    // @@protoc_insertion_point(class_scope:FaceBookUserInfoSets)
    private static final FaceBookUserInfoSets DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new FaceBookUserInfoSets();
    }

    public static FaceBookUserInfoSets getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<FaceBookUserInfoSets>
        PARSER = new com.google.protobuf.AbstractParser<FaceBookUserInfoSets>() {
      @Override
      public FaceBookUserInfoSets parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new FaceBookUserInfoSets(input, extensionRegistry);
      }
    };

    public static com.google.protobuf.Parser<FaceBookUserInfoSets> parser() {
      return PARSER;
    }

    @Override
    public com.google.protobuf.Parser<FaceBookUserInfoSets> getParserForType() {
      return PARSER;
    }

    @Override
    public FaceBookUserInfoSets getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_FaceBookUserInfo_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_FaceBookUserInfo_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_FaceBookUserInfoSets_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_FaceBookUserInfoSets_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    String[] descriptorData = {
      "\n\026FaceBookUserInfo.proto\"\321\001\n\020FaceBookUse" +
      "rInfo\022\n\n\002ID\030\001 \001(\t\022\014\n\004NAME\030\002 \001(\t\022\016\n\006GENDE" +
      "R\030\003 \001(\t\022\020\n\010BRITHDAY\030\004 \001(\t\022\021\n\tEDUCATION\030\005" +
      " \003(\t\022\014\n\004WORK\030\006 \003(\t\022\016\n\006LIVING\030\007 \003(\t\022\017\n\007CO" +
      "NTACT\030\010 \003(\t\022\025\n\rYEAR_OVERVIEW\030\t \003(\t\022\024\n\014RE" +
      "LATIONSHIP\030\n \001(\t\022\022\n\nFRIEND_IDS\030\013 \003(\t\"7\n\024" +
      "FaceBookUserInfoSets\022\037\n\004SETS\030\001 \003(\0132\021.Fac" +
      "eBookUserInfob\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
        });
    internal_static_FaceBookUserInfo_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_FaceBookUserInfo_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_FaceBookUserInfo_descriptor,
        new String[] { "ID", "NAME", "GENDER", "BRITHDAY", "EDUCATION", "WORK", "LIVING", "CONTACT", "YEAROVERVIEW", "RELATIONSHIP", "FRIENDIDS", });
    internal_static_FaceBookUserInfoSets_descriptor =
      getDescriptor().getMessageTypes().get(1);
    internal_static_FaceBookUserInfoSets_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_FaceBookUserInfoSets_descriptor,
        new String[] { "SETS", });
  }

  // @@protoc_insertion_point(outer_class_scope)
}
