Repo created

This commit is contained in:
Fr4nz D13trich 2025-11-24 18:55:42 +01:00
parent a629de6271
commit 3cef7c5092
2161 changed files with 246605 additions and 2 deletions

36
docs/DESIGN.md Normal file
View file

@ -0,0 +1,36 @@
# Repository structure
The project is divided into several directories below which are nested gradle projects.
## app
This contains the highest level code such as UI and core logic.
## backend
APIs for sending and receiving messages
## mail
Low level code for dealing with internet mail protocols
## plugins
Additional, standalone, libraries used by K-9
![modules](Modules.png)
# Walkthrough
To help you understand the design, the following sequence diagrams show typical flows through the
classes. Each class is colour-coded by its top-level project.
## Reading email
![read email sequence](ReadEmail.png)
![read email classes](ReadEmailClasses.png)
## Sending email
![send email sequence](SendEmail.png)

BIN
docs/Modules.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

BIN
docs/ReadEmail.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

BIN
docs/ReadEmailClasses.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

BIN
docs/SendEmail.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

View file

@ -0,0 +1,936 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
<!--Created by yFiles for Java 2.8-->
<key for="graphml" id="d0" yfiles.type="resources"/>
<key for="port" id="d1" yfiles.type="portgraphics"/>
<key for="port" id="d2" yfiles.type="portgeometry"/>
<key for="port" id="d3" yfiles.type="portuserdata"/>
<key attr.name="url" attr.type="string" for="node" id="d4"/>
<key attr.name="description" attr.type="string" for="node" id="d5"/>
<key for="node" id="d6" yfiles.type="nodegraphics"/>
<key attr.name="Beschreibung" attr.type="string" for="graph" id="d7"/>
<key attr.name="url" attr.type="string" for="edge" id="d8"/>
<key attr.name="description" attr.type="string" for="edge" id="d9"/>
<key for="edge" id="d10" yfiles.type="edgegraphics"/>
<graph edgedefault="directed" id="G">
<data key="d7"/>
<node id="n0">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="195.0" width="146.25" x="577.5003968253968" y="628.6116356979405"/>
<y:Fill color="#CCCCCC" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="53.359375" x="46.4453125" y="88.1494140625">Accounts</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n1">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="195.0" width="146.25" x="507.656746031746" y="913.6116356979405"/>
<y:Fill color="#CCCCCC" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="56.6875" x="44.78125" y="88.1494140625">FolderList</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n2">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="195.0" width="146.25" x="325.5472222222222" y="1168.6116356979405"/>
<y:Fill color="#CCCCCC" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="71.365234375" x="37.4423828125" y="88.1494140625">MessageList</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n3">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="195.0" width="146.25" x="191.25" y="118.61163569794053"/>
<y:Fill color="#CCCCCC" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="78.701171875" x="33.7744140625" y="88.1494140625">MessageView</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n4">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="195.0" width="146.25" x="405.0003968253968" y="1468.6116356979405"/>
<y:Fill color="#CCCCCC" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="90.71875" x="27.765625" y="88.1494140625">AccountSettings</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n5">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="195.0" width="146.25" x="669.3753968253968" y="1738.6116356979405"/>
<y:Fill color="#CCCCCC" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="127.41015625" x="9.419921875" y="88.1494140625">AccountSetupIncoming</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n6">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="195.0" width="146.25" x="596.2503968253968" y="1963.6116356979405"/>
<y:Fill color="#CCCCCC" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="127.421875" x="9.4140625" y="88.1494140625">AccountSetupOutgoing</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n7">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="195.0" width="146.25" x="581.2503968253968" y="1468.6116356979405"/>
<y:Fill color="#CCCCCC" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="32.0078125" x="57.12109375" y="88.1494140625">Prefs</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n8">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="195.0" width="146.25" x="845.6253968253968" y="1738.6116356979405"/>
<y:Fill color="#CCCCCC" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="94.71484375" x="25.767578125" y="88.1494140625">FontSizeSettings</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n9">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="195.0" width="146.25" x="559.6876984126984" y="2204.1116356979405"/>
<y:Fill color="#CCCCCC" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="120.07421875" x="13.087890625" y="88.1494140625">AccountSetupOptions</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n10">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="195.0" width="146.25" x="912.1876984126984" y="2429.1116356979405"/>
<y:Fill color="#CCCCCC" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="116.728515625" x="14.7607421875" y="88.1494140625">AccountSetupNames</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n11">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="195.0" width="146.25" x="493.1253968253968" y="1738.6116356979405"/>
<y:Fill color="#CCCCCC" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="145.416015625" x="0.4169921875" y="88.1494140625">AccountSetupComposition</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n12">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="195.0" width="146.25" x="751.4376984126984" y="2204.1116356979405"/>
<y:Fill color="#CCCCCC" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="156.091796875" x="-4.9208984375" y="88.1494140625">AccountSetupCheckSettings</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n13">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="195.0" width="146.25" x="900.0003968253968" y="1168.6116356979405"/>
<y:Fill color="#CCCCCC" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="114.0625" x="16.09375" y="88.1494140625">AccountSetupBasics</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n14">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="195.0" width="146.25" x="844.3722222222223" y="1468.6116356979405"/>
<y:Fill color="#CCCCCC" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="148.755859375" x="-1.2529296875" y="88.1494140625">AccountSetupAccountType</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n15">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="195.0" width="146.25" x="228.75039682539682" y="1468.6116356979405"/>
<y:Fill color="#CCCCCC" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="81.373046875" x="32.4384765625" y="88.1494140625">FolderSettings</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n16">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="195.0" width="146.25" x="210.00039682539682" y="628.6116356979405"/>
<y:Fill color="#CCCCCC" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="88.720703125" x="28.7646484375" y="88.1494140625">ChooseAccount</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n17">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="195.0" width="146.25" x="140.62539682539682" y="1738.6116356979405"/>
<y:Fill color="#CCCCCC" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="79.375" x="33.4375" y="88.1494140625">ChooseFolder</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n18">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="195.0" width="146.25" x="386.2503968253968" y="628.6116356979405"/>
<y:Fill color="#CCCCCC" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="84.05078125" x="31.099609375" y="88.1494140625">ChooseIdentity</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n19">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="195.0" width="146.25" x="316.8753968253968" y="1963.6116356979405"/>
<y:Fill color="#CCCCCC" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="63.3671875" x="41.44140625" y="88.1494140625">EditIdentity</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n20">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="195.0" width="146.25" x="15.0" y="118.61163569794053"/>
<y:Fill color="#CCCCCC" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="104.728515625" x="20.7607421875" y="88.1494140625">LauncherShortcuts</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n21">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="195.0" width="146.25" x="316.8753968253968" y="1738.6116356979405"/>
<y:Fill color="#CCCCCC" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="95.39453125" x="25.427734375" y="88.1494140625">ManageIdentities</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n22">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="195.0" width="146.25" x="276.5626984126984" y="358.6116356979405"/>
<y:Fill color="#CCCCCC" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="104.048828125" x="21.1005859375" y="88.1494140625">MessageCompose</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n23">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="58.61163569794053" width="146.25" x="357.1878968253968" y="0.0"/>
<y:Fill color="#999999" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="92.037109375" x="27.1064453125" y="19.955231911470264">Other Apps / OS</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<node id="n24">
<data key="d6">
<y:ShapeNode>
<y:Geometry height="195.0" width="146.25" x="401.2503968253968" y="118.61163569794053"/>
<y:Fill color="#CCCCCC" transparent="false"/>
<y:BorderStyle color="#000000" type="line" width="1.0"/>
<y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="18.701171875" modelName="internal" modelPosition="c" textColor="#000000" visible="true" width="42.021484375" x="52.1142578125" y="88.1494140625">Search</y:NodeLabel>
<y:Shape type="rectangle"/>
</y:ShapeNode>
</data>
</node>
<edge id="e0" source="n0" target="n1">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-20.89285714285714" sy="97.5" tx="18.28125" ty="-97.5">
<y:Point x="629.7325396825397" y="883.6116356979405"/>
<y:Point x="599.062996031746" y="883.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e1" source="n1" target="n2">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-60.9375" sy="97.5" tx="27.421875" ty="-97.5">
<y:Point x="519.844246031746" y="1123.6116356979405"/>
<y:Point x="426.0940972222222" y="1123.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e2" source="n2" target="n3">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-63.984375" sy="-97.5" tx="0.0" ty="97.5">
<y:Point x="334.6878472222222" y="1041.1116356979405"/>
<y:Point x="180.00039682539682" y="1041.1116356979405"/>
<y:Point x="180.00039682539682" y="343.6116356979405"/>
<y:Point x="264.375" y="343.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e3" source="n3" target="n22">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="48.75" sy="97.5" tx="-36.5625" ty="-97.5"/>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e4" source="n2" target="n22">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-45.703125" sy="-97.5" tx="-60.9375" ty="97.5">
<y:Point x="352.9690972222222" y="1026.1116356979405"/>
<y:Point x="195.00039682539682" y="1026.1116356979405"/>
<y:Point x="195.00039682539682" y="568.6116356979405"/>
<y:Point x="288.7501984126984" y="568.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e5" source="n0" target="n7">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="41.785714285714334" sy="97.5" tx="48.75" ty="-97.5">
<y:Point x="692.4111111111112" y="853.6116356979405"/>
<y:Point x="703.1253968253968" y="853.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e6" source="n0" target="n13">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="62.678571428571445" sy="97.5" tx="0.0" ty="-97.5">
<y:Point x="713.3039682539683" y="838.6116356979405"/>
<y:Point x="973.1253968253968" y="838.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e7" source="n0" target="n4">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="20.89285714285711" sy="97.5" tx="48.75" ty="-97.5">
<y:Point x="671.5182539682539" y="1453.6116356979405"/>
<y:Point x="526.8753968253968" y="1453.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e8" source="n0" target="n2">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-62.678571428571445" sy="97.5" tx="-9.140625" ty="-97.5">
<y:Point x="587.9468253968254" y="853.6116356979405"/>
<y:Point x="389.531746031746" y="853.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e9" source="n1" target="n0">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="54.84375" sy="-97.5" tx="0.0" ty="97.5">
<y:Point x="635.625496031746" y="898.6116356979405"/>
<y:Point x="650.6253968253968" y="898.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e10" source="n1" target="n7">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="60.9375" sy="97.5" tx="0.0" ty="-97.5">
<y:Point x="641.719246031746" y="1123.6116356979405"/>
<y:Point x="654.3753968253968" y="1123.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e11" source="n1" target="n4">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="36.5625" sy="97.5" tx="0.0" ty="-97.5">
<y:Point x="617.344246031746" y="1123.6116356979405"/>
<y:Point x="607.9690476190476" y="1123.6116356979405"/>
<y:Point x="607.9690476190476" y="1423.6116356979405"/>
<y:Point x="478.1253968253968" y="1423.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e12" source="n1" target="n15">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="12.1875" sy="97.5" tx="36.5625" ty="-97.5">
<y:Point x="592.9690476190476" y="1408.6116356979405"/>
<y:Point x="338.4378968253968" y="1408.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e13" source="n1" target="n22">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-54.84375" sy="-97.5" tx="36.5625" ty="97.5">
<y:Point x="525.937996031746" y="838.6116356979405"/>
<y:Point x="547.5003968253968" y="838.6116356979405"/>
<y:Point x="547.5003968253968" y="583.6116356979405"/>
<y:Point x="386.2501984126984" y="583.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e14" source="n1" target="n2">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-36.5625" sy="97.5" tx="45.703125" ty="-97.5">
<y:Point x="544.219246031746" y="1138.6116356979405"/>
<y:Point x="444.3753472222222" y="1138.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e15" source="n21" target="n19">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="97.5" tx="0.0" ty="-97.5"/>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e16" source="n22" target="n16">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-36.5625" sy="97.5" tx="0.0" ty="-97.5">
<y:Point x="313.1251984126984" y="583.6116356979405"/>
<y:Point x="283.1253968253968" y="583.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="dashed" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e17" source="n22" target="n18">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="12.1875" sy="97.5" tx="0.0" ty="-97.5">
<y:Point x="361.8751984126984" y="598.6116356979405"/>
<y:Point x="459.3753968253968" y="598.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="dashed" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e18" source="n22" target="n0">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="60.9375" sy="97.5" tx="-36.5625" ty="-97.5">
<y:Point x="410.6251984126984" y="568.6116356979405"/>
<y:Point x="614.0628968253968" y="568.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e19" source="n2" target="n17">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-54.84375" sy="97.5" tx="0.0" ty="-97.5">
<y:Point x="343.8284722222222" y="1378.6116356979405"/>
<y:Point x="213.75039682539682" y="1378.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="dashed" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e20" source="n2" target="n0">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="9.140625" sy="-97.5" tx="-41.78571428571422" ty="97.5">
<y:Point x="407.8126984126984" y="868.6116356979405"/>
<y:Point x="608.8396825396826" y="868.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e21" source="n2" target="n1">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="63.984375" sy="-97.5" tx="-12.1875" ty="97.5">
<y:Point x="462.6565972222222" y="1153.6116356979405"/>
<y:Point x="568.594246031746" y="1153.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e22" source="n2" target="n7">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="54.84375" sy="97.5" tx="-48.75" ty="-97.5">
<y:Point x="453.5159722222222" y="1438.6116356979405"/>
<y:Point x="605.6253968253968" y="1438.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e23" source="n2" target="n4">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="18.28125" sy="97.5" tx="-48.75" ty="-97.5">
<y:Point x="416.9534722222222" y="1423.6116356979405"/>
<y:Point x="429.3753968253968" y="1423.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e24" source="n2" target="n22">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-27.421875" sy="-97.5" tx="-12.1875" ty="97.5">
<y:Point x="371.2503968253968" y="613.6116356979405"/>
<y:Point x="337.5001984126984" y="613.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e25" source="n2" target="n15">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-18.28125" sy="97.5" tx="-36.5625" ty="-97.5">
<y:Point x="380.3909722222222" y="1393.6116356979405"/>
<y:Point x="265.3128968253968" y="1393.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e26" source="n3" target="n17">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-48.75" sy="97.5" tx="-48.75" ty="-97.5">
<y:Point x="215.625" y="328.6116356979405"/>
<y:Point x="165.00039682539682" y="328.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="dashed" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e27" source="n4" target="n21">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-29.25" sy="97.5" tx="0.0" ty="-97.5">
<y:Point x="448.8753968253968" y="1693.6116356979405"/>
<y:Point x="390.0003968253968" y="1693.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e28" source="n4" target="n17">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-58.5" sy="97.5" tx="48.75" ty="-97.5">
<y:Point x="419.6253968253968" y="1678.6116356979405"/>
<y:Point x="262.5003968253968" y="1678.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="dashed" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e29" source="n4" target="n11">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="29.25" sy="97.5" tx="0.0" ty="-97.5">
<y:Point x="507.3753968253968" y="1723.6116356979405"/>
<y:Point x="566.2503968253968" y="1723.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e30" source="n4" target="n5">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="58.5" sy="97.5" tx="-36.5625" ty="-97.5">
<y:Point x="536.6253968253968" y="1708.6116356979405"/>
<y:Point x="705.9378968253968" y="1708.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e31" source="n4" target="n6">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="97.5" tx="-36.5625" ty="-97.5">
<y:Point x="478.1253968253968" y="1948.6116356979405"/>
<y:Point x="632.8128968253968" y="1948.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e32" source="n14" target="n5">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="97.5" tx="36.5625" ty="-97.5">
<y:Point x="917.4972222222223" y="1678.6116356979405"/>
<y:Point x="779.0628968253968" y="1678.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e33" source="n13" target="n12">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="97.5" tx="54.84375" ty="-97.5">
<y:Point x="973.1253968253968" y="1378.6116356979405"/>
<y:Point x="1006.8753968253968" y="1378.6116356979405"/>
<y:Point x="1006.8753968253968" y="2076.1116356979405"/>
<y:Point x="879.4064484126984" y="2076.1116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="dashed" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e34" source="n12" target="n12">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-54.84375" sy="-97.5" tx="-73.125" ty="0.0">
<y:Point x="769.7189484126984" y="2188.6116356979405"/>
<y:Point x="735.9376984126984" y="2188.6116356979405"/>
<y:Point x="735.9376984126984" y="2301.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="dashed" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e35" source="n5" target="n6">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-36.5625" sy="97.5" tx="36.5625" ty="-97.5"/>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e36" source="n5" target="n12">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="36.5625" sy="97.5" tx="18.28125" ty="-97.5">
<y:Point x="779.0628968253968" y="1948.6116356979405"/>
<y:Point x="842.8440476190476" y="1948.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="dashed" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e37" source="n9" target="n10">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="97.5" tx="-36.5625" ty="-97.5">
<y:Point x="632.8126984126984" y="2414.1116356979405"/>
<y:Point x="948.7501984126984" y="2414.1116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e38" source="n6" target="n12">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="36.5625" sy="97.5" tx="-18.28125" ty="-97.5">
<y:Point x="705.9378968253968" y="2173.6116356979405"/>
<y:Point x="806.2814484126984" y="2173.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="dashed" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e39" source="n7" target="n8">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="0.0" sy="97.5" tx="0.0" ty="-97.5">
<y:Point x="654.3753968253968" y="1693.6116356979405"/>
<y:Point x="918.7503968253968" y="1693.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e40" source="n6" target="n9">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-36.5625" sy="97.5" tx="0.0" ty="-97.5"/>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e41" source="n13" target="n10">
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="48.75" sy="97.5" tx="36.5625" ty="-97.5"/>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e42" source="n13" target="n14">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-48.75" sy="97.5" tx="0.0" ty="-97.5">
<y:Point x="924.3753968253968" y="1378.6116356979405"/>
<y:Point x="917.4972222222223" y="1378.6116356979405"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e43" source="n23" target="n20">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-60.9375" sy="29.305817848970264" tx="0.0" ty="-97.5">
<y:Point x="369.3753968253968" y="73.61163569794053"/>
<y:Point x="88.125" y="73.61163569794053"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e44" source="n23" target="n3">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-36.5625" sy="29.305817848970264" tx="0.0" ty="-97.5">
<y:Point x="393.7503968253968" y="88.61163569794053"/>
<y:Point x="264.375" y="88.61163569794053"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e45" source="n23" target="n22">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="-12.1875" sy="29.305817848970264" tx="36.5625" ty="-97.5">
<y:Point x="418.1253968253968" y="103.61163569794053"/>
<y:Point x="386.2503968253968" y="103.61163569794053"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e46" source="n23" target="n0">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="60.9375" sy="29.305817848970264" tx="36.5625" ty="-97.5">
<y:Point x="491.2503968253968" y="73.61163569794053"/>
<y:Point x="687.1880952380952" y="73.61163569794053"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e47" source="n23" target="n1">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="36.5625" sy="29.305817848970264" tx="-18.28125" ty="-97.5">
<y:Point x="466.8753968253968" y="88.61163569794053"/>
<y:Point x="562.5003968253968" y="88.61163569794053"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
<edge id="e48" source="n23" target="n24">
<data key="d9"/>
<data key="d10">
<y:PolyLineEdge>
<y:Path sx="12.1875" sy="29.305817848970264" tx="0.0" ty="-97.5">
<y:Point x="442.5003968253968" y="103.61163569794053"/>
<y:Point x="474.3753968253968" y="103.61163569794053"/>
</y:Path>
<y:LineStyle color="#000000" type="line" width="1.0"/>
<y:Arrows source="none" target="standard"/>
<y:BendStyle smoothed="false"/>
</y:PolyLineEdge>
</data>
</edge>
</graph>
<data key="d0">
<y:Resources/>
</data>
</graphml>

