Skip to content

Instantly share code, notes, and snippets.

@snusnu
Created September 25, 2012 10:25
Show Gist options
  • Save snusnu/3781072 to your computer and use it in GitHub Desktop.
Save snusnu/3781072 to your computer and use it in GitHub Desktop.
Save to file and open at http://www.diagram.ly
<mxGraphModel dx="1626" dy="1969" scale="0.833" grid="1" guides="1" tooltips="1" connect="1" fold="1" page="0" pageScale="1" pageWidth="826" pageHeight="1169" style="default-style2"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="46" value="" style="rounded=1" parent="1" vertex="1"><mxGeometry x="10" y="-10" width="770" height="340" as="geometry"/></mxCell><mxCell id="47" value="Address.belongs_to :user, User" style="text;fontFamily=Courier New;strokeWidth=1;fillColor=#999999;fontStyle=1" parent="1" vertex="1"><mxGeometry x="270" y="6.500000000000078" width="250" height="29" as="geometry"/></mxCell><mxCell id="48" value="" style="group;fontFamily=Courier New" parent="1" vertex="1" connectable="0"><mxGeometry x="125" y="86" width="520" height="80" as="geometry"/></mxCell><mxCell id="13" value="addresses__X__users" style="rhombus;fontFamily=Courier New" parent="48" vertex="1"><mxGeometry x="170" width="170" height="70" as="geometry"/></mxCell><mxCell id="27" value=":user" style="fontFamily=Courier New;fillColor=#E6E6E6" parent="48" vertex="1"><mxGeometry x="20" y="24.500000000000078" width="40" height="40" as="geometry"/></mxCell><mxCell id="2-186" value=":relation" style="fontFamily=Courier New;fillColor=#E6E6E6" parent="48" vertex="1"><mxGeometry x="59.99999999999981" y="44.50000000000008" width="65" height="20" as="geometry"/></mxCell><mxCell id="2-187" value=":edge" style="fontFamily=Courier New;fillColor=#E6E6E6" parent="48" vertex="1"><mxGeometry x="59.9999999999998" y="24.500000000000078" width="65" height="20" as="geometry"/></mxCell><mxCell id="2-188" value="" style="edgeStyle=none;endArrow=none;exitX=1;exitY=0.5;entryX=0;entryY=0.5" parent="48" source="2-187" target="13" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-182" value="1.1" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="360" y="51" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-183" value="addresses__X__users" style="ellipse;fillColor=#99CCFF;fontFamily=Courier New" parent="1" vertex="1"><mxGeometry x="300" y="240.00000000000003" width="150" height="79.99999999999997" as="geometry"/></mxCell><mxCell id="2-184" value="" style="arrow;entryX=0.5;entryY=0" parent="1" source="13" target="2-183" edge="1"><mxGeometry x="-114.28516437147917" y="-1092.2476911160102" width="100" height="100" as="geometry"><mxPoint x="244.0819743336102" y="141.0000000000001" as="sourcePoint"/><mxPoint x="380" y="240" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-185" value="1.2" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="400" y="170.4999999999999" width="30" height="30" as="geometry"/></mxCell><mxCell id="5" value="addresses" style="ellipse;fillColor=#CCFF99;fontFamily=Courier New" parent="1" vertex="1"><mxGeometry x="65" y="90.50000000000007" width="80" height="80" as="geometry"/></mxCell><mxCell id="2-190" value="1.3" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="259.9999999999998" y="200.4999999999999" width="30" height="30" as="geometry"/></mxCell><mxCell id="7" value="users" style="ellipse;fillColor=#CCFF99;fontFamily=Courier New" parent="1" vertex="1"><mxGeometry x="620" y="81" width="80" height="80" as="geometry"/></mxCell><mxCell id="24" value="" style="endArrow=none;entryX=1;entryY=0.5" parent="1" source="7" target="13" edge="1"><mxGeometry x="15" y="-9" as="geometry"/></mxCell><mxCell id="2-192" value="" style="edgeStyle=none;endArrow=open;" parent="1" target="2-183" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint x="250" y="150" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-193" value="" style="rounded=1" parent="1" vertex="1"><mxGeometry x="15" y="350" width="770" height="350.83333333333326" as="geometry"/></mxCell><mxCell id="2-194" value="Address.belongs_to :user, User&#xa;User.has 1, :address, Address" style="text;fontFamily=Courier New;strokeWidth=1;fillColor=#999999;fontStyle=1" parent="1" vertex="1"><mxGeometry x="275" y="359.9999999999999" width="250" height="42.66666666666663" as="geometry"/></mxCell><mxCell id="2-195" value="" style="group" parent="1" vertex="1" connectable="0"><mxGeometry x="130" y="456.8333333333333" width="520" height="80" as="geometry"/></mxCell><mxCell id="2-196" value="addresses__X__users" style="rhombus;fontFamily=Courier New" parent="2-195" vertex="1"><mxGeometry x="160" width="180" height="70" as="geometry"/></mxCell><mxCell id="2-197" value=":user" style="fontFamily=Courier New;fillColor=#E6E6E6" parent="2-195" vertex="1"><mxGeometry x="20" y="24.500000000000078" width="40" height="40" as="geometry"/></mxCell><mxCell id="2-198" value=":relation" style="fontFamily=Courier New;fillColor=#E6E6E6" parent="2-195" vertex="1"><mxGeometry x="59.99999999999981" y="44.50000000000008" width="65" height="20" as="geometry"/></mxCell><mxCell id="2-199" value=":edge" style="fontFamily=Courier New;fillColor=#E6E6E6" parent="2-195" vertex="1"><mxGeometry x="59.9999999999998" y="24.500000000000078" width="65" height="20" as="geometry"/></mxCell><mxCell id="2-200" value="" style="edgeStyle=none;endArrow=none;exitX=1;exitY=0.5;entryX=0;entryY=0.5" parent="2-195" source="2-199" target="2-196" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-210" value=":address" style="fontFamily=Courier New;fillColor=#E6E6E6" parent="2-195" vertex="1"><mxGeometry x="430" y="24.499999999999698" width="65.00000000000006" height="40" as="geometry"/></mxCell><mxCell id="2-211" value=":edge" style="fontFamily=Courier New;fillColor=#E6E6E6" parent="2-195" vertex="1"><mxGeometry x="365" y="24.499999999999698" width="65" height="20" as="geometry"/></mxCell><mxCell id="2-212" value=":relation" style="fontFamily=Courier New;fillColor=#E6E6E6" parent="2-195" vertex="1"><mxGeometry x="365" y="44.499999999999694" width="65" height="20" as="geometry"/></mxCell><mxCell id="2-215" value="" style="edgeStyle=none;endArrow=none;exitX=1;exitY=0.5" parent="2-195" source="2-196" target="2-211" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-201" value="1.1" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="365" y="421.8333333333333" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-202" value="addresses__X__users" style="ellipse;fillColor=#99CCFF;fontFamily=Courier New" parent="1" vertex="1"><mxGeometry x="310" y="610.8333333333334" width="140" height="80" as="geometry"/></mxCell><mxCell id="2-203" value="" style="arrow;entryX=0.5;entryY=0" parent="1" source="2-196" target="2-202" edge="1"><mxGeometry x="-109.28516437147917" y="-721.4143577826769" width="100" height="100" as="geometry"><mxPoint x="249.0819743336102" y="511.8333333333334" as="sourcePoint"/><mxPoint x="385" y="610.8333333333333" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-204" value="1.2" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="405" y="541.3333333333333" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-205" value="addresses" style="ellipse;fillColor=#CCFF99;fontFamily=Courier New" parent="1" vertex="1"><mxGeometry x="70" y="461.33333333333337" width="80" height="80" as="geometry"/></mxCell><mxCell id="2-206" value="1.3" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="264.9999999999998" y="571.3333333333333" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-207" value="users" style="ellipse;fillColor=#CCFF99;fontFamily=Courier New" parent="1" vertex="1"><mxGeometry x="625" y="461.33333333333303" width="80" height="80" as="geometry"/></mxCell><mxCell id="2-209" value="" style="edgeStyle=none;endArrow=open;" parent="1" target="2-202" edge="1"><mxGeometry x="5" y="370.8333333333333" width="100" height="100" as="geometry"><mxPoint x="255" y="520.8333333333333" as="sourcePoint"/><mxPoint x="105" y="370.8333333333333" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-216" value="" style="edgeStyle=none;endArrow=open;exitX=0;exitY=0.75" parent="1" source="2-212" target="2-202" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint x="500" y="520" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-217" value="2.2" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="465" y="556.3333333333333" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-218" value="2.1" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="554.9999999999998" y="446.3333333333336" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-219" value="" style="rounded=1" parent="1" vertex="1"><mxGeometry x="20" y="730" width="770" height="350.83333333333326" as="geometry"/></mxCell><mxCell id="2-220" value="Address.belongs_to :user, User&#xa;User.has 0..n, :addresses, Address" style="text;fontFamily=Courier New;strokeWidth=1;fillColor=#999999;fontStyle=1" parent="1" vertex="1"><mxGeometry x="280" y="739.9999999999999" width="250" height="42.66666666666663" as="geometry"/></mxCell><mxCell id="2-221" value="" style="group" parent="1" vertex="1" connectable="0"><mxGeometry x="135" y="836.8333333333333" width="520" height="80" as="geometry"/></mxCell><mxCell id="2-222" value="addresses__X__users" style="rhombus;fontFamily=Courier New" parent="2-221" vertex="1"><mxGeometry x="170" width="170" height="70" as="geometry"/></mxCell><mxCell id="2-223" value=":user" style="fontFamily=Courier New;fillColor=#E6E6E6" parent="2-221" vertex="1"><mxGeometry x="20" y="24.500000000000078" width="40" height="40" as="geometry"/></mxCell><mxCell id="2-224" value=":relation" style="fontFamily=Courier New;fillColor=#E6E6E6" parent="2-221" vertex="1"><mxGeometry x="59.99999999999981" y="44.50000000000008" width="65" height="20" as="geometry"/></mxCell><mxCell id="2-225" value=":edge" style="fontFamily=Courier New;fillColor=#E6E6E6" parent="2-221" vertex="1"><mxGeometry x="59.9999999999998" y="24.500000000000078" width="65" height="20" as="geometry"/></mxCell><mxCell id="2-226" value="" style="edgeStyle=none;endArrow=none;exitX=1;exitY=0.5;entryX=0;entryY=0.5" parent="2-221" source="2-225" target="2-222" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-227" value=":addresses" style="fontFamily=Courier New;fillColor=#E6E6E6" parent="2-221" vertex="1"><mxGeometry x="430" y="24.499999999999698" width="70" height="40" as="geometry"/></mxCell><mxCell id="2-228" value=":edge" style="fontFamily=Courier New;fillColor=#E6E6E6" parent="2-221" vertex="1"><mxGeometry x="365" y="24.499999999999698" width="65" height="20" as="geometry"/></mxCell><mxCell id="2-229" value=":relation" style="fontFamily=Courier New;fillColor=#E6E6E6" parent="2-221" vertex="1"><mxGeometry x="365" y="44.499999999999694" width="65" height="20" as="geometry"/></mxCell><mxCell id="2-230" value="" style="edgeStyle=none;endArrow=none;exitX=1;exitY=0.5" parent="2-221" source="2-222" target="2-228" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-231" value="1.1" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="370" y="801.8333333333333" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-232" value="addresses__X__users" style="ellipse;fillColor=#99CCFF;fontFamily=Courier New" parent="1" vertex="1"><mxGeometry x="310" y="990.8333333333334" width="150" height="80.00000000000011" as="geometry"/></mxCell><mxCell id="2-233" value="" style="arrow;entryX=0.5;entryY=0" parent="1" source="2-222" target="2-232" edge="1"><mxGeometry x="-104.28516437147917" y="-341.4143577826769" width="100" height="100" as="geometry"><mxPoint x="254.08197433361022" y="891.8333333333335" as="sourcePoint"/><mxPoint x="390" y="990.8333333333333" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-234" value="1.2" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="410" y="921.3333333333333" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-235" value="addresses" style="ellipse;fillColor=#CCFF99;fontFamily=Courier New" parent="1" vertex="1"><mxGeometry x="75" y="841.3333333333334" width="80" height="80" as="geometry"/></mxCell><mxCell id="2-236" value="1.3" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="269.9999999999998" y="951.3333333333333" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-237" value="users" style="ellipse;fillColor=#CCFF99;fontFamily=Courier New" parent="1" vertex="1"><mxGeometry x="635" y="841.333333333333" width="80" height="80" as="geometry"/></mxCell><mxCell id="2-238" value="" style="edgeStyle=none;endArrow=open;" parent="1" target="2-232" edge="1"><mxGeometry x="10" y="750.8333333333333" width="100" height="100" as="geometry"><mxPoint x="260" y="900.833333333333" as="sourcePoint"/><mxPoint x="110" y="750.8333333333333" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-239" value="" style="edgeStyle=none;endArrow=open;exitX=0;exitY=0.75" parent="1" source="2-229" target="2-232" edge="1"><mxGeometry x="5" y="380" width="100" height="100" as="geometry"><mxPoint x="505" y="900" as="sourcePoint"/><mxPoint x="105" y="380" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-240" value="2.2" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="470" y="936.3333333333333" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-241" value="2.1" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="559.9999999999998" y="826.3333333333336" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-369" value="" style="rounded=1" parent="1" vertex="1"><mxGeometry x="-17.499999999999808" y="1138.7499999999952" width="840" height="644.9999999999982" as="geometry"/></mxCell><mxCell id="2-370" value="Song.has 0..n, :tags, Tag, :through =&gt; :song_tags" style="text;fillColor=#B3B3B3;fontFamily=Courier New;fontStyle=1" parent="1" vertex="1"><mxGeometry x="207.50000000000034" y="1163.7499999999911" width="360" height="25.000000000002046" as="geometry"/></mxCell><mxCell id="2-371" value="" style="group;fontFamily=Courier New" parent="1" vertex="1" connectable="0"><mxGeometry x="32.50000000000019" y="1253.749999999993" width="770" height="340" as="geometry"/></mxCell><mxCell id="2-372" value="" style="group;fontFamily=Courier New" parent="2-371" vertex="1" connectable="0"><mxGeometry y="20" width="760" height="320" as="geometry"/></mxCell><mxCell id="2-375" value=":tags" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="2-372" vertex="1"><mxGeometry x="80" y="55" width="80" height="40" as="geometry"/></mxCell><mxCell id="2-378" value="2.1" style="ellipse;fillColor=#FF9933" parent="2-372" vertex="1"><mxGeometry x="100" y="190.00000000000182" width="35" height="30" as="geometry"/></mxCell><mxCell id="2-381" value="song_tags__X__songs__X__tags" style="rhombus;fontFamily=Courier New" parent="2-372" vertex="1"><mxGeometry x="140" y="160" width="210" height="90" as="geometry"/></mxCell><mxCell id="2-384" value="2.2" style="ellipse;fillColor=#FF9933" parent="2-372" vertex="1"><mxGeometry x="450" y="145" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-385" value=":edge" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="2-372" vertex="1"><mxGeometry x="160" y="75" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-386" value=":relation" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="2-372" vertex="1"><mxGeometry x="160" y="55" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-390" value="2.3" style="ellipse;fillColor=#FF9933" parent="2-372" vertex="1"><mxGeometry x="357.5" y="15" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-391" value="song_tags__X__tags" style="ellipse;fillColor=#99CCFF;fontFamily=Courier New" parent="2-372" vertex="1"><mxGeometry x="387.5" y="225" width="135" height="80" as="geometry"/></mxCell><mxCell id="2-430" value="" style="edgeStyle=none;endArrow=none;entryX=0.5;entryY=0" parent="2-372" source="2-381" target="2-385" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-403" value="tags" style="ellipse;fillColor=#CCFF99;fontFamily=Courier New" parent="2-372" vertex="1"><mxGeometry x="630" y="200" width="80" height="80" as="geometry"/></mxCell><mxCell id="2-428" value="" style="edgeStyle=none;endArrow=none;entryX=1;entryY=1" parent="2-372" source="2-391" target="2-381" edge="1"><mxGeometry x="-209.99999999999997" y="-2274.9999999999977" width="100" height="100" as="geometry"><mxPoint x="-209.99999999999997" y="-2174.9999999999977" as="sourcePoint"/><mxPoint x="-109.99999999999997" y="-2274.9999999999977" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-394" value="song_tags__X__songs__X__tags" style="ellipse;fillColor=#99CCFF;fontFamily=Courier New" parent="2-371" vertex="1"><mxGeometry x="552.5" y="45" width="217.5" height="80" as="geometry"/></mxCell><mxCell id="2-395" value="" style="arrow" parent="2-371" source="2-381" target="2-394" edge="1"><mxGeometry x="103.08917197452229" y="-1093.9490445859874" width="100" height="100" as="geometry"><mxPoint x="540" y="230" as="sourcePoint"/><mxPoint x="681.0628394262785" y="175.9759338367444" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-396" value="" style="edgeStyle=none;endArrow=open;exitX=0;exitY=0.5" parent="2-371" source="2-386" target="2-394" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-404" value="song_tags" style="ellipse;fillColor=#CCFF99;fontFamily=Courier New" parent="1" vertex="1"><mxGeometry x="192.50000000000034" y="1633.749999999993" width="80" height="80" as="geometry"/></mxCell><mxCell id="2-422" value="song_tags__X__tags" style="rhombus;fontFamily=Courier New" parent="1" vertex="1"><mxGeometry x="542.5000000000001" y="1638.7499999999957" width="160" height="80" as="geometry"/></mxCell><mxCell id="2-423" value="" style="edgeStyle=none;endArrow=none;exitX=1;exitY=0.5;entryX=0.5;entryY=1" parent="1" source="2-422" target="2-403" edge="1"><mxGeometry x="-37.49999999999981" y="-166.25000000000605" width="100" height="100" as="geometry"><mxPoint x="-37.49999999999981" y="-66.25000000000594" as="sourcePoint"/><mxPoint x="62.50000000000019" y="-166.25000000000605" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-424" value="" style="edgeStyle=none;endArrow=none;exitX=0;exitY=0.5" parent="1" source="2-422" target="2-404" edge="1"><mxGeometry x="-37.49999999999981" y="-166.25000000000605" width="100" height="100" as="geometry"><mxPoint x="432.50000000000034" y="1623.749999999993" as="sourcePoint"/><mxPoint x="62.50000000000019" y="-166.25000000000605" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-425" value="1.1" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="607.5000000000002" y="1723.749999999993" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-426" value="" style="arrow;" parent="1" source="2-422" target="2-391" edge="1"><mxGeometry x="-3.10521569021504" y="272.51863688882105" width="100" height="100" as="geometry"><mxPoint x="437.81194407309874" y="1595.4772167704766" as="sourcePoint"/><mxPoint x="577.188055926902" y="1543.749999999993" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-427" value="1.2" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="525.0000000000003" y="1623.7499999999948" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-373" value="songs" style="ellipse;fillColor=#CCFF99;fontFamily=Courier New" parent="1" vertex="1"><mxGeometry x="2.4999999999999645" y="1293.749999999993" width="110" height="110" as="geometry"/></mxCell><mxCell id="2-439" value="" style="rounded=1" parent="1" vertex="1"><mxGeometry x="-22.499999999999808" y="1840.749999999996" width="985" height="644.9999999999982" as="geometry"/></mxCell><mxCell id="2-440" value="Song.has 0..n, :tags, Tag, :through =&gt; :song_tags&#xa;Tag.has 0..n, :songs, Song, :through =&gt; :song_tags" style="text;fillColor=#B3B3B3;fontFamily=Courier New;fontStyle=1" parent="1" vertex="1"><mxGeometry x="202.50000000000034" y="1878.2499999999927" width="360" height="43.00000000000409" as="geometry"/></mxCell><mxCell id="2-441" value="" style="group;fontFamily=Courier New" parent="1" vertex="1" connectable="0"><mxGeometry x="27.500000000000192" y="1968.2499999999945" width="825" height="370.0000000000018" as="geometry"/></mxCell><mxCell id="2-442" value="" style="group;fontFamily=Courier New" parent="2-441" vertex="1" connectable="0"><mxGeometry y="20" width="825" height="350.0000000000018" as="geometry"/></mxCell><mxCell id="2-443" value=":tags" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="2-442" vertex="1"><mxGeometry x="80" y="55" width="80" height="40" as="geometry"/></mxCell><mxCell id="2-444" value="2.1" style="ellipse;fillColor=#FF9933" parent="2-442" vertex="1"><mxGeometry x="100" y="190.00000000000182" width="35" height="30" as="geometry"/></mxCell><mxCell id="2-445" value="song_tags__X__songs__X__tags" style="rhombus;fontFamily=Courier New" parent="2-442" vertex="1"><mxGeometry x="140" y="160" width="210" height="90" as="geometry"/></mxCell><mxCell id="2-446" value="2.2" style="ellipse;fillColor=#FF9933" parent="2-442" vertex="1"><mxGeometry x="325" y="120.00000000000182" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-447" value=":edge" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="2-442" vertex="1"><mxGeometry x="160" y="75" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-448" value=":relation" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="2-442" vertex="1"><mxGeometry x="160" y="55" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-449" value="2.3" style="ellipse;fillColor=#FF9933" parent="2-442" vertex="1"><mxGeometry x="245" y="20" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-450" value="song_tags__X__tags" style="ellipse;fillColor=#99CCFF;fontFamily=Courier New" parent="2-442" vertex="1"><mxGeometry x="389.9999999999998" y="110.00000000000182" width="135" height="80" as="geometry"/></mxCell><mxCell id="2-451" value="" style="edgeStyle=none;endArrow=none;entryX=0.5;entryY=0" parent="2-442" source="2-445" target="2-447" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-453" value="" style="edgeStyle=none;endArrow=none;" parent="2-442" source="2-450" target="2-445" edge="1"><mxGeometry x="-209.99999999999997" y="-2274.9999999999977" width="100" height="100" as="geometry"><mxPoint x="-209.99999999999997" y="-2174.9999999999977" as="sourcePoint"/><mxPoint x="-109.99999999999997" y="-2274.9999999999977" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-468" value=":songs" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="2-442" vertex="1"><mxGeometry x="745" y="40" width="80" height="40" as="geometry"/></mxCell><mxCell id="2-469" value=":relation" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="2-442" vertex="1"><mxGeometry x="675" y="40" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-470" value=":edge" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="2-442" vertex="1"><mxGeometry x="675" y="60" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-472" value="song_tags__X__songs" style="rhombus;fontFamily=Courier New" parent="2-442" vertex="1"><mxGeometry y="253.00000000000273" width="165.0000000000001" height="80" as="geometry"/></mxCell><mxCell id="2-476" value="song_tags__X__songs" style="ellipse;fillColor=#99CCFF;fontFamily=Courier New" parent="2-442" vertex="1"><mxGeometry x="290" y="270.0000000000018" width="135" height="80" as="geometry"/></mxCell><mxCell id="2-478" value="" style="arrow;exitX=1;exitY=0.5" parent="2-442" source="2-472" target="2-476" edge="1"><mxGeometry x="-77.66834378200971" y="-3693.0594084816416" width="100" height="100" as="geometry"><mxPoint x="157.4999999999998" y="360.00000000000045" as="sourcePoint"/><mxPoint x="255.40058984516216" y="246.05103144413215" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-481" value="3.2" style="ellipse;fillColor=#FF9933" parent="2-442" vertex="1"><mxGeometry x="189.9999999999998" y="253.00000000000182" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-482" value="song_tags__X__songs__X__tags" style="rhombus;fontFamily=Courier New" parent="2-442" vertex="1"><mxGeometry x="530" y="178.00000000000182" width="210" height="90" as="geometry"/></mxCell><mxCell id="2-483" value="" style="edgeStyle=none;endArrow=none;exitX=1;exitY=0.5;entryX=0;entryY=1" parent="2-442" source="2-476" target="2-482" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-484" value="" style="edgeStyle=none;endArrow=none;exitX=1;exitY=0" parent="2-442" source="2-482" target="2-470" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-486" value="4.1" style="ellipse;fillColor=#FF9933" parent="2-442" vertex="1"><mxGeometry x="620" y="270.0000000000018" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-487" value="4.2" style="ellipse;fillColor=#FF9933" parent="2-442" vertex="1"><mxGeometry x="555" y="85" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-489" value="4.3" style="ellipse;fillColor=#FF9933" parent="2-442" vertex="1"><mxGeometry x="580" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-463" value="1.2" style="ellipse;fillColor=#FF9933" parent="2-442" vertex="1"><mxGeometry x="505.0000000000001" y="310.0000000000018" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-454" value="song_tags__X__songs__X__tags" style="ellipse;fillColor=#99CCFF;fontFamily=Courier New" parent="2-441" vertex="1"><mxGeometry x="295" width="217.5" height="80" as="geometry"/></mxCell><mxCell id="2-455" value="" style="arrow" parent="2-441" source="2-445" target="2-454" edge="1"><mxGeometry x="103.08917197452229" y="-1093.9490445859874" width="100" height="100" as="geometry"><mxPoint x="540" y="230" as="sourcePoint"/><mxPoint x="681.0628394262785" y="175.9759338367444" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-456" value="" style="edgeStyle=none;endArrow=open;exitX=0;exitY=0.5" parent="2-441" source="2-448" target="2-454" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-485" value="" style="arrow;entryX=1;entryY=1" parent="2-441" source="2-482" target="2-454" edge="1"><mxGeometry x="22.717588709043753" y="-1161.899399245907" width="100" height="100" as="geometry"><mxPoint x="633.9717405694716" y="212.5021766312243" as="sourcePoint"/><mxPoint x="536.0282594305281" y="27.4978233687757" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-488" value="" style="edgeStyle=none;endArrow=open;exitX=1;exitY=0.5;entryX=1;entryY=0.5" parent="2-441" source="2-469" target="2-454" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-457" value="song_tags" style="ellipse;fillColor=#CCFF99;fontFamily=Courier New" parent="1" vertex="1"><mxGeometry x="187.50000000000034" y="2348.2499999999945" width="80" height="80" as="geometry"/></mxCell><mxCell id="2-458" value="song_tags__X__tags" style="rhombus;fontFamily=Courier New" parent="1" vertex="1"><mxGeometry x="537.5000000000001" y="2353.2499999999973" width="165.0000000000001" height="80" as="geometry"/></mxCell><mxCell id="2-460" value="" style="edgeStyle=none;endArrow=none;exitX=0;exitY=0.5" parent="1" source="2-458" target="2-457" edge="1"><mxGeometry x="-42.49999999999981" y="548.2499999999956" width="100" height="100" as="geometry"><mxPoint x="427.50000000000034" y="2338.2499999999945" as="sourcePoint"/><mxPoint x="57.50000000000019" y="548.2499999999956" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-461" value="1.1" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="707.5000000000002" y="2393.2499999999964" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-462" value="" style="arrow;" parent="1" source="2-458" target="2-450" edge="1"><mxGeometry x="-8.10521569021504" y="987.0186368888227" width="100" height="100" as="geometry"><mxPoint x="432.81194407309874" y="2309.977216770478" as="sourcePoint"/><mxPoint x="572.188055926902" y="2258.2499999999945" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-464" value="songs" style="ellipse;fillColor=#CCFF99;fontFamily=Courier New" parent="1" vertex="1"><mxGeometry x="-2.5000000000000355" y="2008.2499999999945" width="110" height="110" as="geometry"/></mxCell><mxCell id="2-452" value="tags" style="ellipse;fillColor=#CCFF99;fontFamily=Courier New" parent="1" vertex="1"><mxGeometry x="852.5000000000002" y="2008.2499999999945" width="80" height="80" as="geometry"/></mxCell><mxCell id="2-471" value="" style="edgeStyle=none;endArrow=none;exitX=1;exitY=0.5" parent="1" source="2-458" target="2-452" edge="1"><mxGeometry x="-37.49999999999978" y="-798.7500000000033" width="100" height="100" as="geometry"><mxPoint x="-37.49999999999978" y="-698.7500000000033" as="sourcePoint"/><mxPoint x="62.50000000000022" y="-798.7500000000033" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-473" value="" style="edgeStyle=none;endArrow=none;" parent="1" source="2-472" target="2-457" edge="1"><mxGeometry x="-37.49999999999978" y="-798.7500000000033" width="100" height="100" as="geometry"><mxPoint x="-37.49999999999978" y="-698.7500000000033" as="sourcePoint"/><mxPoint x="62.50000000000022" y="-798.7500000000033" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-474" value="" style="edgeStyle=none;endArrow=none;entryX=0.5;entryY=1" parent="1" source="2-472" target="2-464" edge="1"><mxGeometry x="-37.49999999999978" y="-798.7500000000033" width="100" height="100" as="geometry"><mxPoint x="-37.49999999999978" y="-698.7500000000033" as="sourcePoint"/><mxPoint x="62.50000000000022" y="-798.7500000000033" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-475" value="3.1" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="-12.499999999999808" y="2266.2499999999964" width="35" height="30" as="geometry"/></mxCell><mxCell id="2-491" value="" style="rounded=1" parent="1" vertex="1"><mxGeometry x="-22.499999999999808" y="2508.7500000000014" width="985" height="712.4999999999955" as="geometry"/></mxCell><mxCell id="2-492" value="Song.has 0..n, :tags, Tag, :through =&gt; :song_tags&#xa;Tag.has 0..n, :songs, Song, :through =&gt; :song_tags&#xa;SongTag.belongs_to :song, Song&#xa;SongTag.belongs_to :tag, Tag" style="text;fillColor=#B3B3B3;fontFamily=Courier New;fontStyle=1" parent="1" vertex="1"><mxGeometry x="251.25000000000034" y="2524.749999999996" width="371.2499999999999" height="76.50000000000091" as="geometry"/></mxCell><mxCell id="2-493" value="" style="group;fontFamily=Courier New" parent="1" vertex="1" connectable="0"><mxGeometry x="27.500000000000192" y="2636.25" width="825" height="370.0000000000018" as="geometry"/></mxCell><mxCell id="2-494" value="" style="group;fontFamily=Courier New" parent="2-493" vertex="1" connectable="0"><mxGeometry y="20" width="825" height="350.0000000000018" as="geometry"/></mxCell><mxCell id="2-495" value=":tags" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="2-494" vertex="1"><mxGeometry x="80" y="55" width="80" height="40" as="geometry"/></mxCell><mxCell id="2-496" value="2.1" style="ellipse;fillColor=#FF9933" parent="2-494" vertex="1"><mxGeometry x="100" y="190.00000000000182" width="35" height="30" as="geometry"/></mxCell><mxCell id="2-497" value="song_tags__X__songs__X__tags" style="rhombus;fontFamily=Courier New" parent="2-494" vertex="1"><mxGeometry x="140" y="160" width="210" height="90" as="geometry"/></mxCell><mxCell id="2-498" value="2.2" style="ellipse;fillColor=#FF9933" parent="2-494" vertex="1"><mxGeometry x="325" y="120.00000000000182" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-499" value=":edge" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="2-494" vertex="1"><mxGeometry x="160" y="75" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-500" value=":relation" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="2-494" vertex="1"><mxGeometry x="160" y="55" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-501" value="2.3" style="ellipse;fillColor=#FF9933" parent="2-494" vertex="1"><mxGeometry x="245" y="20" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-502" value="song_tags__X__tags" style="ellipse;fillColor=#99CCFF;fontFamily=Courier New" parent="2-494" vertex="1"><mxGeometry x="389.9999999999998" y="110.00000000000182" width="135" height="80" as="geometry"/></mxCell><mxCell id="2-503" value="" style="edgeStyle=none;endArrow=none;entryX=0.5;entryY=0" parent="2-494" source="2-497" target="2-499" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-504" value="" style="edgeStyle=none;endArrow=none;" parent="2-494" source="2-502" target="2-497" edge="1"><mxGeometry x="-209.99999999999997" y="-2274.9999999999977" width="100" height="100" as="geometry"><mxPoint x="-209.99999999999997" y="-2174.9999999999977" as="sourcePoint"/><mxPoint x="-109.99999999999997" y="-2274.9999999999977" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-505" value=":songs" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="2-494" vertex="1"><mxGeometry x="745" y="40" width="80" height="40" as="geometry"/></mxCell><mxCell id="2-506" value=":relation" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="2-494" vertex="1"><mxGeometry x="675" y="40" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-507" value=":edge" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="2-494" vertex="1"><mxGeometry x="675" y="60" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-508" value="song_tags__X__songs" style="rhombus;fontFamily=Courier New" parent="2-494" vertex="1"><mxGeometry y="253.00000000000273" width="165.0000000000001" height="80" as="geometry"/></mxCell><mxCell id="2-509" value="song_tags__X__songs" style="ellipse;fillColor=#99CCFF;fontFamily=Courier New" parent="2-494" vertex="1"><mxGeometry x="290" y="270.0000000000018" width="135" height="80" as="geometry"/></mxCell><mxCell id="2-510" value="" style="arrow;exitX=1;exitY=0.5" parent="2-494" source="2-508" target="2-509" edge="1"><mxGeometry x="-77.66834378200971" y="-3693.0594084816416" width="100" height="100" as="geometry"><mxPoint x="157.4999999999998" y="360.00000000000045" as="sourcePoint"/><mxPoint x="255.40058984516216" y="246.05103144413215" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-511" value="3.2" style="ellipse;fillColor=#FF9933" parent="2-494" vertex="1"><mxGeometry x="189.9999999999998" y="253.00000000000182" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-512" value="song_tags__X__songs__X__tags" style="rhombus;fontFamily=Courier New" parent="2-494" vertex="1"><mxGeometry x="530" y="178.00000000000182" width="210" height="90" as="geometry"/></mxCell><mxCell id="2-513" value="" style="edgeStyle=none;endArrow=none;exitX=1;exitY=0.5;entryX=0;entryY=1" parent="2-494" source="2-509" target="2-512" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-514" value="" style="edgeStyle=none;endArrow=none;exitX=1;exitY=0" parent="2-494" source="2-512" target="2-507" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-515" value="4.1" style="ellipse;fillColor=#FF9933" parent="2-494" vertex="1"><mxGeometry x="620" y="270.0000000000018" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-516" value="4.2" style="ellipse;fillColor=#FF9933" parent="2-494" vertex="1"><mxGeometry x="555" y="85" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-517" value="4.3" style="ellipse;fillColor=#FF9933" parent="2-494" vertex="1"><mxGeometry x="580" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-519" value="song_tags__X__songs__X__tags" style="ellipse;fillColor=#99CCFF;fontFamily=Courier New" parent="2-493" vertex="1"><mxGeometry x="295" width="217.5" height="80" as="geometry"/></mxCell><mxCell id="2-520" value="" style="arrow" parent="2-493" source="2-497" target="2-519" edge="1"><mxGeometry x="103.08917197452229" y="-1093.9490445859874" width="100" height="100" as="geometry"><mxPoint x="540" y="230" as="sourcePoint"/><mxPoint x="681.0628394262785" y="175.9759338367444" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-521" value="" style="edgeStyle=none;endArrow=open;exitX=0;exitY=0.5" parent="2-493" source="2-500" target="2-519" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-522" value="" style="arrow;entryX=1;entryY=1" parent="2-493" source="2-512" target="2-519" edge="1"><mxGeometry x="22.717588709043753" y="-1161.899399245907" width="100" height="100" as="geometry"><mxPoint x="633.9717405694716" y="212.5021766312243" as="sourcePoint"/><mxPoint x="536.0282594305281" y="27.4978233687757" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-523" value="" style="edgeStyle=none;endArrow=open;exitX=1;exitY=0.5;entryX=1;entryY=0.5" parent="2-493" source="2-506" target="2-519" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-524" value="song_tags" style="ellipse;fillColor=#CCFF99;fontFamily=Courier New" parent="1" vertex="1"><mxGeometry x="70.00000000000023" y="3111.2499999999964" width="80" height="80" as="geometry"/></mxCell><mxCell id="2-525" value="song_tags__X__tags" style="rhombus;fontFamily=Courier New" parent="1" vertex="1"><mxGeometry x="615.0000000000003" y="3121.2499999999973" width="165.0000000000001" height="80" as="geometry"/></mxCell><mxCell id="2-526" value="" style="edgeStyle=none;endArrow=none;exitX=0;exitY=0.5;entryX=0;entryY=0.5" parent="1" source="2-525" target="2-537" edge="1"><mxGeometry x="-42.49999999999981" y="1216.250000000001" width="100" height="100" as="geometry"><mxPoint x="427.50000000000034" y="3006.25" as="sourcePoint"/><mxPoint x="57.50000000000019" y="1216.250000000001" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-527" value="1.1" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="797.5000000000002" y="3141.2499999999964" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-528" value="" style="arrow;" parent="1" source="2-525" target="2-502" edge="1"><mxGeometry x="-8.10521569021504" y="1655.0186368888285" width="100" height="100" as="geometry"><mxPoint x="432.81194407309874" y="2977.9772167704837" as="sourcePoint"/><mxPoint x="572.188055926902" y="2926.25" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-529" value="songs" style="ellipse;fillColor=#CCFF99;fontFamily=Courier New" parent="1" vertex="1"><mxGeometry x="-2.5000000000000355" y="2676.25" width="110" height="110" as="geometry"/></mxCell><mxCell id="2-530" value="tags" style="ellipse;fillColor=#CCFF99;fontFamily=Courier New" parent="1" vertex="1"><mxGeometry x="852.5000000000002" y="2676.25" width="80" height="80" as="geometry"/></mxCell><mxCell id="2-531" value="" style="edgeStyle=none;endArrow=none;exitX=1;exitY=0.5" parent="1" source="2-525" target="2-530" edge="1"><mxGeometry x="-37.49999999999978" y="-130.74999999999784" width="100" height="100" as="geometry"><mxPoint x="-37.49999999999978" y="-30.74999999999784" as="sourcePoint"/><mxPoint x="62.50000000000022" y="-130.74999999999784" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-532" value="" style="edgeStyle=none;endArrow=none;" parent="1" source="2-508" target="2-543" edge="1"><mxGeometry x="-37.49999999999978" y="-130.74999999999784" width="100" height="100" as="geometry"><mxPoint x="-37.49999999999978" y="-30.74999999999784" as="sourcePoint"/><mxPoint x="62.50000000000022" y="-130.74999999999784" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-533" value="" style="edgeStyle=none;endArrow=none;entryX=0.5;entryY=1" parent="1" source="2-508" target="2-529" edge="1"><mxGeometry x="-37.49999999999978" y="-130.74999999999784" width="100" height="100" as="geometry"><mxPoint x="-37.49999999999978" y="-30.74999999999784" as="sourcePoint"/><mxPoint x="62.50000000000022" y="-130.74999999999784" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-534" value="3.1" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="-12.499999999999808" y="2934.250000000002" width="35" height="30" as="geometry"/></mxCell><mxCell id="2-535" value=":tag" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="1" vertex="1"><mxGeometry x="150.0000000000002" y="3131.2499999999964" width="80" height="40" as="geometry"/></mxCell><mxCell id="2-536" value=":relation" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="1" vertex="1"><mxGeometry x="230.00000000000023" y="3131.2499999999964" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-537" value=":edge" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="1" vertex="1"><mxGeometry x="230.00000000000023" y="3151.2499999999964" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-538" value="" style="edgeStyle=orthogonalEdgeStyle" parent="1" source="2-536" target="2-502" edge="1"><mxGeometry x="332.5000000000002" y="3041.249999999997" width="100" height="100" as="geometry"><mxPoint x="332.5000000000002" y="3141.249999999997" as="sourcePoint"/><mxPoint x="432.5000000000002" y="3041.249999999997" as="targetPoint"/><Array as="points"/></mxGeometry></mxCell><mxCell id="2-539" value="6.1" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="177.50000000000034" y="3171.2499999999964" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-540" value="6.2" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="455.0000000000001" y="3111.2499999999964" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-541" value=":song" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="1" vertex="1"><mxGeometry x="44.99999999999999" y="3091.249999999997" width="140" height="19.999999999999545" as="geometry"/></mxCell><mxCell id="2-542" value=":relation" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="1" vertex="1"><mxGeometry x="115" y="3071.2499999999964" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-543" value=":edge" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="1" vertex="1"><mxGeometry x="44.999999999999766" y="3071.2499999999964" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-544" value="5.1" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="47.500000000000334" y="3041.2499999999964" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-545" value="" style="edgeStyle=none;endArrow=open;" parent="1" source="2-542" target="2-509" edge="1"><mxGeometry x="-102.49999999999977" y="-448.75000000000693" width="100" height="100" as="geometry"><mxPoint x="192.50000000000023" y="3071.249999999997" as="sourcePoint"/><mxPoint x="272.51284398419307" y="3046.5296731764934" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-546" value="5.2" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="257.5" y="3031.2499999999964" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-547" value="" style="edgeStyle=none;endArrow=none;exitX=0;exitY=0.5;entryX=0;entryY=0.5" parent="1" source="2-588" target="2-595" edge="1"><mxGeometry x="-37.49999999999978" y="1987.4999999999968" width="100" height="100" as="geometry"><mxPoint x="432.50000000000034" y="3777.499999999996" as="sourcePoint"/><mxPoint x="62.50000000000023" y="1987.4999999999968" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-548" value="" style="arrow;" parent="1" source="2-588" target="2-565" edge="1"><mxGeometry x="-3.1052156902150108" y="2426.268636888825" width="100" height="100" as="geometry"><mxPoint x="437.81194407309874" y="3749.22721677048" as="sourcePoint"/><mxPoint x="577.1880559269022" y="3697.499999999996" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-549" value="" style="edgeStyle=none;endArrow=none;exitX=1;exitY=0.5" parent="1" source="2-588" target="2-591" edge="1"><mxGeometry x="-32.49999999999975" y="640.4999999999982" width="100" height="100" as="geometry"><mxPoint x="-32.49999999999975" y="740.4999999999982" as="sourcePoint"/><mxPoint x="67.50000000000026" y="640.4999999999982" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-550" value="" style="edgeStyle=none;endArrow=none;" parent="1" source="2-571" target="2-600" edge="1"><mxGeometry x="-32.49999999999975" y="640.4999999999982" width="100" height="100" as="geometry"><mxPoint x="-32.49999999999975" y="740.4999999999982" as="sourcePoint"/><mxPoint x="67.50000000000026" y="640.4999999999982" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-551" value="" style="edgeStyle=none;endArrow=none;entryX=0.5;entryY=1" parent="1" source="2-571" target="2-590" edge="1"><mxGeometry x="-32.49999999999975" y="640.4999999999982" width="100" height="100" as="geometry"><mxPoint x="-32.49999999999975" y="740.4999999999982" as="sourcePoint"/><mxPoint x="67.50000000000026" y="640.4999999999982" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-552" value="" style="edgeStyle=orthogonalEdgeStyle" parent="1" source="2-594" target="2-565" edge="1"><mxGeometry x="337.5000000000002" y="3812.499999999993" width="100" height="100" as="geometry"><mxPoint x="337.5000000000002" y="3912.499999999993" as="sourcePoint"/><mxPoint x="437.5000000000002" y="3812.499999999993" as="targetPoint"/><Array as="points"/></mxGeometry></mxCell><mxCell id="2-553" value="" style="edgeStyle=none;endArrow=open;" parent="1" source="2-599" target="2-572" edge="1"><mxGeometry x="-97.49999999999974" y="322.4999999999891" width="100" height="100" as="geometry"><mxPoint x="197.50000000000026" y="3842.499999999993" as="sourcePoint"/><mxPoint x="277.51284398419307" y="3817.7796731764897" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-554" value="" style="rounded=1" parent="1" vertex="1"><mxGeometry x="-17.49999999999978" y="3279.9999999999977" width="985" height="720.0000000000023" as="geometry"/></mxCell><mxCell id="2-555" value="Song.has 0..n, :song_tags, SongTag&#xa;Song.has 0..n, :tags, Tag, :through =&gt; :song_tags&#xa;Tag.has 0..n, :song_tags, SongTag&#xa;Tag.has 0..n, :songs, Song, :through =&gt; :song_tags&#xa;SongTag.belongs_to :song, Song&#xa;SongTag.belongs_to :tag, Tag" style="text;fillColor=#B3B3B3;fontFamily=Courier New;fontStyle=1" parent="1" vertex="1"><mxGeometry x="256.25000000000034" y="3290" width="371.2499999999999" height="110" as="geometry"/></mxCell><mxCell id="2-556" value="" style="group;fontFamily=Courier New" parent="1" vertex="1" connectable="0"><mxGeometry x="32.50000000000022" y="3407.499999999996" width="825" height="370.0000000000018" as="geometry"/></mxCell><mxCell id="2-557" value="" style="group;fontFamily=Courier New" parent="2-556" vertex="1" connectable="0"><mxGeometry y="20" width="825" height="350.0000000000018" as="geometry"/></mxCell><mxCell id="2-558" value=":tags" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="2-557" vertex="1"><mxGeometry x="80" y="55" width="80" height="40" as="geometry"/></mxCell><mxCell id="2-559" value="3.1" style="ellipse;fillColor=#FF9933" parent="2-557" vertex="1"><mxGeometry x="162.49999999999974" y="136.00000000000185" width="35" height="30" as="geometry"/></mxCell><mxCell id="2-560" value="song_tags__X__songs__X__tags" style="rhombus;fontFamily=Courier New" parent="2-557" vertex="1"><mxGeometry x="152.4999999999997" y="141.00000000000182" width="210" height="90" as="geometry"/></mxCell><mxCell id="2-561" value="3.2" style="ellipse;fillColor=#FF9933" parent="2-557" vertex="1"><mxGeometry x="325" y="120.00000000000182" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-562" value=":edge" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="2-557" vertex="1"><mxGeometry x="160" y="75" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-563" value=":relation" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="2-557" vertex="1"><mxGeometry x="160" y="55" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-564" value="3.3" style="ellipse;fillColor=#FF9933" parent="2-557" vertex="1"><mxGeometry x="245" y="20" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-565" value="song_tags__X__tags" style="ellipse;fillColor=#99CCFF;fontFamily=Courier New" parent="2-557" vertex="1"><mxGeometry x="389.9999999999998" y="110.00000000000182" width="135" height="80" as="geometry"/></mxCell><mxCell id="2-566" value="" style="edgeStyle=none;endArrow=none;entryX=0.5;entryY=0" parent="2-557" source="2-560" target="2-562" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-567" value="" style="edgeStyle=none;endArrow=none;" parent="2-557" source="2-565" target="2-560" edge="1"><mxGeometry x="-209.99999999999997" y="-2274.9999999999977" width="100" height="100" as="geometry"><mxPoint x="-209.99999999999997" y="-2174.9999999999977" as="sourcePoint"/><mxPoint x="-109.99999999999997" y="-2274.9999999999977" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-568" value=":songs" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="2-557" vertex="1"><mxGeometry x="745" y="40" width="80" height="40" as="geometry"/></mxCell><mxCell id="2-569" value=":relation" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="2-557" vertex="1"><mxGeometry x="675" y="40" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-570" value=":edge" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="2-557" vertex="1"><mxGeometry x="675" y="60" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-571" value="song_tags__X__songs" style="rhombus;fontFamily=Courier New" parent="2-557" vertex="1"><mxGeometry y="253.00000000000273" width="165.0000000000001" height="80" as="geometry"/></mxCell><mxCell id="2-572" value="song_tags__X__songs" style="ellipse;fillColor=#99CCFF;fontFamily=Courier New" parent="2-557" vertex="1"><mxGeometry x="290" y="270.0000000000018" width="135" height="80" as="geometry"/></mxCell><mxCell id="2-573" value="" style="arrow;exitX=1;exitY=0.5" parent="2-557" source="2-571" target="2-572" edge="1"><mxGeometry x="-77.66834378200971" y="-3693.0594084816416" width="100" height="100" as="geometry"><mxPoint x="157.4999999999998" y="360.00000000000045" as="sourcePoint"/><mxPoint x="255.40058984516216" y="246.05103144413215" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-574" value="1.2" style="ellipse;fillColor=#FF9933" parent="2-557" vertex="1"><mxGeometry x="189.9999999999998" y="253.00000000000182" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-575" value="song_tags__X__songs__X__tags" style="rhombus;fontFamily=Courier New" parent="2-557" vertex="1"><mxGeometry x="530" y="178.00000000000182" width="210" height="90" as="geometry"/></mxCell><mxCell id="2-576" value="" style="edgeStyle=none;endArrow=none;exitX=1;exitY=0.5;entryX=0;entryY=1" parent="2-557" source="2-572" target="2-575" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-577" value="" style="edgeStyle=none;endArrow=none;exitX=1;exitY=0" parent="2-557" source="2-575" target="2-570" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-578" value="5.1" style="ellipse;fillColor=#FF9933" parent="2-557" vertex="1"><mxGeometry x="620" y="270.0000000000018" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-579" value="5.2" style="ellipse;fillColor=#FF9933" parent="2-557" vertex="1"><mxGeometry x="555" y="85" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-580" value="5.3" style="ellipse;fillColor=#FF9933" parent="2-557" vertex="1"><mxGeometry x="580" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-687" value="1.3" style="ellipse;fillColor=#FF9933" parent="2-557" vertex="1"><mxGeometry x="69.99999999999935" y="175.0000000000009" width="35" height="30" as="geometry"/></mxCell><mxCell id="2-698" value="4.2" style="ellipse;fillColor=#FF9933" parent="2-557" vertex="1"><mxGeometry x="749.9999999999999" y="134.00000000000182" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-582" value="song_tags__X__songs__X__tags" style="ellipse;fillColor=#99CCFF;fontFamily=Courier New" parent="2-556" vertex="1"><mxGeometry x="295" width="217.5" height="80" as="geometry"/></mxCell><mxCell id="2-583" value="" style="arrow" parent="2-556" source="2-560" target="2-582" edge="1"><mxGeometry x="103.08917197452229" y="-1093.9490445859874" width="100" height="100" as="geometry"><mxPoint x="540" y="230" as="sourcePoint"/><mxPoint x="681.0628394262785" y="175.9759338367444" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-584" value="" style="edgeStyle=none;endArrow=open;exitX=0;exitY=0.5" parent="2-556" source="2-563" target="2-582" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-585" value="" style="arrow;entryX=1;entryY=1" parent="2-556" source="2-575" target="2-582" edge="1"><mxGeometry x="22.717588709043753" y="-1161.899399245907" width="100" height="100" as="geometry"><mxPoint x="633.9717405694716" y="212.5021766312243" as="sourcePoint"/><mxPoint x="536.0282594305281" y="27.4978233687757" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-586" value="" style="edgeStyle=none;endArrow=open;exitX=1;exitY=0.5;entryX=1;entryY=0.5" parent="2-556" source="2-569" target="2-582" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-587" value="song_tags" style="ellipse;fillColor=#CCFF99;fontFamily=Courier New" parent="1" vertex="1"><mxGeometry x="75.00000000000026" y="3882.4999999999923" width="80" height="80" as="geometry"/></mxCell><mxCell id="2-588" value="song_tags__X__tags" style="rhombus;fontFamily=Courier New" parent="1" vertex="1"><mxGeometry x="620.0000000000005" y="3892.499999999993" width="165.0000000000001" height="80" as="geometry"/></mxCell><mxCell id="2-589" value="2.1" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="802.5000000000003" y="3912.4999999999923" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-590" value="songs" style="ellipse;fillColor=#CCFF99;fontFamily=Courier New" parent="1" vertex="1"><mxGeometry x="2.499999999999994" y="3447.499999999996" width="110" height="110" as="geometry"/></mxCell><mxCell id="2-591" value="tags" style="ellipse;fillColor=#CCFF99;fontFamily=Courier New" parent="1" vertex="1"><mxGeometry x="857.5000000000003" y="3447.499999999996" width="80" height="80" as="geometry"/></mxCell><mxCell id="2-592" value="1.1" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="-7.499999999999779" y="3705.4999999999977" width="35" height="30" as="geometry"/></mxCell><mxCell id="2-593" value=":tag" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="1" vertex="1"><mxGeometry x="155.00000000000023" y="3902.4999999999923" width="80" height="40" as="geometry"/></mxCell><mxCell id="2-594" value=":relation" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="1" vertex="1"><mxGeometry x="235.00000000000026" y="3902.4999999999923" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-595" value=":edge" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="1" vertex="1"><mxGeometry x="235.00000000000026" y="3922.4999999999923" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-596" value="7.1" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="182.50000000000037" y="3942.4999999999923" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-597" value="7.2" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="460.0000000000001" y="3882.4999999999923" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-598" value=":song" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="1" vertex="1"><mxGeometry x="50.00000000000002" y="3862.499999999993" width="140" height="19.999999999999545" as="geometry"/></mxCell><mxCell id="2-599" value=":relation" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="1" vertex="1"><mxGeometry x="120.00000000000003" y="3842.4999999999923" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-600" value=":edge" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="1" vertex="1"><mxGeometry x="49.999999999999794" y="3842.4999999999923" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-601" value="6.1" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="52.50000000000036" y="3812.4999999999923" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-602" value="6.2" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="262.5" y="3802.4999999999923" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-603" value="" style="arrow;" parent="1" source="2-588" target="2-565" edge="1"><mxGeometry x="-36.36441820793643" y="2427.2713379503384" width="100" height="100" as="geometry"><mxPoint x="650.6838684216509" y="3902.499999999993" as="sourcePoint"/><mxPoint x="479.3161315783491" y="3616.1992495049503" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-605" value="" style="edgeStyle=none;endArrow=none;entryX=1;entryY=0.5;" parent="1" source="2-690" target="2-588" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-606" value="" style="edgeStyle=none;endArrow=none;" parent="1" source="2-588" target="2-595" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-607" value="" style="edgeStyle=none" parent="1" source="2-599" target="2-572" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-608" value="" style="edgeStyle=segmentEdgeStyle" parent="1" source="2-594" target="2-565" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-609" value="" style="edgeStyle=none;endArrow=none;" parent="1" source="2-600" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="110" y="3760" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-610" value="" style="edgeStyle=none;endArrow=none;" parent="1" source="2-571" target="2-683" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-581" value="2.2" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="569.9999999999999" y="3772.4999999999923" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-518" value="1.2" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="562.5000000000003" y="2996.250000000002" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-632" value="" style="group" parent="1" vertex="1" connectable="0"><mxGeometry x="788.7499999999999" y="85" width="78.74999999999989" height="147.9999999999999" as="geometry"/></mxCell><mxCell id="2-611" value="" style="rhombus" parent="2-632" vertex="1"><mxGeometry y="81.99999999999994" width="37.49999999999966" height="30.000000000000114" as="geometry"/></mxCell><mxCell id="2-623" value="" style="group" parent="2-632" vertex="1" connectable="0"><mxGeometry x="3.7499999999998863" width="75" height="147.9999999999999" as="geometry"/></mxCell><mxCell id="2-414" value="" style="ellipse;fillColor=#CCFF99" parent="2-623" vertex="1"><mxGeometry width="30" height="30" as="geometry"/></mxCell><mxCell id="2-415" value="Base relations" style="text" parent="2-623" vertex="1"><mxGeometry x="30" y="2" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-416" value="" style="ellipse;fillColor=#99CCFF" parent="2-623" vertex="1"><mxGeometry y="39.99999999999977" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-417" value="Generated relations" style="text" parent="2-623" vertex="1"><mxGeometry x="30" y="41.99999999999977" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-419" value="Edges" style="text" parent="2-623" vertex="1"><mxGeometry x="35" y="81.99999999999977" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-421" value="Connectors" style="text" parent="2-623" vertex="1"><mxGeometry x="30" y="121.99999999999977" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-612" value="" style="fillColor=#E6E6E6" parent="2-623" vertex="1"><mxGeometry x="1.2500000000001137" y="127.99999999999977" width="27.49999999999966" height="20.000000000000114" as="geometry"/></mxCell><mxCell id="2-633" value="" style="group" parent="1" vertex="1" connectable="0"><mxGeometry x="793.7499999999999" y="427.3333333333333" width="78.74999999999989" height="147.9999999999999" as="geometry"/></mxCell><mxCell id="2-634" value="" style="rhombus" parent="2-633" vertex="1"><mxGeometry y="81.99999999999994" width="37.49999999999966" height="30.000000000000114" as="geometry"/></mxCell><mxCell id="2-635" value="" style="group" parent="2-633" vertex="1" connectable="0"><mxGeometry x="3.7499999999998863" width="75" height="147.9999999999999" as="geometry"/></mxCell><mxCell id="2-636" value="" style="ellipse;fillColor=#CCFF99" parent="2-635" vertex="1"><mxGeometry width="30" height="30" as="geometry"/></mxCell><mxCell id="2-637" value="Base relations" style="text" parent="2-635" vertex="1"><mxGeometry x="30" y="2" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-638" value="" style="ellipse;fillColor=#99CCFF" parent="2-635" vertex="1"><mxGeometry y="39.99999999999977" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-639" value="Generated relations" style="text" parent="2-635" vertex="1"><mxGeometry x="30" y="41.99999999999977" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-640" value="Edges" style="text" parent="2-635" vertex="1"><mxGeometry x="35" y="81.99999999999977" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-641" value="Connectors" style="text" parent="2-635" vertex="1"><mxGeometry x="30" y="121.99999999999977" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-642" value="" style="fillColor=#E6E6E6" parent="2-635" vertex="1"><mxGeometry x="1.2500000000001137" y="127.99999999999977" width="27.49999999999966" height="20.000000000000114" as="geometry"/></mxCell><mxCell id="2-643" value="" style="group" parent="1" vertex="1" connectable="0"><mxGeometry x="802.5000000000003" y="818.3333333333333" width="78.74999999999989" height="147.9999999999999" as="geometry"/></mxCell><mxCell id="2-644" value="" style="rhombus" parent="2-643" vertex="1"><mxGeometry y="81.99999999999994" width="37.49999999999966" height="30.000000000000114" as="geometry"/></mxCell><mxCell id="2-645" value="" style="group" parent="2-643" vertex="1" connectable="0"><mxGeometry x="3.7499999999998863" width="75" height="147.9999999999999" as="geometry"/></mxCell><mxCell id="2-646" value="" style="ellipse;fillColor=#CCFF99" parent="2-645" vertex="1"><mxGeometry width="30" height="30" as="geometry"/></mxCell><mxCell id="2-647" value="Base relations" style="text" parent="2-645" vertex="1"><mxGeometry x="30" y="2" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-648" value="" style="ellipse;fillColor=#99CCFF" parent="2-645" vertex="1"><mxGeometry y="39.99999999999977" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-649" value="Generated relations" style="text" parent="2-645" vertex="1"><mxGeometry x="30" y="41.99999999999977" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-650" value="Edges" style="text" parent="2-645" vertex="1"><mxGeometry x="35" y="81.99999999999977" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-651" value="Connectors" style="text" parent="2-645" vertex="1"><mxGeometry x="30" y="121.99999999999977" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-652" value="" style="fillColor=#E6E6E6" parent="2-645" vertex="1"><mxGeometry x="1.2500000000001137" y="127.99999999999977" width="27.49999999999966" height="20.000000000000114" as="geometry"/></mxCell><mxCell id="2-653" value="" style="group" parent="1" vertex="1" connectable="0"><mxGeometry x="833.1249999999999" y="1348.7499999999927" width="78.74999999999989" height="147.9999999999999" as="geometry"/></mxCell><mxCell id="2-654" value="" style="rhombus" parent="2-653" vertex="1"><mxGeometry y="81.99999999999994" width="37.49999999999966" height="30.000000000000114" as="geometry"/></mxCell><mxCell id="2-655" value="" style="group" parent="2-653" vertex="1" connectable="0"><mxGeometry x="3.7499999999998863" width="75" height="147.9999999999999" as="geometry"/></mxCell><mxCell id="2-656" value="" style="ellipse;fillColor=#CCFF99" parent="2-655" vertex="1"><mxGeometry width="30" height="30" as="geometry"/></mxCell><mxCell id="2-657" value="Base relations" style="text" parent="2-655" vertex="1"><mxGeometry x="30" y="2" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-658" value="" style="ellipse;fillColor=#99CCFF" parent="2-655" vertex="1"><mxGeometry y="39.99999999999977" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-659" value="Generated relations" style="text" parent="2-655" vertex="1"><mxGeometry x="30" y="41.99999999999977" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-660" value="Edges" style="text" parent="2-655" vertex="1"><mxGeometry x="35" y="81.99999999999977" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-661" value="Connectors" style="text" parent="2-655" vertex="1"><mxGeometry x="30" y="121.99999999999977" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-662" value="" style="fillColor=#E6E6E6" parent="2-655" vertex="1"><mxGeometry x="1.2500000000001137" y="127.99999999999977" width="27.49999999999966" height="20.000000000000114" as="geometry"/></mxCell><mxCell id="2-663" value="" style="group" parent="1" vertex="1" connectable="0"><mxGeometry x="979.9999999999999" y="2083.2499999999945" width="78.74999999999989" height="147.9999999999999" as="geometry"/></mxCell><mxCell id="2-664" value="" style="rhombus" parent="2-663" vertex="1"><mxGeometry y="81.99999999999994" width="37.49999999999966" height="30.000000000000114" as="geometry"/></mxCell><mxCell id="2-665" value="" style="group" parent="2-663" vertex="1" connectable="0"><mxGeometry x="3.7499999999998863" width="75" height="147.9999999999999" as="geometry"/></mxCell><mxCell id="2-666" value="" style="ellipse;fillColor=#CCFF99" parent="2-665" vertex="1"><mxGeometry width="30" height="30" as="geometry"/></mxCell><mxCell id="2-667" value="Base relations" style="text" parent="2-665" vertex="1"><mxGeometry x="30" y="2" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-668" value="" style="ellipse;fillColor=#99CCFF" parent="2-665" vertex="1"><mxGeometry y="39.99999999999977" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-669" value="Generated relations" style="text" parent="2-665" vertex="1"><mxGeometry x="30" y="41.99999999999977" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-670" value="Edges" style="text" parent="2-665" vertex="1"><mxGeometry x="35" y="81.99999999999977" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-671" value="Connectors" style="text" parent="2-665" vertex="1"><mxGeometry x="30" y="121.99999999999977" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-672" value="" style="fillColor=#E6E6E6" parent="2-665" vertex="1"><mxGeometry x="1.2500000000001137" y="127.99999999999977" width="27.49999999999966" height="20.000000000000114" as="geometry"/></mxCell><mxCell id="2-673" value="" style="group" parent="1" vertex="1" connectable="0"><mxGeometry x="973.75" y="2772.250000000002" width="78.74999999999989" height="147.9999999999999" as="geometry"/></mxCell><mxCell id="2-674" value="" style="rhombus" parent="2-673" vertex="1"><mxGeometry y="81.99999999999994" width="37.49999999999966" height="30.000000000000114" as="geometry"/></mxCell><mxCell id="2-675" value="" style="group" parent="2-673" vertex="1" connectable="0"><mxGeometry x="3.7499999999998863" width="75" height="147.9999999999999" as="geometry"/></mxCell><mxCell id="2-676" value="" style="ellipse;fillColor=#CCFF99" parent="2-675" vertex="1"><mxGeometry width="30" height="30" as="geometry"/></mxCell><mxCell id="2-677" value="Base relations" style="text" parent="2-675" vertex="1"><mxGeometry x="30" y="2" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-678" value="" style="ellipse;fillColor=#99CCFF" parent="2-675" vertex="1"><mxGeometry y="39.99999999999977" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-679" value="Generated relations" style="text" parent="2-675" vertex="1"><mxGeometry x="30" y="41.99999999999977" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-680" value="Edges" style="text" parent="2-675" vertex="1"><mxGeometry x="35" y="81.99999999999977" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-681" value="Connectors" style="text" parent="2-675" vertex="1"><mxGeometry x="30" y="121.99999999999977" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-682" value="" style="fillColor=#E6E6E6" parent="2-675" vertex="1"><mxGeometry x="1.2500000000001137" y="127.99999999999977" width="27.49999999999966" height="20.000000000000114" as="geometry"/></mxCell><mxCell id="2-683" value=":edge" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="1" vertex="1"><mxGeometry x="-7.4999999999997655" y="3576.4999999999986" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-684" value=":relation" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="1" vertex="1"><mxGeometry x="62.50000000000028" y="3576.4999999999986" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-685" value=":song_tags" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="1" vertex="1"><mxGeometry x="-7.4999999999997655" y="3558.4999999999977" width="140" height="19.999999999999545" as="geometry"/></mxCell><mxCell id="2-686" value="" style="edgeStyle=none;endArrow=open;exitX=0.25;exitY=0" parent="1" source="2-684" target="2-572" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-688" value=":song_tags" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="1" vertex="1"><mxGeometry x="821.2499999999994" y="3528.4999999999977" width="140" height="19.999999999999545" as="geometry"/></mxCell><mxCell id="2-689" value=":relation" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="1" vertex="1"><mxGeometry x="821.2499999999994" y="3546.4999999999986" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-690" value=":edge" style="direction=west;fontFamily=Courier New;fillColor=#E6E6E6" parent="1" vertex="1"><mxGeometry x="891.2499999999995" y="3546.4999999999986" width="70" height="20" as="geometry"/></mxCell><mxCell id="2-691" value="4.1" style="ellipse;fillColor=#FF9933" parent="1" vertex="1"><mxGeometry x="917.5000000000002" y="3578.4999999999977" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-697" value="" style="edgeStyle=none" parent="1" source="2-689" target="2-565" edge="1"><mxGeometry width="100" height="100" as="geometry"><mxPoint y="100" as="sourcePoint"/><mxPoint x="100" as="targetPoint"/></mxGeometry></mxCell><mxCell id="2-713" value="" style="group" parent="1" vertex="1" connectable="0"><mxGeometry x="983.75" y="3527.4999999999973" width="78.74999999999989" height="147.9999999999999" as="geometry"/></mxCell><mxCell id="2-714" value="" style="rhombus" parent="2-713" vertex="1"><mxGeometry y="81.99999999999994" width="37.49999999999966" height="30.000000000000114" as="geometry"/></mxCell><mxCell id="2-715" value="" style="group" parent="2-713" vertex="1" connectable="0"><mxGeometry x="3.7499999999998863" width="75" height="147.9999999999999" as="geometry"/></mxCell><mxCell id="2-716" value="" style="ellipse;fillColor=#CCFF99" parent="2-715" vertex="1"><mxGeometry width="30" height="30" as="geometry"/></mxCell><mxCell id="2-717" value="Base relations" style="text" parent="2-715" vertex="1"><mxGeometry x="30" y="2" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-718" value="" style="ellipse;fillColor=#99CCFF" parent="2-715" vertex="1"><mxGeometry y="39.99999999999977" width="30" height="30" as="geometry"/></mxCell><mxCell id="2-719" value="Generated relations" style="text" parent="2-715" vertex="1"><mxGeometry x="30" y="41.99999999999977" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-720" value="Edges" style="text" parent="2-715" vertex="1"><mxGeometry x="35" y="81.99999999999977" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-721" value="Connectors" style="text" parent="2-715" vertex="1"><mxGeometry x="30" y="121.99999999999977" width="40" height="26" as="geometry"/></mxCell><mxCell id="2-722" value="" style="fillColor=#E6E6E6" parent="2-715" vertex="1"><mxGeometry x="1.2500000000001137" y="127.99999999999977" width="27.49999999999966" height="20.000000000000114" as="geometry"/></mxCell></root></mxGraphModel>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment