<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<model userDefinedModelVersionIdentifier="" type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="10171" systemVersion="15E65" minimumToolsVersion="Automatic">
    <entity name="AddrBook" representedClassName="AddrBook" syncable="YES">
        <attribute name="addrBookID" optional="YES" attributeType="Integer 64" defaultValueString="0" syncable="YES"/>
        <attribute name="appState" optional="YES" attributeType="Integer 16" defaultValueString="0" syncable="YES"/>
        <attribute name="avatar" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="branchId" optional="YES" attributeType="Integer 64" defaultValueString="0" syncable="YES"/>
        <attribute name="cellTelephone" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="createTime" optional="YES" attributeType="Date" indexed="YES" syncable="YES"/>
        <attribute name="defaultLoginName" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="deleted" optional="YES" attributeType="Integer 16" defaultValueString="0" syncable="YES"/>
        <attribute name="department" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="disPlayName" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="duty" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="email" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="gender" optional="YES" attributeType="Integer 16" defaultValueString="0" syncable="YES"/>
        <attribute name="groupID" optional="YES" attributeType="Integer 64" defaultValueString="0" syncable="YES"/>
        <attribute name="isFriend" optional="YES" attributeType="Boolean" syncable="YES"/>
        <attribute name="isPersonal" attributeType="Boolean" defaultValueString="NO" syncable="YES"/>
        <attribute name="loginName" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="loginState" optional="YES" attributeType="Integer 16" defaultValueString="0" syncable="YES"/>
        <attribute name="mobile" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="name" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="postion" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="remark" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="secret" optional="YES" attributeType="Integer 16" defaultValueString="0" syncable="YES"/>
        <attribute name="serverID" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="signature" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="state" optional="YES" attributeType="Integer 16" syncable="YES"/>
        <attribute name="telephone" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="unit" optional="YES" attributeType="String" syncable="YES"/>
        <relationship name="belongTo" optional="YES" maxCount="1" deletionRule="No Action" destinationEntity="AddrBookGroup" inverseName="addrBooks" inverseEntity="AddrBookGroup" syncable="YES"/>
        <relationship name="branch" optional="YES" maxCount="1" deletionRule="No Action" destinationEntity="Branch" inverseName="members" inverseEntity="Branch" syncable="YES"/>
    </entity>
    <entity name="AddrBookGroup" representedClassName="AddrBookGroup" syncable="YES">
        <attribute name="groupID" optional="YES" attributeType="Integer 64" defaultValueString="0" syncable="YES"/>
        <attribute name="groupName" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="loginName" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="parentId" optional="YES" attributeType="Integer 64" defaultValueString="0" syncable="YES"/>
        <attribute name="state" optional="YES" attributeType="Integer 16" syncable="YES"/>
        <relationship name="addrBooks" optional="YES" toMany="YES" deletionRule="No Action" ordered="YES" destinationEntity="AddrBook" inverseName="belongTo" inverseEntity="AddrBook" syncable="YES"/>
    </entity>
    <entity name="Branch" representedClassName="Branch" syncable="YES">
        <attribute name="branchID" optional="YES" attributeType="Integer 64" defaultValueString="0" indexed="YES" syncable="YES"/>
        <attribute name="haveDownload" optional="YES" attributeType="Boolean" syncable="YES"/>
        <attribute name="isSecrecy" optional="YES" attributeType="Boolean" syncable="YES"/>
        <attribute name="name" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="parentID" optional="YES" attributeType="Integer 64" defaultValueString="0" syncable="YES"/>
        <attribute name="serverId" optional="YES" attributeType="String" syncable="YES"/>
        <relationship name="members" optional="YES" toMany="YES" deletionRule="No Action" ordered="YES" destinationEntity="AddrBook" inverseName="branch" inverseEntity="AddrBook" syncable="YES"/>
        <relationship name="parentBranch" optional="YES" maxCount="1" deletionRule="No Action" destinationEntity="Branch" inverseName="subBranch" inverseEntity="Branch" syncable="YES"/>
        <relationship name="subBranch" optional="YES" toMany="YES" deletionRule="No Action" ordered="YES" destinationEntity="Branch" inverseName="parentBranch" inverseEntity="Branch" syncable="YES"/>
    </entity>
    <entity name="BusinessCard" representedClassName="BusinessCard" syncable="YES">
        <attribute name="avatar" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="cardId" optional="YES" attributeType="Integer 64" defaultValueString="0" syncable="YES"/>
        <attribute name="displayName" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="email" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="groupId" optional="YES" attributeType="Integer 64" defaultValueString="0" syncable="YES"/>
        <attribute name="loginName" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="mobile" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="nickname" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="position" optional="YES" attributeType="Integer 16" defaultValueString="0" syncable="YES"/>
        <attribute name="remark" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="tel" optional="YES" attributeType="String" syncable="YES"/>
        <relationship name="group" optional="YES" maxCount="1" deletionRule="No Action" destinationEntity="BusinessCardGroup" syncable="YES"/>
    </entity>
    <entity name="BusinessCardGroup" representedClassName="BusinessCardGroup" syncable="YES">
        <attribute name="groupId" optional="YES" attributeType="Integer 64" defaultValueString="0" syncable="YES"/>
        <attribute name="groupName" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="loginName" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="parentId" optional="YES" attributeType="Integer 64" defaultValueString="0" syncable="YES"/>
        <attribute name="state" optional="YES" attributeType="Integer 16" defaultValueString="0" syncable="YES"/>
        <relationship name="card" optional="YES" maxCount="1" deletionRule="No Action" destinationEntity="BusinessCard" syncable="YES"/>
    </entity>
    <entity name="ChatGroupEntity" representedClassName="ChatGroupEntity" syncable="YES">
        <attribute name="avatar" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="chatGroupId" optional="YES" attributeType="Integer 64" defaultValueString="0" syncable="YES"/>
        <attribute name="chatGroupName" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="creater" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="memberCount" optional="YES" attributeType="Integer 64" defaultValueString="0" syncable="YES"/>
        <attribute name="remark" optional="YES" attributeType="String" syncable="YES"/>
    </entity>
    <entity name="MessageEntity" representedClassName="MessageEntity" syncable="YES">
        <attribute name="localPath" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="msgContent" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="msgContentType" optional="YES" attributeType="Integer 32" defaultValueString="0" syncable="YES"/>
        <attribute name="msgId" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="msgState" optional="YES" attributeType="Integer 32" defaultValueString="0" syncable="YES"/>
        <attribute name="msgTime" optional="YES" attributeType="Date" syncable="YES"/>
        <attribute name="msgType" optional="YES" attributeType="Integer 32" defaultValueString="0" syncable="YES"/>
        <attribute name="receiverId" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="senderId" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="sessionId" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="voiceLength" optional="YES" attributeType="Integer 32" defaultValueString="0" syncable="YES"/>
        <attribute name="voicePlayed" optional="YES" attributeType="Integer 32" defaultValueString="0" syncable="YES"/>
    </entity>
    <entity name="RecentEntity" representedClassName="RecentEntity" syncable="YES">
        <attribute name="avatar" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="lastMsg" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="lastTime" optional="YES" attributeType="Date" indexed="YES" syncable="YES"/>
        <attribute name="manualSortTime" optional="YES" attributeType="Date" syncable="YES"/>
        <attribute name="recentId" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="title" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="type" optional="YES" attributeType="Integer 16" defaultValueString="0" syncable="YES"/>
        <attribute name="unreadCount" optional="YES" attributeType="Integer 64" defaultValueString="0" syncable="YES"/>
    </entity>
    <elements>
        <element name="AddrBook" positionX="-108" positionY="0" width="128" height="495"/>
        <element name="AddrBookGroup" positionX="-315" positionY="378" width="128" height="135"/>
        <element name="Branch" positionX="-279" positionY="162" width="128" height="180"/>
        <element name="BusinessCard" positionX="45" positionY="209" width="128" height="223"/>
        <element name="BusinessCardGroup" positionX="196" positionY="450" width="128" height="135"/>
        <element name="ChatGroupEntity" positionX="295" positionY="258" width="128" height="135"/>
        <element name="MessageEntity" positionX="205" positionY="-36" width="128" height="225"/>
        <element name="RecentEntity" positionX="-261" positionY="-18" width="128" height="163"/>
    </elements>
</model>