View file

@ -0,0 +1 @@
<mxfile modified="2019-01-11T10:26:15.402Z" host="www.draw.io" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/9.3.1 Chrome/66.0.3359.181 Electron/3.0.6 Safari/537.36" etag="7TMj1jc2HB3p0JL3eQl-" version="10.0.31" type="device"><diagram id="YKoQ1aF3pb8lkexGjirb" name="Page-1">1VjbcpswEP0aHpPhYrD9aDtpOp02ScedaSZvMqxBjUCMELGdr+8KxM041EmdScKDLR2WRXt0dr2y4Szi7ZUgafSDB8AM2wy2hnNh2PbYc/BTAbsSGLlmCYSCBiVkNcCSPoEGK7OcBpB1DCXnTNK0C/o8ScCXHYwIwTddszVn3bemJIQesPQJ66O/aSCjEp3Y4wb/CjSMqjdb3rS8E5PKWEeSRSTgmxbkXBrOQnAuy1G8XQBT3FW8lM99eeZuvTABiTzmgZtkJuZ36fj628+n+9ub4C4nszPt5ZGwXAc8832eJ3IJMk8XEfgPOJI0CTMdhdxV1Ai0C0B5Nw1nvomohGVKfHV3g1pALJIxw5mFw0cQkiKtM0bDBDHJlUE/hmpBaA7bFqRjugIegxQ7NNF3R6bmtxKYnm6a3bImGotaO1VhRAskrD03HOJA0/gCSu0epQWNmtdfJHswbI/hKuYrgaNQ1jy8lttTsOh2WfTcPov2ARZHb8XipMdijyMIMFP1lAsZ8ZAnhF026LzLYouxP6jpnS42JJccocbDd660OcxsxnPhw8D6R7pWERGCHLDTPKtYBvdJACOSPnar0slZHw2WgznJqP+fdeAkGf+qhH8zqVr9jP9cWnWP1KplfSixuoNivSYx9g0fsNJ21WuZ7y1f7wj1JsFM9VI48xnJsAocScvJyuSxymux6B4gscKOFqh+wy2nGFm9h87EOp+2rklnS+vetXJYsqB9tDu0fbfT8ZBbd89tSVrPbSGCmpLX62La08WCMIaZgtu1obirNvo1+xm25kK5TnweY9uo1puoZ3guQ14Ae+LCvJFdOQnI6BNZFQYqKVMVYhG0OzfcC0SI7iJ9FByIA+1lTIOgKKuMrIDNif8QFom+4AyXp97rrIvroHoH82Q/0+uzh16x0W7vD1UA89xxx9OTCPHM8s7djkrO7D2V8PU6gzcRiPXs4eEz1F3vveuu5fQTTACR6lfLzFLwKVE+GPeLb3VyBdHvvvBYmaphwiX8m8hVnQk3uWQ0AY1nZX9huSci2+uyPT1wnDAH6vMLyMZpc4Yupd38EeFc/gU=</diagram></mxfile>

