<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="21754" systemVersion="22D49" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier="">
    <entity name="Account" representedClassName="AccountMO" syncable="YES">
        <attribute name="acct" attributeType="String"/>
        <attribute name="avatar" optional="YES" attributeType="URI"/>
        <attribute name="botCD" optional="YES" attributeType="Boolean" usesScalarValueType="YES"/>
        <attribute name="createdAt" attributeType="Date" usesScalarValueType="NO"/>
        <attribute name="displayName" attributeType="String"/>
        <attribute name="emojisData" attributeType="Binary"/>
        <attribute name="fieldsData" optional="YES" attributeType="Binary"/>
        <attribute name="followersCount" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/>
        <attribute name="followingCount" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/>
        <attribute name="header" optional="YES" attributeType="URI"/>
        <attribute name="id" attributeType="String"/>
        <attribute name="lastFetchedAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
        <attribute name="locked" attributeType="Boolean" usesScalarValueType="YES"/>
        <attribute name="movedCD" optional="YES" attributeType="Boolean" usesScalarValueType="YES"/>
        <attribute name="note" attributeType="String"/>
        <attribute name="statusesCount" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/>
        <attribute name="url" attributeType="URI"/>
        <attribute name="username" attributeType="String"/>
        <relationship name="movedTo" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Account"/>
        <relationship name="relationship" optional="YES" maxCount="1" deletionRule="Cascade" destinationEntity="Relationship" inverseName="account" inverseEntity="Relationship"/>
        <relationship name="statuses" optional="YES" toMany="YES" deletionRule="Cascade" destinationEntity="Status" inverseName="account" inverseEntity="Status"/>
        <uniquenessConstraints>
            <uniquenessConstraint>
                <constraint value="id"/>
            </uniquenessConstraint>
        </uniquenessConstraints>
    </entity>
    <entity name="AccountPreferences" representedClassName="AccountPreferences" syncable="YES">
        <attribute name="accountID" optional="YES" attributeType="String"/>
        <attribute name="createdAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
        <attribute name="pinnedTimelinesData" optional="YES" attributeType="Binary"/>
    </entity>
    <entity name="Filter" representedClassName="FilterMO" syncable="YES">
        <attribute name="action" attributeType="String" defaultValueString="warn"/>
        <attribute name="context" attributeType="String"/>
        <attribute name="expiresAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
        <attribute name="id" attributeType="String"/>
        <attribute name="title" optional="YES" attributeType="String"/>
        <relationship name="keywords" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="FilterKeyword" inverseName="filter" inverseEntity="FilterKeyword"/>
    </entity>
    <entity name="FilterKeyword" representedClassName="FilterKeywordMO" syncable="YES">
        <attribute name="id" optional="YES" attributeType="String"/>
        <attribute name="keyword" attributeType="String"/>
        <attribute name="wholeWord" attributeType="Boolean" usesScalarValueType="YES"/>
        <relationship name="filter" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Filter" inverseName="keywords" inverseEntity="Filter"/>
    </entity>
    <entity name="FollowedHashtag" representedClassName="FollowedHashtag" syncable="YES">
        <attribute name="name" attributeType="String"/>
        <attribute name="url" attributeType="URI"/>
    </entity>
    <entity name="List" representedClassName="ListMO" syncable="YES">
        <attribute name="id" optional="YES" attributeType="String"/>
        <attribute name="title" optional="YES" attributeType="String"/>
        <uniquenessConstraints>
            <uniquenessConstraint>
                <constraint value="id"/>
            </uniquenessConstraint>
        </uniquenessConstraints>
    </entity>
    <entity name="Relationship" representedClassName="RelationshipMO" syncable="YES">
        <attribute name="accountID" optional="YES" attributeType="String"/>
        <attribute name="blocking" optional="YES" attributeType="Boolean" usesScalarValueType="YES"/>
        <attribute name="domainBlocking" optional="YES" attributeType="Boolean" usesScalarValueType="YES"/>
        <attribute name="endorsed" optional="YES" attributeType="Boolean" usesScalarValueType="YES"/>
        <attribute name="followedBy" optional="YES" attributeType="Boolean" usesScalarValueType="YES"/>
        <attribute name="following" optional="YES" attributeType="Boolean" usesScalarValueType="YES"/>
        <attribute name="muting" optional="YES" attributeType="Boolean" usesScalarValueType="YES"/>
        <attribute name="mutingNotifications" optional="YES" attributeType="Boolean" usesScalarValueType="YES"/>
        <attribute name="requested" optional="YES" attributeType="Boolean" usesScalarValueType="YES"/>
        <attribute name="showingReblogs" optional="YES" attributeType="Boolean" usesScalarValueType="YES"/>
        <relationship name="account" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Account" inverseName="relationship" inverseEntity="Account"/>
    </entity>
    <entity name="SavedHashtag" representedClassName="SavedHashtag" syncable="YES">
        <attribute name="accountID" optional="YES" attributeType="String"/>
        <attribute name="name" optional="YES" attributeType="String"/>
        <attribute name="url" optional="YES" attributeType="URI"/>
    </entity>
    <entity name="SavedInstance" representedClassName="SavedInstance" syncable="YES">
        <attribute name="accountID" optional="YES" attributeType="String"/>
        <attribute name="url" optional="YES" attributeType="URI"/>
    </entity>
    <entity name="Status" representedClassName="StatusMO" syncable="YES">
        <attribute name="applicationName" optional="YES" attributeType="String"/>
        <attribute name="attachmentsData" attributeType="Binary"/>
        <attribute name="bookmarkedInternal" optional="YES" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
        <attribute name="cardData" optional="YES" attributeType="Binary"/>
        <attribute name="content" attributeType="String"/>
        <attribute name="createdAt" attributeType="Date" usesScalarValueType="NO"/>
        <attribute name="editedAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
        <attribute name="emojisData" attributeType="Binary" customClassName="[Data]"/>
        <attribute name="favourited" attributeType="Boolean" usesScalarValueType="YES"/>
        <attribute name="favouritesCount" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/>
        <attribute name="hashtagsData" attributeType="Binary"/>
        <attribute name="id" attributeType="String"/>
        <attribute name="inReplyToAccountID" optional="YES" attributeType="String"/>
        <attribute name="inReplyToID" optional="YES" attributeType="String"/>
        <attribute name="lastFetchedAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
        <attribute name="localOnly" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
        <attribute name="mentionsData" attributeType="Binary"/>
        <attribute name="muted" optional="YES" attributeType="Boolean" usesScalarValueType="YES"/>
        <attribute name="pinnedInternal" optional="YES" attributeType="Boolean" usesScalarValueType="YES"/>
        <attribute name="pollData" optional="YES" attributeType="Binary"/>
        <attribute name="reblogged" attributeType="Boolean" usesScalarValueType="YES"/>
        <attribute name="reblogsCount" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/>
        <attribute name="sensitive" attributeType="Boolean" usesScalarValueType="YES"/>
        <attribute name="spoilerText" attributeType="String"/>
        <attribute name="uri" attributeType="String"/>
        <attribute name="url" optional="YES" attributeType="URI"/>
        <attribute name="visibilityString" attributeType="String"/>
        <relationship name="account" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Account" inverseName="statuses" inverseEntity="Account"/>
        <relationship name="reblog" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Status"/>
        <relationship name="timelines" optional="YES" toMany="YES" deletionRule="Nullify" destinationEntity="TimelineState" inverseName="statuses" inverseEntity="TimelineState"/>
        <uniquenessConstraints>
            <uniquenessConstraint>
                <constraint value="id"/>
            </uniquenessConstraint>
        </uniquenessConstraints>
    </entity>
    <entity name="TimelinePosition" representedClassName="TimelinePosition" syncable="YES">
        <attribute name="accountID" optional="YES" attributeType="String"/>
        <attribute name="centerStatusID" optional="YES" attributeType="String"/>
        <attribute name="createdAt" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
        <attribute name="statusIDsData" optional="YES" attributeType="Binary" valueTransformerName="TimelinePositionStatusIDsTransformer"/>
        <attribute name="timelineKind" optional="YES" attributeType="String"/>
    </entity>
    <entity name="TimelineState" representedClassName="TimelineState" syncable="YES">
        <attribute name="centerStatusID" optional="YES" attributeType="String"/>
        <attribute name="timelineKind" attributeType="String" valueTransformerName="pachydermTimeline" customClassName="Tusker.TimelineContainer"/>
        <relationship name="statuses" toMany="YES" deletionRule="Nullify" ordered="YES" destinationEntity="Status" inverseName="timelines" inverseEntity="Status"/>
    </entity>
    <configuration name="Cloud" usedWithCloudKit="YES">
        <memberEntity name="SavedHashtag"/>
        <memberEntity name="SavedInstance"/>
        <memberEntity name="AccountPreferences"/>
        <memberEntity name="TimelinePosition"/>
    </configuration>
    <configuration name="Local">
        <memberEntity name="Account"/>
        <memberEntity name="Filter"/>
        <memberEntity name="FilterKeyword"/>
        <memberEntity name="FollowedHashtag"/>
        <memberEntity name="Relationship"/>
        <memberEntity name="Status"/>
        <memberEntity name="TimelineState"/>
        <memberEntity name="List"/>
    </configuration>
</model>