<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="14135" systemVersion="17E202" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier="">
    <entity name="Address" representedClassName="Address" syncable="YES">
        <attribute name="address" optional="YES" attributeType="String" syncable="YES"/>
        <relationship name="interface" optional="YES" maxCount="1" deletionRule="Nullify" destinationEntity="Interface" inverseName="adresses" inverseEntity="Interface" syncable="YES"/>
    </entity>
    <entity name="Interface" representedClassName="Interface" syncable="YES">
        <attribute name="dns" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="fwMark" optional="YES" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="YES" syncable="YES"/>
        <attribute name="listenPort" optional="YES" attributeType="Integer 16" defaultValueString="0" usesScalarValueType="YES" syncable="YES"/>
        <attribute name="mtu" optional="YES" attributeType="Integer 32" defaultValueString="0" usesScalarValueType="YES" syncable="YES"/>
        <attribute name="privateKey" attributeType="String" syncable="YES"/>
        <attribute name="publicKey" attributeType="String" syncable="YES"/>
        <attribute name="table" optional="YES" attributeType="String" syncable="YES"/>
        <relationship name="adresses" toMany="YES" deletionRule="Cascade" destinationEntity="Address" inverseName="interface" inverseEntity="Address" syncable="YES"/>
        <relationship name="tunnel" maxCount="1" deletionRule="Nullify" destinationEntity="Tunnel" inverseName="interface" inverseEntity="Tunnel" syncable="YES"/>
    </entity>
    <entity name="Peer" representedClassName="Peer" syncable="YES">
        <attribute name="allowedIPs" attributeType="String" syncable="YES"/>
        <attribute name="endpoint" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="persistentKeepalive" attributeType="Integer 16" minValueString="0" maxValueString="65535" defaultValueString="0" usesScalarValueType="YES" syncable="YES"/>
        <attribute name="presharedKey" optional="YES" attributeType="String" syncable="YES"/>
        <attribute name="publicKey" attributeType="String" syncable="YES"/>
        <relationship name="tunnel" maxCount="1" deletionRule="Nullify" destinationEntity="Tunnel" inverseName="peers" inverseEntity="Tunnel" syncable="YES"/>
    </entity>
    <entity name="Tunnel" representedClassName="Tunnel" syncable="YES">
        <attribute name="title" optional="YES" attributeType="String" syncable="YES"/>
        <relationship name="interface" maxCount="1" deletionRule="Cascade" destinationEntity="Interface" inverseName="tunnel" inverseEntity="Interface" syncable="YES"/>
        <relationship name="peers" toMany="YES" deletionRule="Cascade" ordered="YES" destinationEntity="Peer" inverseName="tunnel" inverseEntity="Peer" syncable="YES"/>
    </entity>
    <elements>
        <element name="Address" positionX="-54" positionY="45" width="128" height="75"/>
        <element name="Interface" positionX="-54" positionY="-9" width="128" height="180"/>
        <element name="Peer" positionX="-36" positionY="9" width="128" height="135"/>
        <element name="Tunnel" positionX="160" positionY="192" width="128" height="90"/>
    </elements>
</model>