View file

@ -0,0 +1 @@
<mxfile modified="2019-01-11T10:16:50.353Z" host="www.draw.io" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/9.3.1 Chrome/66.0.3359.181 Electron/3.0.6 Safari/537.36" etag="RNswfYzUOSRtBdjBfTBV" version="10.0.31" type="device"><diagram id="QmmH9szRuSUe-1hLpNK0" name="Page-1">5Zlhc5owGMc/jS97J4mCvHStrr12N+/s1p1vdimkEBsIC7HoPv1CCSBELXO14O2NF56EhPyeJ/8niT14Gaw/cxT5X5iLaQ/03XUPXvUAMCGQv6lhkxmgBTODx4mbmYzSMCe/sTL2lXVFXBxXGgrGqCBR1eiwMMSOqNgQ5yypNntitDpqhDysGeYOorr1gbjCz6wjYJX2a0w8Px/ZMO2sJkB5YzWT2EcuS7ZMcNKDl5wxkZWC9SWmKbucS/bedE9t8WEch6LJCw9L6+F2Ft5fL8n3xb354+tP9HihnPGC6EpNGEWR7MNhHPeASWXPnx65LHlpSU1EbHI6nK1CF6cD9GV14hOB5xFy0tpEhoO0+SKg8smQxRfMBZFkx5R4obQJFhV9pnV4vXdmRsFLxhlmARZ8I5uoF+BIIVYxNlCPSekwCJXN33ZW3hCpIPGKrkuOsqBQ/gVWsAfripwN1MHbTMGpmP5afqMgni3Gyc1i7iSwv5hOLwyN6RwLQUIvvgkiJmfK35vtHmQ7wB6gWMVoQJ1jgWyb48kwjjSMGiTsSglUjxKszzwWIjoprZ+qGLeQLaVLNkrF0UowaSp7uGNpcB5GG7MVd/CB71efKxD3sDjQTgl0OpeDjuKYIkFeqnL//sE7+E+wG7BT3HUhHjuOpCjiDorFsKoVVttSYeiSe15BazUMWrtTMWtp1LMEN8dU7nAJC68IoszrfgC3n+zyU8TZRrDdVHY7FcH2nggex5vQuUfxc+uRWpwvuxOq+lFshuI4YdydcRZEorOrvs7yI/PWztOXvteacfyE5RQdfKK8/49HrY4BHDZQzdAdp9cr8smhMk6JswtLTY+O08D82mdLA/e7XYe8RXG4A2Jua6yMaoQZI3IihQ9NuyYoZs052TTVW2DrmqbWkVU7eBtGraOMg9bRq6OLaR/ve1PzfXZ1EQvG07uyc7m/qF8Kgb6+qnbeCo1Otar0fd08YzpxiSx0UJiGZotZcidD/fbi1j43iqB1ivr+7JC+P1LmPFepyNopScd8RXic1h/y75tab7Wp9TasOnQwPFLrbe3i+mO1vtHxqHuJvlXng7rzj030oO78D070BtCcf8dkJk7l9N3T/AlktPVd8o4T2zmsnszvrS2f4RtR33T5wNqhCdbX4dHLRz6W/8pmzcu/tuHkDw==</diagram></mxfile>

1
docs/draw.io/Modules.xml Normal file
View file

@ -0,0 +1 @@
<mxfile modified="2019-02-08T04:59:27.033Z" host="www.draw.io" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/9.3.1 Chrome/66.0.3359.181 Electron/3.0.6 Safari/537.36" etag="Kic4OgUTI6yT3TjFu3K7" version="10.1.9" type="device"><diagram id="CDRuDVhlQKBUJFbpxX4l" name="Page-1">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</diagram></mxfile>

1
docs/draw.io/README.md Normal file
View file

@ -0,0 +1 @@
This folder is for the draw.io raw source for the images in the parent directory

View file

@ -0,0 +1 @@
<mxfile modified="2019-02-10T03:40:30.943Z" host="www.draw.io" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/9.3.1 Chrome/66.0.3359.181 Electron/3.0.6 Safari/537.36" etag="BVVYUPB0dM-kGAl1bI9W" version="10.1.9" type="device"><diagram id="W6TN20NKzh2WQxqSpMed" name="Page-1">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</diagram></mxfile>

View file

@ -0,0 +1 @@
<mxfile modified="2019-02-10T04:00:02.532Z" host="www.draw.io" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/9.3.1 Chrome/66.0.3359.181 Electron/3.0.6 Safari/537.36" etag="K0nVuP_f0XyCsGwlqD9i" version="10.2.0" type="device"><diagram id="Jxua7O0Ivqfy6dVKNSXa" name="Page-1">3Vpdc6IwFP01Pu6MSRT00bra7kdndrbd2ecUUsg0EibEqvvrN5SAktSKrHy4Lw5cwg2cnHvuvcEBmq+2twLH4T33CRvAob8doM8DCF0Hqd/UsMsMo/EwMwSC+pkJ7A0P9A/RxnzYmvokKQ2UnDNJ47LR41FEPFmyYSH4pjzsmbPyrDEOiGV48DCzrb+pL0NtBc50f+GO0CDUU0+gm11Y4XywfpMkxD7fHJjQYoDmgnOZHa22c8JS7HJcsvuWR64WDyZIJKvc8HW3RPJncO8+3oLHu7Gcicf4k/byitlav/DMk/SVyt13mkgSEaEfXu5yRARfRz5JnQ4H6GYTUkkeYuylVzeKAsoWyhVTZ0AdPlPG5pxx8XYvWjjL5Xyu7HpaIiTZHn0fUKCk2EX4ikixU0P0DSONqyYWcPX55mCZHG0LD1YIaRvWzAgKz3vw1IHG7wwsoYXlA13FjNyTJMEBjYJGIF0um4N02DWkyIL0asEcdY3lyMLSgo5E/izVTHX2xLj3ooDwcRK+gZmipa4vaTrrG7TqTOs1gGVUM8fEt6TVwE5NztfCI6eDSmIREHmKKfZavIe2IAwrjSs/23twa3c/OFVPvV9XUF5YNDVWLHsnfdehIBuOxu4JR9lLW47eVr94x/qEcCxCLLYqpPykCi8OFt+xmHFABcxoEKljT628ClZ0k6hYTMOXPEs9Oo0yqjLuTA+VPL4sh0BFDsHWOATH5aUfOzU5ZJLRctQwh1w75+0iryFtXjiX0ubeifPEwnHOIyk4Y0Q0iOjlsl3/yrHpVea7SUWtclvTKseQGFBXqyxHsF2tyqevyAif4hWP/MeQRiUqgBIV4KgxKlRNW5PWqOAaQY7qUmFq5L8ijbVFBbvvLRqLvfAOoMMU8DdP6VEgi9W9AvntPqMBux2+wd6LipzeVgWjSc+qAmD3v78S8pFo8ZhEdqoqJbWGxKpqo9Ze4gLDqZFw6nZqwKzXLU9N69V5zXvnqatqFQOOBGQLLVcR7P/aclmOmubC2OLClxWOr01cwdDpWl3tDZCPgqovHUK+/qeDq739DNcMrmHdwtAMLtNRw8EFjxWGJO3Ar/XbSPeVTB5a//9mI6zatrWX+gAy6JBLyNl1kOGo2ORpKzrtelinvSVnfo/3G52+dRbQLii/TZvE8nLaZmIJJp2D+X5Flu7bNr6F0GCB1j2u5xVonXc9sHJlNm5N+6HRA0M0qaf9Zv8Ekduu9tufmvq6F1KZB7DFr9YGD5yaJYBJA9NP0yywP5R9RIG+9Gx5uu0TI5Dx9wMwrtmzWY4u9l1Hne7/H5cN3//JEC3+Ag==</diagram></mxfile>

View file

@ -0,0 +1 @@
<mxfile modified="2019-02-10T04:02:43.187Z" host="www.draw.io" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/9.3.1 Chrome/66.0.3359.181 Electron/3.0.6 Safari/537.36" etag="sryRBrGrWx2Xdk4-LGi-" version="10.1.9" type="device"><diagram id="UKgcjDadpjXdOPNuiZzW" name="Page-1">7VrbcqM4EP0aV+0+ZIqLufgxduzZS7I7Nc5Udh9lkG0qAlFCTux8/TYgDEgY34jHSW0eUqjRBdSnj0437pmjcP2VoXj5QH1Meobmr3vmXc8wHNuE/6lhkxv6lpYbFizwc5NeGqbBGxbGotsq8HFS68gpJTyI60aPRhH2eM2GGKOv9W5zSuqrxmiBFcPUQ0S1PgU+Xwqrbg/KG7/hYLEUS7uGk98IUdFZvEmyRD59rZjMcc8cMUp5fhWuR5ike1fsSz5usuPu9sEYjvghA7DrJrPX5NZ/mv/59Pi34Zhvf9xY+SwviKzECyc48nuGTWDO4YzB1SK9CnGSpDuVvwnfFNsDnW/TXYaWR1CSBB50XvKQgEGHyxfMeAC7eUuCRQS2MPD9dOyQoBkmQ+Q9LxhdRf6IEsrgfkSj9K76buJ1E7piHm55IUO8EUdsgXlLR1PMiP0aAMTefcU0xJxtoMNr6fYCu8uKwwsbwwTx4KUOGyTQt9hOt13hGw3g3QxtXUwj5hFxYhbzFlPkby5GVd0sT2RJE2nSRPnOKBOBG9Gm0i1OOyS7H9h06+voTg1+cJHPWLQqe1qaMogeAVddV/CK4jhDrKaCllMw0xWf0fXRwG3HpwzrGeWchmcBt8DjfuC6VwVcW8KBIePtUOA6pgQoOQI6Am7fkdZxLwHco4lWvtExgi8BVOuqgOpIQDX7JwLVNWTE2xcBarER7wtU5/MA9WApMLguoNp1v/ftU4GqSxPp78OojqRdDPsSQB0oQH3IITmiYUwTVauCAI/Ty1VI7oM5JkGGrxizAJ4Fp5AjwvyttA1flwHH0xhlUHuFHKcOXsg7OIIhbNsmBMVJMMtW1cDCsLdiCcDhO07y9Ca1gixJVxpt05bUOIfJRAqkZ+2AkCIceoY5tieT0agtJlJdgtetGC7IRYKGaFYQrmsNEDdk0qzCueLwVn9OH260UbB6/DHz3fFY/74Zv/11U2Cz4k/Fg5V9F5gEszXsWXeSIynjS7qgESJVV7YTjbTZ8+xvu9nKztb3vwWiu11g1XWI1uSDBhd04IHm1En1gIio4SogPmzhp4uoyaS7iDJk2v7pIaUy5EePqErh5ICIcg4LKPPdAkrNVtvEEYVE9hhlBEMnQfpEGdJP10nFSbpXJxUEcSU6SZcrHe6JOkmXdJIpI6IjnaTLJRP9AjqpwFwNhLlmT2IUFap9llI8dCtlPQpTYo5mSZyhKx8Cj1Ad1TTTLyjZRN6vO0dIAQAcwOuoZymro5LuVWJCouziAdYzHtpZjzk2t2iPY5WxRNlZPG3P2ENQN9oX3aiT1E2/k2BwGyctxtP5PMFcAls38DIVeCUrzwMUtVHdjFDvuZOCW0mC+nl1Y+1AEtSvK1k0JSFvDk4kwe3AXeWRrkhQIlu9fwkSVMtvU0COkLePKHlW0PrhtW2X2aJ81F5U2zZ71D5TW11ePV1XOVSuACgy+FDiMCTi0GUZ1hVxSPmVfokqk6HmUHgNIcpBIWlbpfMBJU0RPmdLGlA0fcc+D5LvL1NMNRXLyT+IFsCqnAER/1/gaD8ETOfaDgFz18eKho/B6VdicHbjPZH0NEhW4OqpaJYVkHFprfq1CGGC5yIn8mDB+6x1Z+RHjiyAsxDGvnAm+IZt/tkeUND4V9zpJOgP/snD2b9lqBO1c9jJcvRnB6txmcbzQH3G/hfHcm1Ds92BbVm6UZ9LVtE7zrAT6Km5+N2UpH/sUp255/uD5DyziUxULpH90h2VqBnC7yGK0w3LGOXzHQxju6uDwRr8xIOhOZ7UqsSHjyfrmHjaBs+eeJK/CHcXT67igXsKcnbKKfuEn2a71Fl99+p0lpoFTUMePzIUJTGEx2f052jUlT/ln0dcAT0e8GHqeulxT6lqICkL+92YEJrlz7dzKVj+Bt4c/wc=</diagram></mxfile>

View file

@ -0,0 +1,14 @@
K-9 Mail is an open source email client with support for multiple accounts, search, IMAP push email, multi-folder sync, flagging, filing, signatures, BCC-self, PGP/MIME & more!
K-9 supports IMAP, POP3 and Exchange 2003/2007 (with WebDAV).
Install the app "OpenKeychain: Easy PGP" to encrypt/decrypt your emails using OpenPGP.
K-9 is a community developed project. If you're interested in helping to make the most popular open source email client on Android even better, please join us! You can find our bug tracker, source code, mailing list and wiki at https://github.com/thundernest/k-9
We're always happy to welcome new developers, designers, documenters, bug triagers and friends.
If you're having trouble with K-9, please report a bug at https://github.com/thundernest/k-9 rather than just leaving a one-star review. We don't mind you telling the world that you're frustrated, but if you use our bug tracker, we have a better chance of fixing whatever's giving you a hard time.
You can find K-9's release notes at: https://bit.ly/new-k9
(People sometimes call K-9: K9, K9 Mail, K-9 Email, K9 Email, K9 E-Mail, k9mail or k9email.)

View file

@ -0,0 +1 @@
K-9 Mail is a 100% free and open source email client for Android.