Index: itignore
===================================================================
--- .gitignore	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,9 +1,0 @@
-/target/*
-.idea
-.run
-*.iml
-*.env
-.vscode/
-node_modules/
-uploads/
-docs/test-data1.sql
Index: ER_BUILD_BOARD.xml
===================================================================
--- ER_BUILD_BOARD.xml	(revision 60a0e5c67655330cf92f154a1aa53fa6f5175b22)
+++ ER_BUILD_BOARD.xml	(revision 60a0e5c67655330cf92f154a1aa53fa6f5175b22)
@@ -0,0 +1,1 @@
+<drawing><figures><ent id="0"><children><r id="1" x="310" y="58" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="2" x="325.138671875" y="71.015625"><a><text><string>THREAD</string></text></a></t></children></ent><disjuncao id="3"><children><circ id="4" x="339" y="184" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="5" x="343" y="185"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao><ent id="6"><children><r id="7" x="487" y="293" w="127.572265625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="8" x="497" y="306.015625"><a><text><string>PROJECT_THREAD</string></text></a></t></children></ent><ent id="9"><children><r id="a" x="112" y="282" w="127.572265625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="b" x="129.9599609375" y="295.015625"><a><text><string>TOPIC_THREAD</string></text></a></t></children></ent><entfraca id="c"><children><r id="d" x="120" y="638" w="150.4765625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="e" x="130" y="651.015625"><a><text><string>DISCUSSION_THREAD</string></text></a></t></children></entfraca><relfraco id="f"><children><diamond id="10" x="112" y="480" w="185" h="77"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="11" x="173.263671875" y="511.515625"><a><text><string>CONTAINS</string></text></a></t></children></relfraco><llabelDoubleMuitos id="12"><points><p colinear="true" x="201.9438984094982" y="557" c1x="-8" c1y="-335" c2x="-8" c2y="-335"/><p colinear="true" x="196.56612623207886" y="638" c1x="-8" c1y="-335" c2x="-8" c2y="-335"/></points><startConnector><rConnector id="13"><Owner><relfraco ref="f"/></Owner></rConnector></startConnector><endConnector><rConnector id="14"><Owner><entfraca ref="c"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="15"><points><p colinear="true" x="199.39383886042145" y="480" c1x="119" c1y="-104" c2x="119" c2y="-104"/><p colinear="true" x="178.4386840538395" y="322" c1x="119" c1y="-104" c2x="119" c2y="-104"/></points><startConnector><rConnector id="16"><Owner><relfraco ref="f"/></Owner></rConnector></startConnector><endConnector><rConnector id="17"><Owner><ent ref="9"/></Owner></rConnector></endConnector></llabelUm><generalizacaoLine id="18"><points><p colinear="true" x="339" y="200.2350666117911" c1x="100" c1y="-141" c2x="100" c2y="-141"/><p colinear="true" x="207.86277488425927" y="282" c1x="100" c1y="-141" c2x="100" c2y="-141"/></points><startConnector><rConnector id="19"><Owner><disjuncao ref="3"/></Owner></rConnector></startConnector><endConnector><rConnector id="1a"><Owner><ent ref="9"/></Owner></rConnector></endConnector></generalizacaoLine><generalizacaoLine id="1b"><points><p colinear="true" x="359" y="199.89733290099647" c1x="347" c1y="325" c2x="347" c2y="325"/><p colinear="true" x="516.8724970456933" y="293" c1x="347" c1y="325" c2x="347" c2y="325"/></points><startConnector><rConnector id="1c"><Owner><disjuncao ref="3"/></Owner></rConnector></startConnector><endConnector><rConnector id="1d"><Owner><ent ref="6"/></Owner></rConnector></endConnector></generalizacaoLine><rel id="1e"><children><diamond id="1f" x="309" y="290" w="109" h="44"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="20" x="323.193359375" y="305.015625"><a><text><string>BELONGS_TO</string></text></a></t></children></rel><llabelUm id="21"><points><p colinear="true" x="418" y="312.2909985869299" c1x="347" c1y="325" c2x="347" c2y="325"/><p colinear="true" x="487" y="312.65941881625395" c1x="347" c1y="325" c2x="347" c2y="325"/></points><startConnector><rConnector id="22"><Owner><rel ref="1e"/></Owner></rConnector></startConnector><endConnector><rConnector id="23"><Owner><ent ref="6"/></Owner></rConnector></endConnector></llabelUm><llabelMuitos id="24"><points><p colinear="true" x="309" y="309.0966449726614" c1x="100" c1y="-141" c2x="100" c2y="-141"/><p colinear="true" x="239.572265625" y="305.3980511812048" c1x="100" c1y="-141" c2x="100" c2y="-141"/></points><startConnector><rConnector id="25"><Owner><rel ref="1e"/></Owner></rConnector></startConnector><endConnector><rConnector id="26"><Owner><ent ref="9"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atr id="27" nullable="false" attributeType="VARCHAR2(128)"><children><e id="28" x="81" y="182" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="29" x="108.5810546875" y="185.015625"><a><text><string>TAG</string></text></a></t></children></atr><lcaf id="2a"><points><p colinear="true" x="125.9805575284091" y="202" c1x="100" c1y="-141" c2x="100" c2y="-141"/><p colinear="true" x="165.8250177556818" y="282" c1x="100" c1y="-141" c2x="100" c2y="-141"/></points><startConnector><rConnector id="2b"><Owner><atr ref="27"/></Owner></rConnector></startConnector><endConnector><rConnector id="2c"><Owner><ent ref="9"/></Owner></rConnector></endConnector></lcaf><ent id="2d"><children><r id="2e" x="495" y="412" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="2f" x="518.83984375" y="425.015625"><a><text><string>USER</string></text></a></t></children></ent><llabelDoubleGeneralizacao id="30" labelGeneralizacaoText=""><points><p colinear="true" x="349.08620689655174" y="184" c1x="-37.61389275958845" c1y="-80" c2x="-37.61389275958845" c2y="-80"/><p colinear="true" x="349.82758620689657" y="98" c1x="-37.61389275958845" c1y="-80" c2x="-37.61389275958845" c2y="-80"/></points><startConnector><rConnector id="31"><Owner><disjuncao ref="3"/></Owner></rConnector></startConnector><endConnector><rConnector id="32"><Owner><ent ref="0"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><sobreposicao id="33"><children><circ id="34" x="567" y="506" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="35" x="571" y="507"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>o</string></text></a></tn></children></sobreposicao><lcaf id="36"><points><p colinear="true" x="572" y="506" c1x="347" c1y="325" c2x="347" c2y="325"/><p colinear="true" x="545" y="452" c1x="347" c1y="325" c2x="347" c2y="325"/></points><startConnector><rConnector id="37"><Owner><sobreposicao ref="33"/></Owner></rConnector></startConnector><endConnector><rConnector id="38"><Owner><ent ref="2d"/></Owner></rConnector></endConnector></lcaf><ent id="39"><children><r id="3a" x="565" y="634" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="3b" x="569.0498046875" y="647.015625"><a><text><string>DEVELOPER</string></text></a></t></children></ent><generalizacaoLine id="3c"><points><p colinear="true" x="579.0289855072464" y="526" c1x="347" c1y="325" c2x="347" c2y="325"/><p colinear="true" x="600.9420289855072" y="634" c1x="347" c1y="325" c2x="347" c2y="325"/></points><startConnector><rConnector id="3d"><Owner><sobreposicao ref="33"/></Owner></rConnector></startConnector><endConnector><rConnector id="3e"><Owner><ent ref="39"/></Owner></rConnector></endConnector></generalizacaoLine><rel id="3f"><children><diamond id="40" x="617" y="508" w="107.087890625" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="41" x="627" y="521.015625"><a><text><string>INVLOVLED_IN</string></text></a></t></children></rel><llabelDoubleMuitos id="42"><points><p colinear="true" x="659.403683684593" y="508" c1x="347" c1y="325" c2x="347" c2y="325"/><p colinear="true" x="561.926394440407" y="333" c1x="347" c1y="325" c2x="347" c2y="325"/></points><startConnector><rConnector id="43"><Owner><rel ref="3f"/></Owner></rConnector></startConnector><endConnector><rConnector id="44"><Owner><ent ref="6"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><ent id="45"><children><r id="46" x="776" y="678" w="130" h="41"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="47" x="781.591796875" y="691.515625"><a><text><string>PROJECT_MANAGER</string></text></a></t></children></ent><sobreposicao id="48"><children><circ id="49" x="693" y="671" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="4a" x="697" y="672"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>o</string></text></a></tn></children></sobreposicao><generalizacaoLine id="4b"><points><p colinear="true" x="713" y="682.268115942029" c1x="-380" c1y="449" c2x="-380" c2y="449"/><p colinear="true" x="776" y="690.2572463768116" c1x="-380" c1y="449" c2x="-380" c2y="449"/></points><startConnector><rConnector id="4c"><Owner><sobreposicao ref="48"/></Owner></rConnector></startConnector><endConnector><rConnector id="4d"><Owner><ent ref="45"/></Owner></rConnector></endConnector></generalizacaoLine><lcaf id="4e"><points><p colinear="true" x="645" y="665.0204081632653" c1x="-380" c1y="449" c2x="-380" c2y="449"/><p colinear="true" x="693" y="678.2448979591836" c1x="-380" c1y="449" c2x="-380" c2y="449"/></points><startConnector><rConnector id="4f"><Owner><ent ref="39"/></Owner></rConnector></startConnector><endConnector><rConnector id="50"><Owner><sobreposicao ref="48"/></Owner></rConnector></endConnector></lcaf><rel id="51"><children><diamond id="52" x="1020" y="509" w="133" h="49"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="53" x="1043.5859375" y="526.515625"><a><text><string>IS_OWNED_BY</string></text></a></t></children></rel><llabelDoubleMuitos id="54"><points><p colinear="true" x="1026.9762369791667" y="509" c1x="347" c1y="325" c2x="347" c2y="325"/><p colinear="true" x="599.3769597682823" y="333" c1x="347" c1y="325" c2x="347" c2y="325"/></points><startConnector><rConnector id="55"><Owner><rel ref="51"/></Owner></rConnector></startConnector><endConnector><rConnector id="56"><Owner><ent ref="6"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleUm id="57"><points><p colinear="true" x="1050.0469696969697" y="558" c1x="347" c1y="325" c2x="347" c2y="325"/><p colinear="true" x="871.5015151515152" y="678" c1x="347" c1y="325" c2x="347" c2y="325"/></points><startConnector><rConnector id="58"><Owner><rel ref="51"/></Owner></rConnector></startConnector><endConnector><rConnector id="59"><Owner><ent ref="45"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><llabelDoubleMuitos id="5a"><points><p colinear="true" x="660.140144469246" y="548" c1x="-245.0838112256206" c1y="414" c2x="-245.0838112256206" c2y="414"/><p colinear="true" x="615.403800843254" y="634" c1x="-245.0838112256206" c1y="414" c2x="-245.0838112256206" c2y="414"/></points><startConnector><rConnector id="5b"><Owner><rel ref="3f"/></Owner></rConnector></startConnector><endConnector><rConnector id="5c"><Owner><ent ref="39"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><ent id="5d"><children><r id="5e" x="1535" y="562" w="101.861328125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="5f" x="1545" y="575.015625"><a><text><string>PERMISSIONS</string></text></a></t></children></ent><rel id="60"><children><diamond id="61" x="1407" y="562" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="62" x="1434.5751953125" y="575.015625"><a><text><string>HAS</string></text></a></t></children></rel><llabelMuitos id="63"><points><p colinear="true" x="1487" y="582" c1x="347" c1y="325" c2x="347" c2y="325"/><p colinear="true" x="1535" y="582" c1x="347" c1y="325" c2x="347" c2y="325"/></points><startConnector><rConnector id="64"><Owner><rel ref="60"/></Owner></rConnector></startConnector><endConnector><rConnector id="65"><Owner><ent ref="5d"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><rel id="66"><children><diamond id="67" x="783" y="852" w="100.61328125" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="68" x="820.8818359375" y="865.015625"><a><text><string>HAS</string></text></a></t></children></rel><llabelMuitos id="69"><points><p colinear="true" x="812.3610772649082" y="852" c1x="347" c1y="325" c2x="347" c2y="325"/><p colinear="true" x="625.9455633600917" y="674" c1x="347" c1y="325" c2x="347" c2y="325"/></points><startConnector><rConnector id="6a"><Owner><rel ref="66"/></Owner></rConnector></startConnector><endConnector><rConnector id="6b"><Owner><ent ref="39"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><rel id="6c"><children><diamond id="6d" x="1020" y="602" w="133" h="48"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="6e" x="1058.9814453125" y="619.015625"><a><text><string>CREATES</string></text></a></t></children></rel><llabelUm id="6f"><points><p colinear="true" x="1020" y="645.6384928716905" c1x="347" c1y="325" c2x="347" c2y="325"/><p colinear="true" x="906" y="679.3044806517312" c1x="347" c1y="325" c2x="347" c2y="325"/></points><startConnector><rConnector id="70"><Owner><rel ref="6c"/></Owner></rConnector></startConnector><endConnector><rConnector id="71"><Owner><ent ref="45"/></Owner></rConnector></endConnector></llabelUm><entfraca id="72"><children><r id="73" x="1227" y="561" w="109.958984375" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="74" x="1237" y="574.015625"><a><text><string>CUSTOM_ROLE</string></text></a></t></children></entfraca><llabelMuitos id="75"><points><p colinear="true" x="864.1432627255155" y="852" c1x="347" c1y="325" c2x="347" c2y="325"/><p colinear="true" x="1251.1428700869844" y="601" c1x="347" c1y="325" c2x="347" c2y="325"/></points><startConnector><rConnector id="76"><Owner><rel ref="66"/></Owner></rConnector></startConnector><endConnector><rConnector id="77"><Owner><entfraca ref="72"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><llabelDoubleMuitos id="78"><points><p colinear="true" x="1407" y="581.7576058846853" c1x="347" c1y="325" c2x="347" c2y="325"/><p colinear="true" x="1336.958984375" y="581.333167634231" c1x="347" c1y="325" c2x="347" c2y="325"/></points><startConnector><rConnector id="79"><Owner><rel ref="60"/></Owner></rConnector></startConnector><endConnector><rConnector id="7a"><Owner><entfraca ref="72"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="7b"><points><p colinear="true" x="1153" y="610.6914887770956" c1x="347" c1y="325" c2x="347" c2y="325"/><p colinear="true" x="1227" y="593.656453732059" c1x="347" c1y="325" c2x="347" c2y="325"/></points><startConnector><rConnector id="7c"><Owner><rel ref="6c"/></Owner></rConnector></startConnector><endConnector><rConnector id="7d"><Owner><entfraca ref="72"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><relfraco id="7e"><children><diamond id="7f" x="915" y="370" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="80" x="932.263671875" y="388.015625"><a><text><string>CONTAINS</string></text></a></t></children></relfraco><llabelUm id="81"><points><p colinear="true" x="915" y="385.3637839283137" c1x="347" c1y="325" c2x="347" c2y="325"/><p colinear="true" x="614.572265625" y="325.6733393434748" c1x="347" c1y="325" c2x="347" c2y="325"/></points><startConnector><rConnector id="82"><Owner><relfraco ref="7e"/></Owner></rConnector></startConnector><endConnector><rConnector id="83"><Owner><ent ref="6"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="84"><points><p colinear="true" x="1006.306383358535" y="420" c1x="347" c1y="325" c2x="347" c2y="325"/><p colinear="true" x="1247.734385500672" y="561" c1x="347" c1y="325" c2x="347" c2y="325"/></points><startConnector><rConnector id="85"><Owner><relfraco ref="7e"/></Owner></rConnector></startConnector><endConnector><rConnector id="86"><Owner><entfraca ref="72"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><relfraco id="87"><children><diamond id="88" x="720" y="447" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="89" x="737.263671875" y="465.015625"><a><text><string>CONTAINS</string></text></a></t></children></relfraco><llabelUm id="8a"><points><p colinear="true" x="734.2682598761793" y="447" c1x="159" c1y="205" c2x="159" c2y="205"/><p colinear="true" x="578.1715249115566" y="333" c1x="159" c1y="205" c2x="159" c2y="205"/></points><startConnector><rConnector id="8b"><Owner><relfraco ref="87"/></Owner></rConnector></startConnector><endConnector><rConnector id="8c"><Owner><ent ref="6"/></Owner></rConnector></endConnector></llabelUm><entfraca id="8d"><children><r id="8e" x="881" y="528" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="8f" x="892.083984375" y="541.015625"><a><text><string>CHANNEL</string></text></a></t></children></entfraca><llabelDoubleMuitos id="90"><points><p colinear="true" x="817" y="496.1704918032787" c1x="159" c1y="205" c2x="159" c2y="205"/><p colinear="true" x="881" y="528.0655737704918" c1x="159" c1y="205" c2x="159" c2y="205"/></points><startConnector><rConnector id="91"><Owner><relfraco ref="87"/></Owner></rConnector></startConnector><endConnector><rConnector id="92"><Owner><entfraca ref="8d"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><rel id="93"><children><diamond id="94" x="701" y="589" w="115.37890625" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="95" x="711" y="602.015625"><a><text><string>IS_CREATED_BY</string></text></a></t></children></rel><llabelDoubleMuitos id="96"><points><p colinear="true" x="811.9060258709017" y="589" c1x="159" c1y="205" c2x="159" c2y="205"/><p colinear="true" x="881" y="563.0329109659098" c1x="159" c1y="205" c2x="159" c2y="205"/></points><startConnector><rConnector id="97"><Owner><rel ref="93"/></Owner></rConnector></startConnector><endConnector><rConnector id="98"><Owner><entfraca ref="8d"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="99"><points><p colinear="true" x="701" y="625.891369822974" c1x="159" c1y="205" c2x="159" c2y="205"/><p colinear="true" x="645" y="642.2880707595725" c1x="159" c1y="205" c2x="159" c2y="205"/></points><startConnector><rConnector id="9a"><Owner><rel ref="93"/></Owner></rConnector></startConnector><endConnector><rConnector id="9b"><Owner><ent ref="39"/></Owner></rConnector></endConnector></llabelUm><rel id="9c"><children><diamond id="9d" x="311" y="391" w="123" h="41"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="9e" x="324.810546875" y="404.515625"><a><text><string>IS_CREATED_BY</string></text></a></t></children></rel><llabelDoubleMuitos id="9f"><points><p colinear="true" x="335.67228970462327" y="391" c1x="159" c1y="205" c2x="159" c2y="205"/><p colinear="true" x="211.7156062714041" y="322" c1x="159" c1y="205" c2x="159" c2y="205"/></points><startConnector><rConnector id="a0"><Owner><rel ref="9c"/></Owner></rConnector></startConnector><endConnector><rConnector id="a1"><Owner><ent ref="9"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="a2"><points><p colinear="true" x="434" y="419.2584615384615" c1x="159" c1y="205" c2x="159" c2y="205"/><p colinear="true" x="495" y="426.95384615384614" c1x="159" c1y="205" c2x="159" c2y="205"/></points><startConnector><rConnector id="a3"><Owner><rel ref="9c"/></Owner></rConnector></startConnector><endConnector><rConnector id="a4"><Owner><ent ref="2d"/></Owner></rConnector></endConnector></llabelUm><ent id="a5"><children><r id="a6" x="451" y="629" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="a7" x="451.859375" y="642.015625"><a><text><string>MODERATOR</string></text></a></t></children></ent><sobreposicao id="a8"><children><circ id="a9" x="505" y="506" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="aa" x="509" y="507"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>o</string></text></a></tn></children></sobreposicao><generalizacaoLine id="ab"><points><p colinear="true" x="513.1954887218045" y="526" c1x="-568" c1y="329" c2x="-568" c2y="329"/><p colinear="true" x="494.609022556391" y="629" c1x="-568" c1y="329" c2x="-568" c2y="329"/></points><startConnector><rConnector id="ac"><Owner><sobreposicao ref="a8"/></Owner></rConnector></startConnector><endConnector><rConnector id="ad"><Owner><ent ref="a5"/></Owner></rConnector></endConnector></generalizacaoLine><lcaf id="ae"><points><p colinear="true" x="530.2380952380952" y="452" c1x="-568" c1y="329" c2x="-568" c2y="329"/><p colinear="true" x="517.3809523809524" y="506" c1x="-568" c1y="329" c2x="-568" c2y="329"/></points><startConnector><rConnector id="af"><Owner><ent ref="2d"/></Owner></rConnector></startConnector><endConnector><rConnector id="b0"><Owner><sobreposicao ref="a8"/></Owner></rConnector></endConnector></lcaf><rel id="b1"><children><diamond id="b2" x="319" y="534" w="116.0390625" h="32"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="b3" x="319.00005726685026" y="543.015625"><a><text><string>IS_MODERATED_BY</string></text></a></t></children></rel><llabelDoubleMuitos id="b4"><points><p colinear="true" x="364.0367581369138" y="534" c1x="159" c1y="205" c2x="159" c2y="205"/><p colinear="true" x="192.01463499563914" y="322" c1x="159" c1y="205" c2x="159" c2y="205"/></points><startConnector><rConnector id="b5"><Owner><rel ref="b1"/></Owner></rConnector></startConnector><endConnector><rConnector id="b6"><Owner><ent ref="9"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="b7"><points><p colinear="true" x="395.4406411143867" y="566" c1x="159" c1y="205" c2x="159" c2y="205"/><p colinear="true" x="467.973648461298" y="629" c1x="159" c1y="205" c2x="159" c2y="205"/></points><startConnector><rConnector id="b8"><Owner><rel ref="b1"/></Owner></rConnector></startConnector><endConnector><rConnector id="b9"><Owner><ent ref="a5"/></Owner></rConnector></endConnector></llabelUm><rel id="ba"><children><diamond id="bb" x="161" y="861" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="bc" x="176.7099609375" y="874.015625"><a><text><string>REPLIES</string></text></a></t></children></rel><llabelGeneralizacao id="bd" labelGeneralizacaoText="reply(N)"><points><p colinear="true" x="200.48325392376682" y="861" c1x="-110.41036184210526" c1y="-229" c2x="-110.41036184210526" c2y="-229"/><p colinear="true" x="195.75502732623318" y="678" c1x="-110.41036184210526" c1y="-229" c2x="-110.41036184210526" c2y="-229"/></points><startConnector><rConnector id="be"><Owner><rel ref="ba"/></Owner></rConnector></startConnector><endConnector><rConnector id="bf"><Owner><entfraca ref="c"/></Owner></rConnector></endConnector></llabelGeneralizacao><llabelGeneralizacao id="c0" labelGeneralizacaoText="discussion(1)"><points><p colinear="true" x="168.09677419354838" y="861" c1x="-357.74596547764344" c1y="-195.54956591772202" c2x="-357.74596547764344" c2y="-195.54956591772202"/><p colinear="true" x="150" y="850"/><p colinear="true" x="91" y="801"/><p colinear="true" x="127" y="714"/><p colinear="true" x="170.86746651785717" y="678" c1x="-357.74596547764344" c1y="-195.54956591772202" c2x="-357.74596547764344" c2y="-195.54956591772202"/></points><startConnector><rConnector id="c1"><Owner><rel ref="ba"/></Owner></rConnector></startConnector><endConnector><rConnector id="c2"><Owner><entfraca ref="c"/></Owner></rConnector></endConnector></llabelGeneralizacao></figures></drawing>
Index: eandb.sh
===================================================================
--- cleandb.sh	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,25 +1,0 @@
-#!/bin/bash
-
-source .dbparams.env
-
-profile=$1
-
-if [ "$profile" == '-r' ]; then
-  mvn flyway:clean \
-    -Dflyway.user="$REMOTE_USER" \
-    -Dflyway.password="$REMOTE_PASS" \
-    -Dflyway.url=jdbc:postgresql://localhost:"$REMOTE_PORT"/"$REMOTE_DB" \
-    -Dflyway.cleanDisabled=false
-    elif [ "$profile" == '-l' ]; then
-         mvn flyway:clean \
-            -Dflyway.user="$POSTGRES_USER" \
-            -Dflyway.password="$POSTGRES_PASS" \
-            -Dflyway.url=jdbc:postgresql://localhost:"$POSTGRES_PORT"/"$POSTGRES_DB" \
-            -Dflyway.cleanDisabled=false
-            else
-              echo "INVALID RUN OPTION."
-              echo "USE -r TO CLEAN REMOTE DATABASE"
-              echo "USE -l TO CLEAN LOCAL DATABASE"
-              exit 0
-    fi
-
Index: cs/ERModelWiki.txt
===================================================================
--- docs/ERModelWiki.txt	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,107 +1,0 @@
-== ER Дијаграм 
-[[Image(ER_BUILD_BOARD_v2.png)]]
-== Податочни побарувања
-=== Ентитети
-* Ентитет **USER** - податоци за корсниците.
-    * Кандидат клучеви: Username. Поради чести промени на атрибутот, за примерен клуч избравме вештачки клуч Id.  
-	* Атрибути: 
-		* Username - текстуален податок,задолижетелен. 
-		* Description - текстуален податок,опционален.
-		* Password - текстуален податок,задолжителен. 
-		* Register_date - текстуален податок,задолжителен. 
-		* Sex - текстуален податок,опционален. 
-		* Is_active - булов податок, задолжителен. 
-        * Id - нумерички податок, задолжителен. 
-* Ентитет **DEVELOPER** - преклопувачка специјализација, со делумно учество, од USER. Ентитетов се однесува на корисниците, кои се истовремено и развивачи на софтвер.
-    *Кандидат клучеви: исто како и ентитетот USER и овај ентитет се идентификува со примарниот вештачки клуч Id. 
-* Ентитет **PROJECT_OWNER** - преклопувачка специјализација, со делумно учество, од DEVELOPER. Ентитетов се однесува на развивачите на софтвер, кои поседуваат проекти. 
-    *Кандидат клучеви: исто како и ентитетот DEVELOPER и овај ентитет се идентификува со примарниот вештачки клуч Id. 
-* Ентитет **MODERATOR** - преклопувачка специјализација, со делумно учество, од USER. Ентитетов се однесува на корисниците, кои истовремено се и модератори на threads.
-    *Кандидат клучеви: исто како и ентитетот USER и овај ентитет се идентификува со примарниот вештачки клуч Id. 
-* Ентитет **TAG** - податоци за можните тагови. Служат за групирање на thread.  
-    * Кандидат клучеви: Name, како податок уникат за секој таг. Истиот го избравме за примарен клуч на ентитетов. 
-	* Атрибути:
-		* Name - текстуален податок,задолжителен.   
-* Ентитет **THREAD** - генерализација на сите можни водови на threads. Ги содржи сличните податоци присутни кај поединечните видови.
-    * Кандидат клучеви: бидејќи најмално супер-клуч множество би се состоело од сите атрибути на ентитет, за примарен клуч избравме вештачки клуч Id. 
-    * Атрибути:
-        * Content - текстуален податок,задолжителен.
-        * Id - нумерички податок, задолжителен.
-* Ентитет **TOPIC_THREAD** - дисјунктна специјализација, со целосно учество, од THREAD. Ентитетов се однесува на сите threads кој се топици и ги содржи податоците специфични за нив.
-    * Кандидат клучеви: исто како и ентитетот THREAD и овај ентитет се идентификува со примарниот,вештачки клуч Id.
-    * Атрибути:
-        * Title - текстуален податок,задолжителен.
-        * Guidlines - json податок,задолжителен.
-* Ентитет **DISCUSSION_THREAD** - дисјунктна специјализација, со целосно учество, од THREAD. Ентитетов се однесува на сите threads кој се дискусии и ги содржи податоците специфични за нив.
-    * Кандидат клучеви: исто како и ентитетот THREAD и овај ентитет се идентификува со примарниот,вештачки клуч Id.
-* Ентитет **PROJECT_THREAD** - дисјунктна специјализација, со целосно учество, од THREAD. Ентитетов се однесува на сите threads кој се дискусии и ги содржи податоците специфични за нив.
-    * Кандидат клучеви: исто како и ентитетот THREAD и овај ентитет се идентификува со примарниот,вештачки клуч Id.
-    * Атрибути:
-        * Repo_url - текстуален податок, опционален.
-        * Title - текстуален податок,задолжителен.
-* Слаб ентитет **BLACKLISTED_USER** - податоци за тоа на кои корисници му е забранет пристапот во кои threads, од кои модератор.
-    * Кандидат клучеви: парцијалнен клуч Start_date, но за целосно идентификување се користат идентификувачките релации со THREAD,MODERATOR и USER. 
-    * Атрибути:
-        * Start_date - датум, задолжителен. 
-        * End_date - датум, опционален. 
-        * Reason - текстуален податок,задолжителен.
-* Слаб ентитет **REPORT** - податоци за извештаите, во врска со можни прекршување на правилата на соодветен thread, од страна на соодветни корсиници. 
-    * Кандидат клучеви: заради можноста да постојат повеќе извештаи, кои се однесуваат на истиот корсиник, за прекршувања на правилата на истиот thread, поднеси од страна на истиот корисник, одлучивме да генерираме вештачки парцијалнен клуч Id. За целосно идентификување на ентитетиве служат идентификувачките релации со THREAD и USER. 
-    * Атрибути:
-        * Id - нумерички, задолжителен. 
-        * Created_at - датум, задолжителен. 
-        * Status - енумерирачки, задолжителен. 
-        * Description - текстуален, задолжителен.     
-* Слаб ентитет **PROJECT_REQUEST** - податоци за сите барања за учество од страна на корисниците кон конкретен проект. 
-    * Кандидат клучеви: заради можноста еден корисник да испрати повеќе барања за учество кон ист проект, одлучивме да генерираме вештачки парцијалнен клуч Id. За целосно идентификување на ентитетиве служат идентификувачките релации со USER и PROJECT_THREAD.  
-    * Атрибути:
-        * Id - нумерички, задолжителен. 
-        * Status - енумерирачки, задолжителен. 
-        * Description - текстуален, задолжителен. 
-* Слаб ентитет **CHANNEL** - податоци за каналите во проектите. 
-    * Кандидат клучеви: парцијалниот клуч Name, целосно се идентификува преку идентификувачката релација со PROJECT_THREAD. 
-    * Атрибути:
-        * Name - текстуален, задолжителен.
-        * Description - текстуален, опционален.
-* Ентитет **CUSTOM_ROLE** - податоци за креирани улоги, кои се доделуваат на развивачите во конкретен проект. 
-    * Кандидат клучеви: парцијалниот клуч Name, целосно се идентификува преку идентификувачката релација со PROJECT_THREAD. 
-    * Атрибути:
-        * Name - текстуален,задолжителен.
-* Ентитет **PERMISSIONS** - податоци за пермисиите, кои се достапни во дефинирањето на улогите во пеодиенчните проекти.
-    * Кандидат клучеви: Name, како податок уникат за секојa пермисија. Истиот го избравме за примарен клуч на ентитетов. 
-    * Атрибути:
-        * Name - текстуален,задолжителен.
-=== Релации 
-* **IS_MODERATED_BY**(N:M) - релација помеѓу TOPIC_THREAD и MODERATOR. Ни кажува кои се модератори на соодветниот TOPIC_THREAD.  
-* **IS_CHILD_TO**(1:N) - релација помеѓу TOPIC_THREAD и TOPIC_THREAD. Ни опишува како се разделува општ топик на поспецифички топици.  
-* **CONTAINS**(1:N) - релација помеѓу TOPIC_THREAD и DISCUSSION_THREAD. Ни ги претставува дискусиите започнатите во топикот.  
-* **BELONGS_TO**(1:N) - релацијата помеѓу PROJECT_THREAD и TOPIC_THREAD. Ни кажува кои топици се започнатите во соодветниот проект. 
-* **REPLIES**(1:N)  - релација помеѓу DISCUSSION_THREAD и DISCUSSION_THREAD. Ни кажува кои дискусии се произлегле од соодветна дискусија.
-* **ASSIGNED_TO**(N:M) - релација помеѓу THREAD и TAG. Ни кажува кои се таговите на соодветниот thread.
-* **CREATES**(1:N)  - релација помеѓу MODERATOR и TAG. Ни кажува кои тагови ги креирал соодветниот модератор. 
-* **BLACKLISTED_BY**(1:N)  - релација помеѓу MODERATOR и BLACKLISTED_USER. Ни кажува кој модератор го ставил кој корисник на 'blacklist'. 
-* **BLACKLISTED_FROM**(1:N) - релација помеѓу THREAD и BLACKLISTED_USER. Ни кажува во кој theads е "blacklisted" корисникот. 
-* **REFERS_TO**(1:N) - релација помеѓу USER и BLACKLISTED_USER. Ни кажува на кој корисник се однесува соодветниот запис во BLACKLISTED_USER.  
-* **FOR_MISCONDUCT**(1:N) - релација помеѓу THREAD и REPORT. Ни кажува во кој и на кој thread правилата се прекршиле. 
-* **ABOUT**(1:N) - релација помеѓу USER и REPORT. Ни кажува кој корисник е обвинет за прекршување на правилата. 
-* **SUBMITTED_BY**(1:N) - релација помеѓу USER и REPORT. Ни кажува кој корисник го поднесол извештајот. 
-* **LIKES**(N:M) - релација помеѓу USER и THREAD. Ни ги претставува сите threads, кој му се допаднале на корисникот. 
-* **SUBMITS**(1:N) - релација помеѓу USER и PROJECT_REQUEST. Ни кажува кој корисник го поднел соодветното барање за учество. 
-* **RECIEVES**(1:N) - релација помеѓу PROJECT_THREAD и PROJECT_REQUEST. Ни кажува за кој проект, корисникот го поднел соодветното барање за учество.  
-* **VALID_IN**(1:N) - релација помеѓу PROJECT_THREAD и CUSTOM_ROLE. Ни кажува во кој проект е валидна соодветната улога. 
-* **HAS**(1:N) - релација помеѓу PROJECT_THREAD и CHANNEL. Ни кажува во кој проект припаѓа соодветниот канал. 
-* **ASSOCIATED_WITH**(N:M) - релација помеѓу PROJECT_THREAD и DEVELOPER. Ни кажува во кој проекти учествувал/учествува соодветниот програмер. 
-    * Атрибути:
-        * Started_involvment_at - датум, задолжителен. 
-        * Ended_involment_at - датум, опционален. 
-* **DEFINED_BY**(N:M) - релација помеѓу CUSTOM_ROLE и PERMISSIONS. Ни кажува кој пермисии ги опфаќа соодветната улога. 
-* **CONSTRUCTS**(N:M) - релација помеѓу CHANNEL и DEVELOPER. Ни кажува кој програмер го креирал соодветниот канал. 
-* **SEND_MESSAGE_IN**(N:M) - релација помеѓу CHANNEL и DEVELOPER. Ни претставува кој програмер испратил порака во соодветниот канал. 
-    * Атрибути
-        * Timestamp - датум, задолжителен. 
-        * Msg_txt - текстуален, задолжителен. 
-* **IS_ASSIGNED**(N:M) - релација помеѓу CUSTOM_ROLE и DEVELOPER. Ни кажува кој улоги ги поседува соодветниот програмер. 
-=== Историјат
-
-
-
Index: cs/RelationalSchema.txt
===================================================================
--- docs/RelationalSchema.txt	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,103 +1,0 @@
-## Relational Schema
-
-1. **users** (_**username**_, is_activate, password, description, registered_at, sex)
-
-2. **moderator** (_**username#(users)**_) [inherits users]
-
-3. **developer** (_**username#(users)**_) [inherits users]
-
-4. **project_manager** (_**username#(users)**_) [inherits users]
-
-5. **thread** (_**id**_, description, logo_url, title, username#(users))
-
-6. **likes** (_**username#(users)**_, _**thread_id#(thread)**_)
-
-7. **threads_moderators** (_**thread_id#(thread)**_, _**username#(users)**_)
-
-8. **tag** (_**name**_)
-
-9. **tag_threads** (_**thread_id#(thread)**_, _**tag_name#(tag)**_)
-
-10. **topic_thread** (_**id**_, description, logo_url, title, username#(users), guidelines, next_discussion_id) [inherits thread]
-
-11. **project_thread** (_**id**_, description, logo_url, title, username#(users), repo_url) [inherits thread]
-
-12. **discussion_thread** (_**id**_, _**topic_id#(thread)**_, text, created_by_user#(users), reply_discussion, reply_topic_id)
-
-13. **topic_belongs_to_project** (_**topic_id#(thread)**_, _**project_id#(thread)**_)
-
-14. **topic_blacklist** (_**username#(users)**_, _**project_id#(users)**_)
-
-15. **developer_associated_with_project** (_**project_id#(thread)**_, _**developer#(users)**_, _**started_at**_, ended_at)
-
-16. **permissions** (_**name**_)
-
-17. **project_roles** (_**name**_, _**project_id#(thread)**_, description)
-
-18. **users_project_roles** (_**username#(users)**_, _**project_id#(thread)**_, _**role_name#(project_roles)**_)
-
-19. **project_roles_permissions** (_**permission_name#(permissions)**_, _**role_name#(project_roles)**_, _**project_id#(thread)**_)
-
-20. **project_request** (_**id**_, reason, status, submited_by_user#(users), for_project#(thread))
-
-21. **report** (_**id**_, created_at, description, status, thread_id#(thread), for_user#(users), by_user#(users))
-
-22. **channel** (_**name**_, description, logo_url, _**project_id#(thread)**_, developer#(users))
-
-23. **messages** (_**sent_at**_, content, _**sent_by#(users)**_, _**project_id#(thread)**_, _**channel_name#(channel)**_)
-
-
-
-
-V2
-
-
-## Relational Schema
-
-1. **users** (_**username**_, is_activate, password, description, registered_at, sex)
-
-2. **moderator** (_**username#(users)**_)
-
-3. **developer** (_**username#(users)**_)
-
-4. **project_manager** (_**username#(users)**_)
-
-5. **thread** (_**id**_, content, _**username#(users)**_)
-
-6. **likes** (_**username#(users)**_, _**thread_id#(thread)**_)
-
-7. **topic_threads_moderators** (_**thread_id#(thread)**_, _**username#(users)**_)
-
-8. **tag** (_**name**_)
-
-9. **tag_threads** (_**thread_id#(thread)**_, _**tag_name#(tag)**_)
-
-10. **topic_thread** (_**id#(thread)**_, title, guidelines, next_discussion_id, parent_topic_id#(thread))
-
-11. **topic_belongs_to_project** (_**topic_id#(thread)**_, _**project_id#(thread)**_)
-
-12. **topic_blacklist** (_**topic_id#(thread)**_, _**username#(users)**_, _**moderator#(users)**_)
-
-13. **project_thread** (_**id#(thread)**_, title, repo_url)
-
-14. **discussion_thread** (_**id#(thread)**_, _**created_by_user#(users)**_, reply_discussion_id#(thread), topic_id#(thread))
-
-15. **developer_associated_with_project** (_**project_id#(thread)**_, _**developer#(users)**_, _**started_at**_, ended_at)
-
-16. **permissions** (_**name**_)
-
-17. **project_roles** (_**name**_, _**project_id#(thread)**_, description)
-
-18. **users_project_roles** (_**username#(users)**_, _**project_id#(thread)**_, _**role_name#(project_roles)**_)
-
-19. **project_roles_permissions** (_**permission_name#(permissions)**_, _**role_name#(project_roles)**_, _**project_id#(thread)**_)
-
-20. **project_request** (_**id**_, description, status, _**submited_by_user#(users)**_, _**project_id#(thread)**_)
-
-21. **report** (_**id**_, created_at, description, status, _**thread_id#(thread)**_, _**for_user#(users)**_, _**by_user#(users)**_)
-
-22. **channel** (_**name**_, description, logo_url, _**project_id#(thread)**_, _**developer#(users)**_)
-
-23. **messages** (_**sent_at**_, content, _**sent_by#(users)**_, _**project_id#(thread)**_, _**channel_name#(channel)**_)
-
-
Index: cs/UseCase.txt
===================================================================
--- docs/UseCase.txt	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,59 +1,0 @@
-Use Cases
-
-User
-	- Kreirat topic.
-	- Kreirat discussion thread vo topic thread.
-	- Pravi reply na discussion thread.
-	- Stava like na thread. 
-	- Korisnik prijavuva drug korisnik za nesoodvetno odnesuvanje. 
-	- Korisnikot se prijavuva za uchestvo vo proekt.
-	- Referencira drug thread.
-	
-Moderator
-	- Nadgleduvat odreden Topic/Project thraed.
-	- Dodavat/Kreirat tagoj na dadeni topics. 
-	- Otstranuvat korisnik od topicot. 
-	
-Developer
-	- Kreirat kanal vo project.
-	- Pisuva poraka vo kanal.
-
-Project Owner
-	- Odobruva ili odbiva baranja za ucestvo vo negoviot proekt.
-	- Otstranuva developer od proekt.
-	- Kreira roles za daden proekt
-	- Dodava roles na daden developer
-	
-	
-SQL ideas
-	
-	- Site replies na daden thread t
-	- Site replies na daden thread t do dadeno nivo n - (primer ako imas thread -> reply1 -> reply2 -> reply3 -> reply2a, da gi prikazis site threads do reply2 i reply2a (ova znacit deka sa na isto nivo), znacit ke gi imas: thread -> reply1 -> reply2 -> reply2a. )
-	- Site vgnezdeni topic threads vo daden root topic thread t
-	- Kolku pati daden user u bil blacklistnat od nekoj topic/ project i/ili globalno od koj bilo
-	- Broj na replies na daden discussion thread ( ke trebit za sortiranje )
-	- Broj na likes na daden discussion thread.
-	- Broj na useri vo daden topic t (spored liked relacijata mozit ova da sa presmetat)
-	- Broj na reports so imat user submitnato vkupno
-	- Broj na reports so sa imat podneseno protiv daden user u
-	- Site developeri vo daden proekt so dadena permisija p - (primer za kreiranje kanali)
-	- Vo kolku proekti imat ucestvuvano daden developer d.
-	- Od proektite so ucestvuval, vo koj najdolgo ucestvuval daden developer d.
-	- Site poraki od daden developer vo daden kanal ili od site kanali
-	- Search spored content na poraka vo kanal
-	- Koi developers imat vo proekt p
-	//- Kolku razlicni developeri blacklistnal proektot p.
-	- Kolu pati daden developer d imat ucevstvuvano vo proekt p (primer ako zaprit pa pak vlezit pa pak...)
-	- Kolku kanali imat kreirano daden developer d (mozda za badge)
-	- Kolku useri vlegle vo proekt p vo daden interval na vreme i.
-	
-	
-	--- Ideja za achievements
-		Sekoj user so nad N likes na nekoj discussion thread vo daden topic thread da dobiet nekakov achievement(badge)
-		Developer so ucestvuval vo nad N proekti nekoj badge
-		
-		
-		
-
-
-	 
Index: cs/buildboard-ddl.sql
===================================================================
--- docs/buildboard-ddl.sql	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,319 +1,0 @@
---- Trigger before update/insert za check na iminjata topic/discussion -> OK
---- Trigger za ko ke adnit dete na topic thread sho e vo proekt, da go dodajt kako belongs_to vo proektot
---- Trigger za check dali reply na discussion thread pripagjat na ist topic thread kako na toj so mu pret reply
---- IMENUVANJE: triggeri so provervat nesto prefix = check, funkcii za istite prefix = validate
---- Nemame contraint sho velit deka sekoj topic thread trebat da e moderiran
-DROP TABLE IF EXISTS users CASCADE;
-DROP TABLE IF EXISTS moderator CASCADE;
-DROP TABLE IF EXISTS developer CASCADE;
-DROP TABLE IF EXISTS project_manager CASCADE;
-DROP TABLE IF EXISTS thread CASCADE;
-DROP TABLE IF EXISTS likes CASCADE;
-DROP TABLE IF EXISTS topic_threads_moderators CASCADE;
-DROP TABLE IF EXISTS tag CASCADE;
-DROP TABLE IF EXISTS tag_threads CASCADE;
-DROP TABLE IF EXISTS topic_thread CASCADE;
-DROP TABLE IF EXISTS topic_belongs_to_project CASCADE;
-DROP TABLE IF EXISTS blacklisted_user CASCADE;
-DROP TABLE IF EXISTS project_thread CASCADE;
-DROP TABLE IF EXISTS discussion_thread CASCADE;
-DROP TABLE IF EXISTS developer_associated_with_project CASCADE;
-DROP TABLE IF EXISTS permissions CASCADE;
-DROP TABLE IF EXISTS project_roles CASCADE;
-DROP TABLE IF EXISTS users_project_roles CASCADE;
-DROP TABLE IF EXISTS project_roles_permissions CASCADE;
-DROP TABLE IF EXISTS project_request CASCADE;
-DROP TABLE IF EXISTS report CASCADE;
-DROP TABLE IF EXISTS channel CASCADE;
-DROP TABLE IF EXISTS messages CASCADE;
-DROP TABLE IF EXISTS threads_moderators CASCADE;
-DROP TYPE IF EXISTS status;
-DROP VIEW IF EXISTS v_topic_thread CASCADE;
-DROP VIEW IF EXISTS v_project_thread CASCADE;
-DROP VIEW IF EXISTS v_discussion_thread CASCADE;
-DROP VIEW IF EXISTS v_developer CASCADE;
-DROP VIEW IF EXISTS v_project_owner CASCADE;
-DROP VIEW IF EXISTS v_moderator CASCADE;
-DROP FUNCTION IF EXISTS fn_project_insert_child_topic CASCADE;
-DROP FUNCTION IF EXISTS fn_validate_same_parent CASCADE;
-DROP TRIGGER IF EXISTS validate_same_parent ON discussion_thread CASCADE;
----- DDL
-CREATE TABLE users
-(
-    id            SERIAL PRIMARY KEY,
-    username      VARCHAR(32) UNIQUE NOT NULL,
-    is_activate   bool,
-    password      VARCHAR(72),
-    description   VARCHAR(200),
-    registered_at TIMESTAMP,
-    sex           VARCHAR(1)
-);
-CREATE TABLE moderator
-(
-    id INT PRIMARY KEY REFERENCES users (id)  on delete cascade
-);
-CREATE TABLE developer
-(
-    id INT PRIMARY KEY REFERENCES users (id)  on delete cascade
-);
-CREATE TABLE project_manager
-(
-    id INT PRIMARY KEY REFERENCES users (id)  on delete cascade
-);
-CREATE TABLE thread
-(
-    id      SERIAL PRIMARY KEY,
-    content TEXT,
-    user_id INT REFERENCES users (id) NOT NULL
-);
-CREATE TABLE topic_thread
-(
-    title           VARCHAR(32) NOT NULL,
-    guidelines      jsonb,
-    parent_id INT REFERENCES thread (id),
-    id              INT PRIMARY KEY REFERENCES thread (id) on delete cascade
-);
-CREATE TABLE discussion_thread
-(
-    parent_id           INT REFERENCES thread (id) NOT NULL,
-    id                  INT PRIMARY KEY REFERENCES thread (id) on delete cascade
-);
-CREATE TABLE project_thread
-(
-    title    VARCHAR(32) NOT NULL,
-    repo_url TEXT,
-    id       INT PRIMARY KEY REFERENCES thread (id) on delete cascade
-);
-CREATE TABLE likes
-(
-    user_id   INT REFERENCES users (id),
-    thread_id INT REFERENCES thread (id),
-    PRIMARY KEY (user_id, thread_id)
-);
-CREATE TABLE topic_threads_moderators
-(
-    thread_id INT REFERENCES thread (id) ON DELETE CASCADE,
-    user_id   INT REFERENCES users (id) ON DELETE CASCADE,
-    PRIMARY KEY (thread_id, user_id)
-);
-CREATE TABLE tag
-(
-    name VARCHAR(64) PRIMARY KEY
-);
-CREATE TABLE tag_threads
-(
-    thread_id INT REFERENCES thread (id),
-    tag_name  VARCHAR(64) REFERENCES tag (name),
-    PRIMARY KEY (thread_id, tag_name)
-);
-
-CREATE TABLE topic_belongs_to_project
-(
-    topic_id   INT REFERENCES thread (id) ON DELETE CASCADE,
-    project_id INT REFERENCES thread (id) ON DELETE CASCADE,
-    PRIMARY KEY (topic_id, project_id)
-);
-CREATE TABLE blacklisted_user
-(
-    id serial primary key ,
-    topic_id     INT REFERENCES thread (id) ON DELETE CASCADE,
-    user_id      INT REFERENCES users (id) ON DELETE CASCADE,
-    moderator_id INT REFERENCES users (id) ON DELETE CASCADE,
-    start_date   TIMESTAMP,
-    end_date     TIMESTAMP,
-    reason       TEXT,
-    UNIQUE (user_id, moderator_id, topic_id, start_date)
-);
-
-CREATE TABLE developer_associated_with_project
-(
-    project_id   INT REFERENCES thread (id),
-    developer_id INT REFERENCES users (id),
-    started_at   TIMESTAMP,
-    ended_at     TIMESTAMP,
-    PRIMARY KEY (project_id, developer_id, started_at)
-);
-CREATE TABLE permissions
-(
-    name VARCHAR(32) PRIMARY KEY
-);
-CREATE TABLE project_roles
-(
-    name        VARCHAR(32),
-    project_id  INT REFERENCES thread (id) ON DELETE CASCADE,
-    description TEXT,
-    PRIMARY KEY (name, project_id)
-);
-CREATE TABLE users_project_roles
-(
-    user_id    INT REFERENCES users (id),
-    project_id INT,
-    role_name  VARCHAR(32),
-    FOREIGN KEY (role_name, project_id)
-        REFERENCES project_roles (name, project_id),
-    PRIMARY KEY (user_id, project_id, role_name)
-);
-CREATE TABLE project_roles_permissions
-(
-    permission_name VARCHAR(32) REFERENCES permissions (name),
-    role_name       VARCHAR(32),
-    project_id      INT,
-    PRIMARY KEY (permission_name, role_name, project_id),
-    FOREIGN KEY (role_name, project_id)
-        REFERENCES project_roles (name, project_id)
-);
-CREATE TYPE status AS ENUM ('ACCEPTED', 'DENIED', 'PENDING');
-CREATE TABLE project_request
-(
-    id          SERIAL PRIMARY KEY,
-    description VARCHAR(200),
-    status      status                     NOT NULL,
-    user_id     INT REFERENCES users (id)  NOT NULL,
-    project_id  INT REFERENCES thread (id) NOT NULL
-);
-CREATE TABLE report
-(
-    id          SERIAL,
-    created_at  TIMESTAMP,
-    description VARCHAR(200) NOT NULL,
-    status      status,
-    thread_id   INT REFERENCES thread (id),
-    for_user_id INT REFERENCES users (id),
-    by_user_id  INT REFERENCES users (id),
-    PRIMARY KEY (id, thread_id, for_user_id, by_user_id)
-);
-CREATE TABLE channel
-(
-    name         VARCHAR(64),
-    description  VARCHAR(200),
-    project_id   INT REFERENCES thread (id) ON DELETE CASCADE,
-    developer_id INT REFERENCES users (id),
-    PRIMARY KEY (name, project_id)
-);
-CREATE TABLE messages
-(
-    sent_at      TIMESTAMP,
-    content      VARCHAR(200) NOT NULL,
-    sent_by      INT REFERENCES users (id),
-    project_id   INT,
-    channel_name VARCHAR(64),
-    FOREIGN KEY (channel_name, project_id)
-        REFERENCES channel (name, project_id) ON DELETE CASCADE,
-    PRIMARY KEY (channel_name, project_id, sent_at, sent_by)
-);
-------------------------VIEWS-----------------------------
-CREATE OR REPLACE VIEW v_project_thread
-AS
-SELECT thread.id, content, user_id, title, repo_url
-FROM project_thread project
-         JOIN thread
-              ON project.id = thread.id;
-CREATE OR REPLACE VIEW v_discussion_thread
-AS
-SELECT thread.id, content, user_id,parent_id
-FROM discussion_thread discussion
-         JOIN thread
-              ON discussion.id = thread.id;
-CREATE OR REPLACE VIEW v_topic_thread
-AS
-SELECT thread.id, content, user_id, title, guidelines, parent_id
-FROM topic_thread topic
-         JOIN thread
-              ON topic.id = thread.id;
-CREATE OR REPLACE VIEW v_moderator
-AS
-SELECT users.id, username, is_activate, password, description, registered_at, sex
-FROM moderator
-         JOIN users ON moderator.id = users.id;
-
-CREATE OR REPLACE VIEW v_developer
-AS
-SELECT users.id, username, is_activate, password, description, registered_at, sex
-FROM developer
-         JOIN users ON developer.id = users.id;
-CREATE OR REPLACE VIEW v_project_owner
-AS
-SELECT users.id, username, is_activate, password, description, registered_at, sex
-FROM project_manager
-         JOIN users ON project_manager.id = users.id;
-CREATE OR REPLACE VIEW v_moderator
-AS
-SELECT users.id, username, is_activate, password, description, registered_at, sex
-FROM moderator
-         JOIN users ON moderator.id = users.id;
-
-CREATE OR REPLACE VIEW v_developer
-AS
-SELECT users.id, username, is_activate, password, description, registered_at, sex
-FROM developer
-         JOIN users ON developer.id = users.id;
-CREATE OR REPLACE VIEW v_project_owner
-AS
-SELECT users.id, username, is_activate, password, description, registered_at, sex
-FROM project_manager
-         JOIN users ON project_manager.id = users.id;
--------------------------- FUNCTIONS ----------------------
-CREATE OR REPLACE FUNCTION fn_validate_topic_title()
-    RETURNS TRIGGER
-    LANGUAGE plpgsql
-AS
-$$
-BEGIN
-    IF new.title IN
-       (SELECT title
-        FROM topic_thread
-                 AS t
-        WHERE t.parent_id = new.parent_id OR (t.parent_id IS NULL AND new.parent_id IS NULL))
-    THEN
-        RAISE EXCEPTION 'There already exists a topic with title % in parent topic with id %',new.title,new.parent_id;
-END IF;
-RETURN new;
-END;
-$$;
-CREATE OR REPLACE FUNCTION fn_insert_topics_creator_as_moderator()
-    RETURNS TRIGGER
-    LANGUAGE plpgsql
-AS
-$$
-DECLARE
-v_user_id INT;
-BEGIN
-SELECT v_topic_thread.user_id
-INTO v_user_id
-FROM v_topic_thread
-WHERE v_topic_thread.id = new.id;
-INSERT INTO topic_threads_moderators(thread_id, user_id) VALUES (new.id, v_user_id);
-RETURN NEW;
-END;
-$$;
-
-CREATE OR REPLACE FUNCTION fn_insert_project_manager()
-RETURNS TRIGGER
-LANGUAGE plpgsql
-AS
-    $$
-    DECLARE usrId INT;
-BEGIN
-SELECT user_id INTO usrId FROM v_project_thread p WHERE NEW.id = p.id;
-INSERT INTO developer VALUES (usrId);
-INSERT INTO project_manager VALUES (usrId);
-RETURN NEW;
-END;
-    $$;
--------------------------- TRIGGERS ----------------------
-CREATE OR REPLACE TRIGGER tr_check_topic_name
-    BEFORE INSERT OR UPDATE
-                                ON topic_thread
-                                FOR EACH ROW
-                                EXECUTE FUNCTION fn_validate_topic_title();
-CREATE OR REPLACE TRIGGER tr_insert_topics_creator_as_moderator
-    AFTER INSERT
-    ON topic_thread
-    FOR EACH ROW
-EXECUTE FUNCTION fn_insert_topics_creator_as_moderator();
-CREATE OR REPLACE TRIGGER tr_insert_project_manager
-    AFTER INSERT
-    ON project_thread
-    FOR EACH ROW
-    EXECUTE FUNCTION fn_insert_project_manager();
-
Index: cs/changes.txt
===================================================================
--- docs/changes.txt	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,9 +1,0 @@
-- Cascade na reports i na guidelines
-- Likes impl*
-- Crud na replies
-- Ko ke vrakajs posle post baranje redirect, ta nosit do kaj so bese scrollnat na pageot ko si go pustil baranjeto.
-
-
-* kladov dislike, samo odzemat od likes msm ubo e taka ne ni trebat i dislikes da cuvame.
-
-Vidi vo todo za so da napres/dovrsis ti.
Index: cs/napreden_del.txt
===================================================================
--- docs/napreden_del.txt	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,557 +1,0 @@
-== Дополнително имплементирани кориснички сценарија
-
-* Креира улоги за даден проект.
-* !Доделува/Одзема улоги.
-* Додавање на корисник во црната листа на даден thread
-* Преглед на историјатот на црната листа за даден thread
-* Пријавување на корисник за недолично однесување во даден thread
-* Предглед на пријавите за даден thread и за даден корисник
-* Контрола на пристап во рамки на проект
-
-== Погледи
-=== Поглед за прикажување на сите одговори на даден топик
-{{{
-create or replace view v_discussion_thread
-as
-with recursive
-    depth_table as
-        (select parent_id, id, 0 as depth
-         from discussion_thread
-         UNION ALL
-         select discuss.parent_id, dpth.id, dpth.depth + 1
-         from depth_table dpth
-                  join discussion_thread discuss
-                       on dpth.parent_id = discuss.id),
-    tmp as (select id, max(depth) as depth
-            from depth_table
-            group by id)
-select d.id as id, t.user_id as user_id, d.depth as depth, d1.parent_id as parent_id, t.created_at as "created_at"
-from tmp d
-         join depth_table d1
-              on d.id = d1.id and d1.depth = d.depth
-         join thread t
-              on t.id = d.id;
-}}}
-
-=== Поглед за прикажување на пермисиите за дадена улога во за сите канали во даден проект.
-{{{
-CREATE OR REPLACE VIEW role_channel_permissions AS
-SELECT
-    c.project_resource_id,
-    c.name,
-    pr.id as role_id,
-    COALESCE(
-                    STRING_AGG(
-                    DISTINCT rp.permission_name, ',' ORDER BY rp.permission_name
-                              ) FILTER (
-                        WHERE
-                        (pr.override_type = 'INCLUDE' AND rpo.project_resource_id IS NOT NULL)
-                            OR
-                        (pr.override_type = 'EXCLUDE' AND rpo.project_resource_id IS NULL)
-                        ),
-                    ''
-    ) AS permissions
-FROM channel c
-         JOIN project_role pr
-              ON pr.project_id = c.project_id
-         LEFT JOIN role_permissions rp
-                   ON rp.role_id = pr.id
-                       AND rp.permission_name IN ('READ','WRITE')
-         LEFT JOIN role_permissions_overrides rpo
-                   ON rpo.role_id = pr.id
-                       AND rpo.permission_name = rp.permission_name
-                       AND rpo.project_resource_id = c.project_resource_id
-GROUP BY c.project_resource_id, c.name,pr.id
-}}}
-
-== Транзакции
-=== Прифаќање на пријава и зачувување на приложениот feedback
-{{{
-@Transactional
-    public void accept(BBUser creator, Integer reqId) {
-        ProjectRequests prReq = getRequestById(reqId);
-        prReq.setStatus(Status.ACCEPTED);
-
-        feedbackService.create(creator,FeedbackFor.P,prReq);
-        projectService.addDeveloperToProject(prReq.getProject(), prReq.getCreator());
-        prReqRepo.save(prReq);
-    }
-}}}
-
-=== Одбивање на пријава и зачувување на прилоѓениот feedback
-{{{
-@Transactional
-    public void deny(Integer reqId, String desc, BBUser creator) {
-        ProjectRequests prReq = getRequestById(reqId);
-        prReq.setStatus(Status.DENIED);
-        feedbackService.create(desc,creator,FeedbackFor.P,prReq);
-        prReqRepo.save(prReq);
-    }
-}}}
-
-=== Ажурирање на постоечка улога
-{{{
-@Transactional
-    public void updateRole(Integer id, AddRoleDTOEntities addRoleDTO) {
-
-        ProjectRole existingRole = projectRoleRepository.findById(id).orElseThrow(() -> new IllegalArgumentException("bad role id"));
-        projectRolePermissionRepository.deleteAllByIdRole(existingRole);
-
-        existingRole.setName(addRoleDTO.getName());
-        existingRole.setOverrideType(addRoleDTO.getProjectResourcePermissionOverrideType().toString());
-
-        projectRoleRepository.save(existingRole);
-
-        List<ProjectRolePermission> newGlobalPermissions = mapGlobalsToProjectRolePermissions(existingRole, addRoleDTO.getGlobalPermissions());
-        List<ProjectRolePermission> newPerResourcePermissions = mapPerResourceToProjectRolePermissions(existingRole,addRoleDTO.getPermissionsResourceWrappers());
-        List<ProjectRolePermissionResourceOverride> resourceOverrides = mapToResourceOverrides(getResources(addRoleDTO.getPermissionsResourceWrappers()),newPerResourcePermissions);
-
-
-        projectRolePermissionRepository.saveAll(newGlobalPermissions);
-        projectRolePermissionRepository.saveAll(newPerResourcePermissions);
-        projectRolePermissionResourceOverrideRepository.saveAll(resourceOverrides);
-
-    }
-
-}}}
-=== Додавање на нова улога во проект
-{{{
-    @Transactional
-    public void addRole(AddRoleDTOEntities addRoleDTO) {
-        ProjectRole role = projectRoleRepository.save(
-                new ProjectRole(
-                        addRoleDTO.getProject(),
-                        addRoleDTO.getName(),
-                        addRoleDTO.getProjectResourcePermissionOverrideType().toString()
-                )
-        );
-
-        List<ProjectRolePermission> entities = mapPerResourceToProjectRolePermissions(role, addRoleDTO.getPermissionsResourceWrappers());
-        projectRolePermissionRepository.saveAll(mapGlobalsToProjectRolePermissions(role, addRoleDTO.getGlobalPermissions()));
-        projectRolePermissionRepository.saveAll(entities);
-        projectRolePermissionResourceOverrideRepository.saveAll(mapToResourceOverrides(
-                getResources(addRoleDTO.getPermissionsResourceWrappers()),
-                entities
-        ));
-}}}
-{{{}}}
-
-
-
-
-
-
-
-== Тригери
-=== Проверка дали даден топик имат уникатно име во парент threadот
-{{{
-CREATE OR REPLACE FUNCTION fn_validate_topic_title()
-    RETURNS TRIGGER
-    LANGUAGE plpgsql
-AS
-$$
-BEGIN
-    IF new.title IN
-       (SELECT title
-        FROM topic_thread
-                 AS t
-        WHERE t.parent_id = new.parent_id
-           OR (t.parent_id IS NULL AND new.parent_id IS NULL)
-       )
-    THEN
-        RAISE EXCEPTION 'There already exists a topic with title % in parent topic with id %',new.title,new.parent_id;
-    END IF;
-    RETURN new;
-END;
-$$;
-}}}
-{{{
-CREATE OR REPLACE TRIGGER tr_check_topic_name --RADI
-    BEFORE INSERT OR UPDATE
-    ON topic_thread
-    FOR EACH ROW
-EXECUTE FUNCTION fn_validate_topic_title();
-}}}
-
-=== При креирање на топик, креаторот се внесува како модератор
-{{{
-CREATE OR REPLACE FUNCTION fn_insert_topics_creator_as_moderator()
-    RETURNS TRIGGER
-    LANGUAGE plpgsql
-AS
-$$
-DECLARE
-    v_user_id INT;
-BEGIN
-    SELECT v_topic_thread.user_id
-    INTO v_user_id
-    FROM v_topic_thread
-    WHERE v_topic_thread.id = new.id;
-    IF not check_if_user_exists_in('moderator', 'id', v_user_id::text) THEN
-        INSERT INTO moderator values (v_user_id);
-    END IF;
-    INSERT INTO topic_threads_moderators(thread_id, user_id) VALUES (new.id, v_user_id);
-    RETURN NEW;
-END
-$$;
-}}}
-{{{
-CREATE OR REPLACE TRIGGER tr_insert_topics_creator_as_moderator
-    AFTER INSERT
-    ON topic_thread
-    FOR EACH ROW
-EXECUTE FUNCTION fn_insert_topics_creator_as_moderator();
-}}}
-
-=== При бришење на topic, проверка дали модераторот сеуште модерира topicци
-{{{
-CREATE OR REPLACE FUNCTION fn_remove_orphan_moderator()
-    RETURNS trigger
-    LANGUAGE plpgsql
-AS $function$
-BEGIN
-    IF not exists (
-        select 1
-        from topic_threads_moderators t
-        where t.user_id = OLD.user_id
-    )
-    THEN
-        DELETE FROM moderator where id=OLD.user_id;
-    END IF;
-    IF not exists (
-        select 1
-        from topic_threads_moderators t
-        where t.thread_id = OLD.thread_id
-    )
-    THEN
-        delete from discussion_thread where parent_id=OLD.thread_id;
-        DELETE FROM topic_thread where id = OLD.thread_id;
--- 	delete from thread where id =  OLD.thread_id;
-    END IF;
-    RETURN OLD;
-END;
-}}}
-
-{{{
-CREATE OR REPLACE TRIGGER tr_remove_orphan_moderator
-    AFTER DELETE
-    ON topic_threads_moderators
-    FOR EACH ROW
-EXECUTE FUNCTION fn_remove_orphan_moderator();
-}}}
-
-=== При креирање на проект, креаторот се внесува како PROJECT_OWNER
-{{{
-CREATE OR REPLACE FUNCTION fn_insert_project_manager()
-    RETURNS TRIGGER
-    LANGUAGE plpgsql
-AS
-$$
-DECLARE
-    usrId      INT;
-    new_project_id INT;
-BEGIN
-    SELECT user_id, id
-    into usrId,new_project_id
-    FROM v_project_thread p
-    WHERE NEW.id = p.id;
-    IF not EXISTS(
-        select 1
-        from developer_associated_with_project dawp
-        where dawp.project_id=new_project_id and dawp.developer_id=usrId
-    ) THEN
-        INSERT INTO developer_associated_with_project(project_id, developer_id, started_at)
-        values (new_project_id, usrId, NOW());
-    end if;
-    IF not check_if_user_exists_in('project_manager', 'id', usrId::text) THEN
-        INSERT INTO project_manager VALUES (usrId);
-    end if;
-    RETURN NEW;
-END
-$$;
-}}}
-
-{{{
-CREATE OR REPLACE TRIGGER tr_a_insert_project_manager --RADI
-    AFTER INSERT
-    ON project_thread
-    FOR EACH ROW
-EXECUTE FUNCTION fn_insert_project_manager();
-}}}
-
-
-=== Бришење на не користени тагови
-
-{{{
-create or replace function fn_delete_dangling_tags()
-    RETURNS trigger
-    LANGUAGE plpgsql
-AS $$
-BEGIN
-    IF NOT EXISTS(select 1
-                  from tag_threads
-                  where tag_name = OLD.tag_name
-                  group by tag_name) THEN
-        delete from tag where name = OLD.tag_name;
-    end if;
-    RETURN OLD;
-END;
-$$;
-}}}
-
-{{{
-create or replace trigger tr_delete_dangling_tags
-    after delete
-    on tag_threads
-    for each row
-    execute function fn_delete_dangling_tags();
-}}}
-
-=== Внесување на даден корисник како developer, откако ќе стани дел од даден проект
-{{{
-create or replace function fn_add_dev_if_not_exist()
-    returns trigger
-    language plpgsql
-as $$
-BEGIN
-    IF NOT check_if_user_exists_in('developer','id',new.developer_id::text) THEN
-        INSERT INTO developer values (NEW.developer_id);
-    end if;
-    RETURN new;
-end;
-$$;
-
-}}}
-
-{{{
-create or replace trigger tr_add_dev_if_not_exist
-    before insert on developer_associated_with_project
-    for each row
-execute function fn_add_dev_if_not_exist();
-}}}
-
-=== Креирање на General канал, при креирање на даден проект
-{{{
-create or replace function fn_insert_general_for_project()
-    returns trigger
-    language plpgsql
-as $$
-DECLARE
-    developer_id INT;
-    project_resource_id INT;
-BEGIN
-    select user_id
-    into developer_id
-    from thread t
-    where t.id=NEW.id;
-    insert into project_resource default values returning id into project_resource_id;
-
-    insert into channel(name,description,project_id,developer_id,project_resource_id)
-    values ('General','General',NEW.id,developer_id,project_resource_id);
-
-    return new;
-end;
-$$;
-}}}
-
-{{{
-create or replace trigger tr_insert_general_for_project
-    after insert on project_thread
-    for each row
-execute function fn_insert_general_for_project();
-}}}
-
-=== Сите 'pending' пријави за даден корисник стануваат 'accepted', при додавање на тој корисник во 'blacklist' листата.
-{{{
-CREATE OR REPLACE FUNCTION fn_change_status_on_pending_reports()
-    RETURNS TRIGGER
-    LANGUAGE plpgsql
-AS $$
-BEGIN
-    RAISE NOTICE 'user_id: %, topic_id: %', NEW.user_id, NEW.topic_id;
-
-UPDATE submission
-SET status = 'ACCEPTED'
-WHERE id in (
-    select id
-    from report r
-    where r.for_user_id = NEW.user_id and r.thread_id = NEW.topic_id
-);
-
-RETURN NEW;
-END;
-$$;
-}}}
-
-{{{
-CREATE OR REPLACE TRIGGER tr_change_status_on_pending_reports
-    AFTER INSERT
-    ON blacklisted_user
-    FOR EACH ROW
-EXECUTE FUNCTION fn_change_status_on_pending_reports();
-}}}
-
-=== Оневозможувено повторно додавање на корисник во 'blacklist' листата, доколку е веќе присутен на неа
-
-{{{
-create or replace function fn_add_blacklisted_user()
-RETURNS trigger
-LANGUAGE plpgsql
-AS $$
-BEGIN
-	IF NOT EXISTS(
-		select 1
-		from blacklisted_user
-		where  topic_id = NEW.topic_id and user_id = NEW.user_id and end_date is NULL
-	)
-	THEN
-		RETURN NEW;
-END IF;
-RETURN NULL;
-END;
-$$;
-}}}
-
-{{{
-create or replace trigger tr_add_blacklisted_user
-before insert on blacklisted_user
-for each row
-execute function fn_add_blacklisted_user();
-}}}
-
-=== Автоматско додавање на project_resource, при додавање на канал
-{{{
-create or replace function fn_add_project_resource()
-    returns trigger
-    language plpgsql
-as $$
-DECLARE
-    project_resource_id INT;
-BEGIN
-    insert into project_resource default values returning id into project_resource_id;
-    new.project_resource_id := project_resource_id;
-    return new;
-end;
-$$;
-}}}
-
-{{{
-create or replace trigger tr_add_project_resource_channel
-    before insert
-    on channel
-    for each row
-execute function fn_add_project_resource();
-}}}
-
-== Индекси
-== Процедури
-
-=== Процедура за одбивање на 'PENDING' на пријави за корисници постари од 1 месец
-
-{{{
-
-CREATE OR REPLACE PROCEDURE mark_denied_reports_older_than_1month()
-LANGUAGE plpgsql
-AS $$
-DECLARE
-    older_reports RECORD;
-    user_id int;
-BEGIN
-    FOR older_reports IN
-        SELECT
-            r.id AS submission_id,
-            r.thread_id as topic
-        FROM report r
-                 JOIN submission s ON s.id = r.id
-        WHERE s.status = 'PENDING' and now() - s.created_at >= INTERVAL '1 month'
-    LOOP
-        BEGIN
-            UPDATE submission
-            SET status = 'DENIED'
-            WHERE id = older_reports.submission_id;
-
-            select u.id
-            into user_id
-            from thread t
-            join users u
-            on t.user_id = u.id
-            where t.id = older_reports.thread_id;
-
-
-            INSERT INTO feedback(description, submission_type, created_at, submission_id, created_by)
-            VALUES (
-                       'Stale report. Closing due to inactivity.',
-                       'R',
-                       now(),
-                       older_reports.submission_id,
-                       user_id
-                   );
-        END;
-    END LOOP;
-END;
-$$;
-}}}
-
-{{{
-@Transactional
-    @Scheduled(cron = "0 0 0 1 * ?")
-    public void markRejectedPendingReports() {
-        em
-                .createNativeQuery("CALL mark_denied_reports_older_than_1month();")
-                .executeUpdate();
-    }
-}}}
-
-=== Процедура за одбивање на 'PENDING' за барања за учество во даден проект постари од 1 месец
-
-{{{
-CREATE OR REPLACE PROCEDURE mark_denied_pr_requests_older_than_1month()
-LANGUAGE plpgsql
-AS $$
-DECLARE
-older_reports RECORD;
-user_id int;
-BEGIN
-    FOR older_reports IN
-        SELECT
-            pr.id AS submission_id,
-            pr.project_id as thread_id
-        FROM project_request pr
-                 JOIN submission s ON s.id = pr.id
-        WHERE s.status = 'PENDING' and now() - s.created_at >= INTERVAL '1 month'
-            LOOP
-        BEGIN
-            UPDATE submission
-            SET status = 'DENIED'
-            WHERE id = older_reports.submission_id;
-
-            select u.id
-            into user_id
-            from thread t
-                     join users u
-                          on t.user_id = u.id
-            where older_reports.thread_id = t.id;
-
-            INSERT INTO feedback(description, submission_type, created_at, submission_id, created_by)
-            VALUES (
-                       'Stale report. Closing due to inactivity.',
-                       'P',
-                       now(),
-                       older_reports.submission_id,
-                       user_id
-                   );
-        END;
-    END LOOP;
-END;
-$$;
-}}}
-
-{{{
-  @Transactional
-    @Scheduled(cron = "0 0 0 1 * ?")
-    public void markRejectedPendingPrRequests() {
-        em
-                .createNativeQuery("CALL mark_denied_pr_requests_older_than_1month();")
-                .executeUpdate();
-    }
-}}}
Index: cs/napredna_faza_todo.txt
===================================================================
--- docs/napredna_faza_todo.txt	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,19 +1,0 @@
-BUILDBOARD NAPREDNA FAZA
-
-- support za sliki i videa(mozda) vo topic content
-- markdown edit za content na topic
-- notifikacii
-- achievements (builder ke ni teknit)
-- follow na topic, project, user
-- rating namesto like (+1 - 1)
-- filter spored vreme
-- analitika > topic views (clicks)
-- autocompletion na tags ko ke klavas
-- ai tag generation (ke vidime za ova)
-- topics rename vo posts
-- toggle za dodatni informacii so sakas da ti sa prikazat primer vo navbar ako si content creator...
-- referenciranje na threads (link)
-- communities (grupacija na posts)
-- prikaz koj tags se najcesto koristeni vo dadeno commmunity spored topics vo toj community
-- dinamicen search, grupacija na rezultati, (slicno ko na github so repo: samo repos itn...
-- statistiki za userot
Index: cs/normalization.txt
===================================================================
--- docs/normalization.txt	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,365 +1,0 @@
-= Нормализација и Подобрување на дизајн 
-== Функционални зависности(ФЗ)  
-Со цел целосно репрезентирање на атрибутите присутни во релациското мапирање, одредени атрибути со исти имиња ќе бидат преименувани. Лесно се заприметуваат таквите атрибути во релацијата R, на пр. **user(id) -> user_id** и **permission(name) -> permission_name**.
-{{{ 
-R(
-  user: username, description, password, registered_at, email, sex,is_active,name, user_id
-  feedback: feedback_submission_type, feedback_created_at, feedback_description 
-  submission: submission_id, submission_status, submission_created_at, submission_description,
-  blacklisted_user: blacklisted_id,blacklisted_start_date, blacklisted_end_date, reason,blacklisted_about_user
-  tag: tag_name, 
-  thread: thread_id, thread_created_at, thread_content 
-  topic_thread: guidelines, topic_title, parent_id  
-  project_thread: repo_url, project_title, 
-  associated_with: asc_started_at, asc_ended_at, 
-  channel: channel_name, channel_description, channel_id
-  permissions: perm_name, 
-  project_roles: pr_name, pr_id, pr_override_type,
-  sends_message_in: msg_send_at, msg_content,
-) 
-}}} 
-
-=== Иницијални ФЗ
-
-1. {{{ user_id ->  username, description, password, registered_at, email, sex,is_active,name }}}  
-
-2. {{{ username -> user_id, description, password, registered_at, email, sex,is_active,name }}} 
-
-3. {{{ submission_id -> feedback_submission_type, feedback_created_at, feedback_description }}} 
-
-4. {{{ submission_id ->  submission_status, submission_created_at, submission_description }}} 
-
-5. {{{ blacklisted_id -> blacklisted_about_user,user_id, thread_id, blacklisted_start_date,  blacklisted_end_date, reason }}} 
-
-6. {{{ thread_id -> thread_created_at, thread_content }}} 
-
-7. {{{ thread_id -> guidelines, topic_title, parent_id }}} 
-
-8. {{{ thread_id -> repo_url, project_title }}} 
-
-9. {{{ {thread_id, user_id } -> asc_started_at, asc_ended_at }}} 
-
-10. {{{ channel_id ->  channel_name,channel_description}}}  
-
-12. {{{ {channel_id, msg_send_at, user_id } -> msg_content }}} 
-
-13. {{{ pr_id -> pr_name, pr_override_type }}} 
-
-14. {{{ parent_id -> thread_id }}} 
-
-15. {{{ project_title -> repo_url, thread_created_at, thread_content  }}} 
-
-16. {{{ {parent_id, topic_title} -> guidelines, thread_created_at, thread_content }}} 
-
-17. {{{ {pr_name, thread_id} -> pr_override_type }}} 
-
-18. {{{ blacklisted_about_user -> user_id  }}} 
-
-19. {{{ { blacklisted_about_user,user_id, thread_id, blacklisted_start_date } -> blacklisted_end_date,reason,blacklisted_id }}}
-
-=== Изведени ФЗ
-
-1. {{{ parent_id -> thread_created_at, thread_content }}}
-
-2. {{{ parent_id -> guidelines, topic_title, parent_id }}}
-
-3. {{{ parent_id -> repo_url, project_title }}}
-
-4. {{{ blacklisted_about_user -> username, description, password, registered_at, email, sex,is_active,name,user_id }}}
-
-=== Анализа на функционални зависности
-За анализата на функционални зависности ќе го користиме методот на LHS/RHS поделба. Според овој метод потребно е да се поделат атрибутите во 3 групи, односно атрибути што се среќаваат на лева страна од Функционалните зависности(LHS) и според истата логика атрибути на десна страна и атрибути кои се среќаваат на 2те страни. 
-
-> **LHS**: 
->> {{{ submission_id,blacklisted_start_date, msg_send_at,pr_id,tag_name,perm_name,blacklisted_about_user, channel_id}}}
-
-> **RHS**: 
->> {{{ description, password, registered_at, email, sex,is_active,name, feedback_submission_type, feedback_created_at, feedback_description, submission_status, submission_created_at, submission_description,blacklisted_end_date, reason, tag_name,thread_created_at, thread_content, guidelines,repo_url, asc_started_at, channel_description, perm_name, pr_override_type, msg_content, channel_name }}} 
-
-> **LHS & RHS**: 
->> {{{ user_id,thread_id,username,parent_id,project_title,topic_title, pr_name,blacklisted_id}}} 
-
-== Нормализација 
-
-=== Сегашна нормална форма 
-
-Имајќи во предвид дека **guidelines** e повеќе вредносен атрибут, доаѓаме до заклучок дека сегашната имплементација на релацијата не е ни во 1NF форма.
-
-=== Декомпозиција на R во 1NF 
-Со оделување на **guidelines** во посебна релација {{{ R1(thread_id, guideline) }}} и {{{ R2(username, thread_id, password...) }}} постигнуваме релациите да се во 1NF. 
-
-Според досега разгледаното за R1(thread_id, guideline) ги имаме следниве ФЗ: 
-
-1. {{{ thread_id -> thread_id }}}
-2. {{{ guideline -> guideline }}} 
-
-Според функционалните зависности, единствената комбинација на атрибути која го задоволува условот за супер клуч е {{{ {thread_id, guideline} }}}, бидејќи {{{ {thread_id, guideline}+ = {thread_id, guideline} }}}. Сепак, со цел да се оптимизираат операциите на базата (особено внесување и пребарување), ќе воведеме нов сурогат клуч **id** како примарен клуч. Заедно со него ги додаваме и следниве ФЗ {{{ id -> thread_id, guideline }}}.
-
-Ова е практично, бидејќи природниот клуч {{{ {thread_id, guideline} }}} содржи guideline, која е varchar атрибут со променлива големина. Ако се користеше само природниот клуч, PostgreSQL ќе креираше B-tree индекс врз guideline, кој е поголем по големина и поради тоа побавно ќе се ажурира при **DRU** операции (потребни се повеќе IO страници за индексирање и податоци). Со воведување на сурогат клуч **id** како мал фиксно-димензионален атрибут (на пр. serial или bigserial), индексите се помали и операциите се поефикасни.
-
-Со ова R1 ни се совпаѓа со релацијата **topic_guidelines**, па понатаму ќе ја референцираме како таква. 
-
-=== Декомпозиција R1 до BCNF 
-Според следниве ФЗ за R1: 
-1. {{{ thread_id -> thread_id }}}
-2. {{{ guideline -> guideline }}}
-3. {{{ id -> thread_id, guideline }}}
-
-Според тоа што само **id** ги определува сите атрибути({{{ id+ -> id,thread_id,guideline}}}) следува дека единствен кандидат клуч е **id**. 
-
-Примарен клуч за оваа релациja би бил **id**, бидејќи неговиот затварач е {{{ id+ = {thread_id, guideline} }}} и е најмал затварач кој ја определува целата релација. 
-
-Според 2NF релацијата не смеe да содржи парцијални зависности. Ова веќе е задоволено од ФЗ за R1. 
-Според 3NF релацијата потребно е секоја ФЗ(X->A) да ги задоволи следниве својства: 
-
-1. X e супер клуч на R 
-2. А е примарен атрибут во R. 
-
-Според ова релацијата е веќе во 3NF. 
-Според BCNF секоја релација потребно е да го задоволува следното својство: 
-   "За секое нетривијално (X->A) важи дека X е суперклуч на R". 
-Според тоа што **id** e клуч на R1, следува дека релацијата е во BCNF. 
-
-=== Декомпозиција R во 2NF 
-Доколку би ги избрале само атрибутите на левата страна, во таков случај не би можеле да пристапиме до сите ФЗ во кои е вклучен thread_id. Заради тоа ќе го избериме thread_id. Со него имаме:
-{{{
-    { 
-submission_id,
-blacklisted_start_date,
-msg_send_at,
-pr_id,
-tag_name,
-perm_name,
-blacklisted_about_user,
-channel_id 
-} = { 
-submission_id
-blacklisted_start_date
-msg_send_at
-pr_id
-tag_name
-perm_name
-blacklisted_about_user
-channel_id, 
-feedback_submission_type, feedback_created_at, feedback_description,
-submission_status, submission_created_at, submission_description ,
-channel_name,channel_description, 
-pr_name, pr_override_type, 
-user_id, 
-username, description, password, registered_at, email, sex,is_active,name,
-blacklisted_end_date, reason,
-thread_created_at, thread_content,
-topic_title, parent_id,
-repo_url, project_title,
-asc_started_at, asc_ended_at,
-msg_send_at,msg_content,
-thread_id,
-pr_override_type
-}
-}}}
-
-{{{ R1(user_id,username, description, password, registered_at, email, sex,is_active,name) }}} 
-
-{{{ R2(submission_id,feedback_submission_type, feedback_created_at, feedback_description,submission_status, submission_created_at, submission_description)}}}
-
-{{{ R3(blacklisted_about_user,user_id, thread_id, blacklisted_start_date,blacklisted_end_date, reason) }}} 
-
-
-{{{ R4(thread_id,thread_created_at, thread_content,topic_title, parent_id,repo_url, project_title) }}}
-
-{{{ R5(channel_id,channel_name,channel_description) }}}
-
-{{{ R6(pr_id,pr_name, pr_override_type) }}}
-
-{{{ R7(channel_id, msg_send_at, user_id,msg_content) }}}
-
- 
-{{{ R8(thread_id,user_id,asc_started_at, asc_ended_at) }}}
-
-{{{ (Останати) : R9(perm_name,tag_name) }}}
-
-=== Нормализација на R1 до 3NF 
-Може да се запримети дека оваа релација е устaри релацијата **users**. 
-За оваа релација важат следниве ФЗс:
-1. {{{user_id ->  username, description, password, registered_at, email, sex,is_active,name}}}
-
-2. {{{username -> user_id, description, password, registered_at, email, sex,is_active,name }}}
-
-Од тоа што немаме транзитивни зависности во оваа релациja, следува дека **R1** e веќе во 3NF. 
-
-=== Нормализација на R1 до BCNF
-
-Oд претходниот чекор согледуваме дека секоја ФЗс вклучува супер клуч, што значи дека релацијта **R1** e веќе во BCNF. 
-
-=== Нормализација на R2 до 3NF 
-Единствени ФЗс за оваа релација се: 
-1. {{{ submission_id -> feedback_submission_type, feedback_created_at, feedback_description }}} 
-
-2. {{{ submission_id ->  submission_status, submission_created_at, submission_description }}} 
-
-Со користење правилото !Унија/Декомпозиција од привалата за изведување на Армстронг добиваме: 
-
-1. {{{ submission_id ->  submission_status, submission_created_at, submission_description, feedback_submission_type, feedback_created_at, feedback_description}}}
-
-Од тоа што немаме транзитивни зависности, следува дека **R2** е веќе во 3NF. 
-
-=== Нормализација на R2 до BCNF 
-
-Од претходниот чекор, може да согледаме дека имаме само една ФЗ, што значи дека таа ФЗ мора да содржи суперклуч за релациjaта. Според претходно спомнатото може да се заклучи дека **R2** e веќе во BCNF.
-
-=== Подобрување на нормализација на R2 
-
-Oд доменот на апликацијата се согледува дека не секој submission мора да има feedback, тоа значи дека доста инстанци ќе имат null вредности за колоните feedback_submission_type, feedback_created_at, feedback_description. Со цел одбегнување на записи со голем број null вредности ќе изведиме 2 нови релации. 
-
-1. {{{ R21(submission_id,submission_status, submission_created_at, submission_description) }}}  
-2. {{{ R22(submission_id,feedback_submission_type, feedback_created_at, feedback_description) }}} 
-
-На овој начин доколку некој submission нема feedback тогаш нема да има запис во **R22** и нема да има null вредности во записите. За разлика од претходното решение доста каде што feedback колоните би биле полни со null вредности. 
-
-Притоа да согледаме дека **R21** e релациjaта **submission** и **R22** е **feedback**. 
-
-=== Нормализација на R3 до 3NF
-
-ФЗ присутни во оваа релациja се:
-
-
-1. {{{blacklist_id-> blacklisted_about_user,user_id,thread_id,blacklisted_start_date,blacklisted_end_date,reason}}}
-
-2. {{{{ blacklisted_about_user,user_id, thread_id, blacklisted_start_date } -> blacklisted_end_date,reason,blacklisted_id }}}
-
-
-R3 е веќе во 3NF, заради тоа што во секоја Ф3 на левата страна е супер клуч и нема транзитивни зависности. 
-
-=== Нормализација до BCNF 
-
-
-{{{R31(blacklisted_about_user,user_id, thread_id, blacklisted_start_date,blacklisted_id)}}}
-{{{R32(blacklisted_about_user,user_id, thread_id,blacklisted_start_date,blacklisted_end_date,reason)}}}
-
-
-Сметаме дека нормализацијата до BCNF за оваа релација **не е потребна**, бидејќи **R31** нема корисни информации што не може да се извлечат од R32, и постојано би требало да се користи **R32** заради тоа што сите потребни информации од R31 веќе се присутни во R32 како и дополнителни информации како blacklisted_end_date кои се клучни за бизнис логиката на апликацијата. 
-
-
-
-=== Нормализација на R4 до 3NF 
-ФЗс присутни во оваа релација се: 
-
-1. {{{ thread_id -> thread_created_at, thread_content, topic_title, parent_id, repo_url, project_title }}}
-2. {{{ project_title -> thread_created_at, thread_content, repo_url }}}
-3. {{{ {parent_id, topic_title} -> thread_content, thread_created_at }}}
-4. {{{ parent_id ->  thread_created_at, thread_content, topic_title, parent_id, repo_url, project_title, thread_id }}}
-
-{{{ R41(project_title, thread_created_at, thread_content, repo_url) }}} 
-{{{ R42(parent_id, topic_title,thread_content, thread_created_at) }}} 
-{{{ R43(thread_id, project_title, topic_title, parent_id) }}} 
-
- **thread_created_at** и **thread_content** се повторуваат во **R41** и **R42**, па според тоа може да се изведат во една заедничка релација, односно релацијата **R43**. 
-Според тоа се добиваат следните релации: 
-
-{{{ R41(project_title, repo_url) }}} 
-{{{ R42(parent_id, topic_title) }}}  
-{{{ R43(thread_id, project_title, topic_title, parent_id, thread_created_at, thread_content) }}} 
-
-Од тоа што **thread** може да е или проект или topic, но не и двете. Tоа повлекува дека: 
-
-- **thread** е проект -> **topic_title**, **parent_id** се null вредности. 
-- **thread** е  topic -> **project_title** е null вредност. 
-
-Со цел да избегнеме null вредности и да обезбедиме **lossless join** ќе го направиме следното: 
-
-- **R41** ќе додадеме **thread_id** (за постигнување на  **lossless join**), додека од **R43** ќе отстраниме **project_title**. 
-- **R42** ќе додадеме **thread_id** (за постигнување на  **lossless join**), додека од **R43** ќе остраниме  **topic_title**, **parent_id**. 
-
-Со тоа се добиваат следните релации: 
-
-{{{ R41(project_title, repo_url, thread_id) }}} 
-{{{ R42(parent_id, topic_title, thread_id) }}}  
-{{{ R43(thread_id, thread_created_at, thread_content) }}} 
-
-=== Нормализација на R41 до BCNF 
-Eдинстевни ФЗ присутни во оваа релација се: 
-1. {{{ thread_id -> repo_url,project_title }}}
-2. {{{ project_title -> repo_url, thread_id }}}
-
-Лесно се согледува дека {{{ thread_id }}} и {{{project_title}}} се кандидат клучеви, па според тоа бидејќи немаме ниту еден атрибут на левата старна во ФЗти, кој не е кандидат клуч, релацијата е во BCNF. 
-
-Притоа да согледаме дека **R41** е релацијата **project_thread**.
-
-=== Нормализација на R42 до BCNF 
-Eдинстевни ФЗ присутни во оваа релација се: 
-1. {{{ thread_id channel_id-> topic_title,parent_id }}}
-2. {{{ {topic_title,parent_id} -> thread_id }}}
-3. {{{ parent_id -> topic_title, thread_id }}}
-
-Бијдеќи {{{ parent_id }}} и {{{thread_id}}} се кандидат клучеви( {{{ {parent_id, topic_title} }}} е супер клуч) не постои ФЗ во која левата страна не е супер клуч. Тоа значи дека **R42** e во BCNF. 
-
-Притоа да согледаме дека **R42** е релацијата **topic_thread**. 
-
-=== Нормализација на R43 до BCNF 
-Eдинстевни ФЗ присутни во оваа релација се: 
-1. {{{ thread_id -> thread_created_at, thread_content }}}
-
-Бидејќи само {{{ thread_id }}} e кандидат клуч, не постои ФЗ во која левата страна не е супер клуч. Според тоа **R43** е во BCNF. 
-
-Притоа да согледаме дека **R43** е релацијата **thread**. 
-
-=== Нормализација на R5 до BCNF
-Единствена ФЗ присутна во оваа релациja е: 
-
-{{{channel_id -> channel_name,channel_description}}}
-
-R6 е веќе во BCNF, заради тоа што единствената ФЗ го вклучува суперклучот и нема транзитивни зависности. 
-
-Притоа да согледаме дека **R5** е релацијата **channel**.
-
-=== Нормализација на R6 до BCNF
-Единствена ФЗ присутна во оваа релациja е: 
-
-{{{pr_id -> pr_name, pr_override_type}}}
-
-**R6** е веќе во BCNF, заради тоа што единствената ФЗ го вклучува суперклучот и нема транзитивни зависности. 
-
-Може да се согледа дека **R6** е всушност **project_role**.
-
-=== Нормализација на R7 до BCNF
-Единствена ФЗ присутна во оваа релациja е: 
-
-{{{ {channel_id, msg_send_at, user_id} -> msg_content}}}
-
-**R7** е веќе во BCNF, заради тоа што единствената ФЗ го вклучува суперклучот и нема транзитивни зависности. 
-
-Притоа да согледаме дека **R7** е релацијата **messages**. 
-
-=== Нормализација на R8 до BCNF 
-Единствена ФЗ присутна во оваа релациja е: 
-
-{{{{thread_id,user_id} -> asc_started_at, asc_ended_at}}}
-
-**R8** е веќе во BCNF, заради тоа што единствената ФЗ го вклучува суперклучот и нема транзитивни зависности. 
-
-Пртиоа да согледаме дека **R8** е релацијата ** developer_associated_with_project**.
-
-=== Нормализација на R9 до 3NF
-Единствена ФЗ присутна во оваа релациja е: 
-
-{{{{perm_name} -> perm_name}}}
-
-{{{{tag_name} -> tag_name}}}
-
-Оваа релација нема транзитивни зависности, па тоа значи дека е во 3NF.
-
-=== Нормализација на R9 до BCNF
-
-Според горенаведеното, лесно се согледува дека во сите ФЗ  на левата страна не е присутен кандидат клуч.
-
-Со цел да се нормализира релацијата до BCNF релацијата ќе ја декомпозираме во
- - {{{R91(tag_name)}}}
- - {{{R92(perm_name)}}}
-
-Притоа може да се согледа дека **R91** e релацијата **tag** и **R92** релацијата **permission**
-
-
-
-
-
-
Index: cs/test-data.sql
===================================================================
--- docs/test-data.sql	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,102 +1,0 @@
-INSERT INTO users (username, is_activate, password, description, registered_at, sex)
-VALUES
-    ('user1', true, '$2a$12$0f.x7aBM2wFBZBXoLPj0BObVsk.J1kXFYo5nb4niAWkI4hk5tHvDy', 'First user', NOW(), 'M'),
-    ('user2', true, '$2a$12$VkR0a47LDVM6aUqFcEJGSu9jhZCz.05tCoyiRicFObt4f2x2gijKa', 'Second user', NOW(), 'F'),
-    ('user3', true, '$2a$12$eSLdHHJ1KFgv.dOupmloXeItjrt2o1IB6ER6Nq7WYj9Jfr2bEwK2a', 'Third user', NOW(), 'M'),
-    ('user4', true, '$2a$12$dF5SXcNhMulgU3Qre3nh1e.aatRiJZsnfoBSqReGnXe9rIbHYVWhe', 'Fourth user', NOW(), 'F'),
-    ('user5', true, '$2a$12$zHrloz8WG2zo5S6MTf1C0ez1raMlmDJdB8OOa2I1S2pVy9oI76YTa', 'Fifth user', NOW(), 'M');
-
-INSERT INTO thread (content, user_id)
-VALUES
-    ('Main content for topic thread 1', 1),
-    ('Main content for topic thread 2', 2),
-    ('Discussion content for topic 1', 1),
-    ('Discussion content for topic 2', 2),
-    ('Project-specific thread content', 3),
-    ('Reply to topic 1', 4),
-    ('Further discussion on topic 2', 5);
-
-INSERT INTO topic_thread (id, title, parent_id)
-VALUES
-    (1, 'Topic 1' , NULL),
-    (2, 'Topic 2', NULL);
-
-insert into topic_guidelines(topic_id,description)
-values
-    (1,'Follow guidelines'),
-    ( 2,'Be respectful');
-
-INSERT INTO discussion_thread (id, parent_id)
-VALUES
-    (3, 1),
-    (4, 2),
-    (6, 3),
-    (7, 4);
-
-INSERT INTO project_thread (id, title, repo_url)
-VALUES
-    (5, 'Project 1 Thread', 'http://github.com/project1');
-
-INSERT INTO likes (user_id, thread_id)
-VALUES
-    (1, 3),
-    (2, 4),
-    (3, 5),
-    (4, 6),
-    (5, 7);
-INSERT INTO topic_belongs_to_project (topic_id, project_id)
-VALUES
-    (1, 5),
-    (2, 5);
-
-INSERT INTO blacklisted_user (topic_id, user_id, moderator_id, start_date, end_date, reason)
-VALUES
-    (1, 2, 1, NOW(), NOW() + INTERVAL '7 days', 'Spamming'),
-    (2, 3, 4, NOW(), NOW() + INTERVAL '3 days', 'Offensive language');
-
-INSERT INTO developer_associated_with_project (project_id, developer_id, started_at)
-VALUES
-    (5, 2, NOW()),
-    (5, 3, NOW());
-
-INSERT INTO permissions (name)
-VALUES
-    ('Create Thread'),
-    ('Delete Thread');
-
-INSERT INTO project_roles (name, project_id, description)
-VALUES
-    ('Admin', 5, 'Admin role for the project'),
-    ('Developer', 5, 'Developer role for the project');
-
-INSERT INTO users_project_roles (user_id, project_id, role_name)
-VALUES
-    (3, 5, 'Admin'),
-    (2, 5, 'Developer'),
-    (4, 5, 'Developer');
-
-INSERT INTO project_roles_permissions (permission_name, role_name, project_id)
-VALUES
-    ('Create Thread', 'Admin', 5),
-    ('Delete Thread', 'Admin', 5);
-
-INSERT INTO project_request (description, status, user_id, project_id)
-VALUES
-    ('Request to join Project 1', 'PENDING', 2, 5),
-    ('Request to join Project 1', 'ACCEPTED', 4, 5);
-
-INSERT INTO report (created_at, description, status, thread_id, for_user_id, by_user_id)
-VALUES
-    (NOW(), 'Inappropriate content', 'PENDING', 3, 2, 1),
-    (NOW(), 'Spam content', 'DENIED', 6, 4, 3);
-
-INSERT INTO channel (name, description, project_id, developer_id)
-VALUES
-    ('General', 'General discussion channel', 5, 2),
-    ('Updates', 'Project updates channel', 5, 3);
-
-INSERT INTO messages (sent_at, content, sent_by, project_id, channel_name)
-VALUES
-    (NOW(), 'Hello, team!', 2, 5, 'General'),
-    (NOW(), 'We need to push the deadline.', 3, 5, 'Updates');
-   
Index: cs/todo.txt
===================================================================
--- docs/todo.txt	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,75 +1,0 @@
-description na project
-
-Brisenje na tag
-	Notifikacija za site so go koristat tagot
-	Mu izlegvit na moderatorot so go brisit negoviot tag kolku dusi go koristat tagot.
-	
-	
-Ko ke udris search bez filtri da ti gi davat grupirani. -> Edna grupa topics, druga projects treta tagoj so ti matchnale so kverito. -> Ne trebit deka nemat smisla za filterot sho go koristime spored type sho ti gi grupirat
-
-- Developer requests for join
-- Channels da se impl
-- Discussion da se sortirani spored nekoja metrika koja gi spojvit.
-- Meshan search vo appot, od sve sho imame vo nego.
-- Referencira thread, koga pishi tekst, kaj bilo.
-
-
---------------------
-
-- searchni vo show-topic "todo-func", ke vidis
-- Security za post baranjava, sega samo sa kriet kopceto za edit i delete na discussion i takvi stvari, ama ne sa prat proverki vo metodite.
-- Reorganizacija ke trebit vo TopicController deka premn raboti msm imat tamu, mozit ubo ke e ako po generalni raboti so vazat za sive threads ko likes da e vo drug.
-- Vo pravo bese trebit posebni servisi da sa VDiscussionService i DiscussionService :)
-
---------------------------
-- Ko ke imas nesto liked ili disliked da ti ostanit highlighted.
-- Izveden atribut status za developer (normal user, incative developer,active developer)
-- Paginacija
-- rename iminja na branch od _ vo -
-- SITE DESCRIPTIONS VO SQL DA SA TEXT ne varchar
-- erot menvenje !!!!
-
----------------
-- timestamp da sa prikazvit za discussion threads, koga sa postaveni
-- poraka impl crud
-- vo kanal page da sa prikazvat avatarite na users, koga bila pustena poraka
-- levo da ti gi prikazvit site kanali
-- link do proektot nazad
-- to so referenciranje da go napreme
-- view channels page da sa napret, imas ideja toska ke ti teknit to so chatojte ko preview da sa. (ova samo za mene e viktor uzivaj)
-- edit na chat messages
-- statistiki za userot vo public profile page (vo kolku proekti rabotel, kolku vreme e vo nekoj proekt ...)
-- Najpopularni tags, vo smisla koj sa najkoristeni.
-------------
-
-PRAVILA ZA SINTAKSA
-- packages ednina
-- url mnozina
-- edinecen resurs ko ke pristapvis od nekoj resurs so e vo mnozina primer nekoj kanal go pristapvis so channels/kanalot
-- kebap case url
-- metodi vo services
-    - prefix get vo service,vo repo find -> za metodi so zemas nesto od baza
-    - create za kreiranje novi obj
-    - Najcesti zborcinja za koristenje: get, create,update,delete
-    - html pagese tie sho prikazhvat neshto da se vikat show
-- Optionals vo repo ponatamu
-
-- Controllers
-    - get mapping so vrakjat page -> get<Ime na html page>Page
-
-
----- Dokumentacija
-
-najvazni scenarija:
-    - odgovara na diskusija
-    - kreira diskusija
-
-podelba:
-- viktor od kreira nov topic, do se prijavuva za ucestvo vo proekt (inclusive)
-- stefan od dodava i kreira tagovi (inclusive) do otstranuva programer od proekt
-
-
--BUG DEFAULT AVATAR GRESEN ZEMAT.
-
-
-
Index: cs/versioning/er_models/ER_BUILD_BOARD_v1.xml
===================================================================
--- docs/versioning/er_models/ER_BUILD_BOARD_v1.xml	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,1 +1,0 @@
-<drawing><figures><ent id="0"><children><r id="1" x="678" y="97" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="2" x="694.9358444213867" y="108.82794284820557"><a><text><string>THREAD</string></text></a></t></children></ent><disjuncao id="3"><children><circ id="4" x="725" y="181" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="5" x="729" y="182"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao><ent id="6"><children><r id="7" x="1021" y="268" w="127.572265625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="8" x="1034.9077911376953" y="279.82794284820557"><a><text><string>PROJECT_THREAD</string></text></a></t></children></ent><ent id="9"><children><r id="a" x="282" y="240" w="127.572265625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="b" x="302.579833984375" y="251.82794284820557"><a><text><string>TOPIC_THREAD</string></text></a></t></children></ent><entfraca id="c"><children><r id="d" x="190" y="479" w="150.4765625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="e" x="203.755859375" y="490.82794284820557"><a><text><string>DISCUSSION_THREAD</string></text></a></t></children></entfraca><relfraco id="f"><children><diamond id="10" x="212" y="351" w="131" h="56"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="11" x="247.40377807617188" y="370.82794284820557"><a><text><string>CONTAINS</string></text></a></t></children></relfraco><llabelDoubleMuitos id="12"><points><p colinear="true" x="274.63893229166666" y="407" c1x="272" c1y="-313" c2x="272" c2y="-313"/><p colinear="true" x="267.2819010416667" y="479" c1x="272" c1y="-313" c2x="272" c2y="-313"/></points><startConnector><rConnector id="13"><Owner><relfraco ref="f"/></Owner></rConnector></startConnector><endConnector><rConnector id="14"><Owner><entfraca ref="c"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="15"><points><p colinear="true" x="293.5673253676471" y="351" c1x="487" c1y="-65" c2x="487" c2y="-65"/><p colinear="true" x="334.3094718356092" y="280" c1x="487" c1y="-65" c2x="487" c2y="-65"/></points><startConnector><rConnector id="16"><Owner><relfraco ref="f"/></Owner></rConnector></startConnector><endConnector><rConnector id="17"><Owner><ent ref="9"/></Owner></rConnector></endConnector></llabelUm><generalizacaoLine id="18"><points><p colinear="true" x="725" y="194.13295836696986" c1x="468" c1y="-102" c2x="468" c2y="-102"/><p colinear="true" x="409.572265625" y="248.9207536192405" c1x="468" c1y="-102" c2x="468" c2y="-102"/></points><startConnector><rConnector id="19"><Owner><disjuncao ref="3"/></Owner></rConnector></startConnector><endConnector><rConnector id="1a"><Owner><ent ref="9"/></Owner></rConnector></endConnector></generalizacaoLine><generalizacaoLine id="1b"><points><p colinear="true" x="745" y="195.12923420298716" c1x="715" c1y="364" c2x="715" c2y="364"/><p colinear="true" x="1021" y="270.5658953398321" c1x="715" c1y="364" c2x="715" c2y="364"/></points><startConnector><rConnector id="1c"><Owner><disjuncao ref="3"/></Owner></rConnector></startConnector><endConnector><rConnector id="1d"><Owner><ent ref="6"/></Owner></rConnector></endConnector></generalizacaoLine><rel id="1e"><children><diamond id="1f" x="660" y="246" w="109" h="44"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="20" x="676.5257339477539" y="259.82794284820557"><a><text><string>BELONGS_TO</string></text></a></t></children></rel><llabelUm id="21"><points><p colinear="true" x="769" y="270.94366951233343" c1x="715" c1y="364" c2x="715" c2y="364"/><p colinear="true" x="1021" y="284.5547652390861" c1x="715" c1y="364" c2x="715" c2y="364"/></points><startConnector><rConnector id="22"><Owner><rel ref="1e"/></Owner></rConnector></startConnector><endConnector><rConnector id="23"><Owner><ent ref="6"/></Owner></rConnector></endConnector></llabelUm><llabelMuitos id="24"><points><p colinear="true" x="660" y="266.8175112497782" c1x="468" c1y="-102" c2x="468" c2y="-102"/><p colinear="true" x="409.572265625" y="261.3839703572649" c1x="468" c1y="-102" c2x="468" c2y="-102"/></points><startConnector><rConnector id="25"><Owner><rel ref="1e"/></Owner></rConnector></startConnector><endConnector><rConnector id="26"><Owner><ent ref="9"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><ent id="27"><children><r id="28" x="702" y="422" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="29" x="727.2518997192383" y="433.82794284820557"><a><text><string>USER</string></text></a></t></children></ent><llabelDoubleGeneralizacao id="2a" labelGeneralizacaoText="caracteristica"><points><p colinear="true" x="732.4304695845387" y="181" c1x="330.38610724041155" c1y="-41" c2x="330.38610724041155" c2y="-41"/><p colinear="true" x="722.5095217451683" y="137" c1x="330.38610724041155" c1y="-41" c2x="330.38610724041155" c2y="-41"/></points><startConnector><rConnector id="2b"><Owner><disjuncao ref="3"/></Owner></rConnector></startConnector><endConnector><rConnector id="2c"><Owner><ent ref="0"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><sobreposicao id="2d"><children><circ id="2e" x="849" y="541" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="2f" x="853" y="542"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>o</string></text></a></tn></children></sobreposicao><lcaf id="30"><points><p colinear="true" x="849" y="542.9604644204817" c1x="715" c1y="364" c2x="715" c2y="364"/><p colinear="true" x="763.196415966227" y="462" c1x="715" c1y="364" c2x="715" c2y="364"/></points><startConnector><rConnector id="31"><Owner><sobreposicao ref="2d"/></Owner></rConnector></startConnector><endConnector><rConnector id="32"><Owner><ent ref="27"/></Owner></rConnector></endConnector></lcaf><ent id="33"><children><r id="34" x="848" y="653" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="35" x="854.8197708129883" y="664.8279428482056"><a><text><string>DEVELOPER</string></text></a></t></children></ent><generalizacaoLine id="36"><points><p colinear="true" x="861.7402465366059" y="563.7920436859131" c1x="715" c1y="364" c2x="715" c2y="364"/><p colinear="true" x="883.1908717368779" y="653" c1x="715" c1y="364" c2x="715" c2y="364"/></points><startConnector><rConnector id="37"><Owner><sobreposicao ref="2d"/></Owner></rConnector></startConnector><endConnector><rConnector id="38"><Owner><ent ref="33"/></Owner></rConnector></endConnector></generalizacaoLine><rel id="39"><children><diamond id="3a" x="1038" y="455" w="107.087890625" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="3b" x="1049.8016510009766" y="466.82794284820557"><a><text><string>INVLOVLED_IN</string></text></a></t></children></rel><llabelDoubleMuitos id="3c"><points><p colinear="true" x="1090.8211846173128" y="455" c1x="715" c1y="364" c2x="715" c2y="364"/><p colinear="true" x="1085.5088935076872" y="308" c1x="715" c1y="364" c2x="715" c2y="364"/></points><startConnector><rConnector id="3d"><Owner><rel ref="39"/></Owner></rConnector></startConnector><endConnector><rConnector id="3e"><Owner><ent ref="6"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><ent id="3f"><children><r id="40" x="1331" y="709" w="130" h="41"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="41" x="1340.0795974731445" y="721.3279428482056"><a><text><string>PROJECT_MANAGER</string></text></a></t></children></ent><sobreposicao id="42"><children><circ id="43" x="1183" y="773" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="44" x="1187" y="774"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>o</string></text></a></tn></children></sobreposicao><generalizacaoLine id="45"><points><p colinear="true" x="1203" y="781.6917843137469" c1x="-12" c1y="488" c2x="-12" c2y="488"/><p colinear="true" x="1331" y="747.077543939863" c1x="-12" c1y="488" c2x="-12" c2y="488"/></points><startConnector><rConnector id="46"><Owner><sobreposicao ref="42"/></Owner></rConnector></startConnector><endConnector><rConnector id="47"><Owner><ent ref="3f"/></Owner></rConnector></endConnector></generalizacaoLine><lcaf id="48"><points><p colinear="true" x="928" y="687.6093143400599" c1x="-12" c1y="488" c2x="-12" c2y="488"/><p colinear="true" x="1183" y="780.7436932579416" c1x="-12" c1y="488" c2x="-12" c2y="488"/></points><startConnector><rConnector id="49"><Owner><ent ref="33"/></Owner></rConnector></startConnector><endConnector><rConnector id="4a"><Owner><sobreposicao ref="42"/></Owner></rConnector></endConnector></lcaf><rel id="4b"><children><diamond id="4c" x="1450" y="487" w="133" h="49"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="4d" x="1476.0057220458984" y="503.32794284820557"><a><text><string>IS_OWNED_BY</string></text></a></t></children></rel><llabelDoubleMuitos id="4e"><points><p colinear="true" x="1469.175661091303" y="487" c1x="715" c1y="364" c2x="715" c2y="364"/><p colinear="true" x="1123.4182462073545" y="308" c1x="715" c1y="364" c2x="715" c2y="364"/></points><startConnector><rConnector id="4f"><Owner><rel ref="4b"/></Owner></rConnector></startConnector><endConnector><rConnector id="50"><Owner><ent ref="6"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleUm id="51"><points><p colinear="true" x="1502.9575688073394" y="536" c1x="715" c1y="364" c2x="715" c2y="364"/><p colinear="true" x="1407.3314220183486" y="709" c1x="715" c1y="364" c2x="715" c2y="364"/></points><startConnector><rConnector id="52"><Owner><rel ref="4b"/></Owner></rConnector></startConnector><endConnector><rConnector id="53"><Owner><ent ref="3f"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><llabelDoubleMuitos id="54"><points><p colinear="true" x="1070.9839508364898" y="495" c1x="122.9161887743794" c1y="453" c2x="122.9161887743794" c2y="453"/><p colinear="true" x="908.5599944760102" y="653" c1x="122.9161887743794" c1y="453" c2x="122.9161887743794" c2y="453"/></points><startConnector><rConnector id="55"><Owner><rel ref="39"/></Owner></rConnector></startConnector><endConnector><rConnector id="56"><Owner><ent ref="33"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><ent id="57"><children><r id="58" x="2002" y="554" w="101.861328125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="59" x="2013.5943908691406" y="565.8279428482056"><a><text><string>PERMISSIONS</string></text></a></t></children></ent><rel id="5a"><children><diamond id="5b" x="1874" y="554" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="5c" x="1902.4259185791016" y="565.8279428482056"><a><text><string>HAS</string></text></a></t></children></rel><llabelMuitos id="5d"><points><p colinear="true" x="1954" y="574" c1x="814" c1y="317" c2x="814" c2y="317"/><p colinear="true" x="2002" y="574" c1x="814" c1y="317" c2x="814" c2y="317"/></points><startConnector><rConnector id="5e"><Owner><rel ref="5a"/></Owner></rConnector></startConnector><endConnector><rConnector id="5f"><Owner><ent ref="57"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><rel id="60"><children><diamond id="61" x="1336" y="870" w="100.61328125" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="62" x="1374.7325592041016" y="881.8279428482056"><a><text><string>HAS</string></text></a></t></children></rel><llabelMuitos id="63"><points><p colinear="true" x="1340.3797613047236" y="870" c1x="709" c1y="382.58247787706296" c2x="709" c2y="382.58247787706296"/><p colinear="true" x="928" y="690.4189932309815" c1x="709" c1y="382.58247787706296" c2x="709" c2y="382.58247787706296"/></points><startConnector><rConnector id="64"><Owner><rel ref="60"/></Owner></rConnector></startConnector><endConnector><rConnector id="65"><Owner><ent ref="33"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><rel id="66"><children><diamond id="67" x="1526" y="610" w="133" h="48"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="68" x="1567.839828491211" y="625.8279428482056"><a><text><string>CREATES</string></text></a></t></children></rel><llabelUm id="69"><points><p colinear="true" x="1543.1178010471203" y="658" c1x="715" c1y="364" c2x="715" c2y="364"/><p colinear="true" x="1438.1806282722514" y="709" c1x="715" c1y="364" c2x="715" c2y="364"/></points><startConnector><rConnector id="6a"><Owner><rel ref="66"/></Owner></rConnector></startConnector><endConnector><rConnector id="6b"><Owner><ent ref="3f"/></Owner></rConnector></endConnector></llabelUm><entfraca id="6c"><children><r id="6d" x="1703" y="545" w="109.958984375" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="6e" x="1715.4811935424805" y="556.8279428482056"><a><text><string>CUSTOM_ROLE</string></text></a></t></children></entfraca><llabelMuitos id="6f"><points><p colinear="true" x="1409.1788161057693" y="870" c1x="715" c1y="364" c2x="715" c2y="364"/><p colinear="true" x="1735.1073167067307" y="585" c1x="715" c1y="364" c2x="715" c2y="364"/></points><startConnector><rConnector id="70"><Owner><rel ref="60"/></Owner></rConnector></startConnector><endConnector><rConnector id="71"><Owner><entfraca ref="6c"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><llabelDoubleMuitos id="72"><points><p colinear="true" x="1874" y="571.6926110224392" c1x="814" c1y="317" c2x="814" c2y="317"/><p colinear="true" x="1812.958984375" y="568.1714768566331" c1x="814" c1y="317" c2x="814" c2y="317"/></points><startConnector><rConnector id="73"><Owner><rel ref="5a"/></Owner></rConnector></startConnector><endConnector><rConnector id="74"><Owner><entfraca ref="6c"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="75"><points><p colinear="true" x="1650.0580842391305" y="610" c1x="715" c1y="364" c2x="715" c2y="364"/><p colinear="true" x="1710.0144219882247" y="585" c1x="715" c1y="364" c2x="715" c2y="364"/></points><startConnector><rConnector id="76"><Owner><rel ref="66"/></Owner></rConnector></startConnector><endConnector><rConnector id="77"><Owner><entfraca ref="6c"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><relfraco id="78"><children><diamond id="79" x="1367" y="355" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="7a" x="1385.4037780761719" y="371.82794284820557"><a><text><string>CONTAINS</string></text></a></t></children></relfraco><llabelUm id="7b"><points><p colinear="true" x="1367" y="366.50797428621206" c1x="715" c1y="364" c2x="715" c2y="364"/><p colinear="true" x="1148.572265625" y="305.7444153420483" c1x="715" c1y="364" c2x="715" c2y="364"/></points><startConnector><rConnector id="7c"><Owner><relfraco ref="78"/></Owner></rConnector></startConnector><endConnector><rConnector id="7d"><Owner><ent ref="6"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="7e"><points><p colinear="true" x="1461.7810124577702" y="405" c1x="715" c1y="364" c2x="715" c2y="364"/><p colinear="true" x="1720.9546822212837" y="545" c1x="715" c1y="364" c2x="715" c2y="364"/></points><startConnector><rConnector id="7f"><Owner><relfraco ref="78"/></Owner></rConnector></startConnector><endConnector><rConnector id="80"><Owner><entfraca ref="6c"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><relfraco id="81"><children><diamond id="82" x="1190" y="447" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="83" x="1208.4037780761719" y="463.82794284820557"><a><text><string>CONTAINS</string></text></a></t></children></relfraco><llabelUm id="84"><points><p colinear="true" x="1217.6149636973505" y="447" c1x="527" c1y="244" c2x="527" c2y="244"/><p colinear="true" x="1101.4941618546195" y="308" c1x="527" c1y="244" c2x="527" c2y="244"/></points><startConnector><rConnector id="85"><Owner><relfraco ref="81"/></Owner></rConnector></startConnector><endConnector><rConnector id="86"><Owner><ent ref="6"/></Owner></rConnector></endConnector></llabelUm><entfraca id="87"><children><r id="88" x="1248" y="578" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="89" x="1260.3277969360352" y="589.8279428482056"><a><text><string>CHANNEL</string></text></a></t></children></entfraca><llabelDoubleMuitos id="8a"><points><p colinear="true" x="1248.3214285714287" y="497" c1x="527" c1y="244" c2x="527" c2y="244"/><p colinear="true" x="1280.142857142857" y="578" c1x="527" c1y="244" c2x="527" c2y="244"/></points><startConnector><rConnector id="8b"><Owner><relfraco ref="81"/></Owner></rConnector></startConnector><endConnector><rConnector id="8c"><Owner><entfraca ref="87"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><rel id="8d"><children><diamond id="8e" x="1039" y="589" w="115.37890625" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="8f" x="1052.9911575317383" y="600.8279428482056"><a><text><string>IS_CREATED_BY</string></text></a></t></children></rel><llabelDoubleMuitos id="90"><points><p colinear="true" x="1154.37890625" y="605.6829639309451" c1x="527" c1y="244" c2x="527" c2y="244"/><p colinear="true" x="1248" y="600.2999254729406" c1x="527" c1y="244" c2x="527" c2y="244"/></points><startConnector><rConnector id="91"><Owner><rel ref="8d"/></Owner></rConnector></startConnector><endConnector><rConnector id="92"><Owner><entfraca ref="87"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="93"><points><p colinear="true" x="1039" y="626.6919578096192" c1x="527" c1y="244" c2x="527" c2y="244"/><p colinear="true" x="928" y="660.7329689561905" c1x="527" c1y="244" c2x="527" c2y="244"/></points><startConnector><rConnector id="94"><Owner><rel ref="8d"/></Owner></rConnector></startConnector><endConnector><rConnector id="95"><Owner><ent ref="33"/></Owner></rConnector></endConnector></llabelUm><rel id="96"><children><diamond id="97" x="496" y="279" w="123" h="41"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="98" x="513.8017044067383" y="291.32794284820557"><a><text><string>IS_CREATED_BY</string></text></a></t></children></rel><llabelDoubleMuitos id="99"><points><p colinear="true" x="496" y="288.0257870338338" c1x="527" c1y="244" c2x="527" c2y="244"/><p colinear="true" x="409.572265625" y="271.90074263705344" c1x="527" c1y="244" c2x="527" c2y="244"/></points><startConnector><rConnector id="9a"><Owner><rel ref="96"/></Owner></rConnector></startConnector><endConnector><rConnector id="9b"><Owner><ent ref="9"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="9c"><points><p colinear="true" x="584.0421052631579" y="320" c1x="527" c1y="244" c2x="527" c2y="244"/><p colinear="true" x="716.1052631578948" y="422" c1x="527" c1y="244" c2x="527" c2y="244"/></points><startConnector><rConnector id="9d"><Owner><rel ref="96"/></Owner></rConnector></startConnector><endConnector><rConnector id="9e"><Owner><ent ref="27"/></Owner></rConnector></endConnector></llabelUm><ent id="9f"><children><r id="a0" x="470" y="520" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="a1" x="472.8357391357422" y="531.8279428482056"><a><text><string>MODERATOR</string></text></a></t></children></ent><sobreposicao id="a2"><children><circ id="a3" x="624" y="484" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="a4" x="628" y="485"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>o</string></text></a></tn></children></sobreposicao><generalizacaoLine id="a5"><points><p colinear="true" x="624" y="498.99311685562134" c1x="-200" c1y="368" c2x="-200" c2y="368"/><p colinear="true" x="550" y="525.6116199493408" c1x="-200" c1y="368" c2x="-200" c2y="368"/></points><startConnector><rConnector id="a6"><Owner><sobreposicao ref="a2"/></Owner></rConnector></startConnector><endConnector><rConnector id="a7"><Owner><ent ref="9f"/></Owner></rConnector></endConnector></generalizacaoLine><lcaf id="a8"><points><p colinear="true" x="702" y="461.77630438628023" c1x="-200" c1y="368" c2x="-200" c2y="368"/><p colinear="true" x="644" y="490.4519457463865" c1x="-200" c1y="368" c2x="-200" c2y="368"/></points><startConnector><rConnector id="a9"><Owner><ent ref="27"/></Owner></rConnector></startConnector><endConnector><rConnector id="aa"><Owner><sobreposicao ref="a2"/></Owner></rConnector></endConnector></lcaf><rel id="ab"><children><diamond id="ac" x="346" y="396" w="142.0390625" h="57"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="ad" x="362.60516357421875" y="416.32794284820557"><a><text><string>IS_MODERATED_BY</string></text></a></t></children></rel><llabelDoubleMuitos id="ae"><points><p colinear="true" x="404.67818258453644" y="396" c1x="527" c1y="244" c2x="527" c2y="244"/><p colinear="true" x="354.4467283672112" y="280" c1x="527" c1y="244" c2x="527" c2y="244"/></points><startConnector><rConnector id="af"><Owner><rel ref="ab"/></Owner></rConnector></startConnector><endConnector><rConnector id="b0"><Owner><ent ref="9"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="b1"><points><p colinear="true" x="439.9627637987013" y="453" c1x="527" c1y="244" c2x="527" c2y="244"/><p colinear="true" x="493.8994859307359" y="520" c1x="527" c1y="244" c2x="527" c2y="244"/></points><startConnector><rConnector id="b2"><Owner><rel ref="ab"/></Owner></rConnector></startConnector><endConnector><rConnector id="b3"><Owner><ent ref="9f"/></Owner></rConnector></endConnector></llabelUm><rel id="b4"><children><diamond id="b5" x="219" y="656" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="b6" x="236.4938507080078" y="667.8279428482056"><a><text><string>REPLIES</string></text></a></t></children></rel><llabelGeneralizacao id="b7" labelGeneralizacaoText="reply(N)"><points><p colinear="true" x="259.70489053672316" y="656" c1x="257.58963815789474" c1y="-190" c2x="257.58963815789474" c2y="-190"/><p colinear="true" x="264.53339071327684" y="519" c1x="257.58963815789474" c1y="-190" c2x="257.58963815789474" c2y="-190"/></points><startConnector><rConnector id="b8"><Owner><rel ref="b4"/></Owner></rConnector></startConnector><endConnector><rConnector id="b9"><Owner><entfraca ref="c"/></Owner></rConnector></endConnector></llabelGeneralizacao><atrchaveparcial id="ba" nullable="false" attributeType="NUMBER"><children><e id="bb" x="1719" y="477" w="125" h="32.33216437450733"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="bc" x="1748.7862854003906" y="484.99402503545923"><a><strokeDashes><doubleArray><double>3</double></doubleArray></strokeDashes><fontBold><boolean>true</boolean></fontBold><text><string>Role_name</string></text></a></t></children></atrchaveparcial><atrchave id="bd" nullable="false" attributeType="NUMBER"><children><e id="be" x="1990" y="501" w="125.65771484375" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="bf" x="2000" y="502.82794284820557"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Permission_name</string></text></a></t></children></atrchave><lcaf id="c0"><points><p colinear="true" x="2052.845017206101" y="521" c1x="467" c1y="-8" c2x="467" c2y="-8"/><p colinear="true" x="2052.8983444940477" y="554" c1x="467" c1y="-8" c2x="467" c2y="-8"/></points><startConnector><rConnector id="c1"><Owner><atrchave ref="bd"/></Owner></rConnector></startConnector><endConnector><rConnector id="c2"><Owner><ent ref="57"/></Owner></rConnector></endConnector></lcaf><atr id="c3" nullable="false" attributeType="VARCHAR2(128)"><children><e id="c4" x="2010" y="632" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="c5" x="2017.713768005371" y="633.8279428482056"><a><text><string>Description</string></text></a></t></children></atr><lcaf id="c6"><points><p colinear="true" x="2052.0687040441176" y="594" c1x="467" c1y="-8" c2x="467" c2y="-8"/><p colinear="true" x="2050.430980009191" y="632" c1x="467" c1y="-8" c2x="467" c2y="-8"/></points><startConnector><rConnector id="c7"><Owner><ent ref="57"/></Owner></rConnector></startConnector><endConnector><rConnector id="c8"><Owner><atr ref="c3"/></Owner></rConnector></endConnector></lcaf><lcaf id="c9"><points><p colinear="true" x="1776.20675588969" y="509.33216437450733" c1x="467" c1y="-8" c2x="467" c2y="-8"/><p colinear="true" x="1764.5280721699569" y="545" c1x="467" c1y="-8" c2x="467" c2y="-8"/></points><startConnector><rConnector id="ca"><Owner><atrchaveparcial ref="ba"/></Owner></rConnector></startConnector><endConnector><rConnector id="cb"><Owner><entfraca ref="6c"/></Owner></rConnector></endConnector></lcaf><atrchave id="cc" nullable="false" attributeType="NUMBER"><children><e id="cd" x="700" y="379" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="ce" x="709.9878005981445" y="380.82794284820557"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>username</string></text></a></t></children></atrchave><lcaf id="cf"><points><p colinear="true" x="740.377358490566" y="399" c1x="350.6101694915254" c1y="32" c2x="350.6101694915254" c2y="32"/><p colinear="true" x="741.2452830188679" y="422" c1x="350.6101694915254" c1y="32" c2x="350.6101694915254" c2y="32"/></points><startConnector><rConnector id="d0"><Owner><atrchave ref="cc"/></Owner></rConnector></startConnector><endConnector><rConnector id="d1"><Owner><ent ref="27"/></Owner></rConnector></endConnector></lcaf><atr id="d2" nullable="false" attributeType="VARCHAR2(128)"><children><e id="d3" x="639" y="349" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="d4" x="651.6818008422852" y="350.82794284820557"><a><text><string>password</string></text></a></t></children></atr><lcaf id="d5"><points><p colinear="true" x="686.5903614457832" y="369" c1x="350.6101694915254" c1y="32" c2x="350.6101694915254" c2y="32"/><p colinear="true" x="726.8192771084338" y="422" c1x="350.6101694915254" c1y="32" c2x="350.6101694915254" c2y="32"/></points><startConnector><rConnector id="d6"><Owner><atr ref="d2"/></Owner></rConnector></startConnector><endConnector><rConnector id="d7"><Owner><ent ref="27"/></Owner></rConnector></endConnector></lcaf><atrchave id="d8" nullable="false" attributeType="NUMBER"><children><e id="d9" x="718" y="54" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="da" x="742.7268981933594" y="55.827942848205566"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Tittle</string></text></a></t></children></atrchave><lcaf id="db"><points><p colinear="true" x="733.0943396226415" y="97" c1x="368" c1y="39" c2x="368" c2y="39"/><p colinear="true" x="750.4528301886793" y="74" c1x="368" c1y="39" c2x="368" c2y="39"/></points><startConnector><rConnector id="dc"><Owner><ent ref="0"/></Owner></rConnector></startConnector><endConnector><rConnector id="dd"><Owner><atrchave ref="d8"/></Owner></rConnector></endConnector></lcaf><atr id="de" nullable="false" attributeType="VARCHAR2(128)"><children><e id="df" x="625" y="58" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="e0" x="632.7137680053711" y="59.827942848205566"><a><text><string>Description</string></text></a></t></children></atr><lcaf id="e1"><points><p colinear="true" x="675.8163265306123" y="78" c1x="368" c1y="39" c2x="368" c2y="39"/><p colinear="true" x="696.3673469387755" y="97" c1x="368" c1y="39" c2x="368" c2y="39"/></points><startConnector><rConnector id="e2"><Owner><atr ref="de"/></Owner></rConnector></startConnector><endConnector><rConnector id="e3"><Owner><ent ref="0"/></Owner></rConnector></endConnector></lcaf><rel id="e4"><children><diamond id="e5" x="947" y="411" w="117.84867858886719" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="e6" x="957" y="422.82794284820557"><a><text><string>HAS_WORKED_IN</string></text></a></t></children></rel><llabelMuitos id="e7"><points><p colinear="true" x="1016.9539607654918" y="411" c1x="368" c1y="39" c2x="368" c2y="39"/><p colinear="true" x="1073.7565113414416" y="308" c1x="368" c1y="39" c2x="368" c2y="39"/></points><startConnector><rConnector id="e8"><Owner><rel ref="e4"/></Owner></rConnector></startConnector><endConnector><rConnector id="e9"><Owner><ent ref="6"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><llabelMuitos id="ea"><points><p colinear="true" x="996.1785261296044" y="451" c1x="368" c1y="39" c2x="368" c2y="39"/><p colinear="true" x="897.7458131648292" y="653" c1x="368" c1y="39" c2x="368" c2y="39"/></points><startConnector><rConnector id="eb"><Owner><rel ref="e4"/></Owner></rConnector></startConnector><endConnector><rConnector id="ec"><Owner><ent ref="33"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><atr id="ed" nullable="false" attributeType="VARCHAR2(128)"><children><e id="ee" x="809" y="395" w="86" h="30"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="ef" x="814.7277297973633" y="401.82794284820557"><a><text><string>register_date</string></text></a></t></children></atr><lcaf id="f0"><points><p colinear="true" x="809" y="422.5090909090909" c1x="350.6101694915254" c1y="32" c2x="350.6101694915254" c2y="32"/><p colinear="true" x="782" y="430.3636363636364" c1x="350.6101694915254" c1y="32" c2x="350.6101694915254" c2y="32"/></points><startConnector><rConnector id="f1"><Owner><atr ref="ed"/></Owner></rConnector></startConnector><endConnector><rConnector id="f2"><Owner><ent ref="27"/></Owner></rConnector></endConnector></lcaf><atr id="f3" nullable="false" attributeType="VARCHAR2(128)"><children><e id="f4" x="483" y="431" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="f5" x="494.67980194091797" y="432.82794284820557"><a><text><string>started_at</string></text></a></t></children></atr><lcaf id="f6"><points><p colinear="true" x="488.0390625" y="435.5569643581143" c1x="368" c1y="39" c2x="368" c2y="39"/><p colinear="true" x="483" y="434.7724374331945" c1x="368" c1y="39" c2x="368" c2y="39"/></points><startConnector><rConnector id="f7"><Owner><rel ref="ab"/></Owner></rConnector></startConnector><endConnector><rConnector id="f8"><Owner><atr ref="f3"/></Owner></rConnector></endConnector></lcaf><rel id="f9"><children><diamond id="fa" x="528" y="628" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="fb" x="540.6758117675781" y="639.8279428482056"><a><text><string>STARTS_A</string></text></a></t></children></rel><llabelUm id="fc"><points><p colinear="true" x="584.8932038834952" y="628" c1x="368" c1y="39" c2x="368" c2y="39"/><p colinear="true" x="725.1067961165048" y="462" c1x="368" c1y="39" c2x="368" c2y="39"/></points><startConnector><rConnector id="fd"><Owner><rel ref="f9"/></Owner></rConnector></startConnector><endConnector><rConnector id="fe"><Owner><ent ref="27"/></Owner></rConnector></endConnector></llabelUm><llabelMuitos id="ff"><points><p colinear="true" x="528" y="628.3145522339918" c1x="368" c1y="39" c2x="368" c2y="39"/><p colinear="true" x="305.8774381291946" y="519" c1x="368" c1y="39" c2x="368" c2y="39"/></points><startConnector><rConnector id="100"><Owner><rel ref="f9"/></Owner></rConnector></startConnector><endConnector><rConnector id="101"><Owner><entfraca ref="c"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atr id="102" nullable="false" attributeType="VARCHAR2(128)"><children><e id="103" x="1059" y="204" w="111" h="32"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="104" x="1076.0517272949219" y="211.82794284820557"><a><text><string>Project_name</string></text></a></t></children></atr><atrchave id="105" nullable="false" attributeType="NUMBER"><children><e id="106" x="1160" y="229" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="107" x="1170.4468002319336" y="230.82794284820557"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>project_id</string></text></a></t></children></atrchave><lcaf id="108"><points><p colinear="true" x="1107.5085018382354" y="236" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1093.5255055147059" y="268" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="109"><Owner><atr ref="102"/></Owner></rConnector></startConnector><endConnector><rConnector id="10a"><Owner><ent ref="6"/></Owner></rConnector></endConnector></lcaf><lcaf id="10b"><points><p colinear="true" x="1176.486965880102" y="249" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1131.812201052296" y="268" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="10c"><Owner><atrchave ref="105"/></Owner></rConnector></startConnector><endConnector><rConnector id="10d"><Owner><ent ref="6"/></Owner></rConnector></endConnector></lcaf><atrchaveparcial id="10e" nullable="false" attributeType="NUMBER"><children><e id="10f" x="1330" y="538" w="125" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="110" x="1349.2157287597656" y="543.3279428482056"><a><strokeDashes><doubleArray><double>3</double></doubleArray></strokeDashes><fontBold><boolean>true</boolean></fontBold><text><string>channel_name</string></text></a></t></children></atrchaveparcial><lcaf id="111"><points><p colinear="true" x="1328" y="580.200956937799" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1362.1612903225807" y="565" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="112"><Owner><entfraca ref="87"/></Owner></rConnector></startConnector><endConnector><rConnector id="113"><Owner><atrchaveparcial ref="10e"/></Owner></rConnector></endConnector></lcaf><rel id="114"><children><diamond id="115" x="1068" y="659" w="141.78884887695312" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="116" x="1078" y="670.8279428482056"><a><text><string>SEND_A_MESSAGE_IN</string></text></a></t></children></rel><llabelMuitos id="117"><points><p colinear="true" x="1175.710615935149" y="659" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1251.1838085033276" y="618" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="118"><Owner><rel ref="114"/></Owner></rConnector></startConnector><endConnector><rConnector id="119"><Owner><entfraca ref="87"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><atr id="11a" nullable="false" attributeType="VARCHAR2(128)"><children><e id="11b" x="1160" y="711" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="11c" x="1177.823844909668" y="712.8279428482056"><a><text><string>Msg_txt</string></text></a></t></children></atr><lcaf id="11d"><points><p colinear="true" x="1167.9923175630115" y="699" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1185.4510534377325" y="711" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="11e"><Owner><rel ref="114"/></Owner></rConnector></startConnector><endConnector><rConnector id="11f"><Owner><atr ref="11a"/></Owner></rConnector></endConnector></lcaf><atr id="120" nullable="false" attributeType="VARCHAR2(128)"><children><e id="121" x="808" y="452" w="168.57302856445312" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="122" x="833.2701034545898" y="453.82794284820557"><a><text><string>strted_involvmnet_at</string></text></a></t></children></atr><lcaf id="123"><points><p colinear="true" x="928.9438771893902" y="452" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="947" y="447.07435304161464" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="124"><Owner><atr ref="120"/></Owner></rConnector></startConnector><endConnector><rConnector id="125"><Owner><rel ref="e4"/></Owner></rConnector></endConnector></lcaf><atr id="126" nullable="false" attributeType="VARCHAR2(128)"><children><e id="127" x="877" y="360" w="168.57302856445312" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="128" x="912.4161758422852" y="361.82794284820557"><a><text><string>ended_involment</string></text></a></t></children></atr><lcaf id="129"><points><p colinear="true" x="968.604190513736" y="380" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="991.2889868314148" y="411" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="12a"><Owner><atr ref="126"/></Owner></rConnector></startConnector><endConnector><rConnector id="12b"><Owner><rel ref="e4"/></Owner></rConnector></endConnector></lcaf><llabelMuitos id="12c"><points><p colinear="true" x="1068" y="677.3045994442368" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="928" y="673.9565776542748" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="12d"><Owner><rel ref="114"/></Owner></rConnector></startConnector><endConnector><rConnector id="12e"><Owner><ent ref="33"/></Owner></rConnector></endConnector><a><text><string>P</string></text></a></llabelMuitos><atr id="12f" nullable="false" attributeType="VARCHAR2(128)"><children><e id="130" x="1055" y="531" w="168.57302856445312" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="131" x="1079.8501052856445" y="532.8279428482056"><a><text><string>Strted_involvmnet_at</string></text></a></t></children></atr><lcaf id="132"><points><p colinear="true" x="1106.0113904548414" y="495" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1132.0527917110558" y="531" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="133"><Owner><rel ref="39"/></Owner></rConnector></startConnector><endConnector><rConnector id="134"><Owner><atr ref="12f"/></Owner></rConnector></endConnector></lcaf><atrchave id="135" nullable="false" attributeType="NUMBER"><children><e id="136" x="2137" y="519" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="137" x="2154.4653396606445" y="520.8279428482056"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Version</string></text></a></t></children></atrchave><lcaf id="138"><points><p colinear="true" x="2103.861328125" y="555.5274268577771" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="2149.4290364583335" y="539" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="139"><Owner><ent ref="57"/></Owner></rConnector></startConnector><endConnector><rConnector id="13a"><Owner><atrchave ref="135"/></Owner></rConnector></endConnector></lcaf><t id="13b" x="1814" y="379"><a><text><null/></text></a></t><ta id="13c" x="2140" y="374" w="193" h="107"><a><text><string>Version ako menvmime neshto za nekoja permisija tie sho nemat videno da ne se ostheteniText</string></text></a></ta><atr id="13d" nullable="false" attributeType="VARCHAR2(128)"><children><e id="13e" x="1222" y="680" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="13f" x="1240.6278457641602" y="681.8279428482056"><a><text><string>At_time</string></text></a></t></children></atr><lcaf id="140"><points><p colinear="true" x="1209.7888488769531" y="685.3347144535587" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1222" y="686.4258320714312" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="141"><Owner><rel ref="114"/></Owner></rConnector></startConnector><endConnector><rConnector id="142"><Owner><atr ref="13d"/></Owner></rConnector></endConnector></lcaf><ent id="143"><children><r id="144" x="354" y="767" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="145" x="382.4619140625" y="778.8279428482056"><a><text><string>TAG</string></text></a></t></children></ent><rel id="146"><children><diamond id="147" x="449" y="673" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="148" x="464.33982849121094" y="684.8279428482056"><a><text><string>CREATES</string></text></a></t></children></rel><llabelUm id="149"><points><p colinear="true" x="491.7450980392157" y="673" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="507.2549019607843" y="560" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="14a"><Owner><rel ref="146"/></Owner></rConnector></startConnector><endConnector><rConnector id="14b"><Owner><ent ref="9f"/></Owner></rConnector></endConnector></llabelUm><atr id="14c" nullable="false" attributeType="VARCHAR2(128)"><children><e id="14d" x="315" y="835" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="14e" x="341.4819030761719" y="836.8279428482056"><a><text><string>Desc</string></text></a></t></children></atr><rel id="14f"><children><diamond id="150" x="58" y="464" w="115.53266906738281" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="151" x="72.68603515625" y="475.82794284820557"><a><text><string>ASSISGNED_TO</string></text></a></t></children></rel><llabelMuitos id="152"><points><p colinear="true" x="123.30024347331862" y="464" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="251" y="125"/><p colinear="true" x="678" y="117.68522483940043" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="153"><Owner><rel ref="14f"/></Owner></rConnector></startConnector><endConnector><rConnector id="154"><Owner><ent ref="0"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><llabelMuitos id="155"><points><p colinear="true" x="121.93652092993676" y="504" c1x="-691.0820285257989" c1y="399" c2x="-691.0820285257989" c2y="399"/><p mask="3" colinear="true" x="204" y="770"/><p colinear="true" x="354" y="783.421052631579" c1x="-691.0820285257989" c1y="399" c2x="-691.0820285257989" c2y="399"/></points><startConnector><rConnector id="156"><Owner><rel ref="14f"/></Owner></rConnector></startConnector><endConnector><rConnector id="157"><Owner><ent ref="143"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><lcaf id="158"><points><p colinear="true" x="380.55172413793105" y="807" c1x="-252" c1y="-115" c2x="-252" c2y="-115"/><p colinear="true" x="361.7241379310345" y="835" c1x="-252" c1y="-115" c2x="-252" c2y="-115"/></points><startConnector><rConnector id="159"><Owner><ent ref="143"/></Owner></rConnector></startConnector><endConnector><rConnector id="15a"><Owner><atr ref="14c"/></Owner></rConnector></endConnector></lcaf><atrchave id="15b" nullable="false" attributeType="NUMBER"><children><e id="15c" x="404" y="834" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="15d" x="426.3298797607422" y="835.8279428482056"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Name</string></text></a></t></children></atrchave><lcaf id="15e"><points><p colinear="true" x="411.5438596491228" y="807" c1x="-252" c1y="-115" c2x="-252" c2y="-115"/><p colinear="true" x="435.2280701754386" y="834" c1x="-252" c1y="-115" c2x="-252" c2y="-115"/></points><startConnector><rConnector id="15f"><Owner><ent ref="143"/></Owner></rConnector></startConnector><endConnector><rConnector id="160"><Owner><atrchave ref="15b"/></Owner></rConnector></endConnector></lcaf><atr id="161" nullable="false" attributeType="VARCHAR2(128)"><children><e id="162" x="1361" y="588" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="163" x="1369.4037704467773" y="589.8279428482056"><a><text><string>description</string></text></a></t></children></atr><lcaf id="164"><points><p colinear="true" x="1328" y="598" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1361" y="598" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="165"><Owner><entfraca ref="87"/></Owner></rConnector></startConnector><endConnector><rConnector id="166"><Owner><atr ref="161"/></Owner></rConnector></endConnector></lcaf><llabelGeneralizacao id="167" labelGeneralizacaoText="discussion(1)"><points><p colinear="true" x="299" y="667.8181818181819" c1x="132.8250289220532" c1y="12.754354123010671" c2x="132.8250289220532" c2y="12.754354123010671"/><p colinear="true" x="347" y="658"/><p colinear="true" x="330.08984375" y="533"/><p colinear="true" x="303.38625919117646" y="519" c1x="132.8250289220532" c1y="12.754354123010671" c2x="132.8250289220532" c2y="12.754354123010671"/></points><startConnector><rConnector id="168"><Owner><rel ref="b4"/></Owner></rConnector></startConnector><endConnector><rConnector id="169"><Owner><entfraca ref="c"/></Owner></rConnector></endConnector></llabelGeneralizacao><rel id="16a"><children><diamond id="16b" x="24" y="337" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="16c" x="47.39189147949219" y="348.82794284820557"><a><text><string>LIKED</string></text></a></t></children></rel><llabelMuitos id="16d"><points><p colinear="true" x="77.59683794466403" y="337" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="236" y="104"/><p colinear="true" x="678" y="115.92116182572614" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="16e"><Owner><rel ref="16a"/></Owner></rConnector></startConnector><endConnector><rConnector id="16f"><Owner><ent ref="0"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><llabelMuitos id="170"><points><p colinear="true" x="61.00787401574802" y="377" c1x="-5" c1y="-4" c2x="-5" c2y="-4"/><p colinear="true" x="45" y="484"/><p colinear="true" x="174" y="713"/><p colinear="true" x="212" y="870"/><p colinear="true" x="567" y="872"/><p colinear="true" x="733.8604651162791" y="462" c1x="-5" c1y="-4" c2x="-5" c2y="-4"/></points><startConnector><rConnector id="171"><Owner><rel ref="16a"/></Owner></rConnector></startConnector><endConnector><rConnector id="172"><Owner><ent ref="27"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><atr id="173" nullable="false" attributeType="VARCHAR2(128)"><children><e id="174" x="801" y="61" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="175" x="826.9058990478516" y="62.827942848205566"><a><text><string>Logo</string></text></a></t></children></atr><lcaf id="176"><points><p colinear="true" x="758" y="102.04065040650406" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="814.2608695652174" y="81" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="177"><Owner><ent ref="0"/></Owner></rConnector></startConnector><endConnector><rConnector id="178"><Owner><atr ref="173"/></Owner></rConnector></endConnector></lcaf><atr id="179" nullable="false" attributeType="VARCHAR2(128)"><children><e id="17a" x="1340" y="615" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="17b" x="1345.9557647705078" y="616.8279428482056"><a><text><string>background</string></text></a></t></children></atr><atr id="17c" nullable="false" attributeType="VARCHAR2(128)"><children><e id="17d" x="1256" y="644" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="17e" x="1283.5019073486328" y="645.8279428482056"><a><text><string>logo</string></text></a></t></children></atr><lcaf id="17f"><points><p colinear="true" x="1328" y="609.7391304347826" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1345.9259259259259" y="615" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="180"><Owner><entfraca ref="87"/></Owner></rConnector></startConnector><endConnector><rConnector id="181"><Owner><atr ref="179"/></Owner></rConnector></endConnector></lcaf><lcaf id="182"><points><p colinear="true" x="1290.857142857143" y="618" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1294.5714285714287" y="644" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="183"><Owner><entfraca ref="87"/></Owner></rConnector></startConnector><endConnector><rConnector id="184"><Owner><atr ref="17c"/></Owner></rConnector></endConnector></lcaf><atr id="185" nullable="false" attributeType="VARCHAR2(128)"><children><e id="186" x="636" y="319" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="187" x="652.5218353271484" y="320.82794284820557"><a><text><string>is_active</string></text></a></t></children></atr><lcaf id="188"><points><p colinear="true" x="681.8407079646017" y="339" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="730.3185840707964" y="422" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="189"><Owner><atr ref="185"/></Owner></rConnector></startConnector><endConnector><rConnector id="18a"><Owner><ent ref="27"/></Owner></rConnector></endConnector></lcaf><atr id="18b" nullable="false" attributeType="VARCHAR2(128)"><children><e id="18c" x="787" y="822" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="18d" x="814.1719055175781" y="823.8279428482056"><a><text><string>desc</string></text></a></t></children></atr><atr id="18e" nullable="false" attributeType="VARCHAR2(128)"><children><e id="18f" x="842" y="770" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="190" x="864.8458786010742" y="771.8279428482056"><a><text><string>status</string></text></a></t></children></atr><llabelDoubleMuitos id="191"><points><p colinear="true" x="468.7872340425532" y="713" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="414.2127659574468" y="767" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="192"><Owner><rel ref="146"/></Owner></rConnector></startConnector><endConnector><rConnector id="193"><Owner><ent ref="143"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="194" nullable="false" attributeType="VARCHAR2(128)"><children><e id="195" x="601" y="793" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="196" x="611.4557952880859" y="794.8279428482056"><a><text><string>created_at</string></text></a></t></children></atr><atr id="197" nullable="false" attributeType="VARCHAR2(128)"><children><e id="198" x="944" y="216" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="199" x="971.5019073486328" y="217.82794284820557"><a><text><string>logo</string></text></a></t></children></atr><lcaf id="19a"><points><p colinear="true" x="1000.2558278729839" y="236" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1052.2744770665322" y="268" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="19b"><Owner><atr ref="197"/></Owner></rConnector></startConnector><endConnector><rConnector id="19c"><Owner><ent ref="6"/></Owner></rConnector></endConnector></lcaf><atr id="19d" nullable="false" attributeType="VARCHAR2(128)"><children><e id="19e" x="730" y="328" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="19f" x="760.5679321289062" y="329.82794284820557"><a><text><string>sex</string></text></a></t></children></atr><atr id="1a0" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1a1" x="809" y="339" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1a2" x="818.6517791748047" y="340.82794284820557"><a><text><string>short_desc</string></text></a></t></children></atr><lcaf id="1a3"><points><p colinear="true" x="767.3076923076923" y="348" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="747.3846153846154" y="422" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1a4"><Owner><atr ref="19d"/></Owner></rConnector></startConnector><endConnector><rConnector id="1a5"><Owner><ent ref="27"/></Owner></rConnector></endConnector></lcaf><lcaf id="1a6"><points><p colinear="true" x="837.494623655914" y="359" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="765.010752688172" y="422" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1a7"><Owner><atr ref="1a0"/></Owner></rConnector></startConnector><endConnector><rConnector id="1a8"><Owner><ent ref="27"/></Owner></rConnector></endConnector></lcaf><rel id="1a9"><children><diamond id="1aa" x="471" y="346" w="123.80061340332031" h="58"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1ab" x="496.81827545166016" y="368.015625"><a><text><string>BLACKLISTS</string></text></a></t></children></rel><llabelUm id="1ac"><points><p colinear="true" x="550.4020907576415" y="404" c1x="-16.043478260869506" c1y="0" c2x="-16.043478260869506" c2y="0"/><p colinear="true" x="576.9565217391305" y="448"/><p colinear="true" x="524.5557655954632" y="520" c1x="-16.043478260869506" c1y="0" c2x="-16.043478260869506" c2y="0"/></points><startConnector><rConnector id="1ad"><Owner><rel ref="1a9"/></Owner></rConnector></startConnector><endConnector><rConnector id="1ae"><Owner><ent ref="9f"/></Owner></rConnector></endConnector></llabelUm><llabelMuitos id="1af"><points><p colinear="true" x="594.8006134033203" y="394.83417805923756" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="702" y="429.18314714992806" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1b0"><Owner><rel ref="1a9"/></Owner></rConnector></startConnector><endConnector><rConnector id="1b1"><Owner><ent ref="27"/></Owner></rConnector></endConnector><a><text><string>P</string></text></a></llabelMuitos><atr id="1b2" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1b3" x="340" y="186" w="141.5848388671875" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1b4" x="350" y="187.82794284820557"><a><text><string>community_guideline</string></text></a></t></children></atr><lcaf id="1b5"><points><p colinear="true" x="400.63518714904785" y="206" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="366.1005973815918" y="240" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1b6"><Owner><atr ref="1b2"/></Owner></rConnector></startConnector><endConnector><rConnector id="1b7"><Owner><ent ref="9"/></Owner></rConnector></endConnector></lcaf><llabelMuitos id="1b8"><points><p colinear="true" x="485.7149932861328" y="346" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="378.3277282714844" y="280" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1b9"><Owner><rel ref="1a9"/></Owner></rConnector></startConnector><endConnector><rConnector id="1ba"><Owner><ent ref="9"/></Owner></rConnector></endConnector><a><text><string>Q</string></text></a></llabelMuitos><atrchaveparcial id="1bb" nullable="false" attributeType="NUMBER"><children><e id="1bc" x="601" y="828" w="125" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1bd" x="636.0843124389648" y="833.3279428482056"><a><strokeDashes><doubleArray><double>3</double></doubleArray></strokeDashes><fontBold><boolean>true</boolean></fontBold><text><string>report_id</string></text></a></t></children></atrchaveparcial><entfraca id="1be"><children><r id="1bf" x="730" y="734" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="1c0" x="747.5478439331055" y="745.8279428482056"><a><text><string>REPORT</string></text></a></t></children></entfraca><relfraco id="1c1"><children><diamond id="1c2" x="671" y="629" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="1c3" x="682.1557540893555" y="645.8279428482056"><a><text><string>SUBBMITTED</string></text></a></t></children></relfraco><relfraco id="1c4"><children><diamond id="1c5" x="752" y="578" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="1c6" x="780.3578567504883" y="594.8279428482056"><a><text><string>ABOUT</string></text></a></t></children></relfraco><llabelDoubleMuitos id="1c7"><points><p colinear="true" x="732.125" y="679" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="759.9" y="734" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1c8"><Owner><relfraco ref="1c1"/></Owner></rConnector></startConnector><endConnector><rConnector id="1c9"><Owner><entfraca ref="1be"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="1ca"><points><p colinear="true" x="795.4503311258278" y="628" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="774.0397350993378" y="734" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1cb"><Owner><relfraco ref="1c4"/></Owner></rConnector></startConnector><endConnector><rConnector id="1cc"><Owner><entfraca ref="1be"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="1cd"><points><p colinear="true" x="722.1533018867924" y="629" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="739.877358490566" y="462" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1ce"><Owner><relfraco ref="1c1"/></Owner></rConnector></startConnector><endConnector><rConnector id="1cf"><Owner><ent ref="27"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="1d0"><points><p colinear="true" x="791.416149068323" y="578" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="749.2670807453417" y="462" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1d1"><Owner><relfraco ref="1c4"/></Owner></rConnector></startConnector><endConnector><rConnector id="1d2"><Owner><ent ref="27"/></Owner></rConnector></endConnector></llabelUm><lcaf id="1d3"><points><p colinear="true" x="730" y="769.1937984496124" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="667.3265306122449" y="793" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1d4"><Owner><entfraca ref="1be"/></Owner></rConnector></startConnector><endConnector><rConnector id="1d5"><Owner><atr ref="194"/></Owner></rConnector></endConnector></lcaf><lcaf id="1d6"><points><p colinear="true" x="810" y="763.2857142857143" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="842" y="770.7142857142857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1d7"><Owner><entfraca ref="1be"/></Owner></rConnector></startConnector><endConnector><rConnector id="1d8"><Owner><atr ref="18e"/></Owner></rConnector></endConnector></lcaf><lcaf id="1d9"><points><p colinear="true" x="784.6153846153846" y="774" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="819.6923076923077" y="822" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1da"><Owner><entfraca ref="1be"/></Owner></rConnector></startConnector><endConnector><rConnector id="1db"><Owner><atr ref="18b"/></Owner></rConnector></endConnector></lcaf><lcaf id="1dc"><points><p colinear="true" x="745.6571428571428" y="774" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="679.9314285714286" y="828" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1dd"><Owner><entfraca ref="1be"/></Owner></rConnector></startConnector><endConnector><rConnector id="1de"><Owner><atrchaveparcial ref="1bb"/></Owner></rConnector></endConnector></lcaf><relfraco id="1df"><children><diamond id="1e0" x="0" y="665" w="127.79676818847656" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="1e1" x="10" y="681.8279428482056"><a><text><string>FOR_MISCONDUCT</string></text></a></t></children></relfraco><llabelUm id="1e2"><points><p colinear="true" x="59.68113273758071" y="665" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="-11" y="246"/><p colinear="true" x="264" y="64"/><p colinear="true" x="678" y="112.24229074889868" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1e3"><Owner><relfraco ref="1df"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e4"><Owner><ent ref="0"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="1e5"><points><p colinear="true" x="81.35600280761719" y="715" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="228" y="925"/><p colinear="true" x="730" y="903"/><p colinear="true" x="764.496644295302" y="774" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1e6"><Owner><relfraco ref="1df"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e7"><Owner><entfraca ref="1be"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>P</string></text></a></llabelDoubleMuitos></figures></drawing>
Index: cs/versioning/er_models/ER_BUILD_BOARD_v2.xml
===================================================================
--- docs/versioning/er_models/ER_BUILD_BOARD_v2.xml	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,1 +1,0 @@
-<drawing><figures><llabelUm id="0"><points><p colinear="true" x="910" y="287.4707343570326" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="868.572265625" y="290.4353665432044" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1"><Owner><relfraco id="2"><children><diamond id="3" x="910" y="259" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="4" x="929.0859375" y="277.015625"><a><text><string>RECIEVES</string></text></a></t></children></relfraco></Owner></rConnector></startConnector><endConnector><rConnector id="5"><Owner><ent id="6"><children><r id="7" x="741" y="275" w="127.572265625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="8" x="751" y="288.015625"><a><text><string>PROJECT_THREAD</string></text></a></t></children></ent></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="9"><points><p colinear="true" x="181.04598214285716" y="-219" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="132" y="15"/><p colinear="true" x="84.41832197473404" y="277" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="a"><Owner><rel id="b"><children><diamond id="c" x="116" y="-276" w="142.0390625" h="57"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="d" x="129" y="-254.484375"><a><text><string>IS_MODERATED_BY</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="e"><Owner><ent id="f"><children><r id="10" x="17" y="277" w="127.572265625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="11" x="34.9599609375" y="290.015625"><a><text><string>TOPIC_THREAD</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><lcaf id="12"><points><p colinear="true" x="257.12472345132744" y="-219" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="301.40168694690266" y="-201" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="13"><Owner><rel ref="b"/></Owner></rConnector></startConnector><endConnector><rConnector id="14"><Owner><atr id="15" nullable="false" attributeType="VARCHAR2(128)"><children><e id="16" x="286" y="-201" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="17" x="297.25980377197266" y="-199.17205715179443"><a><text><string>Started_at</string></text></a></t></children></atr></Owner></rConnector></endConnector></lcaf><rel ref="b"/><atr ref="15"/><llabelUm id="18"><points><p colinear="true" x="1405" y="304.3303327155591" c1x="-54.70312064641962" c1y="-13" c2x="-54.70312064641962" c2y="-13"/><p colinear="true" x="1509.6216216216217" y="277"/><p colinear="true" x="1514" y="169"/><p colinear="true" x="1375.0672268907563" y="70" c1x="-54.70312064641962" c1y="-13" c2x="-54.70312064641962" c2y="-13"/></points><startConnector><rConnector id="19"><Owner><relfraco id="1a"><children><diamond id="1b" x="1308" y="292" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="1c" x="1329.763671875" y="310.015625"><a><text><string>SUBMITS</string></text></a></t></children></relfraco></Owner></rConnector></startConnector><endConnector><rConnector id="1d"><Owner><ent id="1e"><children><r id="1f" x="1307" y="30" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="20" x="1330.83984375" y="43.015625"><a><text><string>USER</string></text></a></t></children></ent></Owner></rConnector></endConnector></llabelUm><ent id="21"><children><r id="22" x="272" y="23" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="23" x="288.9358444213867" y="34.827942848205566"><a><text><string>THREAD</string></text></a></t></children></ent><disjuncao id="24"><children><circ id="25" x="369" y="178" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="26" x="373" y="179"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao><ent ref="6"/><ent ref="f"/><generalizacaoLine id="27"><points><p colinear="true" x="369" y="191.6550949500771" c1x="123" c1y="-103" c2x="123" c2y="-103"/><p colinear="true" x="135.50427358084863" y="277" c1x="123" c1y="-103" c2x="123" c2y="-103"/></points><startConnector><rConnector id="28"><Owner><disjuncao ref="24"/></Owner></rConnector></startConnector><endConnector><rConnector id="29"><Owner><ent ref="f"/></Owner></rConnector></endConnector></generalizacaoLine><generalizacaoLine id="2a"><points><p colinear="true" x="389" y="190.5129987041433" c1x="715" c1y="364" c2x="715" c2y="364"/><p colinear="true" x="741" y="278.9705530899875" c1x="715" c1y="364" c2x="715" c2y="364"/></points><startConnector><rConnector id="2b"><Owner><disjuncao ref="24"/></Owner></rConnector></startConnector><endConnector><rConnector id="2c"><Owner><ent ref="6"/></Owner></rConnector></endConnector></generalizacaoLine><rel id="2d"><children><diamond id="2e" x="279" y="357" w="109" h="44"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="2f" x="293.193359375" y="372.015625"><a><text><string>BELONGS_TO</string></text></a></t></children></rel><llabelUm id="30"><points><p colinear="true" x="388" y="369.2861559437792" c1x="715" c1y="364" c2x="715" c2y="364"/><p colinear="true" x="741" y="306.3689641667893" c1x="715" c1y="364" c2x="715" c2y="364"/></points><startConnector><rConnector id="31"><Owner><rel ref="2d"/></Owner></rConnector></startConnector><endConnector><rConnector id="32"><Owner><ent ref="6"/></Owner></rConnector></endConnector></llabelUm><llabelMuitos id="33"><points><p colinear="true" x="279" y="361.31596845184504" c1x="123" c1y="-103" c2x="123" c2y="-103"/><p colinear="true" x="142.4236613948171" y="317" c1x="123" c1y="-103" c2x="123" c2y="-103"/></points><startConnector><rConnector id="34"><Owner><rel ref="2d"/></Owner></rConnector></startConnector><endConnector><rConnector id="35"><Owner><ent ref="f"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><ent ref="1e"/><llabelDoubleGeneralizacao id="36" labelGeneralizacaoText="caracteristica"><points><p colinear="true" x="374.37931034482756" y="178" c1x="-14.280559426255081" c1y="-40" c2x="-14.280559426255081" c2y="-40"/><p colinear="true" x="321.2413793103448" y="63" c1x="-14.280559426255081" c1y="-40" c2x="-14.280559426255081" c2y="-40"/></points><startConnector><rConnector id="37"><Owner><disjuncao ref="24"/></Owner></rConnector></startConnector><endConnector><rConnector id="38"><Owner><ent ref="21"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><ent id="39"><children><r id="3a" x="1561" y="533" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="3b" x="1565.0498046875" y="546.015625"><a><text><string>DEVELOPER</string></text></a></t></children></ent><generalizacaoLine id="3c"><points><p colinear="true" x="1615.7081712062256" y="49" c1x="400" c1y="499" c2x="400" c2y="499"/><p colinear="true" x="1601.5836575875487" y="533" c1x="400" c1y="499" c2x="400" c2y="499"/></points><startConnector><rConnector id="3d"><Owner><sobreposicao id="3e"><children><circ id="3f" x="1606" y="29" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="40" x="1610" y="30"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>o</string></text></a></tn></children></sobreposicao></Owner></rConnector></startConnector><endConnector><rConnector id="41"><Owner><ent ref="39"/></Owner></rConnector></endConnector></generalizacaoLine><ent id="42"><children><r id="43" x="1456" y="381" w="120" h="30"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="44" x="1463.9716796875" y="389.015625"><a><text><string>PROJECT_OWNER</string></text></a></t></children></ent><generalizacaoLine id="45"><points><p colinear="true" x="1613.1988795518207" y="49" c1x="303" c1y="473" c2x="303" c2y="473"/><p colinear="true" x="1520.2016806722688" y="381" c1x="303" c1y="473" c2x="303" c2y="473"/></points><startConnector><rConnector id="46"><Owner><sobreposicao ref="3e"/></Owner></rConnector></startConnector><endConnector><rConnector id="47"><Owner><ent ref="42"/></Owner></rConnector></endConnector></generalizacaoLine><ent id="48"><children><r id="49" x="516" y="592" w="101.861328125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="4a" x="527.5943908691406" y="603.8279428482056"><a><text><string>PERMISSIONS</string></text></a></t></children></ent><rel id="4b"><children><diamond id="4c" x="521" y="515" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="4d" x="525.8997650146484" y="526.8279428482056"><a><text><string>DEFINED_BY</string></text></a></t></children></rel><llabelMuitos id="4e"><points><p colinear="true" x="562.540432224026" y="555" c1x="-364" c1y="193.66783562549267" c2x="-364" c2y="193.66783562549267"/><p colinear="true" x="565.390231838474" y="592" c1x="-364" c1y="193.66783562549267" c2x="-364" c2y="193.66783562549267"/></points><startConnector><rConnector id="4f"><Owner><rel ref="4b"/></Owner></rConnector></startConnector><endConnector><rConnector id="50"><Owner><ent ref="48"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><entfraca id="51"><children><r id="52" x="523" y="444" w="109.958984375" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="53" x="535.4811935424805" y="455.82794284820557"><a><text><string>CUSTOM_ROLE</string></text></a></t></children></entfraca><llabelDoubleMuitos id="54"><points><p colinear="true" x="565.7829555457746" y="515" c1x="367" c1y="436.66783562549267" c2x="367" c2y="436.66783562549267"/><p colinear="true" x="573.1965366417253" y="484" c1x="367" c1y="436.66783562549267" c2x="367" c2y="436.66783562549267"/></points><startConnector><rConnector id="55"><Owner><rel ref="4b"/></Owner></rConnector></startConnector><endConnector><rConnector id="56"><Owner><entfraca ref="51"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><relfraco id="57"><children><diamond id="58" x="596" y="330" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="59" x="617.30078125" y="348.015625"><a><text><string>VALID_IN</string></text></a></t></children></relfraco><llabelUm id="5a"><points><p colinear="true" x="693" y="336.84496719124127" c1x="715" c1y="364" c2x="715" c2y="364"/><p colinear="true" x="751.357421875" y="315" c1x="715" c1y="364" c2x="715" c2y="364"/></points><startConnector><rConnector id="5b"><Owner><relfraco ref="57"/></Owner></rConnector></startConnector><endConnector><rConnector id="5c"><Owner><ent ref="6"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="5d"><points><p colinear="true" x="629.2430027952981" y="380" c1x="400" c1y="499" c2x="400" c2y="499"/><p colinear="true" x="590.1850899512615" y="444" c1x="400" c1y="499" c2x="400" c2y="499"/></points><startConnector><rConnector id="5e"><Owner><relfraco ref="57"/></Owner></rConnector></startConnector><endConnector><rConnector id="5f"><Owner><entfraca ref="51"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><relfraco id="60"><children><diamond id="61" x="815" y="334" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="62" x="851.0751953125" y="352.015625"><a><text><string>HAS</string></text></a></t></children></relfraco><llabelUm id="63"><points><p colinear="true" x="840.5648956298828" y="334" c1x="527" c1y="244" c2x="527" c2y="244"/><p colinear="true" x="823.1342163085938" y="315" c1x="527" c1y="244" c2x="527" c2y="244"/></points><startConnector><rConnector id="64"><Owner><relfraco ref="60"/></Owner></rConnector></startConnector><endConnector><rConnector id="65"><Owner><ent ref="6"/></Owner></rConnector></endConnector></llabelUm><entfraca id="66"><children><r id="67" x="726" y="482" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="68" x="737.083984375" y="495.015625"><a><text><string>CHANNEL</string></text></a></t></children></entfraca><llabelDoubleMuitos id="69"><points><p colinear="true" x="846.4545454545455" y="384" c1x="212" c1y="379" c2x="212" c2y="379"/><p colinear="true" x="779.6363636363636" y="482" c1x="212" c1y="379" c2x="212" c2y="379"/></points><startConnector><rConnector id="6a"><Owner><relfraco ref="60"/></Owner></rConnector></startConnector><endConnector><rConnector id="6b"><Owner><entfraca ref="66"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><rel id="6c"><children><diamond id="6d" x="958" y="541" w="115.37890625" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="6e" x="977.4811782836914" y="552.8279428482056"><a><text><string>CONSTRUCTS</string></text></a></t></children></rel><llabelDoubleMuitos id="6f"><points><p colinear="true" x="958" y="547.3683560047247" c1x="842" c1y="229" c2x="842" c2y="229"/><p colinear="true" x="806" y="511.4517408343176" c1x="842" c1y="229" c2x="842" c2y="229"/></points><startConnector><rConnector id="70"><Owner><rel ref="6c"/></Owner></rConnector></startConnector><endConnector><rConnector id="71"><Owner><entfraca ref="66"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="72"><points><p colinear="true" x="1073.37890625" y="560.2115029748497" c1x="-254.06871916118416" c1y="253" c2x="-254.06871916118416" c2y="253"/><p colinear="true" x="1561" y="553.5467183219378" c1x="-254.06871916118416" c1y="253" c2x="-254.06871916118416" c2y="253"/></points><startConnector><rConnector id="73"><Owner><rel ref="6c"/></Owner></rConnector></startConnector><endConnector><rConnector id="74"><Owner><ent ref="39"/></Owner></rConnector></endConnector></llabelUm><rel id="75"><children><diamond id="76" x="838" y="-111" w="123" h="41"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="77" x="851.810546875" y="-97.484375"><a><text><string>IS_CREATED_BY</string></text></a></t></children></rel><llabelDoubleMuitos id="78"><points><p colinear="true" x="838" y="-84.25473321858864" c1x="68" c1y="191" c2x="68" c2y="191"/><p colinear="true" x="609" y="-61"/><p colinear="true" x="352" y="28.993265993265993" c1x="68" c1y="191" c2x="68" c2y="191"/></points><startConnector><rConnector id="79"><Owner><rel ref="75"/></Owner></rConnector></startConnector><endConnector><rConnector id="7a"><Owner><ent ref="21"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="7b"><points><p colinear="true" x="961" y="-71.19106145251396" c1x="527" c1y="244" c2x="527" c2y="244"/><p colinear="true" x="1307" y="37.44134078212291" c1x="527" c1y="244" c2x="527" c2y="244"/></points><startConnector><rConnector id="7c"><Owner><rel ref="75"/></Owner></rConnector></startConnector><endConnector><rConnector id="7d"><Owner><ent ref="1e"/></Owner></rConnector></endConnector></llabelUm><ent id="7e"><children><r id="7f" x="1210" y="-271" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="80" x="1212.8357391357422" y="-259.17205715179443"><a><text><string>MODERATOR</string></text></a></t></children></ent><sobreposicao ref="3e"/><generalizacaoLine id="81"><points><p colinear="true" x="1606" y="31.06439346135356" c1x="-502.29203539823015" c1y="338" c2x="-502.29203539823015" c2y="338"/><p colinear="true" x="1275.761357011466" y="-231" c1x="-502.29203539823015" c1y="338" c2x="-502.29203539823015" c2y="338"/></points><startConnector><rConnector id="82"><Owner><sobreposicao ref="3e"/></Owner></rConnector></startConnector><endConnector><rConnector id="83"><Owner><ent ref="7e"/></Owner></rConnector></endConnector></generalizacaoLine><lcaf id="84"><points><p colinear="true" x="1387" y="48.36431226765799" c1x="-186" c1y="359.3731343283582" c2x="-186" c2y="359.3731343283582"/><p colinear="true" x="1606" y="39.4089219330855" c1x="-186" c1y="359.3731343283582" c2x="-186" c2y="359.3731343283582"/></points><startConnector><rConnector id="85"><Owner><ent ref="1e"/></Owner></rConnector></startConnector><endConnector><rConnector id="86"><Owner><sobreposicao ref="3e"/></Owner></rConnector></endConnector></lcaf><rel id="87"><children><diamond id="88" x="592" y="237" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="89" x="607.7099609375" y="250.015625"><a><text><string>REPLIES</string></text></a></t></children></rel><atrchaveparcial id="8a" nullable="false" attributeType="NUMBER"><children><e id="8b" x="359" y="447" w="125" h="32.33216437450733"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="8c" x="403.8298797607422" y="454.99402503545923"><a><strokeDashes><doubleArray><double>3</double></doubleArray></strokeDashes><fontBold><boolean>true</boolean></fontBold><text><string>Name</string></text></a></t></children></atrchaveparcial><atrchave id="8d" nullable="false" attributeType="NUMBER"><children><e id="8e" x="510" y="666" w="60" h="24"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="8f" x="522.3298797607422" y="669.8279428482056"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Name</string></text></a></t></children></atrchave><lcaf id="90"><points><p colinear="true" x="544.896484375" y="666" c1x="20" c1y="111.66783562549267" c2x="20" c2y="111.66783562549267"/><p colinear="true" x="558.7698567708334" y="632" c1x="20" c1y="111.66783562549267" c2x="20" c2y="111.66783562549267"/></points><startConnector><rConnector id="91"><Owner><atrchave ref="8d"/></Owner></rConnector></startConnector><endConnector><rConnector id="92"><Owner><ent ref="48"/></Owner></rConnector></endConnector></lcaf><lcaf id="93"><points><p colinear="true" x="484" y="463.4991601041617" c1x="20" c1y="111.66783562549267" c2x="20" c2y="111.66783562549267"/><p colinear="true" x="523" y="463.70700072431237" c1x="20" c1y="111.66783562549267" c2x="20" c2y="111.66783562549267"/></points><startConnector><rConnector id="94"><Owner><atrchaveparcial ref="8a"/></Owner></rConnector></startConnector><endConnector><rConnector id="95"><Owner><entfraca ref="51"/></Owner></rConnector></endConnector></lcaf><atrchave id="96" nullable="false" attributeType="NUMBER"><children><e id="97" x="1307" y="-40" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="98" x="1312.88671875" y="-36.984375"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Username</string></text></a></t></children></atrchave><lcaf id="99"><points><p colinear="true" x="1347" y="-20" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/><p colinear="true" x="1347" y="30" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/></points><startConnector><rConnector id="9a"><Owner><atrchave ref="96"/></Owner></rConnector></startConnector><endConnector><rConnector id="9b"><Owner><ent ref="1e"/></Owner></rConnector></endConnector></lcaf><atr id="9c" nullable="false" attributeType="VARCHAR2(128)"><children><e id="9d" x="1426" y="14" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="9e" x="1437.599609375" y="17.015625"><a><text><string>Password</string></text></a></t></children></atr><lcaf id="9f"><points><p colinear="true" x="1426" y="32.739495798319325" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/><p colinear="true" x="1387" y="41.260504201680675" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/></points><startConnector><rConnector id="a0"><Owner><atr ref="9c"/></Owner></rConnector></startConnector><endConnector><rConnector id="a1"><Owner><ent ref="1e"/></Owner></rConnector></endConnector></lcaf><atr id="a2" nullable="false" attributeType="VARCHAR2(128)"><children><e id="a3" x="157" y="52" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="a4" x="173.1376953125" y="55.015625"><a><text><string>Content</string></text></a></t></children></atr><lcaf id="a5"><points><p colinear="true" x="237" y="55.391304347826086" c1x="-91" c1y="-14" c2x="-91" c2y="-14"/><p colinear="true" x="272" y="49.60869565217391" c1x="-91" c1y="-14" c2x="-91" c2y="-14"/></points><startConnector><rConnector id="a6"><Owner><atr ref="a2"/></Owner></rConnector></startConnector><endConnector><rConnector id="a7"><Owner><ent ref="21"/></Owner></rConnector></endConnector></lcaf><rel id="a8"><children><diamond id="a9" x="997" y="397" w="127.84867858886719" h="48"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="aa" x="1003.4614486694336" y="414.015625"><a><text><string>ASSOCIATED_WITH</string></text></a></t></children></rel><llabelMuitos id="ab"><points><p colinear="true" x="1012.136109488351" y="397" c1x="368" c1y="39" c2x="368" c2y="39"/><p colinear="true" x="845.4429909842355" y="315" c1x="368" c1y="39" c2x="368" c2y="39"/></points><startConnector><rConnector id="ac"><Owner><rel ref="a8"/></Owner></rConnector></startConnector><endConnector><rConnector id="ad"><Owner><ent ref="6"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><llabelMuitos id="ae"><points><p colinear="true" x="1124.8486785888672" y="436.62376052244537" c1x="53" c1y="174" c2x="53" c2y="174"/><p colinear="true" x="1561" y="543.223592018381" c1x="53" c1y="174" c2x="53" c2y="174"/></points><startConnector><rConnector id="af"><Owner><rel ref="a8"/></Owner></rConnector></startConnector><endConnector><rConnector id="b0"><Owner><ent ref="39"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><atr id="b1" nullable="false" attributeType="VARCHAR2(128)"><children><e id="b2" x="1435" y="61" w="86" h="30"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="b3" x="1436.498046875" y="69.015625"><a><text><string>Register_date</string></text></a></t></children></atr><lcaf id="b4"><points><p colinear="true" x="1435" y="67.46564885496183" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/><p colinear="true" x="1387" y="57.93893129770993" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/></points><startConnector><rConnector id="b5"><Owner><atr ref="b1"/></Owner></rConnector></startConnector><endConnector><rConnector id="b6"><Owner><ent ref="1e"/></Owner></rConnector></endConnector></lcaf><atrchaveparcial id="b7" nullable="false" attributeType="NUMBER"><children><e id="b8" x="841" y="426" w="66" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="b9" x="854.6083984375" y="429.015625"><a><strokeDashes><doubleArray><double>3</double></doubleArray></strokeDashes><fontBold><boolean>true</boolean></fontBold><text><string>Name</string></text></a></t></children></atrchaveparcial><lcaf id="ba"><points><p colinear="true" x="798.7272727272727" y="482" c1x="-429" c1y="57" c2x="-429" c2y="57"/><p colinear="true" x="857.6363636363636" y="446" c1x="-429" c1y="57" c2x="-429" c2y="57"/></points><startConnector><rConnector id="bb"><Owner><entfraca ref="66"/></Owner></rConnector></startConnector><endConnector><rConnector id="bc"><Owner><atrchaveparcial ref="b7"/></Owner></rConnector></endConnector></lcaf><rel id="bd"><children><diamond id="be" x="905" y="623" w="141.78884887695312" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="bf" x="918.2040252685547" y="634.8279428482056"><a><text><string>SENDS_MESSAGE_IN</string></text></a></t></children></rel><llabelMuitos id="c0"><points><p colinear="true" x="946.122165652877" y="623" c1x="299.23095032057836" c1y="-33" c2x="299.23095032057836" c2y="-33"/><p colinear="true" x="795.7722587855995" y="522" c1x="299.23095032057836" c1y="-33" c2x="299.23095032057836" c2y="-33"/></points><startConnector><rConnector id="c1"><Owner><rel ref="bd"/></Owner></rConnector></startConnector><endConnector><rConnector id="c2"><Owner><entfraca ref="66"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atr id="c3" nullable="false" attributeType="VARCHAR2(128)"><children><e id="c4" x="967" y="683" w="80" h="23"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="c5" x="983.1376953125" y="687.515625"><a><text><string>Content</string></text></a></t></children></atr><lcaf id="c6"><points><p colinear="true" x="987.9742596080002" y="663" c1x="305" c1y="76" c2x="305" c2y="76"/><p colinear="true" x="1000.0540947775239" y="683" c1x="305" c1y="76" c2x="305" c2y="76"/></points><startConnector><rConnector id="c7"><Owner><rel ref="bd"/></Owner></rConnector></startConnector><endConnector><rConnector id="c8"><Owner><atr ref="c3"/></Owner></rConnector></endConnector></lcaf><atr id="c9" nullable="false" attributeType="VARCHAR2(128)"><children><e id="ca" x="900" y="463" w="168.57302856445312" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="cb" x="953.0999908447266" y="466.015625"><a><text><string>Started_at</string></text></a></t></children></atr><lcaf id="cc"><points><p colinear="true" x="999.0245575538048" y="463" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1025.5530354426458" y="445" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="cd"><Owner><atr ref="c9"/></Owner></rConnector></startConnector><endConnector><rConnector id="ce"><Owner><rel ref="a8"/></Owner></rConnector></endConnector></lcaf><atr id="cf" nullable="false" attributeType="VARCHAR2(128)"><children><e id="d0" x="1073" y="483" w="168.57302856445312" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="d1" x="1129.3548736572266" y="486.015625"><a><text><string>Ended_at</string></text></a></t></children></atr><lcaf id="d2"><points><p colinear="true" x="1143.9028788672554" y="483" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1093.0450642903645" y="445" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="d3"><Owner><atr ref="cf"/></Owner></rConnector></startConnector><endConnector><rConnector id="d4"><Owner><rel ref="a8"/></Owner></rConnector></endConnector></lcaf><t id="d5" x="1499" y="514"><a><text><null/></text></a></t><atr id="d6" nullable="false" attributeType="VARCHAR2(128)"><children><e id="d7" x="878" y="678" w="80" h="23"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="d8" x="895.3154296875" y="682.515625"><a><text><string>Sent_at</string></text></a></t></children></atr><lcaf id="d9"><points><p colinear="true" x="950.9935967230027" y="663" c1x="305" c1y="76" c2x="305" c2y="76"/><p colinear="true" x="932.3179759363975" y="678" c1x="305" c1y="76" c2x="305" c2y="76"/></points><startConnector><rConnector id="da"><Owner><rel ref="bd"/></Owner></rConnector></startConnector><endConnector><rConnector id="db"><Owner><atr ref="d6"/></Owner></rConnector></endConnector></lcaf><ent id="dc"><children><r id="dd" x="490" y="-198" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="de" x="518.4619140625" y="-186.17205715179443"><a><text><string>TAG</string></text></a></t></children></ent><rel id="df"><children><diamond id="e0" x="773" y="-213" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="e1" x="785.4814453125" y="-199.984375"><a><text><string>CREATES</string></text></a></t></children></rel><llabelUm id="e2"><points><p colinear="true" x="853" y="-198.3021482357261" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="1210" y="-245.62382123958142" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="e3"><Owner><rel ref="df"/></Owner></rConnector></startConnector><endConnector><rConnector id="e4"><Owner><ent ref="7e"/></Owner></rConnector></endConnector></llabelUm><rel id="e5"><children><diamond id="e6" x="252" y="-146" w="115.53266906738281" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="e7" x="263.5300064086914" y="-132.984375"><a><text><string>ASSISGNED_TO</string></text></a></t></children></rel><llabelMuitos id="e8"><points><p colinear="true" x="310.0306736421303" y="-106" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="311.7356608915611" y="23" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="e9"><Owner><rel ref="e5"/></Owner></rConnector></startConnector><endConnector><rConnector id="ea"><Owner><ent ref="21"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atrchave id="eb" nullable="false" attributeType="NUMBER"><children><e id="ec" x="495" y="-137" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="ed" x="515.6083984375" y="-133.984375"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Name</string></text></a></t></children></atrchave><lcaf id="ee"><points><p colinear="true" x="531.9607843137255" y="-158" c1x="-597" c1y="-116" c2x="-597" c2y="-116"/><p colinear="true" x="534.0196078431372" y="-137" c1x="-597" c1y="-116" c2x="-597" c2y="-116"/></points><startConnector><rConnector id="ef"><Owner><ent ref="dc"/></Owner></rConnector></startConnector><endConnector><rConnector id="f0"><Owner><atrchave ref="eb"/></Owner></rConnector></endConnector></lcaf><atr id="f1" nullable="false" attributeType="VARCHAR2(128)"><children><e id="f2" x="711" y="403" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="f3" x="716.828125" y="406.015625"><a><text><string>Description</string></text></a></t></children></atr><lcaf id="f4"><points><p colinear="true" x="762.629213483146" y="482" c1x="-429" c1y="57" c2x="-429" c2y="57"/><p colinear="true" x="752.685393258427" y="423" c1x="-429" c1y="57" c2x="-429" c2y="57"/></points><startConnector><rConnector id="f5"><Owner><entfraca ref="66"/></Owner></rConnector></startConnector><endConnector><rConnector id="f6"><Owner><atr ref="f1"/></Owner></rConnector></endConnector></lcaf><rel id="f7"><children><diamond id="f8" x="830" y="-64" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="f9" x="853.353515625" y="-50.984375"><a><text><string>LIKES</string></text></a></t></children></rel><llabelMuitos id="fa"><points><p colinear="true" x="830" y="-43.464285714285715" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="646" y="-41"/><p colinear="true" x="352" y="32.94011976047904" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="fb"><Owner><rel ref="f7"/></Owner></rConnector></startConnector><endConnector><rConnector id="fc"><Owner><ent ref="21"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atr id="fd" nullable="false" attributeType="VARCHAR2(128)"><children><e id="fe" x="1375" y="140" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="ff" x="1388.8671875" y="143.015625"><a><text><string>Is_active</string></text></a></t></children></atr><lcaf id="100"><points><p colinear="true" x="1408.2" y="140" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1360.6" y="70" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="101"><Owner><atr ref="fd"/></Owner></rConnector></startConnector><endConnector><rConnector id="102"><Owner><ent ref="1e"/></Owner></rConnector></endConnector></lcaf><atr id="103" nullable="false" attributeType="VARCHAR2(128)"><children><e id="104" x="520" y="111" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="105" x="525.828125" y="114.015625"><a><text><string>Description</string></text></a></t></children></atr><atr id="106" nullable="false" attributeType="VARCHAR2(128)"><children><e id="107" x="590" y="139" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="108" x="610.880859375" y="142.015625"><a><text><string>Status</string></text></a></t></children></atr><llabelDoubleMuitos id="109"><points><p colinear="true" x="773" y="-190.8798586572438" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="570" y="-180.1201413427562" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="10a"><Owner><rel ref="df"/></Owner></rConnector></startConnector><endConnector><rConnector id="10b"><Owner><ent ref="dc"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="10c" nullable="false" attributeType="VARCHAR2(128)"><children><e id="10d" x="677" y="133" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="10e" x="684.09375" y="136.015625"><a><text><string>Created_at</string></text></a></t></children></atr><atr id="10f" nullable="false" attributeType="VARCHAR2(128)"><children><e id="110" x="1386" y="99" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="111" x="1414.94921875" y="102.015625"><a><text><string>Sex</string></text></a></t></children></atr><atr id="112" nullable="false" attributeType="VARCHAR2(128)"><children><e id="113" x="1397" y="-20" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="114" x="1402.828125" y="-16.984375"><a><text><string>Description</string></text></a></t></children></atr><lcaf id="115"><points><p colinear="true" x="1412.6101694915253" y="99" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1373.7796610169491" y="70" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="116"><Owner><atr ref="10f"/></Owner></rConnector></startConnector><endConnector><rConnector id="117"><Owner><ent ref="1e"/></Owner></rConnector></endConnector></lcaf><lcaf id="118"><points><p colinear="true" x="1422" y="0" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1377" y="30" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="119"><Owner><atr ref="112"/></Owner></rConnector></startConnector><endConnector><rConnector id="11a"><Owner><ent ref="1e"/></Owner></rConnector></endConnector></lcaf><atrchaveparcial id="11b" nullable="false" attributeType="NUMBER"><children><e id="11c" x="550" y="-6" w="45" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="11d" x="565.97265625" y="0.515625"><a><strokeDashes><doubleArray><double>3</double></doubleArray></strokeDashes><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchaveparcial><entfraca id="11e"><children><r id="11f" x="613.4064636230469" y="54.474003154264096" w="80" h="40.000000000000014"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="120" x="629.2716979980469" y="67.4896281542641"><a><text><string>REPORT</string></text></a></t></children></entfraca><relfraco id="121"><children><diamond id="122" x="780" y="30" w="133" h="55"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="123" x="796.5986328125" y="50.515625"><a><text><string>SUBBMITTED_BY</string></text></a></t></children></relfraco><relfraco id="124"><children><diamond id="125" x="689" y="-27" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="126" x="716.5" y="-8.984375"><a><text><string>ABOUT</string></text></a></t></children></relfraco><llabelDoubleMuitos id="127"><points><p colinear="true" x="780" y="63.3457223941199" c1x="891.4750350516183" c1y="-574.1259968457359" c2x="891.4750350516183" c2y="-574.1259968457359"/><p colinear="true" x="693.4064636230469" y="70.957779157801" c1x="891.4750350516183" c1y="-574.1259968457359" c2x="891.4750350516183" c2y="-574.1259968457359"/></points><startConnector><rConnector id="128"><Owner><relfraco ref="121"/></Owner></rConnector></startConnector><endConnector><rConnector id="129"><Owner><entfraca ref="11e"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="12a"><points><p colinear="true" x="710.0091099888812" y="23" c1x="891.4750350516183" c1y="-501.9012034573061" c2x="891.4750350516183" c2y="-501.9012034573061"/><p colinear="true" x="675.399175631942" y="54.474003154264096" c1x="891.4750350516183" c1y="-501.9012034573061" c2x="891.4750350516183" c2y="-501.9012034573061"/></points><startConnector><rConnector id="12b"><Owner><relfraco ref="124"/></Owner></rConnector></startConnector><endConnector><rConnector id="12c"><Owner><entfraca ref="11e"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="12d"><points><p colinear="true" x="913" y="56.50349650349651" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="50.599400599400596" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="12e"><Owner><relfraco ref="121"/></Owner></rConnector></startConnector><endConnector><rConnector id="12f"><Owner><ent ref="1e"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="130"><points><p colinear="true" x="786" y="2.137817883511076" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="46.58736669401149" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="131"><Owner><relfraco ref="124"/></Owner></rConnector></startConnector><endConnector><rConnector id="132"><Owner><ent ref="1e"/></Owner></rConnector></endConnector></llabelUm><lcaf id="133"><points><p colinear="true" x="671.9668755263173" y="94.47400315426411" c1x="330.4064636230469" c1y="-577.5331482164153" c2x="330.4064636230469" c2y="-577.5331482164153"/><p colinear="true" x="707.7197940483649" y="133" c1x="330.4064636230469" c1y="-577.5331482164153" c2x="330.4064636230469" c2y="-577.5331482164153"/></points><startConnector><rConnector id="134"><Owner><entfraca ref="11e"/></Owner></rConnector></startConnector><endConnector><rConnector id="135"><Owner><atr ref="10c"/></Owner></rConnector></endConnector></lcaf><lcaf id="136"><points><p colinear="true" x="647.125041135939" y="94.47400315426411" c1x="906.4750350516183" c1y="-553.5259968457359" c2x="906.4750350516183" c2y="-553.5259968457359"/><p colinear="true" x="633.1407112435539" y="139" c1x="906.4750350516183" c1y="-553.5259968457359" c2x="906.4750350516183" c2y="-553.5259968457359"/></points><startConnector><rConnector id="137"><Owner><entfraca ref="11e"/></Owner></rConnector></startConnector><endConnector><rConnector id="138"><Owner><atr ref="106"/></Owner></rConnector></endConnector></lcaf><lcaf id="139"><points><p colinear="true" x="613.4064636230469" y="94.39810478110535" c1x="906.4750350516183" c1y="-553.5259968457359" c2x="906.4750350516183" c2y="-553.5259968457359"/><p colinear="true" x="580.0761874985184" y="111" c1x="906.4750350516183" c1y="-553.5259968457359" c2x="906.4750350516183" c2y="-553.5259968457359"/></points><startConnector><rConnector id="13a"><Owner><entfraca ref="11e"/></Owner></rConnector></startConnector><endConnector><rConnector id="13b"><Owner><atr ref="103"/></Owner></rConnector></endConnector></lcaf><lcaf id="13c"><points><p colinear="true" x="629.2459058505955" y="54.474003154264096" c1x="919.4350350516183" c1y="-544.5259968457359" c2x="919.4350350516183" c2y="-544.5259968457359"/><p colinear="true" x="588.8083764964047" y="21" c1x="919.4350350516183" c1y="-544.5259968457359" c2x="919.4350350516183" c2y="-544.5259968457359"/></points><startConnector><rConnector id="13d"><Owner><entfraca ref="11e"/></Owner></rConnector></startConnector><endConnector><rConnector id="13e"><Owner><atrchaveparcial ref="11b"/></Owner></rConnector></endConnector></lcaf><relfraco id="13f"><children><diamond id="140" x="381" y="77" w="127.79676818847656" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="141" x="388.5341262817383" y="95.015625"><a><text><string>FOR_MISCONDUCT</string></text></a></t></children></relfraco><llabelUm id="142"><points><p colinear="true" x="388.58550947803565" y="77" c1x="-65.39030456542969" c1y="-141.60966999475397" c2x="-65.39030456542969" c2y="-141.60966999475397"/><p colinear="true" x="352" y="60.75792848110571" c1x="-65.39030456542969" c1y="-141.60966999475397" c2x="-65.39030456542969" c2y="-141.60966999475397"/></points><startConnector><rConnector id="143"><Owner><relfraco ref="13f"/></Owner></rConnector></startConnector><endConnector><rConnector id="144"><Owner><ent ref="21"/></Owner></rConnector></endConnector></llabelUm><atrchave id="145" nullable="false" attributeType="NUMBER"><children><e id="146" x="160" y="83" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="147" x="193.47265625" y="86.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="148"><points><p colinear="true" x="222.4" y="83" c1x="-459" c1y="-53" c2x="-459" c2y="-53"/><p colinear="true" x="272" y="60.85714285714285" c1x="-459" c1y="-53" c2x="-459" c2y="-53"/></points><startConnector><rConnector id="149"><Owner><atrchave ref="145"/></Owner></rConnector></startConnector><endConnector><rConnector id="14a"><Owner><ent ref="21"/></Owner></rConnector></endConnector></lcaf><entfraca id="14b"><children><r id="14c" x="1057" y="269" w="134.52734375" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="14d" x="1067" y="282.015625"><a><text><string>PROJECT_REQUEST</string></text></a></t></children></entfraca><relfraco ref="1a"/><llabelDoubleMuitos id="14e"><points><p colinear="true" x="1308" y="311.1525083049493" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1191.52734375" y="297.1097683024263" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="14f"><Owner><relfraco ref="1a"/></Owner></rConnector></startConnector><endConnector><rConnector id="150"><Owner><entfraca ref="14b"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>P</string></text></a></llabelDoubleMuitos><atrchaveparcial id="151" nullable="false" attributeType="NUMBER"><children><e id="152" x="1036" y="341" w="61" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="153" x="1059.97265625" y="347.515625"><a><strokeDashes><doubleArray><double>3</double></doubleArray></strokeDashes><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchaveparcial><lcaf id="154"><points><p colinear="true" x="1078.4054896230916" y="341" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1106.6259094704199" y="309" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="155"><Owner><atrchaveparcial ref="151"/></Owner></rConnector></startConnector><endConnector><rConnector id="156"><Owner><entfraca ref="14b"/></Owner></rConnector></endConnector></lcaf><relfraco ref="2"/><llabelDoubleMuitos id="157"><points><p colinear="true" x="1007" y="285.4629260878274" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1057" y="286.97109731239175" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="158"><Owner><relfraco ref="2"/></Owner></rConnector></startConnector><endConnector><rConnector id="159"><Owner><entfraca ref="14b"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="15a" nullable="false" attributeType="VARCHAR2(128)"><children><e id="15b" x="1117" y="360" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="15c" x="1137.880859375" y="363.015625"><a><text><string>Status</string></text></a></t></children></atr><lcaf id="15d"><points><p colinear="true" x="1152.9584780092594" y="360" c1x="-356" c1y="135" c2x="-356" c2y="135"/><p colinear="true" x="1132.3467158564815" y="309" c1x="-356" c1y="135" c2x="-356" c2y="135"/></points><startConnector><rConnector id="15e"><Owner><atr ref="15a"/></Owner></rConnector></startConnector><endConnector><rConnector id="15f"><Owner><entfraca ref="14b"/></Owner></rConnector></endConnector></lcaf><atr id="160" nullable="false" attributeType="VARCHAR2(128)"><children><e id="161" x="1210" y="342" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="162" x="1215.828125" y="345.015625"><a><text><string>Description</string></text></a></t></children></atr><lcaf id="163"><points><p colinear="true" x="1230.0418526785713" y="342" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1164.179966517857" y="309" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="164"><Owner><atr ref="160"/></Owner></rConnector></startConnector><endConnector><rConnector id="165"><Owner><entfraca ref="14b"/></Owner></rConnector></endConnector></lcaf><atr id="166" nullable="false" attributeType="VARCHAR2(128)"><children><e id="167" x="80" y="388" w="127" h="34"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="168" x="90.31562042236328" y="396.82794284820557"><a><text><string>Next_discussion_id</string></text></a></t></children></atr><lcaf id="169"><points><p colinear="true" x="133.62837275752312" y="388" c1x="-315" c1y="22" c2x="-315" c2y="22"/><p colinear="true" x="92.3998119212963" y="317" c1x="-315" c1y="22" c2x="-315" c2y="22"/></points><startConnector><rConnector id="16a"><Owner><atr ref="166"/></Owner></rConnector></startConnector><endConnector><rConnector id="16b"><Owner><ent ref="f"/></Owner></rConnector></endConnector></lcaf><atr id="16c" nullable="false" attributeType="VARCHAR2(128)"><children><e id="16d" x="1058" y="-76" w="55" h="18"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="16e" x="1064.8058547973633" y="-75.17205715179443"><a><text><string>Reason</string></text></a></t></children></atr><rel id="16f"><children><diamond id="170" x="885" y="753" w="119" h="66"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="171" x="904.8818359375" y="779.015625"><a><text><string>IS_ASSIGNED</string></text></a></t></children></rel><llabelMuitos id="172"><points><p colinear="true" x="1004" y="764.8827113480579" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1561" y="567.1964965727342" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="173"><Owner><rel ref="16f"/></Owner></rConnector></startConnector><endConnector><rConnector id="174"><Owner><ent ref="39"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><llabelMuitos id="175"><points><p colinear="true" x="906.9373392614518" y="753" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="600.7447411199535" y="484" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="176"><Owner><rel ref="16f"/></Owner></rConnector></startConnector><endConnector><rConnector id="177"><Owner><entfraca ref="51"/></Owner></rConnector></endConnector><a><text><string>P</string></text></a></llabelMuitos><rel id="178"><children><diamond id="179" x="180" y="283" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="17a" x="188.763671875" y="296.015625"><a><text><string>CONTAINS</string></text></a></t></children></rel><llabelUm id="17b"><points><p colinear="true" x="180" y="301.27603381151135" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="144.572265625" y="299.7491284065799" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="17c"><Owner><rel ref="178"/></Owner></rConnector></startConnector><endConnector><rConnector id="17d"><Owner><ent ref="f"/></Owner></rConnector></endConnector></llabelUm><ent id="17e"><children><r id="17f" x="291" y="262" w="150.4765625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="180" x="301" y="275.015625"><a><text><string>DISCUSSION_THREAD</string></text></a></t></children></ent><llabelDoubleMuitos id="181"><points><p colinear="true" x="260" y="297.25594999599326" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="291" y="292.80431124288805" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="182"><Owner><rel ref="178"/></Owner></rConnector></startConnector><endConnector><rConnector id="183"><Owner><ent ref="17e"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>P</string></text></a></llabelDoubleMuitos><generalizacaoLine id="184"><points><p colinear="true" x="377.64237034574467" y="198" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="368.95354055851067" y="262" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="185"><Owner><disjuncao ref="24"/></Owner></rConnector></startConnector><endConnector><rConnector id="186"><Owner><ent ref="17e"/></Owner></rConnector></endConnector></generalizacaoLine><llabelGeneralizacao id="187" labelGeneralizacaoText="submitter(1)"><points><p colinear="true" x="592" y="253.69421487603307" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="511" y="247"/><p colinear="true" x="441.4765625" y="263.80914217868803" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="188"><Owner><rel ref="87"/></Owner></rConnector></startConnector><endConnector><rConnector id="189"><Owner><ent ref="17e"/></Owner></rConnector></endConnector></llabelGeneralizacao><llabelGeneralizacao id="18a" labelGeneralizacaoText="reply(N)"><points><p colinear="true" x="592" y="275.62068965517244" c1x="58.523792613636374" c1y="-284.27322404371586" c2x="58.523792613636374" c2y="-284.27322404371586"/><p colinear="true" x="516" y="311"/><p colinear="true" x="441.4765625" y="296.56921150786405" c1x="58.523792613636374" c1y="-284.27322404371586" c2x="58.523792613636374" c2y="-284.27322404371586"/></points><startConnector><rConnector id="18b"><Owner><rel ref="87"/></Owner></rConnector></startConnector><endConnector><rConnector id="18c"><Owner><ent ref="17e"/></Owner></rConnector></endConnector></llabelGeneralizacao><llabelMuitos id="18d"><points><p colinear="true" x="258.0390625" y="-247.73371815039062" c1x="-6.0390625" c1y="57.45817363657696" c2x="-6.0390625" c2y="57.45817363657696"/><p colinear="true" x="1210" y="-250.86652606450383" c1x="-6.0390625" c1y="57.45817363657696" c2x="-6.0390625" c2y="57.45817363657696"/></points><startConnector><rConnector id="18e"><Owner><rel ref="b"/></Owner></rConnector></startConnector><endConnector><rConnector id="18f"><Owner><ent ref="7e"/></Owner></rConnector></endConnector><a><text><string>R</string></text></a></llabelMuitos><rel id="190"><children><diamond id="191" x="176" y="166" w="134.92578125" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="192" x="205.0634765625" y="179.015625"><a><text><string>IS_CHILD_TO</string></text></a></t></children></rel><llabelGeneralizacao id="193" labelGeneralizacaoText="root_topic(1)"><points><p colinear="true" x="214.1517630912162" y="206" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="110.09726034628378" y="277" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="194"><Owner><rel ref="190"/></Owner></rConnector></startConnector><endConnector><rConnector id="195"><Owner><ent ref="f"/></Owner></rConnector></endConnector></llabelGeneralizacao><llabelGeneralizacao id="196" labelGeneralizacaoText="child_topic(N)"><points><p colinear="true" x="206.03829033430233" y="166" c1x="-93.47597714208166" c1y="-13.646519097217777" c2x="-93.47597714208166" c2y="-13.646519097217777"/><p colinear="true" x="163" y="143"/><p colinear="true" x="91.46325842126625" y="277" c1x="-93.47597714208166" c1y="-13.646519097217777" c2x="-93.47597714208166" c2y="-13.646519097217777"/></points><startConnector><rConnector id="197"><Owner><rel ref="190"/></Owner></rConnector></startConnector><endConnector><rConnector id="198"><Owner><ent ref="f"/></Owner></rConnector></endConnector></llabelGeneralizacao><atr id="199" nullable="false" attributeType="VARCHAR2(128)"><children><e id="19a" x="-64" y="316" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="19b" x="-37.04296875" y="319.015625"><a><text><string>Title</string></text></a></t></children></atr><lcaf id="19c"><points><p colinear="true" x="12.133149245689665" y="316" c1x="-315" c1y="22" c2x="-315" c2y="22"/><p colinear="true" x="17" y="314.6530787224723" c1x="-315" c1y="22" c2x="-315" c2y="22"/></points><startConnector><rConnector id="19d"><Owner><atr ref="199"/></Owner></rConnector></startConnector><endConnector><rConnector id="19e"><Owner><ent ref="f"/></Owner></rConnector></endConnector></lcaf><atr id="19f" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1a0" x="831" y="214" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1a1" x="857.95703125" y="217.015625"><a><text><string>Title</string></text></a></t></children></atr><lcaf id="1a2"><points><p colinear="true" x="861.6741032130282" y="234" c1x="21.427734375" c1y="-105" c2x="21.427734375" c2y="-105"/><p colinear="true" x="823.4379263864437" y="275" c1x="21.427734375" c1y="-105" c2x="21.427734375" c2y="-105"/></points><startConnector><rConnector id="1a3"><Owner><atr ref="19f"/></Owner></rConnector></startConnector><endConnector><rConnector id="1a4"><Owner><ent ref="6"/></Owner></rConnector></endConnector></lcaf><llabelMuitos id="1a5"><points><p colinear="true" x="910" y="-36.11740041928721" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="42.117400419287215" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1a6"><Owner><rel ref="f7"/></Owner></rConnector></startConnector><endConnector><rConnector id="1a7"><Owner><ent ref="1e"/></Owner></rConnector></endConnector><a><text><string>P</string></text></a></llabelMuitos><llabelDoubleMuitos id="1a8"><points><p colinear="true" x="508.79676818847656" y="93.56451527921435" c1x="-568.3903045654297" c1y="516.4740031542641" c2x="-568.3903045654297" c2y="516.4740031542641"/><p colinear="true" x="613.4064636230469" y="79.7545653095417" c1x="-568.3903045654297" c1y="516.4740031542641" c2x="-568.3903045654297" c2y="516.4740031542641"/></points><startConnector><rConnector id="1a9"><Owner><relfraco ref="13f"/></Owner></rConnector></startConnector><endConnector><rConnector id="1aa"><Owner><entfraca ref="11e"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelMuitos id="1ab"><points><p colinear="true" x="367.5326690673828" y="-139.63937429544114" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="490" y="-168.55548571288617" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1ac"><Owner><rel ref="e5"/></Owner></rConnector></startConnector><endConnector><rConnector id="1ad"><Owner><ent ref="dc"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><atr id="1ae" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1af" x="712" y="205" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1b0" x="725.7236328125" y="208.015625"><a><text><string>Repo_url</string></text></a></t></children></atr><lcaf id="1b1"><points><p colinear="true" x="758.5982666015625" y="225" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="791.589599609375" y="275" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1b2"><Owner><atr ref="1ae"/></Owner></rConnector></startConnector><endConnector><rConnector id="1b3"><Owner><ent ref="6"/></Owner></rConnector></endConnector></lcaf><entfraca id="1b4"><children><r id="1b5" x="1192" y="-100" w="139.689453125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="1b6" x="1206.5243530273438" y="-88.17205715179443"><a><text><string>BLACKLISTED_USER</string></text></a></t></children></entfraca><relfraco id="1b7"><children><diamond id="1b8" x="1185" y="-206" w="122.931640625" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="1b9" x="1195" y="-187.984375"><a><text><string>BLACKLISTED_BY</string></text></a></t></children></relfraco><llabelUm id="1ba"><points><p colinear="true" x="1247.9274896894183" y="-206" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1249.3891590663366" y="-231" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1bb"><Owner><relfraco ref="1b7"/></Owner></rConnector></startConnector><endConnector><rConnector id="1bc"><Owner><ent ref="7e"/></Owner></rConnector></endConnector></llabelUm><relfraco id="1bd"><children><diamond id="1be" x="1206" y="-30" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="1bf" x="1219.9326171875" y="-11.984375"><a><text><string>REFERS_TO</string></text></a></t></children></relfraco><llabelUm id="1c0"><points><p colinear="true" x="1296.5454545454545" y="20" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1313.3636363636363" y="30" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1c1"><Owner><relfraco ref="1bd"/></Owner></rConnector></startConnector><endConnector><rConnector id="1c2"><Owner><ent ref="1e"/></Owner></rConnector></endConnector></llabelUm><relfraco id="1c3"><children><diamond id="1c4" x="820" y="-175" w="155" h="57"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="1c5" x="836.2958984375" y="-153.484375"><a><text><string>BLACKLISTED_FROM</string></text></a></t></children></relfraco><llabelDoubleMuitos id="1c6"><points><p colinear="true" x="1250.2724802753712" y="-156" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1258.799398592203" y="-100" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1c7"><Owner><relfraco ref="1b7"/></Owner></rConnector></startConnector><endConnector><rConnector id="1c8"><Owner><entfraca ref="1b4"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atrchaveparcial id="1c9" nullable="false" attributeType="NUMBER"><children><e id="1ca" x="1033" y="-166" w="82" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1cb" x="1043.3848037719727" y="-160.67205715179443"><a><strokeDashes><doubleArray><double>3</double></doubleArray></strokeDashes><fontBold><boolean>true</boolean></fontBold><text><string>Start_date</string></text></a></t></children></atrchaveparcial><atr id="1cc" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1cd" x="1143" y="-154" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1ce" x="1156.9958267211914" y="-152.17205715179443"><a><text><string>End_date</string></text></a></t></children></atr><lcaf id="1cf"><points><p colinear="true" x="1108.9779835668103" y="-139" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1210.025491648707" y="-100" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1d0"><Owner><atrchaveparcial ref="1c9"/></Owner></rConnector></startConnector><endConnector><rConnector id="1d1"><Owner><entfraca ref="1b4"/></Owner></rConnector></endConnector></lcaf><lcaf id="1d2"><points><p colinear="true" x="1195.3194885253906" y="-134" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1237.2057495117188" y="-100" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1d3"><Owner><atr ref="1cc"/></Owner></rConnector></startConnector><endConnector><rConnector id="1d4"><Owner><entfraca ref="1b4"/></Owner></rConnector></endConnector></lcaf><lcaf id="1d5"><points><p colinear="true" x="1113" y="-69.02727922160629" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1192" y="-74.85109953094802" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1d6"><Owner><atr ref="16c"/></Owner></rConnector></startConnector><endConnector><rConnector id="1d7"><Owner><entfraca ref="1b4"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="1d8"><points><p colinear="true" x="1256.9482421875" y="-30" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1259.8861328125" y="-60" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1d9"><Owner><relfraco ref="1bd"/></Owner></rConnector></startConnector><endConnector><rConnector id="1da"><Owner><entfraca ref="1b4"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="1db"><points><p colinear="true" x="820" y="-132.48925410872315" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="502" y="-75"/><p colinear="true" x="344.2033898305085" y="23" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1dc"><Owner><relfraco ref="1c3"/></Owner></rConnector></startConnector><endConnector><rConnector id="1dd"><Owner><ent ref="21"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="1de"><points><p colinear="true" x="975" y="-132.3547424341109" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1192" y="-92.7480212496214" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1df"><Owner><relfraco ref="1c3"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e0"><Owner><entfraca ref="1b4"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelMuitos id="1e1"><points><p colinear="true" x="1046.7888488769531" y="632.7929270687894" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1561" y="558.7590271799546" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1e2"><Owner><rel ref="bd"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e3"><Owner><ent ref="39"/></Owner></rConnector></endConnector><a><text><string>Q</string></text></a></llabelMuitos><atrchave id="1e4" nullable="false" attributeType="NUMBER"><children><e id="1e5" x="1305" y="118" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1e6" x="1338.47265625" y="121.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="1e7"><points><p colinear="true" x="1346.4871794871794" y="70" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1345.2564102564102" y="118" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1e8"><Owner><ent ref="1e"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e9"><Owner><atrchave ref="1e4"/></Owner></rConnector></endConnector></lcaf><entfraca id="1ea"><children><r id="1eb" x="1295" y="187" w="77" h="33"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="1ec" x="1301.501953125" y="196.515625"><a><text><string>FEEDBACK</string></text></a></t></children></entfraca><atr id="1ed" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1ee" x="1229" y="243" w="107" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1ef" x="1248.328125" y="249.515625"><a><text><string>Description</string></text></a></t></children></atr><atr id="1f0" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1f1" x="1220" y="104" w="101.455078125" h="30"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1f2" x="1220.1030450139363" y="112.015625"><a><text><string>Submission_type</string></text></a></t></children></atr><atr id="1f3" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1f4" x="1161" y="219" w="85.8125" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1f5" x="1171" y="220.015625"><a><text><string>Created_at</string></text></a></t></children></atr><rel id="1f6"><children><diamond id="1f7" x="1381" y="183" w="102" h="44"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1f8" x="1393.73828125" y="198.015625"><a><text><string>WRITTEN_BY</string></text></a></t></children></rel><llabelUm id="1f9"><points><p colinear="true" x="1441.675392670157" y="227" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1509.4031413612565" y="381" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1fa"><Owner><rel ref="1f6"/></Owner></rConnector></startConnector><endConnector><rConnector id="1fb"><Owner><ent ref="42"/></Owner></rConnector></endConnector></llabelUm><llabelMuitos id="1fc"><points><p colinear="true" x="1381" y="204.2233502538071" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1372" y="204.08629441624365" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1fd"><Owner><rel ref="1f6"/></Owner></rConnector></startConnector><endConnector><rConnector id="1fe"><Owner><entfraca ref="1ea"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><ent id="1ff"><children><r id="200" x="918" y="110" w="110" h="39"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="201" x="935.1396484375" y="122.515625"><a><text><string>SUBMISSION</string></text></a></t></children></ent><atrchave id="202" nullable="false" attributeType="NUMBER"><children><e id="203" x="1077" y="122" w="44" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="204" x="1092.47265625" y="128.515625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="205"><points><p colinear="true" x="1077" y="134.45238095238096" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1028" y="132.11904761904762" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="206"><Owner><atrchave ref="202"/></Owner></rConnector></startConnector><endConnector><rConnector id="207"><Owner><ent ref="1ff"/></Owner></rConnector></endConnector></lcaf><uniao id="208"><children><circ id="209" x="828" y="107" w="16" h="16"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="20a" x="831" y="108"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>u</string></text></a></tn></children></uniao><generalizacaoLine id="20b"><points><p colinear="true" x="844" y="117.55337591240877" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="918" y="124.40647810218978" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="20c"><Owner><uniao ref="208"/></Owner></rConnector></startConnector><endConnector><rConnector id="20d"><Owner><ent ref="1ff"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleGeneralizacao id="20e" labelGeneralizacaoText=""><points><p colinear="true" x="693.4064636230469" y="83.7489200403319" c1x="17.203231811523438" c1y="25.874003154264088" c2x="17.203231811523438" c2y="25.874003154264088"/><p colinear="true" x="828" y="114.95751662278644" c1x="17.203231811523438" c1y="25.874003154264088" c2x="17.203231811523438" c2y="25.874003154264088"/></points><startConnector><rConnector id="20f"><Owner><entfraca ref="11e"/></Owner></rConnector></startConnector><endConnector><rConnector id="210"><Owner><uniao ref="208"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><llabelDoubleGeneralizacao id="211" labelGeneralizacaoText=""><points><p colinear="true" x="1090.7811401145643" y="269" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="844" y="121.59111116192722" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="212"><Owner><entfraca ref="14b"/></Owner></rConnector></startConnector><endConnector><rConnector id="213"><Owner><uniao ref="208"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><relfraco id="214"><children><diamond id="215" x="1091" y="72" w="121.595703125" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="216" x="1101" y="85.015625"><a><text><string>SUBBMITED_FOR</string></text></a></t></children></relfraco><llabelDoubleUm id="217"><points><p colinear="true" x="1184.3901651835763" y="112" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1306.611341262612" y="187" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="218"><Owner><relfraco ref="214"/></Owner></rConnector></startConnector><endConnector><rConnector id="219"><Owner><entfraca ref="1ea"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><llabelUm id="21a"><points><p colinear="true" x="1091" y="104.75138047616187" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1028" y="117.96462649312629" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="21b"><Owner><relfraco ref="214"/></Owner></rConnector></startConnector><endConnector><rConnector id="21c"><Owner><ent ref="1ff"/></Owner></rConnector></endConnector></llabelUm><lcaf id="21d"><points><p colinear="true" x="1295" y="210.4814323607427" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1246.8125" y="219.2195563057632" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="21e"><Owner><entfraca ref="1ea"/></Owner></rConnector></startConnector><endConnector><rConnector id="21f"><Owner><atr ref="1f3"/></Owner></rConnector></endConnector></lcaf><lcaf id="220"><points><p colinear="true" x="1321.2527161644523" y="187" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1281.9129559654205" y="134" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="221"><Owner><entfraca ref="1ea"/></Owner></rConnector></startConnector><endConnector><rConnector id="222"><Owner><atr ref="1f0"/></Owner></rConnector></endConnector></lcaf><lcaf id="223"><points><p colinear="true" x="1317.622641509434" y="220" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1295.4905660377358" y="243" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="224"><Owner><entfraca ref="1ea"/></Owner></rConnector></startConnector><endConnector><rConnector id="225"><Owner><atr ref="1ed"/></Owner></rConnector></endConnector></lcaf><atrmulti id="226" nullable="false" attributeType="VARCHAR2(128)"><children><e id="227" x="8" y="354" w="75" h="34"><a><fillColor><color rgba="#ffffebeb"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></e><t id="228" x="13.9267578125" y="364.015625"><a><text><string>Guidelines</string></text></a></t></children></atrmulti><lcaf id="229"><points><p colinear="true" x="53.606273754222975" y="354" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="71.24934016047297" y="317" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="22a"><Owner><atrmulti ref="226"/></Owner></rConnector></startConnector><endConnector><rConnector id="22b"><Owner><ent ref="f"/></Owner></rConnector></endConnector></lcaf><atr id="22c" nullable="false" attributeType="VARCHAR2(128)"><children><e id="22d" x="185" y="-42" w="85.8125" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="22e" x="195" y="-40.984375"><a><text><string>Created_at</string></text></a></t></children></atr><lcaf id="22f"><points><p colinear="true" x="290.15746753246754" y="23" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="236.643262987013" y="-26" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="230"><Owner><ent ref="21"/></Owner></rConnector></startConnector><endConnector><rConnector id="231"><Owner><atr ref="22c"/></Owner></rConnector></endConnector></lcaf><atr id="232" nullable="false" attributeType="VARCHAR2(128)"><children><e id="233" x="1049" y="205" w="85.8125" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="234" x="1059" y="206.015625"><a><text><string>Created_at</string></text></a></t></children></atr><atr id="235" nullable="false" attributeType="VARCHAR2(128)"><children><e id="236" x="1478" y="109" w="64" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="237" x="1493.353515625" y="110.015625"><a><text><string>Email</string></text></a></t></children></atr><lcaf id="238"><points><p colinear="true" x="1490.5373134328358" y="109" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1387" y="66.44171779141104" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="239"><Owner><atr ref="235"/></Owner></rConnector></startConnector><endConnector><rConnector id="23a"><Owner><ent ref="1e"/></Owner></rConnector></endConnector></lcaf><atr id="23b" nullable="false" attributeType="VARCHAR2(128)"><children><e id="23c" x="1207" y="60" w="64" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="23d" x="1221.298828125" y="61.015625"><a><text><string>Name</string></text></a></t></children></atr><lcaf id="23e"><points><p colinear="true" x="1271" y="62.66666666666667" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="56.66666666666667" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="23f"><Owner><atr ref="23b"/></Owner></rConnector></startConnector><endConnector><rConnector id="240"><Owner><ent ref="1e"/></Owner></rConnector></endConnector></lcaf><lcaf id="241"><points><p colinear="true" x="1095.3122944078948" y="221" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1115.7485608552631" y="269" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="242"><Owner><atr ref="232"/></Owner></rConnector></startConnector><endConnector><rConnector id="243"><Owner><entfraca ref="14b"/></Owner></rConnector></endConnector></lcaf></figures></drawing>
Index: cs/versioning/er_models/ER_BUILD_BOARD_v3.xml
===================================================================
--- docs/versioning/er_models/ER_BUILD_BOARD_v3.xml	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,1 +1,0 @@
-<drawing><figures><llabelUm id="0"><points><p colinear="true" x="932" y="302.3368289822758" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="613.572265625" y="297.0575278653489" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1"><Owner><rel id="2"><children><diamond id="3" x="932" y="283" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="4" x="945.5398178100586" y="294.82794284820557"><a><text><string>RECIEVES</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="5"><Owner><ent id="6"><children><r id="7" x="486" y="276" w="127.572265625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="8" x="499.9077911376953" y="287.82794284820557"><a><text><string>PROJECT_THREAD</string></text></a></t></children></ent></Owner></rConnector></endConnector></llabelUm><lcaf id="9"><points><p colinear="true" x="258.0390625" y="-219.26957625137743" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="278.84290994623655" y="-211" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="a"><Owner><rel id="b"><children><diamond id="c" x="116" y="-276" w="142.0390625" h="57"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="d" x="129" y="-254.484375"><a><text><string>IS_MODERATED_BY</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="e"><Owner><atr id="f" nullable="false" attributeType="VARCHAR2(128)"><children><e id="10" x="264" y="-211" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="11" x="275.25980377197266" y="-209.17205715179443"><a><text><string>Started_at</string></text></a></t></children></atr></Owner></rConnector></endConnector></lcaf><rel ref="b"/><atr ref="f"/><ent id="12"><children><r id="13" x="271" y="-22" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="14" x="287.9358444213867" y="-10.172057151794434"><a><text><string>THREAD</string></text></a></t></children></ent><disjuncao id="15"><children><circ id="16" x="414" y="115" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="17" x="418" y="116"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao><ent ref="6"/><ent id="18"><children><r id="19" x="4" y="284" w="127.572265625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1a" x="24.579833984375" y="295.82794284820557"><a><text><string>TOPIC_THREAD</string></text></a></t></children></ent><ent id="1b"><children><r id="1c" x="1307" y="30" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1d" x="1330.83984375" y="43.015625"><a><text><string>USER</string></text></a></t></children></ent><llabelDoubleGeneralizacao id="1e" labelGeneralizacaoText="caracteristica"><points><p colinear="true" x="415.1023622047244" y="115" c1x="-14.280559426255081" c1y="-40" c2x="-14.280559426255081" c2y="-40"/><p colinear="true" x="328.79527559055117" y="18" c1x="-14.280559426255081" c1y="-40" c2x="-14.280559426255081" c2y="-40"/></points><startConnector><rConnector id="1f"><Owner><disjuncao ref="15"/></Owner></rConnector></startConnector><endConnector><rConnector id="20"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><ent id="21"><children><r id="22" x="1561" y="533" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="23" x="1565.0498046875" y="546.015625"><a><text><string>DEVELOPER</string></text></a></t></children></ent><generalizacaoLine id="24"><points><p colinear="true" x="1615.7081712062256" y="49" c1x="400" c1y="499" c2x="400" c2y="499"/><p colinear="true" x="1601.5836575875487" y="533" c1x="400" c1y="499" c2x="400" c2y="499"/></points><startConnector><rConnector id="25"><Owner><sobreposicao id="26"><children><circ id="27" x="1606" y="29" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="28" x="1610" y="30"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>o</string></text></a></tn></children></sobreposicao></Owner></rConnector></startConnector><endConnector><rConnector id="29"><Owner><ent ref="21"/></Owner></rConnector></endConnector></generalizacaoLine><ent id="2a"><children><r id="2b" x="1471" y="324" w="120" h="30"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="2c" x="1482.2916564941406" y="330.82794284820557"><a><text><string>PROJECT_OWNER</string></text></a></t></children></ent><generalizacaoLine id="2d"><points><p colinear="true" x="1613.1666666666667" y="49" c1x="303" c1y="473" c2x="303" c2y="473"/><p colinear="true" x="1535.25" y="324" c1x="303" c1y="473" c2x="303" c2y="473"/></points><startConnector><rConnector id="2e"><Owner><sobreposicao ref="26"/></Owner></rConnector></startConnector><endConnector><rConnector id="2f"><Owner><ent ref="2a"/></Owner></rConnector></endConnector></generalizacaoLine><ent id="30"><children><r id="31" x="516" y="592" w="101.861328125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="32" x="527.5943908691406" y="603.8279428482056"><a><text><string>PERMISSIONS</string></text></a></t></children></ent><rel id="33"><children><diamond id="34" x="521" y="515" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="35" x="525.8997650146484" y="526.8279428482056"><a><text><string>DEFINED_BY</string></text></a></t></children></rel><llabelMuitos id="36"><points><p colinear="true" x="562.540432224026" y="555" c1x="-364" c1y="193.66783562549267" c2x="-364" c2y="193.66783562549267"/><p colinear="true" x="565.390231838474" y="592" c1x="-364" c1y="193.66783562549267" c2x="-364" c2y="193.66783562549267"/></points><startConnector><rConnector id="37"><Owner><rel ref="33"/></Owner></rConnector></startConnector><endConnector><rConnector id="38"><Owner><ent ref="30"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><entfraca id="39"><children><r id="3a" x="523" y="444" w="109.958984375" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="3b" x="535.4811935424805" y="455.82794284820557"><a><text><string>CUSTOM_ROLE</string></text></a></t></children></entfraca><llabelDoubleMuitos id="3c"><points><p colinear="true" x="565.7829555457746" y="515" c1x="367" c1y="436.66783562549267" c2x="367" c2y="436.66783562549267"/><p colinear="true" x="573.1965366417253" y="484" c1x="367" c1y="436.66783562549267" c2x="367" c2y="436.66783562549267"/></points><startConnector><rConnector id="3d"><Owner><rel ref="33"/></Owner></rConnector></startConnector><endConnector><rConnector id="3e"><Owner><entfraca ref="39"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><relfraco id="3f"><children><diamond id="40" x="596" y="330" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="41" x="617.30078125" y="348.015625"><a><text><string>VALID_IN</string></text></a></t></children></relfraco><llabelUm id="42"><points><p colinear="true" x="604.3670054290254" y="330" c1x="715" c1y="364" c2x="715" c2y="364"/><p colinear="true" x="581.8925284692797" y="316" c1x="715" c1y="364" c2x="715" c2y="364"/></points><startConnector><rConnector id="43"><Owner><relfraco ref="3f"/></Owner></rConnector></startConnector><endConnector><rConnector id="44"><Owner><ent ref="6"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="45"><points><p colinear="true" x="629.2430027952981" y="380" c1x="400" c1y="499" c2x="400" c2y="499"/><p colinear="true" x="590.1850899512615" y="444" c1x="400" c1y="499" c2x="400" c2y="499"/></points><startConnector><rConnector id="46"><Owner><relfraco ref="3f"/></Owner></rConnector></startConnector><endConnector><rConnector id="47"><Owner><entfraca ref="39"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><relfraco id="48"><children><diamond id="49" x="773" y="350" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="4a" x="809.9259185791016" y="366.82794284820557"><a><text><string>HAS</string></text></a></t></children></relfraco><llabelUm id="4b"><points><p colinear="true" x="773" y="360.8987690261829" c1x="527" c1y="244" c2x="527" c2y="244"/><p colinear="true" x="613.572265625" y="314.54562869516775" c1x="527" c1y="244" c2x="527" c2y="244"/></points><startConnector><rConnector id="4c"><Owner><relfraco ref="48"/></Owner></rConnector></startConnector><endConnector><rConnector id="4d"><Owner><ent ref="6"/></Owner></rConnector></endConnector></llabelUm><entfraca id="4e"><children><r id="4f" x="726" y="482" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="50" x="737.083984375" y="495.015625"><a><text><string>CHANNEL</string></text></a></t></children></entfraca><llabelDoubleMuitos id="51"><points><p colinear="true" x="810.5748031496063" y="400" c1x="212" c1y="379" c2x="212" c2y="379"/><p colinear="true" x="774.7401574803149" y="482" c1x="212" c1y="379" c2x="212" c2y="379"/></points><startConnector><rConnector id="52"><Owner><relfraco ref="48"/></Owner></rConnector></startConnector><endConnector><rConnector id="53"><Owner><entfraca ref="4e"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><rel id="54"><children><diamond id="55" x="958" y="541" w="115.37890625" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="56" x="977.4811782836914" y="552.8279428482056"><a><text><string>CONSTRUCTS</string></text></a></t></children></rel><llabelDoubleMuitos id="57"><points><p colinear="true" x="958" y="547.3683560047247" c1x="842" c1y="229" c2x="842" c2y="229"/><p colinear="true" x="806" y="511.4517408343176" c1x="842" c1y="229" c2x="842" c2y="229"/></points><startConnector><rConnector id="58"><Owner><rel ref="54"/></Owner></rConnector></startConnector><endConnector><rConnector id="59"><Owner><entfraca ref="4e"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="5a"><points><p colinear="true" x="1073.37890625" y="560.2115029748497" c1x="-254.06871916118416" c1y="253" c2x="-254.06871916118416" c2y="253"/><p colinear="true" x="1561" y="553.5467183219378" c1x="-254.06871916118416" c1y="253" c2x="-254.06871916118416" c2y="253"/></points><startConnector><rConnector id="5b"><Owner><rel ref="54"/></Owner></rConnector></startConnector><endConnector><rConnector id="5c"><Owner><ent ref="21"/></Owner></rConnector></endConnector></llabelUm><rel id="5d"><children><diamond id="5e" x="838" y="-111" w="123" h="41"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="5f" x="851.810546875" y="-97.484375"><a><text><string>IS_CREATED_BY</string></text></a></t></children></rel><llabelDoubleMuitos id="60"><points><p colinear="true" x="838" y="-84.25473321858864" c1x="68" c1y="191" c2x="68" c2y="191"/><p colinear="true" x="609" y="-61"/><p colinear="true" x="351" y="-9.919463087248321" c1x="68" c1y="191" c2x="68" c2y="191"/></points><startConnector><rConnector id="61"><Owner><rel ref="5d"/></Owner></rConnector></startConnector><endConnector><rConnector id="62"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="63"><points><p colinear="true" x="961" y="-71.19106145251396" c1x="527" c1y="244" c2x="527" c2y="244"/><p colinear="true" x="1307" y="37.44134078212291" c1x="527" c1y="244" c2x="527" c2y="244"/></points><startConnector><rConnector id="64"><Owner><rel ref="5d"/></Owner></rConnector></startConnector><endConnector><rConnector id="65"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><ent id="66"><children><r id="67" x="1210" y="-271" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="68" x="1212.8357391357422" y="-259.17205715179443"><a><text><string>MODERATOR</string></text></a></t></children></ent><sobreposicao ref="26"/><generalizacaoLine id="69"><points><p colinear="true" x="1606" y="31.06439346135356" c1x="-502.29203539823015" c1y="338" c2x="-502.29203539823015" c2y="338"/><p colinear="true" x="1275.761357011466" y="-231" c1x="-502.29203539823015" c1y="338" c2x="-502.29203539823015" c2y="338"/></points><startConnector><rConnector id="6a"><Owner><sobreposicao ref="26"/></Owner></rConnector></startConnector><endConnector><rConnector id="6b"><Owner><ent ref="66"/></Owner></rConnector></endConnector></generalizacaoLine><lcaf id="6c"><points><p colinear="true" x="1387" y="48.36431226765799" c1x="-186" c1y="359.3731343283582" c2x="-186" c2y="359.3731343283582"/><p colinear="true" x="1606" y="39.4089219330855" c1x="-186" c1y="359.3731343283582" c2x="-186" c2y="359.3731343283582"/></points><startConnector><rConnector id="6d"><Owner><ent ref="1b"/></Owner></rConnector></startConnector><endConnector><rConnector id="6e"><Owner><sobreposicao ref="26"/></Owner></rConnector></endConnector></lcaf><atrchaveparcial id="6f" nullable="false" attributeType="NUMBER"><children><e id="70" x="359" y="447" w="125" h="32.33216437450733"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="71" x="403.8298797607422" y="454.99402503545923"><a><strokeDashes><doubleArray><double>3</double></doubleArray></strokeDashes><fontBold><boolean>true</boolean></fontBold><text><string>Name</string></text></a></t></children></atrchaveparcial><atrchave id="72" nullable="false" attributeType="NUMBER"><children><e id="73" x="510" y="666" w="60" h="24"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="74" x="522.3298797607422" y="669.8279428482056"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Name</string></text></a></t></children></atrchave><lcaf id="75"><points><p colinear="true" x="544.896484375" y="666" c1x="20" c1y="111.66783562549267" c2x="20" c2y="111.66783562549267"/><p colinear="true" x="558.7698567708334" y="632" c1x="20" c1y="111.66783562549267" c2x="20" c2y="111.66783562549267"/></points><startConnector><rConnector id="76"><Owner><atrchave ref="72"/></Owner></rConnector></startConnector><endConnector><rConnector id="77"><Owner><ent ref="30"/></Owner></rConnector></endConnector></lcaf><lcaf id="78"><points><p colinear="true" x="484" y="463.4991601041617" c1x="20" c1y="111.66783562549267" c2x="20" c2y="111.66783562549267"/><p colinear="true" x="523" y="463.70700072431237" c1x="20" c1y="111.66783562549267" c2x="20" c2y="111.66783562549267"/></points><startConnector><rConnector id="79"><Owner><atrchaveparcial ref="6f"/></Owner></rConnector></startConnector><endConnector><rConnector id="7a"><Owner><entfraca ref="39"/></Owner></rConnector></endConnector></lcaf><atr id="7b" nullable="false" attributeType="VARCHAR2(128)"><children><e id="7c" x="1426" y="14" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="7d" x="1437.599609375" y="17.015625"><a><text><string>Password</string></text></a></t></children></atr><lcaf id="7e"><points><p colinear="true" x="1426" y="32.739495798319325" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/><p colinear="true" x="1387" y="41.260504201680675" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/></points><startConnector><rConnector id="7f"><Owner><atr ref="7b"/></Owner></rConnector></startConnector><endConnector><rConnector id="80"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><atr id="81" nullable="false" attributeType="VARCHAR2(128)"><children><e id="82" x="169" y="12" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="83" x="186.44583892822266" y="13.827942848205566"><a><text><string>Content</string></text></a></t></children></atr><lcaf id="84"><points><p colinear="true" x="249" y="12.588235294117647" c1x="-91" c1y="-14" c2x="-91" c2y="-14"/><p colinear="true" x="271" y="7.411764705882355" c1x="-91" c1y="-14" c2x="-91" c2y="-14"/></points><startConnector><rConnector id="85"><Owner><atr ref="81"/></Owner></rConnector></startConnector><endConnector><rConnector id="86"><Owner><ent ref="12"/></Owner></rConnector></endConnector></lcaf><rel id="87"><children><diamond id="88" x="1005" y="348" w="127.84867858886719" h="48"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="89" x="1015.0439682006836" y="363.82794284820557"><a><text><string>ASSOCIATED_WITH</string></text></a></t></children></rel><llabelMuitos id="8a"><points><p colinear="true" x="1005" y="362.6417024874743" c1x="368" c1y="39" c2x="368" c2y="39"/><p colinear="true" x="613.572265625" y="305.33806457167145" c1x="368" c1y="39" c2x="368" c2y="39"/></points><startConnector><rConnector id="8b"><Owner><rel ref="87"/></Owner></rConnector></startConnector><endConnector><rConnector id="8c"><Owner><ent ref="6"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atr id="8d" nullable="false" attributeType="VARCHAR2(128)"><children><e id="8e" x="1468" y="53" w="86" h="30"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="8f" x="1479.5477752685547" y="59.827942848205566"><a><text><string>Register_at</string></text></a></t></children></atr><lcaf id="90"><points><p colinear="true" x="1468" y="63.28048780487804" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/><p colinear="true" x="1387" y="54.390243902439025" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/></points><startConnector><rConnector id="91"><Owner><atr ref="8d"/></Owner></rConnector></startConnector><endConnector><rConnector id="92"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><atrchaveparcial id="93" nullable="false" attributeType="NUMBER"><children><e id="94" x="841" y="426" w="66" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="95" x="854.6083984375" y="429.015625"><a><strokeDashes><doubleArray><double>3</double></doubleArray></strokeDashes><fontBold><boolean>true</boolean></fontBold><text><string>Name</string></text></a></t></children></atrchaveparcial><lcaf id="96"><points><p colinear="true" x="798.7272727272727" y="482" c1x="-429" c1y="57" c2x="-429" c2y="57"/><p colinear="true" x="857.6363636363636" y="446" c1x="-429" c1y="57" c2x="-429" c2y="57"/></points><startConnector><rConnector id="97"><Owner><entfraca ref="4e"/></Owner></rConnector></startConnector><endConnector><rConnector id="98"><Owner><atrchaveparcial ref="93"/></Owner></rConnector></endConnector></lcaf><rel id="99"><children><diamond id="9a" x="905" y="623" w="141.78884887695312" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="9b" x="918.2040252685547" y="634.8279428482056"><a><text><string>SENDS_MESSAGE_IN</string></text></a></t></children></rel><llabelMuitos id="9c"><points><p colinear="true" x="946.122165652877" y="623" c1x="299.23095032057836" c1y="-33" c2x="299.23095032057836" c2y="-33"/><p colinear="true" x="795.7722587855995" y="522" c1x="299.23095032057836" c1y="-33" c2x="299.23095032057836" c2y="-33"/></points><startConnector><rConnector id="9d"><Owner><rel ref="99"/></Owner></rConnector></startConnector><endConnector><rConnector id="9e"><Owner><entfraca ref="4e"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atr id="9f" nullable="false" attributeType="VARCHAR2(128)"><children><e id="a0" x="967" y="683" w="80" h="23"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="a1" x="983.1376953125" y="687.515625"><a><text><string>Content</string></text></a></t></children></atr><lcaf id="a2"><points><p colinear="true" x="987.9742596080002" y="663" c1x="305" c1y="76" c2x="305" c2y="76"/><p colinear="true" x="1000.0540947775239" y="683" c1x="305" c1y="76" c2x="305" c2y="76"/></points><startConnector><rConnector id="a3"><Owner><rel ref="99"/></Owner></rConnector></startConnector><endConnector><rConnector id="a4"><Owner><atr ref="9f"/></Owner></rConnector></endConnector></lcaf><atr id="a5" nullable="false" attributeType="VARCHAR2(128)"><children><e id="a6" x="911" y="403" w="168.57302856445312" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="a7" x="966.5463180541992" y="404.82794284820557"><a><text><string>Started_at</string></text></a></t></children></atr><lcaf id="a8"><points><p colinear="true" x="1013.2469594071551" y="403" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1025.8192709946052" y="396" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="a9"><Owner><atr ref="a5"/></Owner></rConnector></startConnector><endConnector><rConnector id="aa"><Owner><rel ref="87"/></Owner></rConnector></endConnector></lcaf><atr id="ab" nullable="false" attributeType="VARCHAR2(128)"><children><e id="ac" x="1055" y="433" w="168.57302856445312" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="ad" x="1113.282341003418" y="434.82794284820557"><a><text><string>Ended_at</string></text></a></t></children></atr><lcaf id="ae"><points><p colinear="true" x="1129.3763487909882" y="433" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1092.708736473406" y="396" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="af"><Owner><atr ref="ab"/></Owner></rConnector></startConnector><endConnector><rConnector id="b0"><Owner><rel ref="87"/></Owner></rConnector></endConnector></lcaf><t id="b1" x="1499" y="514"><a><text><null/></text></a></t><atr id="b2" nullable="false" attributeType="VARCHAR2(128)"><children><e id="b3" x="878" y="678" w="80" h="23"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="b4" x="895.3154296875" y="682.515625"><a><text><string>Sent_at</string></text></a></t></children></atr><lcaf id="b5"><points><p colinear="true" x="950.9935967230027" y="663" c1x="305" c1y="76" c2x="305" c2y="76"/><p colinear="true" x="932.3179759363975" y="678" c1x="305" c1y="76" c2x="305" c2y="76"/></points><startConnector><rConnector id="b6"><Owner><rel ref="99"/></Owner></rConnector></startConnector><endConnector><rConnector id="b7"><Owner><atr ref="b2"/></Owner></rConnector></endConnector></lcaf><ent id="b8"><children><r id="b9" x="490" y="-198" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="ba" x="518.4619140625" y="-186.17205715179443"><a><text><string>TAG</string></text></a></t></children></ent><rel id="bb"><children><diamond id="bc" x="773" y="-213" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="bd" x="785.4814453125" y="-199.984375"><a><text><string>CREATES</string></text></a></t></children></rel><llabelUm id="be"><points><p colinear="true" x="853" y="-198.3021482357261" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="1210" y="-245.62382123958142" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="bf"><Owner><rel ref="bb"/></Owner></rConnector></startConnector><endConnector><rConnector id="c0"><Owner><ent ref="66"/></Owner></rConnector></endConnector></llabelUm><rel id="c1"><children><diamond id="c2" x="252" y="-146" w="115.53266906738281" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="c3" x="263.5300064086914" y="-132.984375"><a><text><string>ASSISGNED_TO</string></text></a></t></children></rel><llabelMuitos id="c4"><points><p colinear="true" x="309.9653128347089" y="-106" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="310.8010216989825" y="-22" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="c5"><Owner><rel ref="c1"/></Owner></rConnector></startConnector><endConnector><rConnector id="c6"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atrchave id="c7" nullable="false" attributeType="NUMBER"><children><e id="c8" x="495" y="-137" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="c9" x="515.6083984375" y="-133.984375"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Name</string></text></a></t></children></atrchave><lcaf id="ca"><points><p colinear="true" x="531.9607843137255" y="-158" c1x="-597" c1y="-116" c2x="-597" c2y="-116"/><p colinear="true" x="534.0196078431372" y="-137" c1x="-597" c1y="-116" c2x="-597" c2y="-116"/></points><startConnector><rConnector id="cb"><Owner><ent ref="b8"/></Owner></rConnector></startConnector><endConnector><rConnector id="cc"><Owner><atrchave ref="c7"/></Owner></rConnector></endConnector></lcaf><atr id="cd" nullable="false" attributeType="VARCHAR2(128)"><children><e id="ce" x="711" y="403" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="cf" x="716.828125" y="406.015625"><a><text><string>Description</string></text></a></t></children></atr><lcaf id="d0"><points><p colinear="true" x="762.629213483146" y="482" c1x="-429" c1y="57" c2x="-429" c2y="57"/><p colinear="true" x="752.685393258427" y="423" c1x="-429" c1y="57" c2x="-429" c2y="57"/></points><startConnector><rConnector id="d1"><Owner><entfraca ref="4e"/></Owner></rConnector></startConnector><endConnector><rConnector id="d2"><Owner><atr ref="cd"/></Owner></rConnector></endConnector></lcaf><rel id="d3"><children><diamond id="d4" x="830" y="-64" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="d5" x="853.353515625" y="-50.984375"><a><text><string>LIKES</string></text></a></t></children></rel><llabelMuitos id="d6"><points><p colinear="true" x="830" y="-43.464285714285715" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="646" y="-41"/><p colinear="true" x="351" y="-6.656716417910447" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="d7"><Owner><rel ref="d3"/></Owner></rConnector></startConnector><endConnector><rConnector id="d8"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atr id="d9" nullable="false" attributeType="VARCHAR2(128)"><children><e id="da" x="1375" y="140" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="db" x="1388.8671875" y="143.015625"><a><text><string>Is_active</string></text></a></t></children></atr><lcaf id="dc"><points><p colinear="true" x="1408.2" y="140" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1360.6" y="70" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="dd"><Owner><atr ref="d9"/></Owner></rConnector></startConnector><endConnector><rConnector id="de"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="df"><points><p colinear="true" x="773" y="-190.8798586572438" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="570" y="-180.1201413427562" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="e0"><Owner><rel ref="bb"/></Owner></rConnector></startConnector><endConnector><rConnector id="e1"><Owner><ent ref="b8"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="e2" nullable="false" attributeType="VARCHAR2(128)"><children><e id="e3" x="1388" y="98" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="e4" x="1418.147933959961" y="99.82794284820557"><a><text><string>Sex</string></text></a></t></children></atr><atr id="e5" nullable="false" attributeType="VARCHAR2(128)"><children><e id="e6" x="1397" y="-20" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="e7" x="1402.828125" y="-16.984375"><a><text><string>Description</string></text></a></t></children></atr><lcaf id="e8"><points><p colinear="true" x="1414.0344827586207" y="98" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1374.9310344827586" y="70" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="e9"><Owner><atr ref="e2"/></Owner></rConnector></startConnector><endConnector><rConnector id="ea"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><lcaf id="eb"><points><p colinear="true" x="1422" y="0" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1377" y="30" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="ec"><Owner><atr ref="e5"/></Owner></rConnector></startConnector><endConnector><rConnector id="ed"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="ee"><points><p colinear="true" x="1012" y="61.584104232514505" c1x="891.4750350516183" c1y="-574.1259968457359" c2x="891.4750350516183" c2y="-574.1259968457359"/><p colinear="true" x="970" y="69.34150239987936" c1x="891.4750350516183" c1y="-574.1259968457359" c2x="891.4750350516183" c2y="-574.1259968457359"/></points><startConnector><rConnector id="ef"><Owner><rel id="f0"><children><diamond id="f1" x="1012" y="31" w="114.60862731933594" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="f2" x="1022" y="42.827942848205566"><a><text><string>SUBBMITTED_BY</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="f3"><Owner><ent id="f4"><children><r id="f5" x="860" y="60" w="110" h="39"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="f6" x="878.0757446289062" y="71.32794284820557"><a><text><string>SUBMISSION</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="f7"><points><p colinear="true" x="733.9120879120879" y="21" c1x="891.4750350516183" c1y="-501.9012034573061" c2x="891.4750350516183" c2y="-501.9012034573061"/><p colinear="true" x="652.0879120879121" y="72" c1x="891.4750350516183" c1y="-501.9012034573061" c2x="891.4750350516183" c2y="-501.9012034573061"/></points><startConnector><rConnector id="f8"><Owner><rel id="f9"><children><diamond id="fa" x="726" y="-19" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="fb" x="745.8578567504883" y="-7.172057151794434"><a><text><string>ABOUT</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="fc"><Owner><ent id="fd"><children><r id="fe" x="580" y="72" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="ff" x="597.5478439331055" y="83.82794284820557"><a><text><string>REPORT</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="100"><points><p colinear="true" x="1126.608627319336" y="50.79364348645503" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="50.144042568781494" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="101"><Owner><rel ref="f0"/></Owner></rConnector></startConnector><endConnector><rConnector id="102"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="103"><points><p colinear="true" x="806" y="4.373493975903614" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="46.626506024096386" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="104"><Owner><rel ref="f9"/></Owner></rConnector></startConnector><endConnector><rConnector id="105"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="106"><points><p colinear="true" x="428.0112877429371" y="43" c1x="-65.39030456542969" c1y="-141.60966999475397" c2x="-65.39030456542969" c2y="-141.60966999475397"/><p colinear="true" x="142" y="165"/><p colinear="true" x="78.46438708408273" y="284" c1x="-65.39030456542969" c1y="-141.60966999475397" c2x="-65.39030456542969" c2y="-141.60966999475397"/></points><startConnector><rConnector id="107"><Owner><rel id="108"><children><diamond id="109" x="411" y="3" w="127.79676818847656" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="10a" x="421" y="14.827942848205566"><a><text><string>FOR_MISCONDUCT</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="10b"><Owner><ent ref="18"/></Owner></rConnector></endConnector></llabelUm><atrchave id="10c" nullable="false" attributeType="NUMBER"><children><e id="10d" x="166" y="55" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="10e" x="199.86795806884766" y="56.827942848205566"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="10f"><points><p colinear="true" x="221.67164179104478" y="55" c1x="-459" c1y="-53" c2x="-459" c2y="-53"/><p colinear="true" x="279.65671641791045" y="18" c1x="-459" c1y="-53" c2x="-459" c2y="-53"/></points><startConnector><rConnector id="110"><Owner><atrchave ref="10c"/></Owner></rConnector></startConnector><endConnector><rConnector id="111"><Owner><ent ref="12"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="112"><points><p colinear="true" x="1012" y="300.97662284890924" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1087" y="297.182790690614" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="113"><Owner><rel ref="2"/></Owner></rConnector></startConnector><endConnector><rConnector id="114"><Owner><ent id="115"><children><r id="116" x="1087" y="274" w="125.84072875976562" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="117" x="1097" y="285.82794284820557"><a><text><string>PROJECT_REQUEST</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="118" nullable="false" attributeType="VARCHAR2(128)"><children><e id="119" x="914" y="156" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="11a" x="936.4258804321289" y="157.82794284820557"><a><text><string>Status</string></text></a></t></children></atr><lcaf id="11b"><points><p colinear="true" x="949.4913294797688" y="156" c1x="-356" c1y="135" c2x="-356" c2y="135"/><p colinear="true" x="923.7919075144508" y="99" c1x="-356" c1y="135" c2x="-356" c2y="135"/></points><startConnector><rConnector id="11c"><Owner><atr ref="118"/></Owner></rConnector></startConnector><endConnector><rConnector id="11d"><Owner><ent ref="f4"/></Owner></rConnector></endConnector></lcaf><atr id="11e" nullable="false" attributeType="VARCHAR2(128)"><children><e id="11f" x="769" y="80" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="120" x="776.7137680053711" y="81.82794284820557"><a><text><string>Description</string></text></a></t></children></atr><lcaf id="121"><points><p colinear="true" x="849" y="86.0377358490566" c1x="-320.4305835592336" c1y="127" c2x="-320.4305835592336" c2y="127"/><p colinear="true" x="860" y="84.94811320754717" c1x="-320.4305835592336" c1y="127" c2x="-320.4305835592336" c2y="127"/></points><startConnector><rConnector id="122"><Owner><atr ref="11e"/></Owner></rConnector></startConnector><endConnector><rConnector id="123"><Owner><ent ref="f4"/></Owner></rConnector></endConnector></lcaf><atr id="124" nullable="false" attributeType="VARCHAR2(128)"><children><e id="125" x="1058" y="-76" w="55" h="18"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="126" x="1064.8058547973633" y="-75.17205715179443"><a><text><string>Reason</string></text></a></t></children></atr><rel id="127"><children><diamond id="128" x="885" y="753" w="119" h="66"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="129" x="904.8818359375" y="779.015625"><a><text><string>IS_ASSIGNED</string></text></a></t></children></rel><llabelMuitos id="12a"><points><p colinear="true" x="1004" y="764.8827113480579" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1561" y="567.1964965727342" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="12b"><Owner><rel ref="127"/></Owner></rConnector></startConnector><endConnector><rConnector id="12c"><Owner><ent ref="21"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><llabelMuitos id="12d"><points><p colinear="true" x="906.9373392614518" y="753" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="600.7447411199535" y="484" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="12e"><Owner><rel ref="127"/></Owner></rConnector></startConnector><endConnector><rConnector id="12f"><Owner><entfraca ref="39"/></Owner></rConnector></endConnector><a><text><string>P</string></text></a></llabelMuitos><ent id="130"><children><r id="131" x="271" y="307" w="150.4765625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="132" x="281" y="320.015625"><a><text><string>DISCUSSION_THREAD</string></text></a></t></children></ent><atr id="133" nullable="false" attributeType="VARCHAR2(128)"><children><e id="134" x="-82" y="326" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="135" x="-53.982086181640625" y="327.82794284820557"><a><text><string>Title</string></text></a></t></children></atr><lcaf id="136"><points><p colinear="true" x="-7.69183349609375" y="326" c1x="-315" c1y="22" c2x="-315" c2y="22"/><p colinear="true" x="4" y="322.59211357308686" c1x="-315" c1y="22" c2x="-315" c2y="22"/></points><startConnector><rConnector id="137"><Owner><atr ref="133"/></Owner></rConnector></startConnector><endConnector><rConnector id="138"><Owner><ent ref="18"/></Owner></rConnector></endConnector></lcaf><atr id="139" nullable="false" attributeType="VARCHAR2(128)"><children><e id="13a" x="636" y="248" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="13b" x="664.0179138183594" y="249.82794284820557"><a><text><string>Title</string></text></a></t></children></atr><lcaf id="13c"><points><p colinear="true" x="642.7858244243421" y="268" c1x="21.427734375" c1y="-105" c2x="21.427734375" c2y="-105"/><p colinear="true" x="613.572265625" y="276.7955092345427" c1x="21.427734375" c1y="-105" c2x="21.427734375" c2y="-105"/></points><startConnector><rConnector id="13d"><Owner><atr ref="139"/></Owner></rConnector></startConnector><endConnector><rConnector id="13e"><Owner><ent ref="6"/></Owner></rConnector></endConnector></lcaf><llabelMuitos id="13f"><points><p colinear="true" x="910" y="-36.11740041928721" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="42.117400419287215" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="140"><Owner><rel ref="d3"/></Owner></rConnector></startConnector><endConnector><rConnector id="141"><Owner><ent ref="1b"/></Owner></rConnector></endConnector><a><text><string>P</string></text></a></llabelMuitos><llabelDoubleMuitos id="142"><points><p colinear="true" x="516.9568234872127" y="43" c1x="-568.3903045654297" c1y="516.4740031542641" c2x="-568.3903045654297" c2y="516.4740031542641"/><p colinear="true" x="580" y="72.9788472528623" c1x="-568.3903045654297" c1y="516.4740031542641" c2x="-568.3903045654297" c2y="516.4740031542641"/></points><startConnector><rConnector id="143"><Owner><rel ref="108"/></Owner></rConnector></startConnector><endConnector><rConnector id="144"><Owner><ent ref="fd"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="145" nullable="false" attributeType="VARCHAR2(128)"><children><e id="146" x="551" y="220" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="147" x="566.1658248901367" y="221.82794284820557"><a><text><string>Repo_url</string></text></a></t></children></atr><lcaf id="148"><points><p colinear="true" x="584.7554746685606" y="240" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="562.2751834753788" y="276" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="149"><Owner><atr ref="145"/></Owner></rConnector></startConnector><endConnector><rConnector id="14a"><Owner><ent ref="6"/></Owner></rConnector></endConnector></lcaf><entfraca id="14b"><children><r id="14c" x="1214" y="-113" w="139.689453125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="14d" x="1228.5243530273438" y="-101.17205715179443"><a><text><string>BLACKLISTED_USER</string></text></a></t></children></entfraca><relfraco id="14e"><children><diamond id="14f" x="1185" y="-206" w="122.931640625" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="150" x="1195" y="-187.984375"><a><text><string>BLACKLISTED_BY</string></text></a></t></children></relfraco><llabelUm id="151"><points><p colinear="true" x="1247.9274896894183" y="-206" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1249.3891590663366" y="-231" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="152"><Owner><relfraco ref="14e"/></Owner></rConnector></startConnector><endConnector><rConnector id="153"><Owner><ent ref="66"/></Owner></rConnector></endConnector></llabelUm><relfraco id="154"><children><diamond id="155" x="1210" y="-38" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="156" x="1227.269790649414" y="-21.172057151794434"><a><text><string>REFERS_TO</string></text></a></t></children></relfraco><llabelUm id="157"><points><p colinear="true" x="1293.6190476190477" y="12" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1318.904761904762" y="30" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="158"><Owner><relfraco ref="154"/></Owner></rConnector></startConnector><endConnector><rConnector id="159"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><relfraco id="15a"><children><diamond id="15b" x="632" y="-146" w="155" h="57"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="15c" x="651.9536056518555" y="-125.67205715179443"><a><text><string>BLACKLISTED_FROM</string></text></a></t></children></relfraco><llabelDoubleMuitos id="15d"><points><p colinear="true" x="1257.0848277698863" y="-156" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1275.349520596591" y="-113" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="15e"><Owner><relfraco ref="14e"/></Owner></rConnector></startConnector><endConnector><rConnector id="15f"><Owner><entfraca ref="14b"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atrchaveparcial id="160" nullable="false" attributeType="NUMBER"><children><e id="161" x="1033" y="-166" w="82" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="162" x="1043.3848037719727" y="-160.67205715179443"><a><strokeDashes><doubleArray><double>3</double></doubleArray></strokeDashes><fontBold><boolean>true</boolean></fontBold><text><string>Start_date</string></text></a></t></children></atrchaveparcial><atr id="163" nullable="false" attributeType="VARCHAR2(128)"><children><e id="164" x="1143" y="-154" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="165" x="1156.9958267211914" y="-152.17205715179443"><a><text><string>End_date</string></text></a></t></children></atr><lcaf id="166"><points><p colinear="true" x="1115" y="-140.8747376454875" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1214" y="-112.80398220410366" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="167"><Owner><atrchaveparcial ref="160"/></Owner></rConnector></startConnector><endConnector><rConnector id="168"><Owner><entfraca ref="14b"/></Owner></rConnector></endConnector></lcaf><lcaf id="169"><points><p colinear="true" x="1202.7734757965686" y="-134" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1244.2977749693628" y="-113" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="16a"><Owner><atr ref="163"/></Owner></rConnector></startConnector><endConnector><rConnector id="16b"><Owner><entfraca ref="14b"/></Owner></rConnector></endConnector></lcaf><lcaf id="16c"><points><p colinear="true" x="1113" y="-70.60483493759385" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1214" y="-83.84441052657492" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="16d"><Owner><atr ref="124"/></Owner></rConnector></startConnector><endConnector><rConnector id="16e"><Owner><entfraca ref="14b"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="16f"><points><p colinear="true" x="1266.4202270507812" y="-38" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1277.508544921875" y="-73" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="170"><Owner><relfraco ref="154"/></Owner></rConnector></startConnector><endConnector><rConnector id="171"><Owner><entfraca ref="14b"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="172"><points><p colinear="true" x="632" y="-93.73122162884272" c1x="17.97388525722789" c1y="15.626506024096386" c2x="17.97388525722789" c2y="15.626506024096386"/><p colinear="true" x="519.973885257228" y="-59.373493975903614"/><p colinear="true" x="151.9738852572279" y="165.6265060240964"/><p colinear="true" x="79.95432341400182" y="284" c1x="17.97388525722789" c1y="15.626506024096386" c2x="17.97388525722789" c2y="15.626506024096386"/></points><startConnector><rConnector id="173"><Owner><relfraco ref="15a"/></Owner></rConnector></startConnector><endConnector><rConnector id="174"><Owner><ent ref="18"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="175"><points><p colinear="true" x="787" y="-114.19405861639197" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1214" y="-95.9793880254162" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="176"><Owner><relfraco ref="15a"/></Owner></rConnector></startConnector><endConnector><rConnector id="177"><Owner><entfraca ref="14b"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelMuitos id="178"><points><p colinear="true" x="1046.7888488769531" y="632.7929270687894" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1561" y="558.7590271799546" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="179"><Owner><rel ref="99"/></Owner></rConnector></startConnector><endConnector><rConnector id="17a"><Owner><ent ref="21"/></Owner></rConnector></endConnector><a><text><string>Q</string></text></a></llabelMuitos><atrchave id="17b" nullable="false" attributeType="NUMBER"><children><e id="17c" x="1305" y="118" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="17d" x="1338.47265625" y="121.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="17e"><points><p colinear="true" x="1346.4871794871794" y="70" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1345.2564102564102" y="118" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="17f"><Owner><ent ref="1b"/></Owner></rConnector></startConnector><endConnector><rConnector id="180"><Owner><atrchave ref="17b"/></Owner></rConnector></endConnector></lcaf><entfraca id="181"><children><r id="182" x="1242" y="167" w="77" h="33"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="183" x="1251.0937957763672" y="175.32794284820557"><a><text><string>FEEDBACK</string></text></a></t></children></entfraca><atr id="184" nullable="false" attributeType="VARCHAR2(128)"><children><e id="185" x="1229" y="243" w="107" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="186" x="1248.328125" y="249.515625"><a><text><string>Description</string></text></a></t></children></atr><atr id="187" nullable="false" attributeType="VARCHAR2(128)"><children><e id="188" x="1196" y="111" w="101.455078125" h="30"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="189" x="1199.2792053222656" y="117.82794284820557"><a><text><string>Submission_type</string></text></a></t></children></atr><atr id="18a" nullable="false" attributeType="VARCHAR2(128)"><children><e id="18b" x="1161" y="219" w="85.8125" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="18c" x="1171" y="220.015625"><a><text><string>Created_at</string></text></a></t></children></atr><rel id="18d"><children><diamond id="18e" x="1381" y="183" w="102" h="44"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="18f" x="1393.73828125" y="198.015625"><a><text><string>WRITTEN_BY</string></text></a></t></children></rel><llabelUm id="190"><points><p colinear="true" x="1448.2537313432836" y="227" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1519.9179104477612" y="324" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="191"><Owner><rel ref="18d"/></Owner></rConnector></startConnector><endConnector><rConnector id="192"><Owner><ent ref="2a"/></Owner></rConnector></endConnector></llabelUm><ent ref="f4"/><atrchave id="193" nullable="false" attributeType="NUMBER"><children><e id="194" x="997" y="141" w="44" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="195" x="1012.8679580688477" y="146.32794284820557"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="196"><points><p colinear="true" x="1000.28" y="141" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="942.04" y="99" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="197"><Owner><atrchave ref="193"/></Owner></rConnector></startConnector><endConnector><rConnector id="198"><Owner><ent ref="f4"/></Owner></rConnector></endConnector></lcaf><relfraco id="199"><children><diamond id="19a" x="1069" y="83" w="121.595703125" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="19b" x="1081.5935287475586" y="94.82794284820557"><a><text><string>SUBBMITED_FOR</string></text></a></t></children></relfraco><llabelDoubleUm id="19c"><points><p colinear="true" x="1167.2393791246118" y="123" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1249.6107397612577" y="167" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="19d"><Owner><relfraco ref="199"/></Owner></rConnector></startConnector><endConnector><rConnector id="19e"><Owner><entfraca ref="181"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><llabelUm id="19f"><points><p colinear="true" x="1069" y="96.34839943078748" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="970" y="85.51728551099553" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1a0"><Owner><relfraco ref="199"/></Owner></rConnector></startConnector><endConnector><rConnector id="1a1"><Owner><ent ref="f4"/></Owner></rConnector></endConnector></llabelUm><lcaf id="1a2"><points><p colinear="true" x="1251.447198275862" y="200" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1217.9924568965516" y="219" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1a3"><Owner><entfraca ref="181"/></Owner></rConnector></startConnector><endConnector><rConnector id="1a4"><Owner><atr ref="18a"/></Owner></rConnector></endConnector></lcaf><lcaf id="1a5"><points><p colinear="true" x="1271.2792667554772" y="167" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1256.7496264913807" y="141" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1a6"><Owner><entfraca ref="181"/></Owner></rConnector></startConnector><endConnector><rConnector id="1a7"><Owner><atr ref="187"/></Owner></rConnector></endConnector></lcaf><lcaf id="1a8"><points><p colinear="true" x="1280.9520547945206" y="200" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1282.1301369863013" y="243" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1a9"><Owner><entfraca ref="181"/></Owner></rConnector></startConnector><endConnector><rConnector id="1aa"><Owner><atr ref="184"/></Owner></rConnector></endConnector></lcaf><atrmulti id="1ab" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1ac" x="-38" y="371" w="75" h="34"><a><fillColor><color rgba="#ffffebeb"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></e><t id="1ad" x="-30.260215759277344" y="379.82794284820557"><a><text><string>Guidelines</string></text></a></t></children></atrmulti><lcaf id="1ae"><points><p colinear="true" x="13.319812593005956" y="371" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="51.52752976190475" y="324" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1af"><Owner><atrmulti ref="1ab"/></Owner></rConnector></startConnector><endConnector><rConnector id="1b0"><Owner><ent ref="18"/></Owner></rConnector></endConnector></lcaf><atr id="1b1" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1b2" x="169" y="-26" w="85.8125" h="16.344114303588867"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1b3" x="181.45003509521484" y="-24.984375"><a><text><string>Created_at</string></text></a></t></children></atr><lcaf id="1b4"><points><p colinear="true" x="271" y="-8.389078160108205" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="254.8125" y="-10.974658228026998" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1b5"><Owner><ent ref="12"/></Owner></rConnector></startConnector><endConnector><rConnector id="1b6"><Owner><atr ref="1b1"/></Owner></rConnector></endConnector></lcaf><atr id="1b7" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1b8" x="1048" y="138" w="85.8125" h="16.344114303588867"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1b9" x="1060.4500350952148" y="139.015625"><a><text><string>Created_at</string></text></a></t></children></atr><atr id="1ba" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1bb" x="1478" y="109" w="64" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1bc" x="1493.353515625" y="110.015625"><a><text><string>Email</string></text></a></t></children></atr><lcaf id="1bd"><points><p colinear="true" x="1490.5373134328358" y="109" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1387" y="66.44171779141104" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1be"><Owner><atr ref="1ba"/></Owner></rConnector></startConnector><endConnector><rConnector id="1bf"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><atr id="1c0" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1c1" x="1207" y="60" w="64" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1c2" x="1221.298828125" y="61.015625"><a><text><string>Name</string></text></a></t></children></atr><lcaf id="1c3"><points><p colinear="true" x="1271" y="62.66666666666667" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="56.66666666666667" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1c4"><Owner><atr ref="1c0"/></Owner></rConnector></startConnector><endConnector><rConnector id="1c5"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><lcaf id="1c6"><points><p colinear="true" x="1069.3452544380211" y="138" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="966.448418146007" y="99" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1c7"><Owner><atr ref="1b7"/></Owner></rConnector></startConnector><endConnector><rConnector id="1c8"><Owner><ent ref="f4"/></Owner></rConnector></endConnector></lcaf><atr id="1c9" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1ca" x="1325" y="-60" w="107" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1cb" x="1352.1838150024414" y="-54.672057151794434"><a><text><string>Uername</string></text></a></t></children></atr><lcaf id="1cc"><points><p colinear="true" x="1374.0932642487046" y="-33" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1353.5284974093265" y="30" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1cd"><Owner><atr ref="1c9"/></Owner></rConnector></startConnector><endConnector><rConnector id="1ce"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><disjuncao id="1cf"><children><circ id="1d0" x="830" y="166" w="20" h="21"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="1d1" x="834" y="167"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao><generalizacaoLine id="1d2"><points><p colinear="true" x="850" y="180.29129652338608" c1x="7" c1y="5.7018571100570625" c2x="7" c2y="5.7018571100570625"/><p colinear="true" x="1097.167961932243" y="274" c1x="7" c1y="5.7018571100570625" c2x="7" c2y="5.7018571100570625"/></points><startConnector><rConnector id="1d3"><Owner><disjuncao ref="1cf"/></Owner></rConnector></startConnector><endConnector><rConnector id="1d4"><Owner><ent ref="115"/></Owner></rConnector></endConnector></generalizacaoLine><generalizacaoLine id="1d5"><points><p colinear="true" x="830" y="172.6590909090909" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="660" y="107.36363636363637" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1d6"><Owner><disjuncao ref="1cf"/></Owner></rConnector></startConnector><endConnector><rConnector id="1d7"><Owner><ent ref="fd"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleGeneralizacao id="1d8" labelGeneralizacaoText="characteristic"><points><p colinear="true" x="899.9226804123712" y="99" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="848.1185567010309" y="166" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1d9"><Owner><ent ref="f4"/></Owner></rConnector></startConnector><endConnector><rConnector id="1da"><Owner><disjuncao ref="1cf"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><rel ref="108"/><rel ref="f9"/><rel ref="f0"/><ent ref="fd"/><ent ref="115"/><rel ref="2"/><generalizacaoLine id="1db"><points><p colinear="true" x="431.3559141995614" y="135" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="535.0743044133771" y="276" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1dc"><Owner><disjuncao ref="15"/></Owner></rConnector></startConnector><endConnector><rConnector id="1dd"><Owner><ent ref="6"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleMuitos id="1de"><points><p colinear="true" x="180.8578778402652" y="-219" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="72.11010011757706" y="284" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1df"><Owner><rel ref="b"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e0"><Owner><ent ref="18"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="1e1"><points><p colinear="true" x="258.0390625" y="-247.73371815039062" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1210" y="-250.86652606450383" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1e2"><Owner><rel ref="b"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e3"><Owner><ent ref="66"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><generalizacaoLine id="1e4"><points><p colinear="true" x="414" y="128.9031614301615" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="318.9569452004355" y="166" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1e5"><Owner><disjuncao ref="15"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e6"><Owner><ent id="1e7"><children><r id="1e8" x="193" y="166" w="149.432861328125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1e9" x="226.2467041015625" y="179.015625"><a><text><string>EMBEDDABLE</string></text></a></t></children></ent></Owner></rConnector></endConnector></generalizacaoLine><rel id="1ea"><children><diamond id="1eb" x="222" y="429" w="122.064453125" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1ec" x="232" y="442.015625"><a><text><string>REFERENCED_BY</string></text></a></t></children></rel><llabelMuitos id="1ed"><points><p colinear="true" x="253.34311018318968" y="429" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="97.47524919181035" y="324" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1ee"><Owner><rel ref="1ea"/></Owner></rConnector></startConnector><endConnector><rConnector id="1ef"><Owner><ent ref="18"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><llabelUm id="1f0"><points><p colinear="true" x="342.39715576171875" y="429" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="473" y="385"/><p colinear="true" x="532.5308220681179" y="316" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1f1"><Owner><rel ref="1ea"/></Owner></rConnector></startConnector><endConnector><rConnector id="1f2"><Owner><ent ref="6"/></Owner></rConnector></endConnector></llabelUm><rel id="1f3"><children><diamond id="1f4" x="360" y="226" w="110.193359375" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1f5" x="370" y="239.015625"><a><text><string>CONTAINED_IN</string></text></a></t></children></rel><llabelUm id="1f6"><points><p colinear="true" x="365.96993001302087" y="226" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="316.84318033854163" y="206" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1f7"><Owner><rel ref="1f3"/></Owner></rConnector></startConnector><endConnector><rConnector id="1f8"><Owner><ent ref="1e7"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="1f9"><points><p colinear="true" x="398.0946059992284" y="266" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="363.2403549382716" y="307" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1fa"><Owner><rel ref="1f3"/></Owner></rConnector></startConnector><endConnector><rConnector id="1fb"><Owner><ent ref="130"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><generalizacaoLine id="1fc"><points><p colinear="true" x="229" y="263.8835999140392" c1x="-24.922495966372253" c1y="27" c2x="-24.922495966372253" c2y="27"/><p colinear="true" x="309.08841811131384" y="307" c1x="-24.922495966372253" c1y="27" c2x="-24.922495966372253" c2y="27"/></points><startConnector><rConnector id="1fd"><Owner><disjuncao id="1fe"><children><circ id="1ff" x="209" y="248" w="20" h="21"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="200" x="213" y="249"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao></Owner></rConnector></startConnector><endConnector><rConnector id="201"><Owner><ent ref="130"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleMuitos id="202"><points><p colinear="true" x="1132.8486785888672" y="393.74560173819924" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1561" y="539.3929126350201" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="203"><Owner><rel ref="87"/></Owner></rConnector></startConnector><endConnector><rConnector id="204"><Owner><ent ref="21"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="205"><points><p colinear="true" x="1381" y="197.76237623762376" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1319" y="188.96369636963698" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="206"><Owner><rel ref="18d"/></Owner></rConnector></startConnector><endConnector><rConnector id="207"><Owner><entfraca ref="181"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="208"><points><p colinear="true" x="367.5326690673828" y="-139.63937429544114" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="490" y="-168.55548571288617" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="209"><Owner><rel ref="c1"/></Owner></rConnector></startConnector><endConnector><rConnector id="20a"><Owner><ent ref="b8"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><ent ref="1e7"/><generalizacaoLine id="20b"><points><p colinear="true" x="209" y="261.5089832927546" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="131.572265625" y="284.80685920577616" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="20c"><Owner><disjuncao ref="1fe"/></Owner></rConnector></startConnector><endConnector><rConnector id="20d"><Owner><ent ref="18"/></Owner></rConnector></endConnector></generalizacaoLine><disjuncao ref="1fe"/><llabelDoubleGeneralizacao id="20e" labelGeneralizacaoText="caracteristica"><points><p colinear="true" x="254.27741530845904" y="206" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="226.0554830616918" y="248" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="20f"><Owner><ent ref="1e7"/></Owner></rConnector></startConnector><endConnector><rConnector id="210"><Owner><disjuncao ref="1fe"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao></figures></drawing>
Index: cs/versioning/er_models/ER_BUILD_BOARD_v5.1.xml
===================================================================
--- docs/versioning/er_models/ER_BUILD_BOARD_v5.1.xml	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,1 +1,0 @@
-<drawing><figures><atr id="0" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1" x="754" y="424" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="2" x="776.298828125" y="427.015625"><a><text><string>Name</string></text></a></t></children></atr><atrchave id="3" nullable="false" attributeType="NUMBER"><children><e id="4" x="668" y="397" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="5" x="701.47265625" y="400.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><llabelUm id="6"><points><p colinear="true" x="932" y="301.9479067182564" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="617.572265625" y="293.67772404501096" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="7"><Owner><rel id="8"><children><diamond id="9" x="932" y="283" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="a" x="945.5398178100586" y="294.82794284820557"><a><text><string>RECIEVES</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="b"><Owner><ent id="c"><children><r id="d" x="490" y="272" w="127.572265625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="e" x="500" y="285.015625"><a><text><string>PROJECT_THREAD</string></text></a></t></children></ent></Owner></rConnector></endConnector></llabelUm><rel id="f"><children><diamond id="10" x="112" y="-252" w="142.0390625" h="57"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="11" x="125" y="-230.484375"><a><text><string>IS_MODERATED_BY</string></text></a></t></children></rel><ent id="12"><children><r id="13" x="493" y="12" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="14" x="508.138671875" y="25.015625"><a><text><string>THREAD</string></text></a></t></children></ent><disjuncao id="15"><children><circ id="16" x="396" y="143" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="17" x="400" y="144"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao><ent ref="c"/><ent id="18"><children><r id="19" x="-60" y="218" w="127.572265625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1a" x="-42.0400390625" y="231.015625"><a><text><string>TOPIC_THREAD</string></text></a></t></children></ent><ent id="1b"><children><r id="1c" x="1307" y="30" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1d" x="1330.83984375" y="43.015625"><a><text><string>USER</string></text></a></t></children></ent><llabelDoubleGeneralizacao id="1e" labelGeneralizacaoText="caracteristica"><points><p colinear="true" x="416" y="143.4724409448819" c1x="-14.280559426255081" c1y="-40" c2x="-14.280559426255081" c2y="-40"/><p colinear="true" x="512.00826446281" y="52" c1x="-14.280559426255081" c1y="-40" c2x="-14.280559426255081" c2y="-40"/></points><startConnector><rConnector id="1f"><Owner><disjuncao ref="15"/></Owner></rConnector></startConnector><endConnector><rConnector id="20"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><ent id="21"><children><r id="22" x="1514" y="622" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="23" x="1518.0498046875" y="635.015625"><a><text><string>DEVELOPER</string></text></a></t></children></ent><generalizacaoLine id="24"><points><p colinear="true" x="1614.971807628524" y="49" c1x="400" c1y="499" c2x="400" c2y="499"/><p colinear="true" x="1556.0563847429519" y="622" c1x="400" c1y="499" c2x="400" c2y="499"/></points><startConnector><rConnector id="25"><Owner><sobreposicao id="26"><children><circ id="27" x="1606" y="29" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="28" x="1610" y="30"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>o</string></text></a></tn></children></sobreposicao></Owner></rConnector></startConnector><endConnector><rConnector id="29"><Owner><ent ref="21"/></Owner></rConnector></endConnector></generalizacaoLine><ent id="2a"><children><r id="2b" x="1416" y="285" w="120" h="30"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="2c" x="1423.9716796875" y="293.015625"><a><text><string>PROJECT_OWNER</string></text></a></t></children></ent><generalizacaoLine id="2d"><points><p colinear="true" x="1610.6360153256705" y="49" c1x="303" c1y="473" c2x="303" c2y="473"/><p colinear="true" x="1484.0459770114942" y="285" c1x="303" c1y="473" c2x="303" c2y="473"/></points><startConnector><rConnector id="2e"><Owner><sobreposicao ref="26"/></Owner></rConnector></startConnector><endConnector><rConnector id="2f"><Owner><ent ref="2a"/></Owner></rConnector></endConnector></generalizacaoLine><ent id="30"><children><r id="31" x="600" y="863" w="101.861328125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="32" x="610" y="876.015625"><a><text><string>PERMISSIONS</string></text></a></t></children></ent><rel id="33"><children><diamond id="34" x="982" y="539" w="115.37890625" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="35" x="998.591796875" y="552.015625"><a><text><string>CONSTRUCTS</string></text></a></t></children></rel><llabelUm id="36"><points><p colinear="true" x="1097.37890625" y="568.3099872022239" c1x="-254.06871916118416" c1y="253" c2x="-254.06871916118416" c2y="253"/><p colinear="true" x="1514" y="635.5447561397046" c1x="-254.06871916118416" c1y="253" c2x="-254.06871916118416" c2y="253"/></points><startConnector><rConnector id="37"><Owner><rel ref="33"/></Owner></rConnector></startConnector><endConnector><rConnector id="38"><Owner><ent ref="21"/></Owner></rConnector></endConnector></llabelUm><rel id="39"><children><diamond id="3a" x="740" y="-85" w="123" h="41"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="3b" x="753.810546875" y="-71.484375"><a><text><string>IS_CREATED_BY</string></text></a></t></children></rel><llabelDoubleMuitos id="3c"><points><p colinear="true" x="740" y="-63.38181818181818" c1x="68" c1y="191" c2x="68" c2y="191"/><p colinear="true" x="609" y="-61"/><p colinear="true" x="549.3440860215054" y="12" c1x="68" c1y="191" c2x="68" c2y="191"/></points><startConnector><rConnector id="3d"><Owner><rel ref="39"/></Owner></rConnector></startConnector><endConnector><rConnector id="3e"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="3f"><points><p colinear="true" x="863" y="-51.591200733272224" c1x="527" c1y="244" c2x="527" c2y="244"/><p colinear="true" x="1307" y="41.60403299725023" c1x="527" c1y="244" c2x="527" c2y="244"/></points><startConnector><rConnector id="40"><Owner><rel ref="39"/></Owner></rConnector></startConnector><endConnector><rConnector id="41"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><ent id="42"><children><r id="43" x="1210" y="-271" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="44" x="1212.8357391357422" y="-259.17205715179443"><a><text><string>MODERATOR</string></text></a></t></children></ent><sobreposicao ref="26"/><generalizacaoLine id="45"><points><p colinear="true" x="1606" y="31.06439346135356" c1x="-502.29203539823015" c1y="338" c2x="-502.29203539823015" c2y="338"/><p colinear="true" x="1275.761357011466" y="-231" c1x="-502.29203539823015" c1y="338" c2x="-502.29203539823015" c2y="338"/></points><startConnector><rConnector id="46"><Owner><sobreposicao ref="26"/></Owner></rConnector></startConnector><endConnector><rConnector id="47"><Owner><ent ref="42"/></Owner></rConnector></endConnector></generalizacaoLine><lcaf id="48"><points><p colinear="true" x="1387" y="48.36431226765799" c1x="-186" c1y="359.3731343283582" c2x="-186" c2y="359.3731343283582"/><p colinear="true" x="1606" y="39.4089219330855" c1x="-186" c1y="359.3731343283582" c2x="-186" c2y="359.3731343283582"/></points><startConnector><rConnector id="49"><Owner><ent ref="1b"/></Owner></rConnector></startConnector><endConnector><rConnector id="4a"><Owner><sobreposicao ref="26"/></Owner></rConnector></endConnector></lcaf><atrchave id="4b" nullable="false" attributeType="NUMBER"><children><e id="4c" x="467" y="864" w="60" h="24"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="4d" x="477.6083984375" y="869.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Name</string></text></a></t></children></atrchave><lcaf id="4e"><points><p colinear="true" x="527" y="877.3642505947661" c1x="-83" c1y="375.60399192891236" c2x="-83" c2y="375.60399192891236"/><p colinear="true" x="600" y="880.6839270420302" c1x="-83" c1y="375.60399192891236" c2x="-83" c2y="375.60399192891236"/></points><startConnector><rConnector id="4f"><Owner><atrchave ref="4b"/></Owner></rConnector></startConnector><endConnector><rConnector id="50"><Owner><ent ref="30"/></Owner></rConnector></endConnector></lcaf><atr id="51" nullable="false" attributeType="VARCHAR2(128)"><children><e id="52" x="1426" y="14" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="53" x="1437.599609375" y="17.015625"><a><text><string>Password</string></text></a></t></children></atr><lcaf id="54"><points><p colinear="true" x="1426" y="32.739495798319325" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/><p colinear="true" x="1387" y="41.260504201680675" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/></points><startConnector><rConnector id="55"><Owner><atr ref="51"/></Owner></rConnector></startConnector><endConnector><rConnector id="56"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><atr id="57" nullable="false" attributeType="VARCHAR2(128)"><children><e id="58" x="305" y="-8" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="59" x="321.1376953125" y="-4.984375"><a><text><string>Content</string></text></a></t></children></atr><lcaf id="5a"><points><p colinear="true" x="385" y="8.382978723404257" c1x="-91" c1y="-14" c2x="-91" c2y="-14"/><p colinear="true" x="493" y="25.617021276595747" c1x="-91" c1y="-14" c2x="-91" c2y="-14"/></points><startConnector><rConnector id="5b"><Owner><atr ref="57"/></Owner></rConnector></startConnector><endConnector><rConnector id="5c"><Owner><ent ref="12"/></Owner></rConnector></endConnector></lcaf><rel id="5d"><children><diamond id="5e" x="989" y="374" w="127.84867858886719" h="48"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="5f" x="995.4614486694336" y="391.015625"><a><text><string>ASSOCIATED_WITH</string></text></a></t></children></rel><llabelMuitos id="60"><points><p colinear="true" x="989" y="384.42464175810346" c1x="368" c1y="39" c2x="368" c2y="39"/><p colinear="true" x="617.572265625" y="305.54600787982304" c1x="368" c1y="39" c2x="368" c2y="39"/></points><startConnector><rConnector id="61"><Owner><rel ref="5d"/></Owner></rConnector></startConnector><endConnector><rConnector id="62"><Owner><ent ref="c"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atr id="63" nullable="false" attributeType="VARCHAR2(128)"><children><e id="64" x="1468" y="53" w="86" h="30"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="65" x="1479.5477752685547" y="59.827942848205566"><a><text><string>Register_at</string></text></a></t></children></atr><lcaf id="66"><points><p colinear="true" x="1468" y="63.28048780487804" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/><p colinear="true" x="1387" y="54.390243902439025" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/></points><startConnector><rConnector id="67"><Owner><atr ref="63"/></Owner></rConnector></startConnector><endConnector><rConnector id="68"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><rel id="69"><children><diamond id="6a" x="950" y="626" w="141.78884887695312" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="6b" x="958.9901275634766" y="639.015625"><a><text><string>SENDS_MESSAGE_IN</string></text></a></t></children></rel><atr id="6c" nullable="false" attributeType="VARCHAR2(128)"><children><e id="6d" x="955" y="702" w="80" h="23"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="6e" x="971.1376953125" y="706.515625"><a><text><string>Content</string></text></a></t></children></atr><lcaf id="6f"><points><p colinear="true" x="1013.2220023826317" y="666" c1x="305" c1y="76" c2x="305" c2y="76"/><p colinear="true" x="999.4116426821108" y="702" c1x="305" c1y="76" c2x="305" c2y="76"/></points><startConnector><rConnector id="70"><Owner><rel ref="69"/></Owner></rConnector></startConnector><endConnector><rConnector id="71"><Owner><atr ref="6c"/></Owner></rConnector></endConnector></lcaf><atr id="72" nullable="false" attributeType="VARCHAR2(128)"><children><e id="73" x="833" y="440" w="168.57302856445312" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="74" x="886.0999908447266" y="443.015625"><a><text><string>Started_at</string></text></a></t></children></atr><lcaf id="75"><points><p colinear="true" x="943.3707113999587" y="440" c1x="-411" c1y="155" c2x="-411" c2y="155"/><p colinear="true" x="990.3222662118765" y="422" c1x="-411" c1y="155" c2x="-411" c2y="155"/></points><startConnector><rConnector id="76"><Owner><atr ref="72"/></Owner></rConnector></startConnector><endConnector><rConnector id="77"><Owner><rel ref="5d"/></Owner></rConnector></endConnector></lcaf><atr id="78" nullable="false" attributeType="VARCHAR2(128)"><children><e id="79" x="994" y="459" w="168.57302856445312" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="7a" x="1050.3548736572266" y="462.015625"><a><text><string>Ended_at</string></text></a></t></children></atr><lcaf id="7b"><points><p colinear="true" x="1074.7143769600023" y="459" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1061.497468867772" y="422" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="7c"><Owner><atr ref="78"/></Owner></rConnector></startConnector><endConnector><rConnector id="7d"><Owner><rel ref="5d"/></Owner></rConnector></endConnector></lcaf><t id="7e" x="1499" y="514"><a><text><null/></text></a></t><atr id="7f" nullable="false" attributeType="VARCHAR2(128)"><children><e id="80" x="858" y="643" w="80" h="23"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="81" x="875.3154296875" y="647.515625"><a><text><string>Sent_at</string></text></a></t></children></atr><lcaf id="82"><points><p colinear="true" x="950" y="650.9034169815305" c1x="305" c1y="76" c2x="305" c2y="76"/><p colinear="true" x="938" y="651.7333976781005" c1x="305" c1y="76" c2x="305" c2y="76"/></points><startConnector><rConnector id="83"><Owner><rel ref="69"/></Owner></rConnector></startConnector><endConnector><rConnector id="84"><Owner><atr ref="7f"/></Owner></rConnector></endConnector></lcaf><ent id="85"><children><r id="86" x="477" y="-135" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="87" x="504.5810546875" y="-121.984375"><a><text><string>TAG</string></text></a></t></children></ent><rel id="88"><children><diamond id="89" x="778" y="-148" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="8a" x="790.4814453125" y="-134.984375"><a><text><string>CREATES</string></text></a></t></children></rel><llabelUm id="8b"><points><p colinear="true" x="858" y="-114.54064272211721" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="1307" y="36.5406427221172" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="8c"><Owner><rel ref="88"/></Owner></rConnector></startConnector><endConnector><rConnector id="8d"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><rel id="8e"><children><diamond id="8f" x="327" y="-99" w="115.53266906738281" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="90" x="338.5300064086914" y="-85.984375"><a><text><string>ASSISGNED_TO</string></text></a></t></children></rel><llabelMuitos id="91"><points><p colinear="true" x="411.47510308617944" y="-59" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="506.29123144751196" y="12" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="92"><Owner><rel ref="8e"/></Owner></rConnector></startConnector><endConnector><rConnector id="93"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atrchave id="94" nullable="false" attributeType="NUMBER"><children><e id="95" x="530" y="-178" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="96" x="550.6083984375" y="-174.984375"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Name</string></text></a></t></children></atrchave><lcaf id="97"><points><p colinear="true" x="537" y="-135" c1x="-597" c1y="-116" c2x="-597" c2y="-116"/><p colinear="true" x="560" y="-158" c1x="-597" c1y="-116" c2x="-597" c2y="-116"/></points><startConnector><rConnector id="98"><Owner><ent ref="85"/></Owner></rConnector></startConnector><endConnector><rConnector id="99"><Owner><atrchave ref="94"/></Owner></rConnector></endConnector></lcaf><atr id="9a" nullable="false" attributeType="VARCHAR2(128)"><children><e id="9b" x="536" y="478" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="9c" x="541.828125" y="481.015625"><a><text><string>Description</string></text></a></t></children></atr><rel id="9d"><children><diamond id="9e" x="823" y="-5" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="9f" x="846.353515625" y="8.015625"><a><text><string>LIKES</string></text></a></t></children></rel><llabelMuitos id="a0"><points><p colinear="true" x="823" y="4.677419354838715" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="646" y="-41"/><p colinear="true" x="563.9589041095891" y="12" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="a1"><Owner><rel ref="9d"/></Owner></rConnector></startConnector><endConnector><rConnector id="a2"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atr id="a3" nullable="false" attributeType="VARCHAR2(128)"><children><e id="a4" x="1375" y="140" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="a5" x="1388.8671875" y="143.015625"><a><text><string>Is_active</string></text></a></t></children></atr><lcaf id="a6"><points><p colinear="true" x="1408.2" y="140" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1360.6" y="70" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="a7"><Owner><atr ref="a3"/></Owner></rConnector></startConnector><endConnector><rConnector id="a8"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="a9"><points><p colinear="true" x="778" y="-126.27242524916943" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="557" y="-116.72757475083057" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="aa"><Owner><rel ref="88"/></Owner></rConnector></startConnector><endConnector><rConnector id="ab"><Owner><ent ref="85"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="ac" nullable="false" attributeType="VARCHAR2(128)"><children><e id="ad" x="1388" y="98" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="ae" x="1418.147933959961" y="99.82794284820557"><a><text><string>Sex</string></text></a></t></children></atr><atr id="af" nullable="false" attributeType="VARCHAR2(128)"><children><e id="b0" x="1397" y="-20" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="b1" x="1402.828125" y="-16.984375"><a><text><string>Description</string></text></a></t></children></atr><lcaf id="b2"><points><p colinear="true" x="1414.0344827586207" y="98" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1374.9310344827586" y="70" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="b3"><Owner><atr ref="ac"/></Owner></rConnector></startConnector><endConnector><rConnector id="b4"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><lcaf id="b5"><points><p colinear="true" x="1422" y="0" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1377" y="30" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="b6"><Owner><atr ref="af"/></Owner></rConnector></startConnector><endConnector><rConnector id="b7"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="b8"><points><p colinear="true" x="1012" y="61.584104232514505" c1x="891.4750350516183" c1y="-574.1259968457359" c2x="891.4750350516183" c2y="-574.1259968457359"/><p colinear="true" x="970" y="69.34150239987936" c1x="891.4750350516183" c1y="-574.1259968457359" c2x="891.4750350516183" c2y="-574.1259968457359"/></points><startConnector><rConnector id="b9"><Owner><rel id="ba"><children><diamond id="bb" x="1012" y="31" w="114.60862731933594" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="bc" x="1022" y="42.827942848205566"><a><text><string>SUBBMITTED_BY</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="bd"><Owner><ent id="be"><children><r id="bf" x="860" y="60" w="110" h="39"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="c0" x="877.1396484375" y="72.515625"><a><text><string>SUBMISSION</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="c1"><points><p colinear="true" x="708.4745762711864" y="97" c1x="891.4750350516183" c1y="-501.9012034573061" c2x="891.4750350516183" c2y="-501.9012034573061"/><p colinear="true" x="663.5254237288135" y="175" c1x="891.4750350516183" c1y="-501.9012034573061" c2x="891.4750350516183" c2y="-501.9012034573061"/></points><startConnector><rConnector id="c2"><Owner><rel id="c3"><children><diamond id="c4" x="680" y="57" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="c5" x="699" y="70.015625"><a><text><string>ABOUT</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="c6"><Owner><ent id="c7"><children><r id="c8" x="612" y="175" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="c9" x="627.865234375" y="188.015625"><a><text><string>REPORT</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="ca"><points><p colinear="true" x="1126.608627319336" y="50.79364348645503" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="50.144042568781494" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="cb"><Owner><rel ref="ba"/></Owner></rConnector></startConnector><endConnector><rConnector id="cc"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="cd"><points><p colinear="true" x="760" y="75.2775119617225" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="51.72248803827752" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="ce"><Owner><rel ref="c3"/></Owner></rConnector></startConnector><endConnector><rConnector id="cf"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="d0"><points><p colinear="true" x="266.74689445012734" y="152" c1x="-65.39030456542969" c1y="-141.60966999475397" c2x="-65.39030456542969" c2y="-141.60966999475397"/><p colinear="true" x="166" y="211"/><p colinear="true" x="67.572265625" y="227.38299409416823" c1x="-65.39030456542969" c1y="-141.60966999475397" c2x="-65.39030456542969" c2y="-141.60966999475397"/></points><startConnector><rConnector id="d1"><Owner><rel id="d2"><children><diamond id="d3" x="237" y="112" w="127.79676818847656" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="d4" x="244.53412628173828" y="125.015625"><a><text><string>FOR_MISCONDUCT</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="d5"><Owner><ent ref="18"/></Owner></rConnector></endConnector></llabelUm><atrchave id="d6" nullable="false" attributeType="NUMBER"><children><e id="d7" x="340" y="76" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="d8" x="373.47265625" y="79.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="d9"><points><p colinear="true" x="408.3333333333333" y="76" c1x="-459" c1y="-53" c2x="-459" c2y="-53"/><p colinear="true" x="493" y="46.117647058823536" c1x="-459" c1y="-53" c2x="-459" c2y="-53"/></points><startConnector><rConnector id="da"><Owner><atrchave ref="d6"/></Owner></rConnector></startConnector><endConnector><rConnector id="db"><Owner><ent ref="12"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="dc"><points><p colinear="true" x="1012" y="300.97662284890924" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1087" y="297.182790690614" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="dd"><Owner><rel ref="8"/></Owner></rConnector></startConnector><endConnector><rConnector id="de"><Owner><ent id="df"><children><r id="e0" x="1087" y="274" w="125.84072875976562" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="e1" x="1097" y="285.82794284820557"><a><text><string>PROJECT_REQUEST</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="e2" nullable="false" attributeType="VARCHAR2(128)"><children><e id="e3" x="914" y="156" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="e4" x="936.4258804321289" y="157.82794284820557"><a><text><string>Status</string></text></a></t></children></atr><lcaf id="e5"><points><p colinear="true" x="949.4913294797688" y="156" c1x="-356" c1y="135" c2x="-356" c2y="135"/><p colinear="true" x="923.7919075144508" y="99" c1x="-356" c1y="135" c2x="-356" c2y="135"/></points><startConnector><rConnector id="e6"><Owner><atr ref="e2"/></Owner></rConnector></startConnector><endConnector><rConnector id="e7"><Owner><ent ref="be"/></Owner></rConnector></endConnector></lcaf><atr id="e8" nullable="false" attributeType="VARCHAR2(128)"><children><e id="e9" x="769" y="80" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="ea" x="776.7137680053711" y="81.82794284820557"><a><text><string>Description</string></text></a></t></children></atr><lcaf id="eb"><points><p colinear="true" x="849" y="86.0377358490566" c1x="-320.4305835592336" c1y="127" c2x="-320.4305835592336" c2y="127"/><p colinear="true" x="860" y="84.94811320754717" c1x="-320.4305835592336" c1y="127" c2x="-320.4305835592336" c2y="127"/></points><startConnector><rConnector id="ec"><Owner><atr ref="e8"/></Owner></rConnector></startConnector><endConnector><rConnector id="ed"><Owner><ent ref="be"/></Owner></rConnector></endConnector></lcaf><atr id="ee" nullable="false" attributeType="VARCHAR2(128)"><children><e id="ef" x="1058" y="-86" w="55" h="28"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="f0" x="1063.36328125" y="-78.984375"><a><text><string>Reason</string></text></a></t></children></atr><rel id="f1"><children><diamond id="f2" x="930" y="1001" w="119" h="66"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="f3" x="949.8818359375" y="1027.015625"><a><text><string>IS_ASSIGNED</string></text></a></t></children></rel><llabelMuitos id="f4"><points><p colinear="true" x="1049" y="1009.8810720268007" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1288" y="913"/><p colinear="true" x="1534.3690036900368" y="662" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="f5"><Owner><rel ref="f1"/></Owner></rConnector></startConnector><endConnector><rConnector id="f6"><Owner><ent ref="21"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><ent id="f7"><children><r id="f8" x="289" y="320" w="150.4765625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="f9" x="299" y="333.015625"><a><text><string>DISCUSSION_THREAD</string></text></a></t></children></ent><atr id="fa" nullable="false" attributeType="VARCHAR2(128)"><children><e id="fb" x="-73" y="320" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="fc" x="-46.04296875" y="323.015625"><a><text><string>Title</string></text></a></t></children></atr><lcaf id="fd"><points><p colinear="true" x="-29.001507302989133" y="320" c1x="-315" c1y="22" c2x="-315" c2y="22"/><p colinear="true" x="-4.210852581521749" y="258" c1x="-315" c1y="22" c2x="-315" c2y="22"/></points><startConnector><rConnector id="fe"><Owner><atr ref="fa"/></Owner></rConnector></startConnector><endConnector><rConnector id="ff"><Owner><ent ref="18"/></Owner></rConnector></endConnector></lcaf><atr id="100" nullable="false" attributeType="VARCHAR2(128)"><children><e id="101" x="636" y="248" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="102" x="664.0179138183594" y="249.82794284820557"><a><text><string>Title</string></text></a></t></children></atr><lcaf id="103"><points><p colinear="true" x="640.0547449448529" y="268" c1x="21.427734375" c1y="-105" c2x="21.427734375" c2y="-105"/><p colinear="true" x="617.572265625" y="274.2546445380233" c1x="21.427734375" c1y="-105" c2x="21.427734375" c2y="-105"/></points><startConnector><rConnector id="104"><Owner><atr ref="100"/></Owner></rConnector></startConnector><endConnector><rConnector id="105"><Owner><ent ref="c"/></Owner></rConnector></endConnector></lcaf><llabelMuitos id="106"><points><p colinear="true" x="903" y="17.892561983471076" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="47.10743801652892" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="107"><Owner><rel ref="9d"/></Owner></rConnector></startConnector><endConnector><rConnector id="108"><Owner><ent ref="1b"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><llabelDoubleMuitos id="109"><points><p colinear="true" x="364.79676818847656" y="143.4656213915504" c1x="-568.3903045654297" c1y="516.4740031542641" c2x="-568.3903045654297" c2y="516.4740031542641"/><p colinear="true" x="612" y="187.82259070924815" c1x="-568.3903045654297" c1y="516.4740031542641" c2x="-568.3903045654297" c2y="516.4740031542641"/></points><startConnector><rConnector id="10a"><Owner><rel ref="d2"/></Owner></rConnector></startConnector><endConnector><rConnector id="10b"><Owner><ent ref="c7"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="10c" nullable="false" attributeType="VARCHAR2(128)"><children><e id="10d" x="551" y="220" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="10e" x="566.1658248901367" y="221.82794284820557"><a><text><string>Repo_url</string></text></a></t></children></atr><lcaf id="10f"><points><p colinear="true" x="584.9977633568549" y="240" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="565.7906060987904" y="272" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="110"><Owner><atr ref="10c"/></Owner></rConnector></startConnector><endConnector><rConnector id="111"><Owner><ent ref="c"/></Owner></rConnector></endConnector></lcaf><atr id="112" nullable="false" attributeType="VARCHAR2(128)"><children><e id="113" x="1076" y="-225" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="114" x="1088.068359375" y="-221.984375"><a><text><string>End_date</string></text></a></t></children></atr><llabelMuitos id="115"><points><p colinear="true" x="1091.7888488769531" y="645.4680646559451" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1514" y="642.3001281684805" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="116"><Owner><rel ref="69"/></Owner></rConnector></startConnector><endConnector><rConnector id="117"><Owner><ent ref="21"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><atrchave id="118" nullable="false" attributeType="NUMBER"><children><e id="119" x="1305" y="118" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="11a" x="1338.47265625" y="121.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="11b"><points><p colinear="true" x="1346.4871794871794" y="70" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1345.2564102564102" y="118" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="11c"><Owner><ent ref="1b"/></Owner></rConnector></startConnector><endConnector><rConnector id="11d"><Owner><atrchave ref="118"/></Owner></rConnector></endConnector></lcaf><entfraca id="11e"><children><r id="11f" x="1242" y="167" w="77" h="33"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="120" x="1251.0937957763672" y="175.32794284820557"><a><text><string>FEEDBACK</string></text></a></t></children></entfraca><atr id="121" nullable="false" attributeType="VARCHAR2(128)"><children><e id="122" x="1229" y="243" w="107" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="123" x="1248.328125" y="249.515625"><a><text><string>Description</string></text></a></t></children></atr><atr id="124" nullable="false" attributeType="VARCHAR2(128)"><children><e id="125" x="1196" y="111" w="101.455078125" h="30"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="126" x="1199.2792053222656" y="117.82794284820557"><a><text><string>Submission_type</string></text></a></t></children></atr><atr id="127" nullable="false" attributeType="VARCHAR2(128)"><children><e id="128" x="1161" y="219" w="85.8125" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="129" x="1171" y="220.015625"><a><text><string>Created_at</string></text></a></t></children></atr><rel id="12a"><children><diamond id="12b" x="1381" y="183" w="102" h="44"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="12c" x="1393.73828125" y="198.015625"><a><text><string>WRITTEN_BY</string></text></a></t></children></rel><llabelUm id="12d"><points><p colinear="true" x="1442.1894736842105" y="227" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1469.0526315789473" y="285" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="12e"><Owner><rel ref="12a"/></Owner></rConnector></startConnector><endConnector><rConnector id="12f"><Owner><ent ref="2a"/></Owner></rConnector></endConnector></llabelUm><ent ref="be"/><atrchave id="130" nullable="false" attributeType="NUMBER"><children><e id="131" x="997" y="141" w="44" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="132" x="1012.8679580688477" y="146.32794284820557"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="133"><points><p colinear="true" x="1000.28" y="141" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="942.04" y="99" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="134"><Owner><atrchave ref="130"/></Owner></rConnector></startConnector><endConnector><rConnector id="135"><Owner><ent ref="be"/></Owner></rConnector></endConnector></lcaf><relfraco id="136"><children><diamond id="137" x="1069" y="83" w="121.595703125" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="138" x="1081.5935287475586" y="94.82794284820557"><a><text><string>SUBBMITED_FOR</string></text></a></t></children></relfraco><llabelDoubleUm id="139"><points><p colinear="true" x="1167.2393791246118" y="123" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1249.6107397612577" y="167" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="13a"><Owner><relfraco ref="136"/></Owner></rConnector></startConnector><endConnector><rConnector id="13b"><Owner><entfraca ref="11e"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><llabelUm id="13c"><points><p colinear="true" x="1069" y="96.34839943078748" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="970" y="85.51728551099553" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="13d"><Owner><relfraco ref="136"/></Owner></rConnector></startConnector><endConnector><rConnector id="13e"><Owner><ent ref="be"/></Owner></rConnector></endConnector></llabelUm><lcaf id="13f"><points><p colinear="true" x="1251.447198275862" y="200" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1217.9924568965516" y="219" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="140"><Owner><entfraca ref="11e"/></Owner></rConnector></startConnector><endConnector><rConnector id="141"><Owner><atr ref="127"/></Owner></rConnector></endConnector></lcaf><lcaf id="142"><points><p colinear="true" x="1271.2792667554772" y="167" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1256.7496264913807" y="141" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="143"><Owner><entfraca ref="11e"/></Owner></rConnector></startConnector><endConnector><rConnector id="144"><Owner><atr ref="124"/></Owner></rConnector></endConnector></lcaf><lcaf id="145"><points><p colinear="true" x="1280.9520547945206" y="200" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1282.1301369863013" y="243" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="146"><Owner><entfraca ref="11e"/></Owner></rConnector></startConnector><endConnector><rConnector id="147"><Owner><atr ref="121"/></Owner></rConnector></endConnector></lcaf><atrmulti id="148" nullable="false" attributeType="VARCHAR2(128)"><children><e id="149" x="-124" y="274" w="75" h="34"><a><fillColor><color rgba="#ffffebeb"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></e><t id="14a" x="-118.0732421875" y="284.015625"><a><text><string>Guidelines</string></text></a></t></children></atrmulti><lcaf id="14b"><points><p colinear="true" x="-57.54029702240567" y="274" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="-30.284105984669832" y="258" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="14c"><Owner><atrmulti ref="148"/></Owner></rConnector></startConnector><endConnector><rConnector id="14d"><Owner><ent ref="18"/></Owner></rConnector></endConnector></lcaf><atr id="14e" nullable="false" attributeType="VARCHAR2(128)"><children><e id="14f" x="634" y="3" w="85.8125" h="16.344114303588867"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="150" x="644" y="4.187682151794434"><a><text><string>Created_at</string></text></a></t></children></atr><lcaf id="151"><points><p colinear="true" x="573" y="26.210691238718105" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="634" y="17.381995377763218" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="152"><Owner><ent ref="12"/></Owner></rConnector></startConnector><endConnector><rConnector id="153"><Owner><atr ref="14e"/></Owner></rConnector></endConnector></lcaf><atr id="154" nullable="false" attributeType="VARCHAR2(128)"><children><e id="155" x="1048" y="138" w="85.8125" h="16.344114303588867"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="156" x="1060.4500350952148" y="139.015625"><a><text><string>Created_at</string></text></a></t></children></atr><atr id="157" nullable="false" attributeType="VARCHAR2(128)"><children><e id="158" x="1478" y="109" w="64" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="159" x="1493.353515625" y="110.015625"><a><text><string>Email</string></text></a></t></children></atr><lcaf id="15a"><points><p colinear="true" x="1490.5373134328358" y="109" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1387" y="66.44171779141104" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="15b"><Owner><atr ref="157"/></Owner></rConnector></startConnector><endConnector><rConnector id="15c"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><atr id="15d" nullable="false" attributeType="VARCHAR2(128)"><children><e id="15e" x="1207" y="60" w="64" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="15f" x="1221.298828125" y="61.015625"><a><text><string>Name</string></text></a></t></children></atr><lcaf id="160"><points><p colinear="true" x="1271" y="62.66666666666667" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="56.66666666666667" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="161"><Owner><atr ref="15d"/></Owner></rConnector></startConnector><endConnector><rConnector id="162"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><lcaf id="163"><points><p colinear="true" x="1069.3452544380211" y="138" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="966.448418146007" y="99" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="164"><Owner><atr ref="154"/></Owner></rConnector></startConnector><endConnector><rConnector id="165"><Owner><ent ref="be"/></Owner></rConnector></endConnector></lcaf><atr id="166" nullable="false" attributeType="VARCHAR2(128)"><children><e id="167" x="1325" y="-60" w="107" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="168" x="1352.1838150024414" y="-54.672057151794434"><a><text><string>Uername</string></text></a></t></children></atr><lcaf id="169"><points><p colinear="true" x="1374.0932642487046" y="-33" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1353.5284974093265" y="30" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="16a"><Owner><atr ref="166"/></Owner></rConnector></startConnector><endConnector><rConnector id="16b"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><disjuncao id="16c"><children><circ id="16d" x="801" y="253" w="20" h="21"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="16e" x="805" y="254"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao><generalizacaoLine id="16f"><points><p colinear="true" x="821" y="264.39991641711487" c1x="7" c1y="5.7018571100570625" c2x="7" c2y="5.7018571100570625"/><p colinear="true" x="1087" y="288.33769311236955" c1x="7" c1y="5.7018571100570625" c2x="7" c2y="5.7018571100570625"/></points><startConnector><rConnector id="170"><Owner><disjuncao ref="16c"/></Owner></rConnector></startConnector><endConnector><rConnector id="171"><Owner><ent ref="df"/></Owner></rConnector></endConnector></generalizacaoLine><generalizacaoLine id="172"><points><p colinear="true" x="801" y="259.19182389937106" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="692" y="212.2327044025157" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="173"><Owner><disjuncao ref="16c"/></Owner></rConnector></startConnector><endConnector><rConnector id="174"><Owner><ent ref="c7"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleGeneralizacao id="175" labelGeneralizacaoText="characteristic"><points><p colinear="true" x="903.9782608695652" y="99" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="816.9347826086956" y="253" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="176"><Owner><ent ref="be"/></Owner></rConnector></startConnector><endConnector><rConnector id="177"><Owner><disjuncao ref="16c"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><rel ref="d2"/><rel ref="c3"/><rel ref="ba"/><ent ref="c7"/><ent ref="df"/><rel ref="8"/><generalizacaoLine id="178"><points><p colinear="true" x="416" y="162.4054832719896" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="532.5219410409172" y="272" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="179"><Owner><disjuncao ref="15"/></Owner></rConnector></startConnector><endConnector><rConnector id="17a"><Owner><ent ref="c"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleMuitos id="17b"><points><p colinear="true" x="171.95094651442307" y="-195" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="11.553560697115387" y="218" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="17c"><Owner><rel ref="f"/></Owner></rConnector></startConnector><endConnector><rConnector id="17d"><Owner><ent ref="18"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="17e"><points><p colinear="true" x="254.0390625" y="-225.32947618446173" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1210" y="-249.95520572181275" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="17f"><Owner><rel ref="f"/></Owner></rConnector></startConnector><endConnector><rConnector id="180"><Owner><ent ref="42"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><generalizacaoLine id="181"><points><p colinear="true" x="396" y="157.81581364588308" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="331.24627685546875" y="189" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="182"><Owner><disjuncao ref="15"/></Owner></rConnector></startConnector><endConnector><rConnector id="183"><Owner><ent id="184"><children><r id="185" x="215" y="189" w="149.432861328125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="186" x="248.2467041015625" y="202.015625"><a><text><string>EMBEDDABLE</string></text></a></t></children></ent></Owner></rConnector></endConnector></generalizacaoLine><rel id="187"><children><diamond id="188" x="230" y="374" w="122.064453125" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="189" x="240" y="387.015625"><a><text><string>REFERENCED_BY</string></text></a></t></children></rel><llabelMuitos id="18a"><points><p colinear="true" x="254.20580428685898" y="374" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="40.61255508814102" y="258" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="18b"><Owner><rel ref="187"/></Owner></rConnector></startConnector><endConnector><rConnector id="18c"><Owner><ent ref="18"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><llabelUm id="18d"><points><p colinear="true" x="352.064453125" y="390.9813883596748" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="473" y="385"/><p colinear="true" x="536.4127709173387" y="312" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="18e"><Owner><rel ref="187"/></Owner></rConnector></startConnector><endConnector><rConnector id="18f"><Owner><ent ref="c"/></Owner></rConnector></endConnector></llabelUm><rel id="190"><children><diamond id="191" x="386" y="230" w="110.193359375" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="192" x="396" y="243.015625"><a><text><string>CONTAINED_IN</string></text></a></t></children></rel><llabelUm id="193"><points><p colinear="true" x="386" y="235.07755217896522" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="363.5604545779345" y="229" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="194"><Owner><rel ref="190"/></Owner></rConnector></startConnector><endConnector><rConnector id="195"><Owner><ent ref="184"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="196"><points><p colinear="true" x="424.01703559027777" y="270" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="381.31792534722223" y="320" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="197"><Owner><rel ref="190"/></Owner></rConnector></startConnector><endConnector><rConnector id="198"><Owner><ent ref="f7"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><generalizacaoLine id="199"><points><p colinear="true" x="229" y="264.11146822301714" c1x="-24.922495966372253" c1y="27" c2x="-24.922495966372253" c2y="27"/><p colinear="true" x="328.59698523773005" y="320" c1x="-24.922495966372253" c1y="27" c2x="-24.922495966372253" c2y="27"/></points><startConnector><rConnector id="19a"><Owner><disjuncao id="19b"><children><circ id="19c" x="209" y="248" w="20" h="21"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="19d" x="213" y="249"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao></Owner></rConnector></startConnector><endConnector><rConnector id="19e"><Owner><ent ref="f7"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleMuitos id="19f"><points><p colinear="true" x="1102.2104698556368" y="422" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1514" y="622.521903645735" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1a0"><Owner><rel ref="5d"/></Owner></rConnector></startConnector><endConnector><rConnector id="1a1"><Owner><ent ref="21"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="1a2"><points><p colinear="true" x="1381" y="197.76237623762376" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1319" y="188.96369636963698" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1a3"><Owner><rel ref="12a"/></Owner></rConnector></startConnector><endConnector><rConnector id="1a4"><Owner><entfraca ref="11e"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="1a5"><points><p colinear="true" x="442.5326690673828" y="-94.72661572890257" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="477" y="-104.1101861623363" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1a6"><Owner><rel ref="8e"/></Owner></rConnector></startConnector><endConnector><rConnector id="1a7"><Owner><ent ref="85"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><ent ref="184"/><generalizacaoLine id="1a8"><points><p colinear="true" x="209" y="257.547459149919" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="67.572265625" y="244.07588971725983" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1a9"><Owner><disjuncao ref="19b"/></Owner></rConnector></startConnector><endConnector><rConnector id="1aa"><Owner><ent ref="18"/></Owner></rConnector></endConnector></generalizacaoLine><disjuncao ref="19b"/><llabelDoubleGeneralizacao id="1ab" labelGeneralizacaoText="caracteristica"><points><p colinear="true" x="261.14413544625944" y="229" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="229" y="251.50021232192145" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1ac"><Owner><ent ref="184"/></Owner></rConnector></startConnector><endConnector><rConnector id="1ad"><Owner><disjuncao ref="19b"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><entfraca id="1ae"><children><r id="1af" x="472" y="654" w="190.14453125" h="27"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="1b0" x="507.1162109375" y="660.515625"><a><text><string>ROLE_PERMISSIONS</string></text></a></t></children></entfraca><relfraco id="1b1"><children><diamond id="1b2" x="450" y="707" w="111" h="38"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="1b3" x="474.1318359375" y="719.015625"><a><text><string>FOR_ROLE</string></text></a></t></children></relfraco><llabelDoubleUm id="1b4"><points><p colinear="true" x="525.4978298611111" y="707" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="552.86328125" y="681" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1b5"><Owner><relfraco ref="1b1"/></Owner></rConnector></startConnector><endConnector><rConnector id="1b6"><Owner><entfraca ref="1ae"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><relfraco id="1b7"><children><diamond id="1b8" x="544" y="782" w="124.9296875" h="33"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="1b9" x="554" y="791.515625"><a><text><string>FOR_PERMISSION</string></text></a></t></children></relfraco><llabelDoubleUm id="1ba"><points><p colinear="true" x="601.5031831464695" y="782" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="571.1318061187977" y="681" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1bb"><Owner><relfraco ref="1b7"/></Owner></rConnector></startConnector><endConnector><rConnector id="1bc"><Owner><entfraca ref="1ae"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><llabelMuitos id="1bd"><points><p colinear="true" x="615.1475187222633" y="815" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="640.4062095506657" y="863" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1be"><Owner><relfraco ref="1b7"/></Owner></rConnector></startConnector><endConnector><rConnector id="1bf"><Owner><ent ref="30"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atr id="1c0" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1c1" x="237" y="569" w="102.833984375" h="37"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1c2" x="247" y="580.515625"><a><text><string>override_type</string></text></a></t></children></atr><ent id="1c3"><children><r id="1c4" x="284" y="857" w="107" h="53"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1c5" x="292.5498046875" y="876.515625"><a><text><string>PROJECT_ROLE</string></text></a></t></children></ent><rel id="1c6"><children><diamond id="1c7" x="375" y="524" w="106" h="53"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1c8" x="400.80078125" y="543.515625"><a><text><string>VALID_IN</string></text></a></t></children></rel><llabelDoubleMuitos id="1c9"><points><p colinear="true" x="420.79804804804803" y="577" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="344.70195195195197" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1ca"><Owner><rel ref="1c6"/></Owner></rConnector></startConnector><endConnector><rConnector id="1cb"><Owner><ent ref="1c3"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atrchave id="1cc" nullable="false" attributeType="NUMBER"><children><e id="1cd" x="104" y="676" w="106" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1ce" x="150.6484375" y="682.515625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>id</string></text></a></t></children></atrchave><atr id="1cf" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1d0" x="141" y="611" w="106" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1d1" x="176.984375" y="617.515625"><a><text><string>name</string></text></a></t></children></atr><lcaf id="1d2"><points><p colinear="true" x="169.56056701030928" y="703" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="312.84407216494844" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1d3"><Owner><atrchave ref="1cc"/></Owner></rConnector></startConnector><endConnector><rConnector id="1d4"><Owner><ent ref="1c3"/></Owner></rConnector></endConnector></lcaf><lcaf id="1d5"><points><p colinear="true" x="201.47972972972974" y="638" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="322.81756756756755" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1d6"><Owner><atr ref="1cf"/></Owner></rConnector></startConnector><endConnector><rConnector id="1d7"><Owner><ent ref="1c3"/></Owner></rConnector></endConnector></lcaf><llabelMuitos id="1d8"><points><p colinear="true" x="485.23333333333335" y="745" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="365.76666666666665" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1d9"><Owner><relfraco ref="1b1"/></Owner></rConnector></startConnector><endConnector><rConnector id="1da"><Owner><ent ref="1c3"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><llabelMuitos id="1db"><points><p colinear="true" x="930" y="1020.2657208588957" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="391" y="895.849309815951" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1dc"><Owner><rel ref="f1"/></Owner></rConnector></startConnector><endConnector><rConnector id="1dd"><Owner><ent ref="1c3"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><lcaf id="1de"><points><p colinear="true" x="291.48468017578125" y="606" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="333.1057442330025" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1df"><Owner><atr ref="1c0"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e0"><Owner><ent ref="1c3"/></Owner></rConnector></endConnector></lcaf><ent id="1e1"><children><r id="1e2" x="662" y="504" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1e3" x="673.083984375" y="517.015625"><a><text><string>CHANNEL</string></text></a></t></children></ent><lcaf id="1e4"><points><p colinear="true" x="707.4871794871794" y="417" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="703.025641025641" y="504" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1e5"><Owner><atrchave ref="3"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e6"><Owner><ent ref="1e1"/></Owner></rConnector></endConnector></lcaf><lcaf id="1e7"><points><p colinear="true" x="611" y="498" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="662" y="512.5714285714286" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1e8"><Owner><atr ref="9a"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e9"><Owner><ent ref="1e1"/></Owner></rConnector></endConnector></lcaf><lcaf id="1ea"><points><p colinear="true" x="783.7777777777778" y="444" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="722.4444444444445" y="504" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1eb"><Owner><atr ref="0"/></Owner></rConnector></startConnector><endConnector><rConnector id="1ec"><Owner><ent ref="1e1"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="1ed"><points><p colinear="true" x="982" y="553.0207464559825" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="742" y="528.1458209222832" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1ee"><Owner><rel ref="33"/></Owner></rConnector></startConnector><endConnector><rConnector id="1ef"><Owner><ent ref="1e1"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><rel id="1f0"><children><diamond id="1f1" x="547" y="374" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1f2" x="574.5751953125" y="387.015625"><a><text><string>HAS</string></text></a></t></children></rel><llabelUm id="1f3"><points><p colinear="true" x="580.4874770220588" y="374" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="560.2986557904412" y="312" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1f4"><Owner><rel ref="1f0"/></Owner></rConnector></startConnector><endConnector><rConnector id="1f5"><Owner><ent ref="c"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="1f6"><points><p colinear="true" x="604.6923076923077" y="414" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="684.3076923076923" y="504" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1f7"><Owner><rel ref="1f0"/></Owner></rConnector></startConnector><endConnector><rConnector id="1f8"><Owner><ent ref="1e1"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelUm id="1f9"><points><p colinear="true" x="440.89490336375724" y="524" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="544.0541302738153" y="312" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1fa"><Owner><rel ref="1c6"/></Owner></rConnector></startConnector><endConnector><rConnector id="1fb"><Owner><ent ref="c"/></Owner></rConnector></endConnector></llabelUm><rel id="1fc"><children><diamond id="1fd" x="569" y="567" w="116.75" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1fe" x="579" y="580.015625"><a><text><string>FOR_RESOURCE</string></text></a></t></children></rel><llabelUm id="1ff"><points><p colinear="true" x="651.0654761904761" y="567" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="678.3095238095239" y="544" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="200"><Owner><rel ref="1fc"/></Owner></rConnector></startConnector><endConnector><rConnector id="201"><Owner><ent ref="1e1"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="202"><points><p colinear="true" x="612.3929541925465" y="607" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="577.1851465450311" y="654" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="203"><Owner><rel ref="1fc"/></Owner></rConnector></startConnector><endConnector><rConnector id="204"><Owner><entfraca ref="1ae"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atrchave id="205" nullable="false" attributeType="NUMBER"><children><e id="206" x="1004" y="-140" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="207" x="1037.47265625" y="-136.984375"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><atr id="208" nullable="false" attributeType="VARCHAR2(128)"><children><e id="209" x="1030" y="-204" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="20a" x="1038.8134765625" y="-200.984375"><a><text><string>Start_date</string></text></a></t></children></atr><ent id="20b"><children><r id="20c" x="1186" y="-140" w="139.689453125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="20d" x="1196" y="-126.984375"><a><text><string>BLACKLISTED_USER</string></text></a></t></children></ent><rel id="20e"><children><diamond id="20f" x="1168" y="-198" w="122.931640625" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="210" x="1178" y="-184.984375"><a><text><string>BLACKLISTED_BY</string></text></a></t></children></rel><llabelDoubleMuitos id="211"><points><p colinear="true" x="1238.5619948814656" y="-158" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1246.7485519935344" y="-140" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="212"><Owner><rel ref="20e"/></Owner></rConnector></startConnector><endConnector><rConnector id="213"><Owner><ent ref="20b"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="214"><points><p colinear="true" x="1235.2446351769852" y="-198" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1244.779679703386" y="-231" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="215"><Owner><rel ref="20e"/></Owner></rConnector></startConnector><endConnector><rConnector id="216"><Owner><ent ref="42"/></Owner></rConnector></endConnector></llabelUm><rel id="217"><children><diamond id="218" x="1215" y="-57" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="219" x="1224.2236328125" y="-43.984375"><a><text><string>RFERS_TO</string></text></a></t></children></rel><llabelDoubleMuitos id="21a"><points><p colinear="true" x="1255.203548569277" y="-57" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1255.641177993223" y="-100" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="21b"><Owner><rel ref="217"/></Owner></rConnector></startConnector><endConnector><rConnector id="21c"><Owner><ent ref="20b"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelUm id="21d"><points><p colinear="true" x="1276.1494252873563" y="-17" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1325.8505747126437" y="30" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="21e"><Owner><rel ref="217"/></Owner></rConnector></startConnector><endConnector><rConnector id="21f"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><lcaf id="220"><points><p colinear="true" x="1084" y="-128.11182460620756" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1186" y="-123.29697735203683" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="221"><Owner><atrchave ref="205"/></Owner></rConnector></startConnector><endConnector><rConnector id="222"><Owner><ent ref="20b"/></Owner></rConnector></endConnector></lcaf><lcaf id="223"><points><p colinear="true" x="1113" y="-79.74899244982313" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1186" y="-100.31904513480822" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="224"><Owner><atr ref="ee"/></Owner></rConnector></startConnector><endConnector><rConnector id="225"><Owner><ent ref="20b"/></Owner></rConnector></endConnector></lcaf><lcaf id="226"><points><p colinear="true" x="1095.1141522381756" y="-184" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1205.6164220861485" y="-140" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="227"><Owner><atr ref="208"/></Owner></rConnector></startConnector><endConnector><rConnector id="228"><Owner><ent ref="20b"/></Owner></rConnector></endConnector></lcaf><lcaf id="229"><points><p colinear="true" x="1130.7204975328948" y="-205" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1226.4037314967104" y="-140" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="22a"><Owner><atr ref="112"/></Owner></rConnector></startConnector><endConnector><rConnector id="22b"><Owner><ent ref="20b"/></Owner></rConnector></endConnector></lcaf><rel id="22c"><children><diamond id="22d" x="211" y="-193" w="142.408203125" h="68"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="22e" x="221" y="-165.984375"><a><text><string>BLACKLISTED_FROM</string></text></a></t></children></rel><llabelUm id="22f"><points><p colinear="true" x="258.35974151841936" y="-125" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="17.812226956076813" y="218" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="230"><Owner><rel ref="22c"/></Owner></rConnector></startConnector><endConnector><rConnector id="231"><Owner><ent ref="18"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="232"><points><p colinear="true" x="353.408203125" y="-170.71906894212873" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="586" y="-210"/><p colinear="true" x="795" y="-205"/><p colinear="true" x="1186" y="-132.8824339644632" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="233"><Owner><rel ref="22c"/></Owner></rConnector></startConnector><endConnector><rConnector id="234"><Owner><ent ref="20b"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelMuitos id="235"><points><p colinear="true" x="968.6166499403656" y="626" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="742" y="539.302870248023" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="236"><Owner><rel ref="69"/></Owner></rConnector></startConnector><endConnector><rConnector id="237"><Owner><ent ref="1e1"/></Owner></rConnector></endConnector><a><text><string>P</string></text></a></llabelMuitos></figures></drawing>
Index: cs/versioning/er_models/ER_BUILD_BOARD_v5.2.xml
===================================================================
--- docs/versioning/er_models/ER_BUILD_BOARD_v5.2.xml	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,1 +1,0 @@
-<drawing><figures><atr id="0" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1" x="754" y="424" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="2" x="776.298828125" y="427.015625"><a><text><string>Name</string></text></a></t></children></atr><atrchave id="3" nullable="false" attributeType="NUMBER"><children><e id="4" x="668" y="397" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="5" x="701.47265625" y="400.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><llabelUm id="6"><points><p colinear="true" x="1305" y="425.71165644171776" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1019" y="345"/><p colinear="true" x="617.572265625" y="299.26690513225816" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="7"><Owner><rel id="8"><children><diamond id="9" x="1305" y="417" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="a" x="1315.5859375" y="430.015625"><a><text><string>RECIEVES</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="b"><Owner><ent id="c"><children><r id="d" x="490" y="272" w="127.572265625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="e" x="500" y="285.015625"><a><text><string>PROJECT_THREAD</string></text></a></t></children></ent></Owner></rConnector></endConnector></llabelUm><rel id="f"><children><diamond id="10" x="112" y="-252" w="142.0390625" h="57"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="11" x="125" y="-230.484375"><a><text><string>IS_MODERATED_BY</string></text></a></t></children></rel><ent id="12"><children><r id="13" x="493" y="12" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="14" x="508.138671875" y="25.015625"><a><text><string>THREAD</string></text></a></t></children></ent><disjuncao id="15"><children><circ id="16" x="396" y="143" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="17" x="400" y="144"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao><ent ref="c"/><ent id="18"><children><r id="19" x="-60" y="218" w="127.572265625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1a" x="-42.0400390625" y="231.015625"><a><text><string>TOPIC_THREAD</string></text></a></t></children></ent><ent id="1b"><children><r id="1c" x="1307" y="30" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1d" x="1330.83984375" y="43.015625"><a><text><string>USER</string></text></a></t></children></ent><llabelDoubleGeneralizacao id="1e" labelGeneralizacaoText="caracteristica"><points><p colinear="true" x="416" y="143.4724409448819" c1x="-14.280559426255081" c1y="-40" c2x="-14.280559426255081" c2y="-40"/><p colinear="true" x="512.00826446281" y="52" c1x="-14.280559426255081" c1y="-40" c2x="-14.280559426255081" c2y="-40"/></points><startConnector><rConnector id="1f"><Owner><disjuncao ref="15"/></Owner></rConnector></startConnector><endConnector><rConnector id="20"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><ent id="21"><children><r id="22" x="1514" y="622" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="23" x="1518.0498046875" y="635.015625"><a><text><string>DEVELOPER</string></text></a></t></children></ent><generalizacaoLine id="24"><points><p colinear="true" x="1614.971807628524" y="49" c1x="477.9436152570481" c1y="499" c2x="477.9436152570481" c2y="499"/><p colinear="true" x="1556.0563847429519" y="622" c1x="477.9436152570481" c1y="499" c2x="477.9436152570481" c2y="499"/></points><startConnector><rConnector id="25"><Owner><sobreposicao id="26"><children><circ id="27" x="1606" y="29" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="28" x="1610" y="30"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>o</string></text></a></tn></children></sobreposicao></Owner></rConnector></startConnector><endConnector><rConnector id="29"><Owner><ent ref="21"/></Owner></rConnector></endConnector></generalizacaoLine><ent id="2a"><children><r id="2b" x="1469" y="176" w="120" h="54"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="2c" x="1476.9716796875" y="196.015625"><a><text><string>PROJECT_OWNER</string></text></a></t></children></ent><generalizacaoLine id="2d"><points><p colinear="true" x="1610.6951219512196" y="49" c1x="303" c1y="473" c2x="303" c2y="473"/><p colinear="true" x="1543.3231707317073" y="176" c1x="303" c1y="473" c2x="303" c2y="473"/></points><startConnector><rConnector id="2e"><Owner><sobreposicao ref="26"/></Owner></rConnector></startConnector><endConnector><rConnector id="2f"><Owner><ent ref="2a"/></Owner></rConnector></endConnector></generalizacaoLine><ent id="30"><children><r id="31" x="600" y="863" w="101.861328125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="32" x="610" y="876.015625"><a><text><string>PERMISSIONS</string></text></a></t></children></ent><rel id="33"><children><diamond id="34" x="982" y="539" w="115.37890625" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="35" x="998.591796875" y="552.015625"><a><text><string>CONSTRUCTS</string></text></a></t></children></rel><llabelUm id="36"><points><p colinear="true" x="1097.37890625" y="568.3099872022239" c1x="-254.06871916118416" c1y="253" c2x="-254.06871916118416" c2y="253"/><p colinear="true" x="1514" y="635.5447561397046" c1x="-254.06871916118416" c1y="253" c2x="-254.06871916118416" c2y="253"/></points><startConnector><rConnector id="37"><Owner><rel ref="33"/></Owner></rConnector></startConnector><endConnector><rConnector id="38"><Owner><ent ref="21"/></Owner></rConnector></endConnector></llabelUm><rel id="39"><children><diamond id="3a" x="740" y="-85" w="123" h="41"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="3b" x="753.810546875" y="-71.484375"><a><text><string>IS_CREATED_BY</string></text></a></t></children></rel><llabelDoubleMuitos id="3c"><points><p colinear="true" x="740" y="-63.38181818181818" c1x="68" c1y="191" c2x="68" c2y="191"/><p colinear="true" x="609" y="-61"/><p colinear="true" x="549.3440860215054" y="12" c1x="68" c1y="191" c2x="68" c2y="191"/></points><startConnector><rConnector id="3d"><Owner><rel ref="39"/></Owner></rConnector></startConnector><endConnector><rConnector id="3e"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="3f"><points><p colinear="true" x="863" y="-51.591200733272224" c1x="527" c1y="244" c2x="527" c2y="244"/><p colinear="true" x="1307" y="41.60403299725023" c1x="527" c1y="244" c2x="527" c2y="244"/></points><startConnector><rConnector id="40"><Owner><rel ref="39"/></Owner></rConnector></startConnector><endConnector><rConnector id="41"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><ent id="42"><children><r id="43" x="1208" y="-302" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="44" x="1208.859375" y="-288.984375"><a><text><string>MODERATOR</string></text></a></t></children></ent><sobreposicao ref="26"/><generalizacaoLine id="45"><points><p colinear="true" x="1606" y="30.27717391304348" c1x="-502.29203539823015" c1y="338" c2x="-502.29203539823015" c2y="338"/><p colinear="true" x="1270.9283489096574" y="-262" c1x="-502.29203539823015" c1y="338" c2x="-502.29203539823015" c2y="338"/></points><startConnector><rConnector id="46"><Owner><sobreposicao ref="26"/></Owner></rConnector></startConnector><endConnector><rConnector id="47"><Owner><ent ref="42"/></Owner></rConnector></endConnector></generalizacaoLine><lcaf id="48"><points><p colinear="true" x="1387" y="48.36431226765799" c1x="-186" c1y="359.3731343283582" c2x="-186" c2y="359.3731343283582"/><p colinear="true" x="1606" y="39.4089219330855" c1x="-186" c1y="359.3731343283582" c2x="-186" c2y="359.3731343283582"/></points><startConnector><rConnector id="49"><Owner><ent ref="1b"/></Owner></rConnector></startConnector><endConnector><rConnector id="4a"><Owner><sobreposicao ref="26"/></Owner></rConnector></endConnector></lcaf><atrchave id="4b" nullable="false" attributeType="NUMBER"><children><e id="4c" x="467" y="864" w="60" h="24"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="4d" x="477.6083984375" y="869.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Name</string></text></a></t></children></atrchave><lcaf id="4e"><points><p colinear="true" x="527" y="877.3642505947661" c1x="-83" c1y="375.60399192891236" c2x="-83" c2y="375.60399192891236"/><p colinear="true" x="600" y="880.6839270420302" c1x="-83" c1y="375.60399192891236" c2x="-83" c2y="375.60399192891236"/></points><startConnector><rConnector id="4f"><Owner><atrchave ref="4b"/></Owner></rConnector></startConnector><endConnector><rConnector id="50"><Owner><ent ref="30"/></Owner></rConnector></endConnector></lcaf><atr id="51" nullable="false" attributeType="VARCHAR2(128)"><children><e id="52" x="1426" y="14" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="53" x="1437.599609375" y="17.015625"><a><text><string>Password</string></text></a></t></children></atr><lcaf id="54"><points><p colinear="true" x="1426" y="32.739495798319325" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/><p colinear="true" x="1387" y="41.260504201680675" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/></points><startConnector><rConnector id="55"><Owner><atr ref="51"/></Owner></rConnector></startConnector><endConnector><rConnector id="56"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><atr id="57" nullable="false" attributeType="VARCHAR2(128)"><children><e id="58" x="305" y="-8" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="59" x="321.1376953125" y="-4.984375"><a><text><string>Content</string></text></a></t></children></atr><lcaf id="5a"><points><p colinear="true" x="385" y="8.382978723404257" c1x="-91" c1y="-14" c2x="-91" c2y="-14"/><p colinear="true" x="493" y="25.617021276595747" c1x="-91" c1y="-14" c2x="-91" c2y="-14"/></points><startConnector><rConnector id="5b"><Owner><atr ref="57"/></Owner></rConnector></startConnector><endConnector><rConnector id="5c"><Owner><ent ref="12"/></Owner></rConnector></endConnector></lcaf><rel id="5d"><children><diamond id="5e" x="952" y="385" w="127.84867858886719" h="48"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="5f" x="958.4614486694336" y="402.015625"><a><text><string>ASSOCIATED_WITH</string></text></a></t></children></rel><llabelMuitos id="60"><points><p colinear="true" x="952" y="392.81620997237087" c1x="368" c1y="39" c2x="368" c2y="39"/><p colinear="true" x="617.572265625" y="308.14880015196115" c1x="368" c1y="39" c2x="368" c2y="39"/></points><startConnector><rConnector id="61"><Owner><rel ref="5d"/></Owner></rConnector></startConnector><endConnector><rConnector id="62"><Owner><ent ref="c"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atr id="63" nullable="false" attributeType="VARCHAR2(128)"><children><e id="64" x="1468" y="53" w="86" h="30"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="65" x="1479.5477752685547" y="59.827942848205566"><a><text><string>Register_at</string></text></a></t></children></atr><lcaf id="66"><points><p colinear="true" x="1468" y="63.28048780487804" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/><p colinear="true" x="1387" y="54.390243902439025" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/></points><startConnector><rConnector id="67"><Owner><atr ref="63"/></Owner></rConnector></startConnector><endConnector><rConnector id="68"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><atr id="69" nullable="false" attributeType="VARCHAR2(128)"><children><e id="6a" x="909" y="710" w="80" h="23"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="6b" x="925.1376953125" y="714.515625"><a><text><string>Content</string></text></a></t></children></atr><atr id="6c" nullable="false" attributeType="VARCHAR2(128)"><children><e id="6d" x="841" y="442" w="103.57302856445312" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="6e" x="861.5999908447266" y="445.015625"><a><text><string>Started_at</string></text></a></t></children></atr><lcaf id="6f"><points><p colinear="true" x="921.4232177734375" y="442" c1x="-411" c1y="155" c2x="-411" c2y="155"/><p colinear="true" x="952" y="431.3225202279491" c1x="-411" c1y="155" c2x="-411" c2y="155"/></points><startConnector><rConnector id="70"><Owner><atr ref="6c"/></Owner></rConnector></startConnector><endConnector><rConnector id="71"><Owner><rel ref="5d"/></Owner></rConnector></endConnector></lcaf><atr id="72" nullable="false" attributeType="VARCHAR2(128)"><children><e id="73" x="1001" y="465" w="116.57302856445312" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="74" x="1031.3548736572266" y="468.015625"><a><text><string>Ended_at</string></text></a></t></children></atr><lcaf id="75"><points><p colinear="true" x="1052.7164877689245" y="465" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1031.6924029263582" y="433" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="76"><Owner><atr ref="72"/></Owner></rConnector></startConnector><endConnector><rConnector id="77"><Owner><rel ref="5d"/></Owner></rConnector></endConnector></lcaf><t id="78" x="1499" y="514"><a><text><null/></text></a></t><ent id="79"><children><r id="7a" x="477" y="-135" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="7b" x="504.5810546875" y="-121.984375"><a><text><string>TAG</string></text></a></t></children></ent><rel id="7c"><children><diamond id="7d" x="778" y="-148" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="7e" x="790.4814453125" y="-134.984375"><a><text><string>CREATES</string></text></a></t></children></rel><llabelUm id="7f"><points><p colinear="true" x="858" y="-114.54064272211721" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="1307" y="36.5406427221172" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="80"><Owner><rel ref="7c"/></Owner></rConnector></startConnector><endConnector><rConnector id="81"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><rel id="82"><children><diamond id="83" x="327" y="-99" w="115.53266906738281" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="84" x="338.5300064086914" y="-85.984375"><a><text><string>ASSISGNED_TO</string></text></a></t></children></rel><llabelMuitos id="85"><points><p colinear="true" x="411.47510308617944" y="-59" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="506.29123144751196" y="12" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="86"><Owner><rel ref="82"/></Owner></rConnector></startConnector><endConnector><rConnector id="87"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atrchave id="88" nullable="false" attributeType="NUMBER"><children><e id="89" x="530" y="-178" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="8a" x="550.6083984375" y="-174.984375"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Name</string></text></a></t></children></atrchave><lcaf id="8b"><points><p colinear="true" x="537" y="-135" c1x="-597" c1y="-116" c2x="-597" c2y="-116"/><p colinear="true" x="560" y="-158" c1x="-597" c1y="-116" c2x="-597" c2y="-116"/></points><startConnector><rConnector id="8c"><Owner><ent ref="79"/></Owner></rConnector></startConnector><endConnector><rConnector id="8d"><Owner><atrchave ref="88"/></Owner></rConnector></endConnector></lcaf><atr id="8e" nullable="false" attributeType="VARCHAR2(128)"><children><e id="8f" x="536" y="478" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="90" x="541.828125" y="481.015625"><a><text><string>Description</string></text></a></t></children></atr><rel id="91"><children><diamond id="92" x="831" y="-45" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="93" x="854.353515625" y="-31.984375"><a><text><string>LIKES</string></text></a></t></children></rel><llabelMuitos id="94"><points><p colinear="true" x="831" y="-27.844444444444445" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="646" y="-41"/><p colinear="true" x="563.9589041095891" y="12" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="95"><Owner><rel ref="91"/></Owner></rConnector></startConnector><endConnector><rConnector id="96"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atr id="97" nullable="false" attributeType="VARCHAR2(128)"><children><e id="98" x="1375" y="140" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="99" x="1388.8671875" y="143.015625"><a><text><string>Is_active</string></text></a></t></children></atr><lcaf id="9a"><points><p colinear="true" x="1408.2" y="140" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1360.6" y="70" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="9b"><Owner><atr ref="97"/></Owner></rConnector></startConnector><endConnector><rConnector id="9c"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="9d"><points><p colinear="true" x="778" y="-126.27242524916943" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="557" y="-116.72757475083057" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="9e"><Owner><rel ref="7c"/></Owner></rConnector></startConnector><endConnector><rConnector id="9f"><Owner><ent ref="79"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="a0" nullable="false" attributeType="VARCHAR2(128)"><children><e id="a1" x="1388" y="98" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="a2" x="1418.147933959961" y="99.82794284820557"><a><text><string>Sex</string></text></a></t></children></atr><atr id="a3" nullable="false" attributeType="VARCHAR2(128)"><children><e id="a4" x="1397" y="-20" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="a5" x="1402.828125" y="-16.984375"><a><text><string>Description</string></text></a></t></children></atr><lcaf id="a6"><points><p colinear="true" x="1414.0344827586207" y="98" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1374.9310344827586" y="70" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="a7"><Owner><atr ref="a0"/></Owner></rConnector></startConnector><endConnector><rConnector id="a8"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><lcaf id="a9"><points><p colinear="true" x="1422" y="0" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1377" y="30" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="aa"><Owner><atr ref="a3"/></Owner></rConnector></startConnector><endConnector><rConnector id="ab"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="ac"><points><p colinear="true" x="905.5845170197664" y="96" c1x="891.4750350516183" c1y="-574.1259968457359" c2x="891.4750350516183" c2y="-574.1259968457359"/><p colinear="true" x="919.976801723904" y="124" c1x="891.4750350516183" c1y="-574.1259968457359" c2x="891.4750350516183" c2y="-574.1259968457359"/></points><startConnector><rConnector id="ad"><Owner><rel id="ae"><children><diamond id="af" x="838" y="56" w="114.60862731933594" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="b0" x="845.402946472168" y="69.015625"><a><text><string>SUBBMITTED_BY</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="b1"><Owner><ent id="b2"><children><r id="b3" x="875" y="124" w="110" h="39"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="b4" x="892.1396484375" y="136.515625"><a><text><string>SUBMISSION</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="b5"><points><p colinear="true" x="760.25" y="47" c1x="891.4750350516183" c1y="-501.9012034573061" c2x="891.4750350516183" c2y="-501.9012034573061"/><p colinear="true" x="686.75" y="87" c1x="891.4750350516183" c1y="-501.9012034573061" c2x="891.4750350516183" c2y="-501.9012034573061"/></points><startConnector><rConnector id="b6"><Owner><rel id="b7"><children><diamond id="b8" x="757" y="7" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="b9" x="776" y="20.015625"><a><text><string>ABOUT</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="ba"><Owner><ent id="bb"><children><r id="bc" x="610" y="87" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="bd" x="625.865234375" y="100.015625"><a><text><string>REPORT</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="be"><points><p colinear="true" x="952.6086273193359" y="72.70151342993171" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="52.302435093914994" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="bf"><Owner><rel ref="ae"/></Owner></rConnector></startConnector><endConnector><rConnector id="c0"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="c1"><points><p colinear="true" x="837" y="28.672727272727276" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="48.32727272727273" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="c2"><Owner><rel ref="b7"/></Owner></rConnector></startConnector><endConnector><rConnector id="c3"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="c4"><points><p colinear="true" x="234.99515901128927" y="148" c1x="-65.39030456542969" c1y="-141.60966999475397" c2x="-65.39030456542969" c2y="-141.60966999475397"/><p colinear="true" x="166" y="211"/><p colinear="true" x="67.572265625" y="227.38299409416823" c1x="-65.39030456542969" c1y="-141.60966999475397" c2x="-65.39030456542969" c2y="-141.60966999475397"/></points><startConnector><rConnector id="c5"><Owner><rel id="c6"><children><diamond id="c7" x="193" y="108" w="127.79676818847656" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="c8" x="200.53412628173828" y="121.015625"><a><text><string>FOR_MISCONDUCT</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="c9"><Owner><ent ref="18"/></Owner></rConnector></endConnector></llabelUm><atrchave id="ca" nullable="false" attributeType="NUMBER"><children><e id="cb" x="340" y="76" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="cc" x="373.47265625" y="79.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="cd"><points><p colinear="true" x="408.3333333333333" y="76" c1x="-459" c1y="-53" c2x="-459" c2y="-53"/><p colinear="true" x="493" y="46.117647058823536" c1x="-459" c1y="-53" c2x="-459" c2y="-53"/></points><startConnector><rConnector id="ce"><Owner><atrchave ref="ca"/></Owner></rConnector></startConnector><endConnector><rConnector id="cf"><Owner><ent ref="12"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="d0"><points><p colinear="true" x="1353.3341460175566" y="417" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1374.5862183623262" y="366" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="d1"><Owner><rel ref="8"/></Owner></rConnector></startConnector><endConnector><rConnector id="d2"><Owner><ent id="d3"><children><r id="d4" x="1320" y="326" w="125.84072875976562" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="d5" x="1325.6566925048828" y="339.015625"><a><text><string>PROJECT_REQUEST</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="d6" nullable="false" attributeType="VARCHAR2(128)"><children><e id="d7" x="966" y="226" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="d8" x="986.880859375" y="229.015625"><a><text><string>Status</string></text></a></t></children></atr><lcaf id="d9"><points><p colinear="true" x="997.7837837837837" y="226" c1x="-356" c1y="135" c2x="-356" c2y="135"/><p colinear="true" x="946.0216216216216" y="163" c1x="-356" c1y="135" c2x="-356" c2y="135"/></points><startConnector><rConnector id="da"><Owner><atr ref="d6"/></Owner></rConnector></startConnector><endConnector><rConnector id="db"><Owner><ent ref="b2"/></Owner></rConnector></endConnector></lcaf><atr id="dc" nullable="false" attributeType="VARCHAR2(128)"><children><e id="dd" x="878" y="231" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="de" x="883.828125" y="234.015625"><a><text><string>Description</string></text></a></t></children></atr><lcaf id="df"><points><p colinear="true" x="919.2307692307693" y="231" c1x="-320.4305835592336" c1y="127" c2x="-320.4305835592336" c2y="127"/><p colinear="true" x="927.6" y="163" c1x="-320.4305835592336" c1y="127" c2x="-320.4305835592336" c2y="127"/></points><startConnector><rConnector id="e0"><Owner><atr ref="dc"/></Owner></rConnector></startConnector><endConnector><rConnector id="e1"><Owner><ent ref="b2"/></Owner></rConnector></endConnector></lcaf><atr id="e2" nullable="false" attributeType="VARCHAR2(128)"><children><e id="e3" x="1058" y="-86" w="55" h="28"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="e4" x="1063.36328125" y="-78.984375"><a><text><string>Reason</string></text></a></t></children></atr><rel id="e5"><children><diamond id="e6" x="930" y="1001" w="119" h="66"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="e7" x="949.8818359375" y="1027.015625"><a><text><string>IS_ASSIGNED</string></text></a></t></children></rel><llabelMuitos id="e8"><points><p colinear="true" x="1049" y="1009.8810720268007" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1288" y="913"/><p colinear="true" x="1534.3690036900368" y="662" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="e9"><Owner><rel ref="e5"/></Owner></rConnector></startConnector><endConnector><rConnector id="ea"><Owner><ent ref="21"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><ent id="eb"><children><r id="ec" x="289" y="320" w="150.4765625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="ed" x="299" y="333.015625"><a><text><string>DISCUSSION_THREAD</string></text></a></t></children></ent><atr id="ee" nullable="false" attributeType="VARCHAR2(128)"><children><e id="ef" x="-73" y="320" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="f0" x="-46.04296875" y="323.015625"><a><text><string>Title</string></text></a></t></children></atr><lcaf id="f1"><points><p colinear="true" x="-29.001507302989133" y="320" c1x="-315" c1y="22" c2x="-315" c2y="22"/><p colinear="true" x="-4.210852581521749" y="258" c1x="-315" c1y="22" c2x="-315" c2y="22"/></points><startConnector><rConnector id="f2"><Owner><atr ref="ee"/></Owner></rConnector></startConnector><endConnector><rConnector id="f3"><Owner><ent ref="18"/></Owner></rConnector></endConnector></lcaf><atr id="f4" nullable="false" attributeType="VARCHAR2(128)"><children><e id="f5" x="636" y="248" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="f6" x="664.0179138183594" y="249.82794284820557"><a><text><string>Title</string></text></a></t></children></atr><lcaf id="f7"><points><p colinear="true" x="640.0547449448529" y="268" c1x="21.427734375" c1y="-105" c2x="21.427734375" c2y="-105"/><p colinear="true" x="617.572265625" y="274.2546445380233" c1x="21.427734375" c1y="-105" c2x="21.427734375" c2y="-105"/></points><startConnector><rConnector id="f8"><Owner><atr ref="f4"/></Owner></rConnector></startConnector><endConnector><rConnector id="f9"><Owner><ent ref="c"/></Owner></rConnector></endConnector></lcaf><llabelMuitos id="fa"><points><p colinear="true" x="911" y="-16.89193899782135" c1x="-3" c1y="-21.594771241830067" c2x="-3" c2y="-21.594771241830067"/><p colinear="true" x="1021" y="5.405228758169933"/><p colinear="true" x="1307" y="44.52824892738282" c1x="-3" c1y="-21.594771241830067" c2x="-3" c2y="-21.594771241830067"/></points><startConnector><rConnector id="fb"><Owner><rel ref="91"/></Owner></rConnector></startConnector><endConnector><rConnector id="fc"><Owner><ent ref="1b"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><llabelDoubleMuitos id="fd"><points><p colinear="true" x="320.79676818847656" y="124.58646514874492" c1x="-568.3903045654297" c1y="516.4740031542641" c2x="-568.3903045654297" c2y="516.4740031542641"/><p colinear="true" x="610" y="109.13685206575536" c1x="-568.3903045654297" c1y="516.4740031542641" c2x="-568.3903045654297" c2y="516.4740031542641"/></points><startConnector><rConnector id="fe"><Owner><rel ref="c6"/></Owner></rConnector></startConnector><endConnector><rConnector id="ff"><Owner><ent ref="bb"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="100" nullable="false" attributeType="VARCHAR2(128)"><children><e id="101" x="551" y="220" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="102" x="566.1658248901367" y="221.82794284820557"><a><text><string>Repo_url</string></text></a></t></children></atr><lcaf id="103"><points><p colinear="true" x="584.9977633568549" y="240" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="565.7906060987904" y="272" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="104"><Owner><atr ref="100"/></Owner></rConnector></startConnector><endConnector><rConnector id="105"><Owner><ent ref="c"/></Owner></rConnector></endConnector></lcaf><atr id="106" nullable="false" attributeType="VARCHAR2(128)"><children><e id="107" x="1076" y="-225" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="108" x="1088.068359375" y="-221.984375"><a><text><string>End_date</string></text></a></t></children></atr><atrchave id="109" nullable="false" attributeType="NUMBER"><children><e id="10a" x="1305" y="118" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="10b" x="1338.47265625" y="121.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="10c"><points><p colinear="true" x="1346.4871794871794" y="70" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1345.2564102564102" y="118" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="10d"><Owner><ent ref="1b"/></Owner></rConnector></startConnector><endConnector><rConnector id="10e"><Owner><atrchave ref="109"/></Owner></rConnector></endConnector></lcaf><entfraca id="10f"><children><r id="110" x="1224" y="170" w="77" h="33"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="111" x="1230.501953125" y="179.515625"><a><text><string>FEEDBACK</string></text></a></t></children></entfraca><atr id="112" nullable="false" attributeType="VARCHAR2(128)"><children><e id="113" x="1229" y="243" w="107" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="114" x="1248.328125" y="249.515625"><a><text><string>Description</string></text></a></t></children></atr><atr id="115" nullable="false" attributeType="VARCHAR2(128)"><children><e id="116" x="1196" y="111" w="101.455078125" h="30"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="117" x="1199.2792053222656" y="117.82794284820557"><a><text><string>Submission_type</string></text></a></t></children></atr><atr id="118" nullable="false" attributeType="VARCHAR2(128)"><children><e id="119" x="1161" y="219" w="85.8125" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="11a" x="1171" y="220.015625"><a><text><string>Created_at</string></text></a></t></children></atr><rel id="11b"><children><diamond id="11c" x="1329" y="178" w="102" h="44"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="11d" x="1341.73828125" y="193.015625"><a><text><string>WRITTEN_BY</string></text></a></t></children></rel><llabelUm id="11e"><points><p colinear="true" x="1431" y="201.0268456375839" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1469" y="201.79194630872485" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="11f"><Owner><rel ref="11b"/></Owner></rConnector></startConnector><endConnector><rConnector id="120"><Owner><ent ref="2a"/></Owner></rConnector></endConnector></llabelUm><ent ref="b2"/><atrchave id="121" nullable="false" attributeType="NUMBER"><children><e id="122" x="1006" y="196" w="44" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="123" x="1021.47265625" y="202.515625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="124"><points><p colinear="true" x="1007.9545454545455" y="196" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="958.9545454545455" y="163" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="125"><Owner><atrchave ref="121"/></Owner></rConnector></startConnector><endConnector><rConnector id="126"><Owner><ent ref="b2"/></Owner></rConnector></endConnector></lcaf><relfraco id="127"><children><diamond id="128" x="1044" y="111" w="121.595703125" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="129" x="1054" y="124.015625"><a><text><string>SUBBMITED_FOR</string></text></a></t></children></relfraco><llabelDoubleUm id="12a"><points><p colinear="true" x="1161.6274546030406" y="151" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1224" y="172.95072358765722" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="12b"><Owner><relfraco ref="127"/></Owner></rConnector></startConnector><endConnector><rConnector id="12c"><Owner><entfraca ref="10f"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><llabelUm id="12d"><points><p colinear="true" x="1044" y="135.3477258887219" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="985" y="139.5668852971904" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="12e"><Owner><relfraco ref="127"/></Owner></rConnector></startConnector><endConnector><rConnector id="12f"><Owner><ent ref="b2"/></Owner></rConnector></endConnector></llabelUm><lcaf id="130"><points><p colinear="true" x="1238.6284722222222" y="203" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1215.4803240740741" y="219" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="131"><Owner><entfraca ref="10f"/></Owner></rConnector></startConnector><endConnector><rConnector id="132"><Owner><atr ref="118"/></Owner></rConnector></endConnector></lcaf><lcaf id="133"><points><p colinear="true" x="1258.6455841064453" y="170" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1251.871156172319" y="141" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="134"><Owner><entfraca ref="10f"/></Owner></rConnector></startConnector><endConnector><rConnector id="135"><Owner><atr ref="115"/></Owner></rConnector></endConnector></lcaf><lcaf id="136"><points><p colinear="true" x="1267.2142857142858" y="203" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1278.642857142857" y="243" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="137"><Owner><entfraca ref="10f"/></Owner></rConnector></startConnector><endConnector><rConnector id="138"><Owner><atr ref="112"/></Owner></rConnector></endConnector></lcaf><atrmulti id="139" nullable="false" attributeType="VARCHAR2(128)"><children><e id="13a" x="-124" y="274" w="75" h="34"><a><fillColor><color rgba="#ffffebeb"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></e><t id="13b" x="-118.0732421875" y="284.015625"><a><text><string>Guidelines</string></text></a></t></children></atrmulti><lcaf id="13c"><points><p colinear="true" x="-57.54029702240567" y="274" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="-30.284105984669832" y="258" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="13d"><Owner><atrmulti ref="139"/></Owner></rConnector></startConnector><endConnector><rConnector id="13e"><Owner><ent ref="18"/></Owner></rConnector></endConnector></lcaf><atr id="13f" nullable="false" attributeType="VARCHAR2(128)"><children><e id="140" x="634" y="3" w="85.8125" h="16.344114303588867"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="141" x="644" y="4.187682151794434"><a><text><string>Created_at</string></text></a></t></children></atr><lcaf id="142"><points><p colinear="true" x="573" y="26.210691238718105" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="634" y="17.381995377763218" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="143"><Owner><ent ref="12"/></Owner></rConnector></startConnector><endConnector><rConnector id="144"><Owner><atr ref="13f"/></Owner></rConnector></endConnector></lcaf><atr id="145" nullable="false" attributeType="VARCHAR2(128)"><children><e id="146" x="1035" y="199" w="85.8125" h="16.344114303588867"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="147" x="1045" y="200.18768215179443"><a><text><string>Created_at</string></text></a></t></children></atr><atr id="148" nullable="false" attributeType="VARCHAR2(128)"><children><e id="149" x="1478" y="109" w="64" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="14a" x="1493.353515625" y="110.015625"><a><text><string>Email</string></text></a></t></children></atr><lcaf id="14b"><points><p colinear="true" x="1490.5373134328358" y="109" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1387" y="66.44171779141104" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="14c"><Owner><atr ref="148"/></Owner></rConnector></startConnector><endConnector><rConnector id="14d"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><atr id="14e" nullable="false" attributeType="VARCHAR2(128)"><children><e id="14f" x="1207" y="60" w="64" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="150" x="1221.298828125" y="61.015625"><a><text><string>Name</string></text></a></t></children></atr><lcaf id="151"><points><p colinear="true" x="1271" y="62.66666666666667" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="56.66666666666667" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="152"><Owner><atr ref="14e"/></Owner></rConnector></startConnector><endConnector><rConnector id="153"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><lcaf id="154"><points><p colinear="true" x="1058.9230667611414" y="199" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="975.2972937268875" y="163" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="155"><Owner><atr ref="145"/></Owner></rConnector></startConnector><endConnector><rConnector id="156"><Owner><ent ref="b2"/></Owner></rConnector></endConnector></lcaf><atr id="157" nullable="false" attributeType="VARCHAR2(128)"><children><e id="158" x="1325" y="-60" w="107" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="159" x="1352.1838150024414" y="-54.672057151794434"><a><text><string>Uername</string></text></a></t></children></atr><lcaf id="15a"><points><p colinear="true" x="1374.0932642487046" y="-33" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1353.5284974093265" y="30" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="15b"><Owner><atr ref="157"/></Owner></rConnector></startConnector><endConnector><rConnector id="15c"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><disjuncao id="15d"><children><circ id="15e" x="801" y="253" w="20" h="21"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="15f" x="805" y="254"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao><generalizacaoLine id="160"><points><p colinear="true" x="821" y="264.94250852283346" c1x="7" c1y="5.7018571100570625" c2x="7" c2y="5.7018571100570625"/><p colinear="true" x="1320" y="336.9236838122232" c1x="7" c1y="5.7018571100570625" c2x="7" c2y="5.7018571100570625"/></points><startConnector><rConnector id="161"><Owner><disjuncao ref="15d"/></Owner></rConnector></startConnector><endConnector><rConnector id="162"><Owner><ent ref="d3"/></Owner></rConnector></endConnector></generalizacaoLine><generalizacaoLine id="163"><points><p colinear="true" x="801" y="253.77950310559007" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="670.5750798722045" y="127" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="164"><Owner><disjuncao ref="15d"/></Owner></rConnector></startConnector><endConnector><rConnector id="165"><Owner><ent ref="bb"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleGeneralizacao id="166" labelGeneralizacaoText="characteristic"><points><p colinear="true" x="910.6625" y="163" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="821" y="253.41596638655463" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="167"><Owner><ent ref="b2"/></Owner></rConnector></startConnector><endConnector><rConnector id="168"><Owner><disjuncao ref="15d"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><rel ref="c6"/><rel ref="b7"/><rel ref="ae"/><ent ref="bb"/><ent ref="d3"/><rel ref="8"/><generalizacaoLine id="169"><points><p colinear="true" x="416" y="162.4054832719896" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="532.5219410409172" y="272" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="16a"><Owner><disjuncao ref="15"/></Owner></rConnector></startConnector><endConnector><rConnector id="16b"><Owner><ent ref="c"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleMuitos id="16c"><points><p colinear="true" x="171.95094651442307" y="-195" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="11.553560697115387" y="218" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="16d"><Owner><rel ref="f"/></Owner></rConnector></startConnector><endConnector><rConnector id="16e"><Owner><ent ref="18"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="16f"><points><p colinear="true" x="254.0390625" y="-227.40114438718433" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1208" y="-279.80277660608505" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="170"><Owner><rel ref="f"/></Owner></rConnector></startConnector><endConnector><rConnector id="171"><Owner><ent ref="42"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><generalizacaoLine id="172"><points><p colinear="true" x="396" y="157.81581364588308" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="331.24627685546875" y="189" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="173"><Owner><disjuncao ref="15"/></Owner></rConnector></startConnector><endConnector><rConnector id="174"><Owner><ent id="175"><children><r id="176" x="215" y="189" w="149.432861328125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="177" x="248.2467041015625" y="202.015625"><a><text><string>EMBEDDABLE</string></text></a></t></children></ent></Owner></rConnector></endConnector></generalizacaoLine><rel id="178"><children><diamond id="179" x="230" y="374" w="122.064453125" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="17a" x="240" y="387.015625"><a><text><string>REFERENCED_BY</string></text></a></t></children></rel><llabelMuitos id="17b"><points><p colinear="true" x="254.20580428685898" y="374" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="40.61255508814102" y="258" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="17c"><Owner><rel ref="178"/></Owner></rConnector></startConnector><endConnector><rConnector id="17d"><Owner><ent ref="18"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><llabelUm id="17e"><points><p colinear="true" x="352.064453125" y="390.9813883596748" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="473" y="385"/><p colinear="true" x="536.4127709173387" y="312" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="17f"><Owner><rel ref="178"/></Owner></rConnector></startConnector><endConnector><rConnector id="180"><Owner><ent ref="c"/></Owner></rConnector></endConnector></llabelUm><rel id="181"><children><diamond id="182" x="386" y="230" w="110.193359375" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="183" x="396" y="243.015625"><a><text><string>CONTAINED_IN</string></text></a></t></children></rel><llabelUm id="184"><points><p colinear="true" x="386" y="235.07755217896522" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="363.5604545779345" y="229" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="185"><Owner><rel ref="181"/></Owner></rConnector></startConnector><endConnector><rConnector id="186"><Owner><ent ref="175"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="187"><points><p colinear="true" x="424.01703559027777" y="270" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="381.31792534722223" y="320" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="188"><Owner><rel ref="181"/></Owner></rConnector></startConnector><endConnector><rConnector id="189"><Owner><ent ref="eb"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><generalizacaoLine id="18a"><points><p colinear="true" x="229" y="264.11146822301714" c1x="-24.922495966372253" c1y="27" c2x="-24.922495966372253" c2y="27"/><p colinear="true" x="328.59698523773005" y="320" c1x="-24.922495966372253" c1y="27" c2x="-24.922495966372253" c2y="27"/></points><startConnector><rConnector id="18b"><Owner><disjuncao id="18c"><children><circ id="18d" x="209" y="248" w="20" h="21"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="18e" x="213" y="249"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao></Owner></rConnector></startConnector><endConnector><rConnector id="18f"><Owner><ent ref="eb"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleMuitos id="190"><points><p colinear="true" x="1071.3484416847066" y="433" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1514" y="624.6790158324967" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="191"><Owner><rel ref="5d"/></Owner></rConnector></startConnector><endConnector><rConnector id="192"><Owner><ent ref="21"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="193"><points><p colinear="true" x="1329" y="194.1404255319149" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1301" y="190.92340425531916" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="194"><Owner><rel ref="11b"/></Owner></rConnector></startConnector><endConnector><rConnector id="195"><Owner><entfraca ref="10f"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="196"><points><p colinear="true" x="442.5326690673828" y="-94.72661572890257" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="477" y="-104.1101861623363" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="197"><Owner><rel ref="82"/></Owner></rConnector></startConnector><endConnector><rConnector id="198"><Owner><ent ref="79"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><ent ref="175"/><generalizacaoLine id="199"><points><p colinear="true" x="209" y="257.547459149919" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="67.572265625" y="244.07588971725983" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="19a"><Owner><disjuncao ref="18c"/></Owner></rConnector></startConnector><endConnector><rConnector id="19b"><Owner><ent ref="18"/></Owner></rConnector></endConnector></generalizacaoLine><disjuncao ref="18c"/><llabelDoubleGeneralizacao id="19c" labelGeneralizacaoText="caracteristica"><points><p colinear="true" x="261.14413544625944" y="229" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="229" y="251.50021232192145" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="19d"><Owner><ent ref="175"/></Owner></rConnector></startConnector><endConnector><rConnector id="19e"><Owner><disjuncao ref="18c"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><entfraca id="19f"><children><r id="1a0" x="472" y="654" w="190.14453125" h="27"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="1a1" x="507.1162109375" y="660.515625"><a><text><string>ROLE_PERMISSIONS</string></text></a></t></children></entfraca><relfraco id="1a2"><children><diamond id="1a3" x="450" y="707" w="111" h="38"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="1a4" x="474.1318359375" y="719.015625"><a><text><string>FOR_ROLE</string></text></a></t></children></relfraco><llabelDoubleUm id="1a5"><points><p colinear="true" x="525.4978298611111" y="707" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="552.86328125" y="681" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1a6"><Owner><relfraco ref="1a2"/></Owner></rConnector></startConnector><endConnector><rConnector id="1a7"><Owner><entfraca ref="19f"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><relfraco id="1a8"><children><diamond id="1a9" x="544" y="782" w="124.9296875" h="33"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="1aa" x="554" y="791.515625"><a><text><string>FOR_PERMISSION</string></text></a></t></children></relfraco><llabelDoubleUm id="1ab"><points><p colinear="true" x="601.5031831464695" y="782" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="571.1318061187977" y="681" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1ac"><Owner><relfraco ref="1a8"/></Owner></rConnector></startConnector><endConnector><rConnector id="1ad"><Owner><entfraca ref="19f"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><llabelMuitos id="1ae"><points><p colinear="true" x="615.1475187222633" y="815" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="640.4062095506657" y="863" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1af"><Owner><relfraco ref="1a8"/></Owner></rConnector></startConnector><endConnector><rConnector id="1b0"><Owner><ent ref="30"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atr id="1b1" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1b2" x="237" y="569" w="102.833984375" h="37"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1b3" x="247" y="580.515625"><a><text><string>override_type</string></text></a></t></children></atr><ent id="1b4"><children><r id="1b5" x="284" y="857" w="107" h="53"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1b6" x="292.5498046875" y="876.515625"><a><text><string>PROJECT_ROLE</string></text></a></t></children></ent><rel id="1b7"><children><diamond id="1b8" x="375" y="524" w="106" h="53"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1b9" x="400.80078125" y="543.515625"><a><text><string>VALID_IN</string></text></a></t></children></rel><llabelDoubleMuitos id="1ba"><points><p colinear="true" x="420.79804804804803" y="577" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="344.70195195195197" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1bb"><Owner><rel ref="1b7"/></Owner></rConnector></startConnector><endConnector><rConnector id="1bc"><Owner><ent ref="1b4"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atrchave id="1bd" nullable="false" attributeType="NUMBER"><children><e id="1be" x="104" y="676" w="106" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1bf" x="150.6484375" y="682.515625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>id</string></text></a></t></children></atrchave><atr id="1c0" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1c1" x="141" y="611" w="106" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1c2" x="176.984375" y="617.515625"><a><text><string>name</string></text></a></t></children></atr><lcaf id="1c3"><points><p colinear="true" x="169.56056701030928" y="703" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="312.84407216494844" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1c4"><Owner><atrchave ref="1bd"/></Owner></rConnector></startConnector><endConnector><rConnector id="1c5"><Owner><ent ref="1b4"/></Owner></rConnector></endConnector></lcaf><lcaf id="1c6"><points><p colinear="true" x="201.47972972972974" y="638" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="322.81756756756755" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1c7"><Owner><atr ref="1c0"/></Owner></rConnector></startConnector><endConnector><rConnector id="1c8"><Owner><ent ref="1b4"/></Owner></rConnector></endConnector></lcaf><llabelMuitos id="1c9"><points><p colinear="true" x="485.23333333333335" y="745" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="365.76666666666665" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1ca"><Owner><relfraco ref="1a2"/></Owner></rConnector></startConnector><endConnector><rConnector id="1cb"><Owner><ent ref="1b4"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><llabelMuitos id="1cc"><points><p colinear="true" x="930" y="1020.2657208588957" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="391" y="895.849309815951" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1cd"><Owner><rel ref="e5"/></Owner></rConnector></startConnector><endConnector><rConnector id="1ce"><Owner><ent ref="1b4"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><lcaf id="1cf"><points><p colinear="true" x="291.48468017578125" y="606" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="333.1057442330025" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1d0"><Owner><atr ref="1b1"/></Owner></rConnector></startConnector><endConnector><rConnector id="1d1"><Owner><ent ref="1b4"/></Owner></rConnector></endConnector></lcaf><ent id="1d2"><children><r id="1d3" x="662" y="504" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1d4" x="673.083984375" y="517.015625"><a><text><string>CHANNEL</string></text></a></t></children></ent><lcaf id="1d5"><points><p colinear="true" x="707.4871794871794" y="417" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="703.025641025641" y="504" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1d6"><Owner><atrchave ref="3"/></Owner></rConnector></startConnector><endConnector><rConnector id="1d7"><Owner><ent ref="1d2"/></Owner></rConnector></endConnector></lcaf><lcaf id="1d8"><points><p colinear="true" x="611" y="498" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="662" y="512.5714285714286" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1d9"><Owner><atr ref="8e"/></Owner></rConnector></startConnector><endConnector><rConnector id="1da"><Owner><ent ref="1d2"/></Owner></rConnector></endConnector></lcaf><lcaf id="1db"><points><p colinear="true" x="783.7777777777778" y="444" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="722.4444444444445" y="504" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1dc"><Owner><atr ref="0"/></Owner></rConnector></startConnector><endConnector><rConnector id="1dd"><Owner><ent ref="1d2"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="1de"><points><p colinear="true" x="982" y="553.0207464559825" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="742" y="528.1458209222832" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1df"><Owner><rel ref="33"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e0"><Owner><ent ref="1d2"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><rel id="1e1"><children><diamond id="1e2" x="547" y="374" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1e3" x="574.5751953125" y="387.015625"><a><text><string>HAS</string></text></a></t></children></rel><llabelUm id="1e4"><points><p colinear="true" x="580.4874770220588" y="374" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="560.2986557904412" y="312" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1e5"><Owner><rel ref="1e1"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e6"><Owner><ent ref="c"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="1e7"><points><p colinear="true" x="604.6923076923077" y="414" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="684.3076923076923" y="504" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1e8"><Owner><rel ref="1e1"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e9"><Owner><ent ref="1d2"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelUm id="1ea"><points><p colinear="true" x="440.89490336375724" y="524" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="544.0541302738153" y="312" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1eb"><Owner><rel ref="1b7"/></Owner></rConnector></startConnector><endConnector><rConnector id="1ec"><Owner><ent ref="c"/></Owner></rConnector></endConnector></llabelUm><rel id="1ed"><children><diamond id="1ee" x="569" y="567" w="116.75" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1ef" x="579" y="580.015625"><a><text><string>FOR_RESOURCE</string></text></a></t></children></rel><llabelUm id="1f0"><points><p colinear="true" x="651.0654761904761" y="567" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="678.3095238095239" y="544" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1f1"><Owner><rel ref="1ed"/></Owner></rConnector></startConnector><endConnector><rConnector id="1f2"><Owner><ent ref="1d2"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="1f3"><points><p colinear="true" x="612.3929541925465" y="607" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="577.1851465450311" y="654" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1f4"><Owner><rel ref="1ed"/></Owner></rConnector></startConnector><endConnector><rConnector id="1f5"><Owner><entfraca ref="19f"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atrchave id="1f6" nullable="false" attributeType="NUMBER"><children><e id="1f7" x="1004" y="-140" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1f8" x="1037.47265625" y="-136.984375"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><atr id="1f9" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1fa" x="1030" y="-204" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1fb" x="1038.8134765625" y="-200.984375"><a><text><string>Start_date</string></text></a></t></children></atr><ent id="1fc"><children><r id="1fd" x="1186" y="-140" w="139.689453125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1fe" x="1196" y="-126.984375"><a><text><string>BLACKLISTED_USER</string></text></a></t></children></ent><rel id="1ff"><children><diamond id="200" x="1188" y="-200" w="122.931640625" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="201" x="1198" y="-186.984375"><a><text><string>BLACKLISTED_BY</string></text></a></t></children></rel><llabelDoubleMuitos id="202"><points><p colinear="true" x="1251.5921223958333" y="-160" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1253.7184244791667" y="-140" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="203"><Owner><rel ref="1ff"/></Owner></rConnector></startConnector><endConnector><rConnector id="204"><Owner><ent ref="1fc"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="205"><points><p colinear="true" x="1249.178404564951" y="-200" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1248.287415747549" y="-262" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="206"><Owner><rel ref="1ff"/></Owner></rConnector></startConnector><endConnector><rConnector id="207"><Owner><ent ref="42"/></Owner></rConnector></endConnector></llabelUm><rel id="208"><children><diamond id="209" x="1215" y="-57" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="20a" x="1224.2236328125" y="-43.984375"><a><text><string>RFERS_TO</string></text></a></t></children></rel><llabelDoubleMuitos id="20b"><points><p colinear="true" x="1255.203548569277" y="-57" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1255.641177993223" y="-100" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="20c"><Owner><rel ref="208"/></Owner></rConnector></startConnector><endConnector><rConnector id="20d"><Owner><ent ref="1fc"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelUm id="20e"><points><p colinear="true" x="1276.1494252873563" y="-17" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1325.8505747126437" y="30" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="20f"><Owner><rel ref="208"/></Owner></rConnector></startConnector><endConnector><rConnector id="210"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><lcaf id="211"><points><p colinear="true" x="1084" y="-128.11182460620756" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1186" y="-123.29697735203683" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="212"><Owner><atrchave ref="1f6"/></Owner></rConnector></startConnector><endConnector><rConnector id="213"><Owner><ent ref="1fc"/></Owner></rConnector></endConnector></lcaf><lcaf id="214"><points><p colinear="true" x="1113" y="-79.74899244982313" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1186" y="-100.31904513480822" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="215"><Owner><atr ref="e2"/></Owner></rConnector></startConnector><endConnector><rConnector id="216"><Owner><ent ref="1fc"/></Owner></rConnector></endConnector></lcaf><lcaf id="217"><points><p colinear="true" x="1095.1141522381756" y="-184" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1205.6164220861485" y="-140" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="218"><Owner><atr ref="1f9"/></Owner></rConnector></startConnector><endConnector><rConnector id="219"><Owner><ent ref="1fc"/></Owner></rConnector></endConnector></lcaf><lcaf id="21a"><points><p colinear="true" x="1130.7204975328948" y="-205" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1226.4037314967104" y="-140" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="21b"><Owner><atr ref="106"/></Owner></rConnector></startConnector><endConnector><rConnector id="21c"><Owner><ent ref="1fc"/></Owner></rConnector></endConnector></lcaf><rel id="21d"><children><diamond id="21e" x="211" y="-193" w="142.408203125" h="68"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="21f" x="221" y="-165.984375"><a><text><string>BLACKLISTED_FROM</string></text></a></t></children></rel><llabelUm id="220"><points><p colinear="true" x="258.35974151841936" y="-125" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="17.812226956076813" y="218" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="221"><Owner><rel ref="21d"/></Owner></rConnector></startConnector><endConnector><rConnector id="222"><Owner><ent ref="18"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="223"><points><p colinear="true" x="353.408203125" y="-170.9534503209713" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="586" y="-210"/><p colinear="true" x="795" y="-205"/><p colinear="true" x="1186" y="-132.8824339644632" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="224"><Owner><rel ref="21d"/></Owner></rConnector></startConnector><endConnector><rConnector id="225"><Owner><ent ref="1fc"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><entfraca id="226"><children><r id="227" x="917" y="619" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="228" x="927.8701171875" y="632.015625"><a><text><string>MESSAGE</string></text></a></t></children></entfraca><atrchaveparcial id="229" nullable="false" attributeType="NUMBER"><children><e id="22a" x="734" y="669" w="125" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="22b" x="771.052734375" y="675.515625"><a><strokeDashes><doubleArray><double>3</double></doubleArray></strokeDashes><fontBold><boolean>true</boolean></fontBold><text><string>Sent_at</string></text></a></t></children></atrchaveparcial><relfraco id="22c"><children><diamond id="22d" x="771" y="554" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="22e" x="794.4892578125" y="572.015625"><a><text><string>SENT_IN</string></text></a></t></children></relfraco><relfraco id="22f"><children><diamond id="230" x="1110" y="644" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="231" x="1131.9658203125" y="662.015625"><a><text><string>SENT_BY</string></text></a></t></children></relfraco><llabelDoubleMuitos id="232"><points><p colinear="true" x="868" y="600.1636363636363" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="917" y="621.5454545454545" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="233"><Owner><relfraco ref="22c"/></Owner></rConnector></startConnector><endConnector><rConnector id="234"><Owner><entfraca ref="226"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelUm id="235"><points><p colinear="true" x="771" y="556.2978723404256" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="742" y="542.7234042553191" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="236"><Owner><relfraco ref="22c"/></Owner></rConnector></startConnector><endConnector><rConnector id="237"><Owner><ent ref="1d2"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="238"><points><p colinear="true" x="1207" y="665.6890012642225" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1514" y="644.7307206068268" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="239"><Owner><relfraco ref="22f"/></Owner></rConnector></startConnector><endConnector><rConnector id="23a"><Owner><ent ref="21"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="23b"><points><p colinear="true" x="1110" y="661.7791563275434" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="997" y="644.955334987593" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="23c"><Owner><relfraco ref="22f"/></Owner></rConnector></startConnector><endConnector><rConnector id="23d"><Owner><entfraca ref="226"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><lcaf id="23e"><points><p colinear="true" x="846.3103448275863" y="669" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="917" y="649.8411214953271" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="23f"><Owner><atrchaveparcial ref="229"/></Owner></rConnector></startConnector><endConnector><rConnector id="240"><Owner><entfraca ref="226"/></Owner></rConnector></endConnector></lcaf><lcaf id="241"><points><p colinear="true" x="950.1151515151515" y="710" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="955.060606060606" y="659" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="242"><Owner><atr ref="69"/></Owner></rConnector></startConnector><endConnector><rConnector id="243"><Owner><entfraca ref="226"/></Owner></rConnector></endConnector></lcaf></figures></drawing>
Index: cs/versioning/er_models/ER_BUILD_BOARD_v5.3.xml
===================================================================
--- docs/versioning/er_models/ER_BUILD_BOARD_v5.3.xml	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,1 +1,0 @@
-<drawing><figures><llabelDoubleMuitos id="0"><points><p colinear="true" x="610.8521592881945" y="601" c1x="19.598331567796663" c1y="-9" c2x="19.598331567796663" c2y="-9"/><p colinear="true" x="563.6156141493055" y="633" c1x="19.598331567796663" c1y="-9" c2x="19.598331567796663" c2y="-9"/></points><startConnector><rConnector id="1"><Owner><rel id="2"><children><diamond id="3" x="582" y="561" w="116.75" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="4" x="592" y="574.015625"><a><text><string>FOR_RESOURCE</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="5"><Owner><entfraca id="6"><children><r id="7" x="430" y="633" w="208.185546875" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="8" x="440" y="646.015625"><a><text><string>ROLE_PERMISSION_OVERRIDES</string></text></a></t></children></entfraca></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="9" nullable="false" attributeType="VARCHAR2(128)"><children><e id="a" x="754" y="424" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="b" x="776.298828125" y="427.015625"><a><text><string>Name</string></text></a></t></children></atr><atrchave id="c" nullable="false" attributeType="NUMBER"><children><e id="d" x="668" y="397" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="e" x="701.47265625" y="400.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><llabelUm id="f"><points><p colinear="true" x="1305" y="425.71165644171776" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1019" y="345"/><p colinear="true" x="617.572265625" y="299.26690513225816" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="10"><Owner><rel id="11"><children><diamond id="12" x="1305" y="417" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="13" x="1315.5859375" y="430.015625"><a><text><string>RECIEVES</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="14"><Owner><ent id="15"><children><r id="16" x="490" y="272" w="127.572265625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="17" x="500" y="285.015625"><a><text><string>PROJECT_THREAD</string></text></a></t></children></ent></Owner></rConnector></endConnector></llabelUm><rel id="18"><children><diamond id="19" x="112" y="-252" w="142.0390625" h="57"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1a" x="125" y="-230.484375"><a><text><string>IS_MODERATED_BY</string></text></a></t></children></rel><ent id="1b"><children><r id="1c" x="493" y="12" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1d" x="508.138671875" y="25.015625"><a><text><string>THREAD</string></text></a></t></children></ent><disjuncao id="1e"><children><circ id="1f" x="396" y="143" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="20" x="400" y="144"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao><ent ref="15"/><ent id="21"><children><r id="22" x="-60" y="218" w="127.572265625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="23" x="-42.0400390625" y="231.015625"><a><text><string>TOPIC_THREAD</string></text></a></t></children></ent><ent id="24"><children><r id="25" x="1307" y="30" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="26" x="1330.83984375" y="43.015625"><a><text><string>USER</string></text></a></t></children></ent><llabelDoubleGeneralizacao id="27" labelGeneralizacaoText="caracteristica"><points><p colinear="true" x="416" y="143.4724409448819" c1x="-14.280559426255081" c1y="-40" c2x="-14.280559426255081" c2y="-40"/><p colinear="true" x="512.00826446281" y="52" c1x="-14.280559426255081" c1y="-40" c2x="-14.280559426255081" c2y="-40"/></points><startConnector><rConnector id="28"><Owner><disjuncao ref="1e"/></Owner></rConnector></startConnector><endConnector><rConnector id="29"><Owner><ent ref="1b"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><ent id="2a"><children><r id="2b" x="1694" y="626" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="2c" x="1700.8197708129883" y="637.8279428482056"><a><text><string>DEVELOPER</string></text></a></t></children></ent><generalizacaoLine id="2d"><points><p colinear="true" x="1617.9439868204283" y="49" c1x="477.9436152570481" c1y="499" c2x="477.9436152570481" c2y="499"/><p colinear="true" x="1730.1120263591433" y="626" c1x="477.9436152570481" c1y="499" c2x="477.9436152570481" c2y="499"/></points><startConnector><rConnector id="2e"><Owner><sobreposicao id="2f"><children><circ id="30" x="1606" y="29" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="31" x="1610" y="30"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>o</string></text></a></tn></children></sobreposicao></Owner></rConnector></startConnector><endConnector><rConnector id="32"><Owner><ent ref="2a"/></Owner></rConnector></endConnector></generalizacaoLine><ent id="33"><children><r id="34" x="1485" y="292" w="120" h="54"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="35" x="1485.591796875" y="312.015625"><a><text><string>PROJECT_MANAGER</string></text></a></t></children></ent><generalizacaoLine id="36"><points><p colinear="true" x="1613.4642857142858" y="49" c1x="303" c1y="473" c2x="303" c2y="473"/><p colinear="true" x="1551.8464285714285" y="292" c1x="303" c1y="473" c2x="303" c2y="473"/></points><startConnector><rConnector id="37"><Owner><sobreposicao ref="2f"/></Owner></rConnector></startConnector><endConnector><rConnector id="38"><Owner><ent ref="33"/></Owner></rConnector></endConnector></generalizacaoLine><ent id="39"><children><r id="3a" x="897" y="935" w="101.861328125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="3b" x="907" y="948.015625"><a><text><string>PERMISSIONS</string></text></a></t></children></ent><rel id="3c"><children><diamond id="3d" x="982" y="539" w="115.37890625" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="3e" x="998.591796875" y="552.015625"><a><text><string>CONSTRUCTS</string></text></a></t></children></rel><llabelUm id="3f"><points><p colinear="true" x="1097.37890625" y="566.2287284767094" c1x="-254.06871916118416" c1y="253" c2x="-254.06871916118416" c2y="253"/><p colinear="true" x="1694" y="640.9878335916644" c1x="-254.06871916118416" c1y="253" c2x="-254.06871916118416" c2y="253"/></points><startConnector><rConnector id="40"><Owner><rel ref="3c"/></Owner></rConnector></startConnector><endConnector><rConnector id="41"><Owner><ent ref="2a"/></Owner></rConnector></endConnector></llabelUm><rel id="42"><children><diamond id="43" x="740" y="-85" w="123" h="41"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="44" x="753.810546875" y="-71.484375"><a><text><string>IS_CREATED_BY</string></text></a></t></children></rel><llabelDoubleMuitos id="45"><points><p colinear="true" x="740" y="-63.38181818181818" c1x="68" c1y="191" c2x="68" c2y="191"/><p colinear="true" x="609" y="-61"/><p colinear="true" x="549.3440860215054" y="12" c1x="68" c1y="191" c2x="68" c2y="191"/></points><startConnector><rConnector id="46"><Owner><rel ref="42"/></Owner></rConnector></startConnector><endConnector><rConnector id="47"><Owner><ent ref="1b"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="48"><points><p colinear="true" x="863" y="-51.591200733272224" c1x="527" c1y="244" c2x="527" c2y="244"/><p colinear="true" x="1307" y="41.60403299725023" c1x="527" c1y="244" c2x="527" c2y="244"/></points><startConnector><rConnector id="49"><Owner><rel ref="42"/></Owner></rConnector></startConnector><endConnector><rConnector id="4a"><Owner><ent ref="24"/></Owner></rConnector></endConnector></llabelUm><ent id="4b"><children><r id="4c" x="1208" y="-302" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="4d" x="1208.859375" y="-288.984375"><a><text><string>MODERATOR</string></text></a></t></children></ent><sobreposicao ref="2f"/><generalizacaoLine id="4e"><points><p colinear="true" x="1606" y="30.27717391304348" c1x="-502.29203539823015" c1y="338" c2x="-502.29203539823015" c2y="338"/><p colinear="true" x="1270.9283489096574" y="-262" c1x="-502.29203539823015" c1y="338" c2x="-502.29203539823015" c2y="338"/></points><startConnector><rConnector id="4f"><Owner><sobreposicao ref="2f"/></Owner></rConnector></startConnector><endConnector><rConnector id="50"><Owner><ent ref="4b"/></Owner></rConnector></endConnector></generalizacaoLine><lcaf id="51"><points><p colinear="true" x="1387" y="48.36431226765799" c1x="-186" c1y="359.3731343283582" c2x="-186" c2y="359.3731343283582"/><p colinear="true" x="1606" y="39.4089219330855" c1x="-186" c1y="359.3731343283582" c2x="-186" c2y="359.3731343283582"/></points><startConnector><rConnector id="52"><Owner><ent ref="24"/></Owner></rConnector></startConnector><endConnector><rConnector id="53"><Owner><sobreposicao ref="2f"/></Owner></rConnector></endConnector></lcaf><atrchave id="54" nullable="false" attributeType="NUMBER"><children><e id="55" x="1025" y="917" w="60" h="24"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="56" x="1035.6083984375" y="922.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Name</string></text></a></t></children></atrchave><lcaf id="57"><points><p colinear="true" x="1025" y="936.2849989511031" c1x="-83" c1y="375.60399192891236" c2x="-83" c2y="375.60399192891236"/><p colinear="true" x="998.861328125" y="942.6323388575233" c1x="-83" c1y="375.60399192891236" c2x="-83" c2y="375.60399192891236"/></points><startConnector><rConnector id="58"><Owner><atrchave ref="54"/></Owner></rConnector></startConnector><endConnector><rConnector id="59"><Owner><ent ref="39"/></Owner></rConnector></endConnector></lcaf><atr id="5a" nullable="false" attributeType="VARCHAR2(128)"><children><e id="5b" x="1426" y="14" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="5c" x="1437.599609375" y="17.015625"><a><text><string>Password</string></text></a></t></children></atr><lcaf id="5d"><points><p colinear="true" x="1426" y="32.739495798319325" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/><p colinear="true" x="1387" y="41.260504201680675" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/></points><startConnector><rConnector id="5e"><Owner><atr ref="5a"/></Owner></rConnector></startConnector><endConnector><rConnector id="5f"><Owner><ent ref="24"/></Owner></rConnector></endConnector></lcaf><atr id="60" nullable="false" attributeType="VARCHAR2(128)"><children><e id="61" x="305" y="-8" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="62" x="321.1376953125" y="-4.984375"><a><text><string>Content</string></text></a></t></children></atr><lcaf id="63"><points><p colinear="true" x="385" y="8.382978723404257" c1x="-91" c1y="-14" c2x="-91" c2y="-14"/><p colinear="true" x="493" y="25.617021276595747" c1x="-91" c1y="-14" c2x="-91" c2y="-14"/></points><startConnector><rConnector id="64"><Owner><atr ref="60"/></Owner></rConnector></startConnector><endConnector><rConnector id="65"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><atr id="66" nullable="false" attributeType="VARCHAR2(128)"><children><e id="67" x="1468" y="53" w="86" h="30"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="68" x="1479.5477752685547" y="59.827942848205566"><a><text><string>Register_at</string></text></a></t></children></atr><lcaf id="69"><points><p colinear="true" x="1468" y="63.28048780487804" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/><p colinear="true" x="1387" y="54.390243902439025" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/></points><startConnector><rConnector id="6a"><Owner><atr ref="66"/></Owner></rConnector></startConnector><endConnector><rConnector id="6b"><Owner><ent ref="24"/></Owner></rConnector></endConnector></lcaf><atr id="6c" nullable="false" attributeType="VARCHAR2(128)"><children><e id="6d" x="909" y="710" w="80" h="23"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="6e" x="925.1376953125" y="714.515625"><a><text><string>Content</string></text></a></t></children></atr><atr id="6f" nullable="false" attributeType="VARCHAR2(128)"><children><e id="70" x="1036" y="483" w="116.57302856445312" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="71" x="1068.282341003418" y="484.82794284820557"><a><text><string>Ended_at</string></text></a></t></children></atr><t id="72" x="1499" y="514"><a><text><null/></text></a></t><ent id="73"><children><r id="74" x="477" y="-135" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="75" x="504.5810546875" y="-121.984375"><a><text><string>TAG</string></text></a></t></children></ent><rel id="76"><children><diamond id="77" x="778" y="-148" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="78" x="790.4814453125" y="-134.984375"><a><text><string>CREATES</string></text></a></t></children></rel><llabelUm id="79"><points><p colinear="true" x="858" y="-114.54064272211721" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="1307" y="36.5406427221172" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="7a"><Owner><rel ref="76"/></Owner></rConnector></startConnector><endConnector><rConnector id="7b"><Owner><ent ref="24"/></Owner></rConnector></endConnector></llabelUm><rel id="7c"><children><diamond id="7d" x="327" y="-99" w="115.53266906738281" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="7e" x="338.5300064086914" y="-85.984375"><a><text><string>ASSISGNED_TO</string></text></a></t></children></rel><llabelMuitos id="7f"><points><p colinear="true" x="411.47510308617944" y="-59" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="506.29123144751196" y="12" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="80"><Owner><rel ref="7c"/></Owner></rConnector></startConnector><endConnector><rConnector id="81"><Owner><ent ref="1b"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atrchave id="82" nullable="false" attributeType="NUMBER"><children><e id="83" x="530" y="-178" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="84" x="550.6083984375" y="-174.984375"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Name</string></text></a></t></children></atrchave><lcaf id="85"><points><p colinear="true" x="537" y="-135" c1x="-597" c1y="-116" c2x="-597" c2y="-116"/><p colinear="true" x="560" y="-158" c1x="-597" c1y="-116" c2x="-597" c2y="-116"/></points><startConnector><rConnector id="86"><Owner><ent ref="73"/></Owner></rConnector></startConnector><endConnector><rConnector id="87"><Owner><atrchave ref="82"/></Owner></rConnector></endConnector></lcaf><atr id="88" nullable="false" attributeType="VARCHAR2(128)"><children><e id="89" x="536" y="478" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="8a" x="541.828125" y="481.015625"><a><text><string>Description</string></text></a></t></children></atr><rel id="8b"><children><diamond id="8c" x="831" y="-45" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="8d" x="854.353515625" y="-31.984375"><a><text><string>LIKES</string></text></a></t></children></rel><llabelMuitos id="8e"><points><p colinear="true" x="831" y="-27.844444444444445" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="646" y="-41"/><p colinear="true" x="563.9589041095891" y="12" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="8f"><Owner><rel ref="8b"/></Owner></rConnector></startConnector><endConnector><rConnector id="90"><Owner><ent ref="1b"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atr id="91" nullable="false" attributeType="VARCHAR2(128)"><children><e id="92" x="1426" y="108" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="93" x="1439.8671875" y="111.015625"><a><text><string>Is_active</string></text></a></t></children></atr><lcaf id="94"><points><p colinear="true" x="1448.5" y="108" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1382" y="70" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="95"><Owner><atr ref="91"/></Owner></rConnector></startConnector><endConnector><rConnector id="96"><Owner><ent ref="24"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="97"><points><p colinear="true" x="778" y="-126.27242524916943" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="557" y="-116.72757475083057" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="98"><Owner><rel ref="76"/></Owner></rConnector></startConnector><endConnector><rConnector id="99"><Owner><ent ref="73"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="9a" nullable="false" attributeType="VARCHAR2(128)"><children><e id="9b" x="1515" y="118" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="9c" x="1545.147933959961" y="119.82794284820557"><a><text><string>Sex</string></text></a></t></children></atr><atr id="9d" nullable="false" attributeType="VARCHAR2(128)"><children><e id="9e" x="1397" y="-20" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="9f" x="1402.828125" y="-16.984375"><a><text><string>Description</string></text></a></t></children></atr><lcaf id="a0"><points><p colinear="true" x="1528.3333333333333" y="118" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1387" y="65" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="a1"><Owner><atr ref="9a"/></Owner></rConnector></startConnector><endConnector><rConnector id="a2"><Owner><ent ref="24"/></Owner></rConnector></endConnector></lcaf><lcaf id="a3"><points><p colinear="true" x="1422" y="0" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1377" y="30" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="a4"><Owner><atr ref="9d"/></Owner></rConnector></startConnector><endConnector><rConnector id="a5"><Owner><ent ref="24"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="a6"><points><p colinear="true" x="905.5845170197664" y="96" c1x="891.4750350516183" c1y="-574.1259968457359" c2x="891.4750350516183" c2y="-574.1259968457359"/><p colinear="true" x="919.976801723904" y="124" c1x="891.4750350516183" c1y="-574.1259968457359" c2x="891.4750350516183" c2y="-574.1259968457359"/></points><startConnector><rConnector id="a7"><Owner><rel id="a8"><children><diamond id="a9" x="838" y="56" w="114.60862731933594" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="aa" x="845.402946472168" y="69.015625"><a><text><string>SUBBMITTED_BY</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="ab"><Owner><ent id="ac"><children><r id="ad" x="875" y="124" w="110" h="39"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="ae" x="892.1396484375" y="136.515625"><a><text><string>SUBMISSION</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="af"><points><p colinear="true" x="760.25" y="47" c1x="891.4750350516183" c1y="-501.9012034573061" c2x="891.4750350516183" c2y="-501.9012034573061"/><p colinear="true" x="686.75" y="87" c1x="891.4750350516183" c1y="-501.9012034573061" c2x="891.4750350516183" c2y="-501.9012034573061"/></points><startConnector><rConnector id="b0"><Owner><rel id="b1"><children><diamond id="b2" x="757" y="7" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="b3" x="776" y="20.015625"><a><text><string>ABOUT</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="b4"><Owner><ent id="b5"><children><r id="b6" x="610" y="87" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="b7" x="625.865234375" y="100.015625"><a><text><string>REPORT</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="b8"><points><p colinear="true" x="952.6086273193359" y="72.70151342993171" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="52.302435093914994" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="b9"><Owner><rel ref="a8"/></Owner></rConnector></startConnector><endConnector><rConnector id="ba"><Owner><ent ref="24"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="bb"><points><p colinear="true" x="837" y="28.672727272727276" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="48.32727272727273" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="bc"><Owner><rel ref="b1"/></Owner></rConnector></startConnector><endConnector><rConnector id="bd"><Owner><ent ref="24"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="be"><points><p colinear="true" x="234.99515901128927" y="148" c1x="-65.39030456542969" c1y="-141.60966999475397" c2x="-65.39030456542969" c2y="-141.60966999475397"/><p colinear="true" x="166" y="211"/><p colinear="true" x="67.572265625" y="227.38299409416823" c1x="-65.39030456542969" c1y="-141.60966999475397" c2x="-65.39030456542969" c2y="-141.60966999475397"/></points><startConnector><rConnector id="bf"><Owner><rel id="c0"><children><diamond id="c1" x="193" y="108" w="127.79676818847656" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="c2" x="200.53412628173828" y="121.015625"><a><text><string>FOR_MISCONDUCT</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="c3"><Owner><ent ref="21"/></Owner></rConnector></endConnector></llabelUm><atrchave id="c4" nullable="false" attributeType="NUMBER"><children><e id="c5" x="340" y="76" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="c6" x="373.47265625" y="79.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="c7"><points><p colinear="true" x="408.3333333333333" y="76" c1x="-459" c1y="-53" c2x="-459" c2y="-53"/><p colinear="true" x="493" y="46.117647058823536" c1x="-459" c1y="-53" c2x="-459" c2y="-53"/></points><startConnector><rConnector id="c8"><Owner><atrchave ref="c4"/></Owner></rConnector></startConnector><endConnector><rConnector id="c9"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="ca"><points><p colinear="true" x="1353.3341460175566" y="417" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1374.5862183623262" y="366" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="cb"><Owner><rel ref="11"/></Owner></rConnector></startConnector><endConnector><rConnector id="cc"><Owner><ent id="cd"><children><r id="ce" x="1320" y="326" w="125.84072875976562" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="cf" x="1325.6566925048828" y="339.015625"><a><text><string>PROJECT_REQUEST</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="d0" nullable="false" attributeType="VARCHAR2(128)"><children><e id="d1" x="966" y="226" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="d2" x="986.880859375" y="229.015625"><a><text><string>Status</string></text></a></t></children></atr><lcaf id="d3"><points><p colinear="true" x="997.7837837837837" y="226" c1x="-356" c1y="135" c2x="-356" c2y="135"/><p colinear="true" x="946.0216216216216" y="163" c1x="-356" c1y="135" c2x="-356" c2y="135"/></points><startConnector><rConnector id="d4"><Owner><atr ref="d0"/></Owner></rConnector></startConnector><endConnector><rConnector id="d5"><Owner><ent ref="ac"/></Owner></rConnector></endConnector></lcaf><atr id="d6" nullable="false" attributeType="VARCHAR2(128)"><children><e id="d7" x="878" y="231" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="d8" x="883.828125" y="234.015625"><a><text><string>Description</string></text></a></t></children></atr><lcaf id="d9"><points><p colinear="true" x="919.2307692307693" y="231" c1x="-320.4305835592336" c1y="127" c2x="-320.4305835592336" c2y="127"/><p colinear="true" x="927.6" y="163" c1x="-320.4305835592336" c1y="127" c2x="-320.4305835592336" c2y="127"/></points><startConnector><rConnector id="da"><Owner><atr ref="d6"/></Owner></rConnector></startConnector><endConnector><rConnector id="db"><Owner><ent ref="ac"/></Owner></rConnector></endConnector></lcaf><atr id="dc" nullable="false" attributeType="VARCHAR2(128)"><children><e id="dd" x="1058" y="-86" w="55" h="28"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="de" x="1063.36328125" y="-78.984375"><a><text><string>Reason</string></text></a></t></children></atr><rel id="df"><children><diamond id="e0" x="930" y="1001" w="119" h="66"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="e1" x="949.8818359375" y="1027.015625"><a><text><string>IS_ASSIGNED</string></text></a></t></children></rel><llabelMuitos id="e2"><points><p colinear="true" x="1049" y="1009.8810720268007" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1288" y="913"/><p colinear="true" x="1700.5917602996255" y="666" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="e3"><Owner><rel ref="df"/></Owner></rConnector></startConnector><endConnector><rConnector id="e4"><Owner><ent ref="2a"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><ent id="e5"><children><r id="e6" x="289" y="320" w="150.4765625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="e7" x="299" y="333.015625"><a><text><string>DISCUSSION_THREAD</string></text></a></t></children></ent><atr id="e8" nullable="false" attributeType="VARCHAR2(128)"><children><e id="e9" x="-73" y="320" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="ea" x="-46.04296875" y="323.015625"><a><text><string>Title</string></text></a></t></children></atr><lcaf id="eb"><points><p colinear="true" x="-29.001507302989133" y="320" c1x="-315" c1y="22" c2x="-315" c2y="22"/><p colinear="true" x="-4.210852581521749" y="258" c1x="-315" c1y="22" c2x="-315" c2y="22"/></points><startConnector><rConnector id="ec"><Owner><atr ref="e8"/></Owner></rConnector></startConnector><endConnector><rConnector id="ed"><Owner><ent ref="21"/></Owner></rConnector></endConnector></lcaf><atr id="ee" nullable="false" attributeType="VARCHAR2(128)"><children><e id="ef" x="636" y="248" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="f0" x="664.0179138183594" y="249.82794284820557"><a><text><string>Title</string></text></a></t></children></atr><lcaf id="f1"><points><p colinear="true" x="640.0547449448529" y="268" c1x="21.427734375" c1y="-105" c2x="21.427734375" c2y="-105"/><p colinear="true" x="617.572265625" y="274.2546445380233" c1x="21.427734375" c1y="-105" c2x="21.427734375" c2y="-105"/></points><startConnector><rConnector id="f2"><Owner><atr ref="ee"/></Owner></rConnector></startConnector><endConnector><rConnector id="f3"><Owner><ent ref="15"/></Owner></rConnector></endConnector></lcaf><llabelMuitos id="f4"><points><p colinear="true" x="911" y="-16.89193899782135" c1x="-3" c1y="-21.594771241830067" c2x="-3" c2y="-21.594771241830067"/><p colinear="true" x="1021" y="5.405228758169933"/><p colinear="true" x="1307" y="44.52824892738282" c1x="-3" c1y="-21.594771241830067" c2x="-3" c2y="-21.594771241830067"/></points><startConnector><rConnector id="f5"><Owner><rel ref="8b"/></Owner></rConnector></startConnector><endConnector><rConnector id="f6"><Owner><ent ref="24"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><llabelDoubleMuitos id="f7"><points><p colinear="true" x="320.79676818847656" y="124.58646514874492" c1x="-568.3903045654297" c1y="516.4740031542641" c2x="-568.3903045654297" c2y="516.4740031542641"/><p colinear="true" x="610" y="109.13685206575536" c1x="-568.3903045654297" c1y="516.4740031542641" c2x="-568.3903045654297" c2y="516.4740031542641"/></points><startConnector><rConnector id="f8"><Owner><rel ref="c0"/></Owner></rConnector></startConnector><endConnector><rConnector id="f9"><Owner><ent ref="b5"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="fa" nullable="false" attributeType="VARCHAR2(128)"><children><e id="fb" x="551" y="220" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="fc" x="566.1658248901367" y="221.82794284820557"><a><text><string>Repo_url</string></text></a></t></children></atr><lcaf id="fd"><points><p colinear="true" x="584.9977633568549" y="240" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="565.7906060987904" y="272" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="fe"><Owner><atr ref="fa"/></Owner></rConnector></startConnector><endConnector><rConnector id="ff"><Owner><ent ref="15"/></Owner></rConnector></endConnector></lcaf><atr id="100" nullable="false" attributeType="VARCHAR2(128)"><children><e id="101" x="1076" y="-225" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="102" x="1088.068359375" y="-221.984375"><a><text><string>End_date</string></text></a></t></children></atr><atrchave id="103" nullable="false" attributeType="NUMBER"><children><e id="104" x="1305" y="118" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="105" x="1338.47265625" y="121.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="106"><points><p colinear="true" x="1346.4871794871794" y="70" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1345.2564102564102" y="118" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="107"><Owner><ent ref="24"/></Owner></rConnector></startConnector><endConnector><rConnector id="108"><Owner><atrchave ref="103"/></Owner></rConnector></endConnector></lcaf><entfraca id="109"><children><r id="10a" x="1224" y="170" w="77" h="33"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="10b" x="1230.501953125" y="179.515625"><a><text><string>FEEDBACK</string></text></a></t></children></entfraca><atr id="10c" nullable="false" attributeType="VARCHAR2(128)"><children><e id="10d" x="1229" y="243" w="107" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="10e" x="1248.328125" y="249.515625"><a><text><string>Description</string></text></a></t></children></atr><atr id="10f" nullable="false" attributeType="VARCHAR2(128)"><children><e id="110" x="1196" y="111" w="101.455078125" h="30"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="111" x="1199.2792053222656" y="117.82794284820557"><a><text><string>Submission_type</string></text></a></t></children></atr><atr id="112" nullable="false" attributeType="VARCHAR2(128)"><children><e id="113" x="1161" y="219" w="85.8125" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="114" x="1171" y="220.015625"><a><text><string>Created_at</string></text></a></t></children></atr><rel id="115"><children><diamond id="116" x="1402" y="166" w="102" h="44"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="117" x="1414.73828125" y="181.015625"><a><text><string>WRITTEN_BY</string></text></a></t></children></rel><llabelUm id="118"><points><p colinear="true" x="1436.1014492753623" y="166" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1362.3623188405797" y="70" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="119"><Owner><rel ref="115"/></Owner></rConnector></startConnector><endConnector><rConnector id="11a"><Owner><ent ref="24"/></Owner></rConnector></endConnector></llabelUm><ent ref="ac"/><atrchave id="11b" nullable="false" attributeType="NUMBER"><children><e id="11c" x="1006" y="196" w="44" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="11d" x="1021.47265625" y="202.515625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="11e"><points><p colinear="true" x="1007.9545454545455" y="196" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="958.9545454545455" y="163" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="11f"><Owner><atrchave ref="11b"/></Owner></rConnector></startConnector><endConnector><rConnector id="120"><Owner><ent ref="ac"/></Owner></rConnector></endConnector></lcaf><relfraco id="121"><children><diamond id="122" x="1044" y="111" w="121.595703125" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="123" x="1054" y="124.015625"><a><text><string>SUBBMITED_FOR</string></text></a></t></children></relfraco><llabelDoubleUm id="124"><points><p colinear="true" x="1161.6274546030406" y="151" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1224" y="172.95072358765722" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="125"><Owner><relfraco ref="121"/></Owner></rConnector></startConnector><endConnector><rConnector id="126"><Owner><entfraca ref="109"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><llabelUm id="127"><points><p colinear="true" x="1044" y="135.3477258887219" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="985" y="139.5668852971904" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="128"><Owner><relfraco ref="121"/></Owner></rConnector></startConnector><endConnector><rConnector id="129"><Owner><ent ref="ac"/></Owner></rConnector></endConnector></llabelUm><lcaf id="12a"><points><p colinear="true" x="1238.6284722222222" y="203" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1215.4803240740741" y="219" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="12b"><Owner><entfraca ref="109"/></Owner></rConnector></startConnector><endConnector><rConnector id="12c"><Owner><atr ref="112"/></Owner></rConnector></endConnector></lcaf><lcaf id="12d"><points><p colinear="true" x="1258.6455841064453" y="170" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1251.871156172319" y="141" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="12e"><Owner><entfraca ref="109"/></Owner></rConnector></startConnector><endConnector><rConnector id="12f"><Owner><atr ref="10f"/></Owner></rConnector></endConnector></lcaf><lcaf id="130"><points><p colinear="true" x="1267.2142857142858" y="203" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1278.642857142857" y="243" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="131"><Owner><entfraca ref="109"/></Owner></rConnector></startConnector><endConnector><rConnector id="132"><Owner><atr ref="10c"/></Owner></rConnector></endConnector></lcaf><atrmulti id="133" nullable="false" attributeType="VARCHAR2(128)"><children><e id="134" x="-124" y="274" w="75" h="34"><a><fillColor><color rgba="#ffffebeb"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></e><t id="135" x="-118.0732421875" y="284.015625"><a><text><string>Guidelines</string></text></a></t></children></atrmulti><lcaf id="136"><points><p colinear="true" x="-57.54029702240567" y="274" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="-30.284105984669832" y="258" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="137"><Owner><atrmulti ref="133"/></Owner></rConnector></startConnector><endConnector><rConnector id="138"><Owner><ent ref="21"/></Owner></rConnector></endConnector></lcaf><atr id="139" nullable="false" attributeType="VARCHAR2(128)"><children><e id="13a" x="634" y="3" w="85.8125" h="16.344114303588867"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="13b" x="644" y="4.187682151794434"><a><text><string>Created_at</string></text></a></t></children></atr><lcaf id="13c"><points><p colinear="true" x="573" y="26.210691238718105" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="634" y="17.381995377763218" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="13d"><Owner><ent ref="1b"/></Owner></rConnector></startConnector><endConnector><rConnector id="13e"><Owner><atr ref="139"/></Owner></rConnector></endConnector></lcaf><atr id="13f" nullable="false" attributeType="VARCHAR2(128)"><children><e id="140" x="1035" y="199" w="85.8125" h="16.344114303588867"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="141" x="1045" y="200.18768215179443"><a><text><string>Created_at</string></text></a></t></children></atr><atr id="142" nullable="false" attributeType="VARCHAR2(128)"><children><e id="143" x="1531" y="90" w="64" h="16.344114303588867"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="144" x="1547.591896057129" y="91.015625"><a><text><string>Email</string></text></a></t></children></atr><lcaf id="145"><points><p colinear="true" x="1531" y="91.03545609226933" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1387" y="58.92075132440638" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="146"><Owner><atr ref="142"/></Owner></rConnector></startConnector><endConnector><rConnector id="147"><Owner><ent ref="24"/></Owner></rConnector></endConnector></lcaf><atr id="148" nullable="false" attributeType="VARCHAR2(128)"><children><e id="149" x="1207" y="60" w="64" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="14a" x="1221.298828125" y="61.015625"><a><text><string>Name</string></text></a></t></children></atr><lcaf id="14b"><points><p colinear="true" x="1271" y="62.66666666666667" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="56.66666666666667" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="14c"><Owner><atr ref="148"/></Owner></rConnector></startConnector><endConnector><rConnector id="14d"><Owner><ent ref="24"/></Owner></rConnector></endConnector></lcaf><lcaf id="14e"><points><p colinear="true" x="1058.9230667611414" y="199" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="975.2972937268875" y="163" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="14f"><Owner><atr ref="13f"/></Owner></rConnector></startConnector><endConnector><rConnector id="150"><Owner><ent ref="ac"/></Owner></rConnector></endConnector></lcaf><atr id="151" nullable="false" attributeType="VARCHAR2(128)"><children><e id="152" x="1325" y="-60" w="107" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="153" x="1352.1838150024414" y="-54.672057151794434"><a><text><string>Uername</string></text></a></t></children></atr><lcaf id="154"><points><p colinear="true" x="1374.0932642487046" y="-33" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1353.5284974093265" y="30" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="155"><Owner><atr ref="151"/></Owner></rConnector></startConnector><endConnector><rConnector id="156"><Owner><ent ref="24"/></Owner></rConnector></endConnector></lcaf><disjuncao id="157"><children><circ id="158" x="801" y="253" w="20" h="21"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="159" x="805" y="254"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao><generalizacaoLine id="15a"><points><p colinear="true" x="821" y="264.94250852283346" c1x="7" c1y="5.7018571100570625" c2x="7" c2y="5.7018571100570625"/><p colinear="true" x="1320" y="336.9236838122232" c1x="7" c1y="5.7018571100570625" c2x="7" c2y="5.7018571100570625"/></points><startConnector><rConnector id="15b"><Owner><disjuncao ref="157"/></Owner></rConnector></startConnector><endConnector><rConnector id="15c"><Owner><ent ref="cd"/></Owner></rConnector></endConnector></generalizacaoLine><generalizacaoLine id="15d"><points><p colinear="true" x="801" y="253.77950310559007" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="670.5750798722045" y="127" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="15e"><Owner><disjuncao ref="157"/></Owner></rConnector></startConnector><endConnector><rConnector id="15f"><Owner><ent ref="b5"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleGeneralizacao id="160" labelGeneralizacaoText="characteristic"><points><p colinear="true" x="910.6625" y="163" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="821" y="253.41596638655463" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="161"><Owner><ent ref="ac"/></Owner></rConnector></startConnector><endConnector><rConnector id="162"><Owner><disjuncao ref="157"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><rel ref="c0"/><rel ref="b1"/><rel ref="a8"/><ent ref="b5"/><ent ref="cd"/><rel ref="11"/><generalizacaoLine id="163"><points><p colinear="true" x="416" y="162.4054832719896" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="532.5219410409172" y="272" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="164"><Owner><disjuncao ref="1e"/></Owner></rConnector></startConnector><endConnector><rConnector id="165"><Owner><ent ref="15"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleMuitos id="166"><points><p colinear="true" x="171.95094651442307" y="-195" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="11.553560697115387" y="218" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="167"><Owner><rel ref="18"/></Owner></rConnector></startConnector><endConnector><rConnector id="168"><Owner><ent ref="21"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="169"><points><p colinear="true" x="254.0390625" y="-227.40114438718433" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1208" y="-279.80277660608505" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="16a"><Owner><rel ref="18"/></Owner></rConnector></startConnector><endConnector><rConnector id="16b"><Owner><ent ref="4b"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><generalizacaoLine id="16c"><points><p colinear="true" x="396" y="157.81581364588308" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="331.24627685546875" y="189" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="16d"><Owner><disjuncao ref="1e"/></Owner></rConnector></startConnector><endConnector><rConnector id="16e"><Owner><ent id="16f"><children><r id="170" x="215" y="189" w="149.432861328125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="171" x="248.2467041015625" y="202.015625"><a><text><string>EMBEDDABLE</string></text></a></t></children></ent></Owner></rConnector></endConnector></generalizacaoLine><rel id="172"><children><diamond id="173" x="230" y="374" w="122.064453125" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="174" x="240" y="387.015625"><a><text><string>REFERENCED_BY</string></text></a></t></children></rel><llabelMuitos id="175"><points><p colinear="true" x="254.20580428685898" y="374" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="40.61255508814102" y="258" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="176"><Owner><rel ref="172"/></Owner></rConnector></startConnector><endConnector><rConnector id="177"><Owner><ent ref="21"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><llabelUm id="178"><points><p colinear="true" x="352.064453125" y="390.9813883596748" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="473" y="385"/><p colinear="true" x="536.4127709173387" y="312" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="179"><Owner><rel ref="172"/></Owner></rConnector></startConnector><endConnector><rConnector id="17a"><Owner><ent ref="15"/></Owner></rConnector></endConnector></llabelUm><rel id="17b"><children><diamond id="17c" x="386" y="230" w="110.193359375" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="17d" x="396" y="243.015625"><a><text><string>CONTAINED_IN</string></text></a></t></children></rel><llabelUm id="17e"><points><p colinear="true" x="386" y="235.07755217896522" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="363.5604545779345" y="229" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="17f"><Owner><rel ref="17b"/></Owner></rConnector></startConnector><endConnector><rConnector id="180"><Owner><ent ref="16f"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="181"><points><p colinear="true" x="424.01703559027777" y="270" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="381.31792534722223" y="320" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="182"><Owner><rel ref="17b"/></Owner></rConnector></startConnector><endConnector><rConnector id="183"><Owner><ent ref="e5"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><generalizacaoLine id="184"><points><p colinear="true" x="229" y="264.11146822301714" c1x="-24.922495966372253" c1y="27" c2x="-24.922495966372253" c2y="27"/><p colinear="true" x="328.59698523773005" y="320" c1x="-24.922495966372253" c1y="27" c2x="-24.922495966372253" c2y="27"/></points><startConnector><rConnector id="185"><Owner><disjuncao id="186"><children><circ id="187" x="209" y="248" w="20" h="21"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="188" x="213" y="249"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao></Owner></rConnector></startConnector><endConnector><rConnector id="189"><Owner><ent ref="e5"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleMuitos id="18a"><points><p colinear="true" x="1402" y="187.5984251968504" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1301" y="186.8031496062992" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="18b"><Owner><rel ref="115"/></Owner></rConnector></startConnector><endConnector><rConnector id="18c"><Owner><entfraca ref="109"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="18d"><points><p colinear="true" x="442.5326690673828" y="-94.72661572890257" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="477" y="-104.1101861623363" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="18e"><Owner><rel ref="7c"/></Owner></rConnector></startConnector><endConnector><rConnector id="18f"><Owner><ent ref="73"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><ent ref="16f"/><generalizacaoLine id="190"><points><p colinear="true" x="209" y="257.547459149919" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="67.572265625" y="244.07588971725983" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="191"><Owner><disjuncao ref="186"/></Owner></rConnector></startConnector><endConnector><rConnector id="192"><Owner><ent ref="21"/></Owner></rConnector></endConnector></generalizacaoLine><disjuncao ref="186"/><llabelDoubleGeneralizacao id="193" labelGeneralizacaoText="caracteristica"><points><p colinear="true" x="261.14413544625944" y="229" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="229" y="251.50021232192145" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="194"><Owner><ent ref="16f"/></Owner></rConnector></startConnector><endConnector><rConnector id="195"><Owner><disjuncao ref="186"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><entfraca id="196"><children><r id="197" x="562" y="791" w="190.14453125" h="27"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="198" x="597.1162109375" y="797.515625"><a><text><string>ROLE_PERMISSIONS</string></text></a></t></children></entfraca><relfraco id="199"><children><diamond id="19a" x="439" y="842" w="111" h="38"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="19b" x="463.1318359375" y="854.015625"><a><text><string>FOR_ROLE</string></text></a></t></children></relfraco><llabelDoubleUm id="19c"><points><p colinear="true" x="549.1703194137168" y="842" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="618.2275649889381" y="818" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="19d"><Owner><relfraco ref="199"/></Owner></rConnector></startConnector><endConnector><rConnector id="19e"><Owner><entfraca ref="196"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><relfraco id="19f"><children><diamond id="1a0" x="762" y="830" w="157" h="57"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="1a1" x="788.03515625" y="851.515625"><a><text><string>FOR_PERMISSION</string></text></a></t></children></relfraco><llabelDoubleUm id="1a2"><points><p colinear="true" x="762" y="835.3900814566364" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="702.92919921875" y="818" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1a3"><Owner><relfraco ref="19f"/></Owner></rConnector></startConnector><endConnector><rConnector id="1a4"><Owner><entfraca ref="196"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><llabelMuitos id="1a5"><points><p colinear="true" x="872.2282272101684" y="887" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="925.6652414588731" y="935" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1a6"><Owner><relfraco ref="19f"/></Owner></rConnector></startConnector><endConnector><rConnector id="1a7"><Owner><ent ref="39"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atr id="1a8" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1a9" x="237" y="569" w="102.833984375" h="37"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1aa" x="247" y="580.515625"><a><text><string>override_type</string></text></a></t></children></atr><ent id="1ab"><children><r id="1ac" x="284" y="857" w="107" h="53"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1ad" x="292.5498046875" y="876.515625"><a><text><string>PROJECT_ROLE</string></text></a></t></children></ent><rel id="1ae"><children><diamond id="1af" x="375" y="524" w="106" h="53"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1b0" x="400.80078125" y="543.515625"><a><text><string>VALID_IN</string></text></a></t></children></rel><llabelDoubleMuitos id="1b1"><points><p colinear="true" x="420.79804804804803" y="577" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="344.70195195195197" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1b2"><Owner><rel ref="1ae"/></Owner></rConnector></startConnector><endConnector><rConnector id="1b3"><Owner><ent ref="1ab"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atrchave id="1b4" nullable="false" attributeType="NUMBER"><children><e id="1b5" x="104" y="676" w="106" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1b6" x="150.6484375" y="682.515625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>id</string></text></a></t></children></atrchave><atr id="1b7" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1b8" x="141" y="611" w="106" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1b9" x="176.984375" y="617.515625"><a><text><string>name</string></text></a></t></children></atr><lcaf id="1ba"><points><p colinear="true" x="169.56056701030928" y="703" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="312.84407216494844" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1bb"><Owner><atrchave ref="1b4"/></Owner></rConnector></startConnector><endConnector><rConnector id="1bc"><Owner><ent ref="1ab"/></Owner></rConnector></endConnector></lcaf><lcaf id="1bd"><points><p colinear="true" x="201.47972972972974" y="638" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="322.81756756756755" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1be"><Owner><atr ref="1b7"/></Owner></rConnector></startConnector><endConnector><rConnector id="1bf"><Owner><ent ref="1ab"/></Owner></rConnector></endConnector></lcaf><llabelMuitos id="1c0"><points><p colinear="true" x="439" y="868.953821656051" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="391" y="875.8328025477707" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1c1"><Owner><relfraco ref="199"/></Owner></rConnector></startConnector><endConnector><rConnector id="1c2"><Owner><ent ref="1ab"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><llabelMuitos id="1c3"><points><p colinear="true" x="930" y="1020.2657208588957" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="391" y="895.849309815951" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1c4"><Owner><rel ref="df"/></Owner></rConnector></startConnector><endConnector><rConnector id="1c5"><Owner><ent ref="1ab"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><lcaf id="1c6"><points><p colinear="true" x="291.48468017578125" y="606" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="333.1057442330025" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1c7"><Owner><atr ref="1a8"/></Owner></rConnector></startConnector><endConnector><rConnector id="1c8"><Owner><ent ref="1ab"/></Owner></rConnector></endConnector></lcaf><ent id="1c9"><children><r id="1ca" x="662" y="504" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1cb" x="673.083984375" y="517.015625"><a><text><string>CHANNEL</string></text></a></t></children></ent><lcaf id="1cc"><points><p colinear="true" x="707.4871794871794" y="417" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="703.025641025641" y="504" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1cd"><Owner><atrchave ref="c"/></Owner></rConnector></startConnector><endConnector><rConnector id="1ce"><Owner><ent ref="1c9"/></Owner></rConnector></endConnector></lcaf><lcaf id="1cf"><points><p colinear="true" x="611" y="498" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="662" y="512.5714285714286" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1d0"><Owner><atr ref="88"/></Owner></rConnector></startConnector><endConnector><rConnector id="1d1"><Owner><ent ref="1c9"/></Owner></rConnector></endConnector></lcaf><lcaf id="1d2"><points><p colinear="true" x="783.7777777777778" y="444" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="722.4444444444445" y="504" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1d3"><Owner><atr ref="9"/></Owner></rConnector></startConnector><endConnector><rConnector id="1d4"><Owner><ent ref="1c9"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="1d5"><points><p colinear="true" x="982" y="553.0207464559825" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="742" y="528.1458209222832" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1d6"><Owner><rel ref="3c"/></Owner></rConnector></startConnector><endConnector><rConnector id="1d7"><Owner><ent ref="1c9"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><rel id="1d8"><children><diamond id="1d9" x="547" y="374" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1da" x="574.5751953125" y="387.015625"><a><text><string>HAS</string></text></a></t></children></rel><llabelUm id="1db"><points><p colinear="true" x="580.4874770220588" y="374" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="560.2986557904412" y="312" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1dc"><Owner><rel ref="1d8"/></Owner></rConnector></startConnector><endConnector><rConnector id="1dd"><Owner><ent ref="15"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="1de"><points><p colinear="true" x="604.6923076923077" y="414" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="684.3076923076923" y="504" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1df"><Owner><rel ref="1d8"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e0"><Owner><ent ref="1c9"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelUm id="1e1"><points><p colinear="true" x="440.89490336375724" y="524" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="544.0541302738153" y="312" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1e2"><Owner><rel ref="1ae"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e3"><Owner><ent ref="15"/></Owner></rConnector></endConnector></llabelUm><rel ref="2"/><llabelUm id="1e4"><points><p colinear="true" x="661.9978070175439" y="561" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="680.3771929824561" y="544" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1e5"><Owner><rel ref="2"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e6"><Owner><ent ref="1c9"/></Owner></rConnector></endConnector></llabelUm><atrchave id="1e7" nullable="false" attributeType="NUMBER"><children><e id="1e8" x="1004" y="-140" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1e9" x="1037.47265625" y="-136.984375"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><atr id="1ea" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1eb" x="1030" y="-204" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1ec" x="1038.8134765625" y="-200.984375"><a><text><string>Start_date</string></text></a></t></children></atr><ent id="1ed"><children><r id="1ee" x="1186" y="-140" w="139.689453125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1ef" x="1196" y="-126.984375"><a><text><string>BLACKLISTED_USER</string></text></a></t></children></ent><rel id="1f0"><children><diamond id="1f1" x="1188" y="-200" w="122.931640625" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1f2" x="1198" y="-186.984375"><a><text><string>BLACKLISTED_BY</string></text></a></t></children></rel><llabelDoubleMuitos id="1f3"><points><p colinear="true" x="1251.5921223958333" y="-160" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1253.7184244791667" y="-140" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1f4"><Owner><rel ref="1f0"/></Owner></rConnector></startConnector><endConnector><rConnector id="1f5"><Owner><ent ref="1ed"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="1f6"><points><p colinear="true" x="1249.178404564951" y="-200" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1248.287415747549" y="-262" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1f7"><Owner><rel ref="1f0"/></Owner></rConnector></startConnector><endConnector><rConnector id="1f8"><Owner><ent ref="4b"/></Owner></rConnector></endConnector></llabelUm><rel id="1f9"><children><diamond id="1fa" x="1215" y="-57" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1fb" x="1224.2236328125" y="-43.984375"><a><text><string>RFERS_TO</string></text></a></t></children></rel><llabelDoubleMuitos id="1fc"><points><p colinear="true" x="1255.203548569277" y="-57" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1255.641177993223" y="-100" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1fd"><Owner><rel ref="1f9"/></Owner></rConnector></startConnector><endConnector><rConnector id="1fe"><Owner><ent ref="1ed"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelUm id="1ff"><points><p colinear="true" x="1276.1494252873563" y="-17" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1325.8505747126437" y="30" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="200"><Owner><rel ref="1f9"/></Owner></rConnector></startConnector><endConnector><rConnector id="201"><Owner><ent ref="24"/></Owner></rConnector></endConnector></llabelUm><lcaf id="202"><points><p colinear="true" x="1084" y="-128.11182460620756" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1186" y="-123.29697735203683" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="203"><Owner><atrchave ref="1e7"/></Owner></rConnector></startConnector><endConnector><rConnector id="204"><Owner><ent ref="1ed"/></Owner></rConnector></endConnector></lcaf><lcaf id="205"><points><p colinear="true" x="1113" y="-79.74899244982313" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1186" y="-100.31904513480822" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="206"><Owner><atr ref="dc"/></Owner></rConnector></startConnector><endConnector><rConnector id="207"><Owner><ent ref="1ed"/></Owner></rConnector></endConnector></lcaf><lcaf id="208"><points><p colinear="true" x="1095.1141522381756" y="-184" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1205.6164220861485" y="-140" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="209"><Owner><atr ref="1ea"/></Owner></rConnector></startConnector><endConnector><rConnector id="20a"><Owner><ent ref="1ed"/></Owner></rConnector></endConnector></lcaf><lcaf id="20b"><points><p colinear="true" x="1130.7204975328948" y="-205" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1226.4037314967104" y="-140" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="20c"><Owner><atr ref="100"/></Owner></rConnector></startConnector><endConnector><rConnector id="20d"><Owner><ent ref="1ed"/></Owner></rConnector></endConnector></lcaf><rel id="20e"><children><diamond id="20f" x="211" y="-193" w="142.408203125" h="68"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="210" x="221" y="-165.984375"><a><text><string>BLACKLISTED_FROM</string></text></a></t></children></rel><llabelUm id="211"><points><p colinear="true" x="258.35974151841936" y="-125" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="17.812226956076813" y="218" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="212"><Owner><rel ref="20e"/></Owner></rConnector></startConnector><endConnector><rConnector id="213"><Owner><ent ref="21"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="214"><points><p colinear="true" x="353.408203125" y="-170.9534503209713" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="586" y="-210"/><p colinear="true" x="795" y="-205"/><p colinear="true" x="1186" y="-132.8824339644632" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="215"><Owner><rel ref="20e"/></Owner></rConnector></startConnector><endConnector><rConnector id="216"><Owner><ent ref="1ed"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><entfraca id="217"><children><r id="218" x="917" y="619" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="219" x="927.8701171875" y="632.015625"><a><text><string>MESSAGE</string></text></a></t></children></entfraca><atrchaveparcial id="21a" nullable="false" attributeType="NUMBER"><children><e id="21b" x="734" y="669" w="125" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="21c" x="771.052734375" y="675.515625"><a><strokeDashes><doubleArray><double>3</double></doubleArray></strokeDashes><fontBold><boolean>true</boolean></fontBold><text><string>Sent_at</string></text></a></t></children></atrchaveparcial><relfraco id="21d"><children><diamond id="21e" x="771" y="554" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="21f" x="794.4892578125" y="572.015625"><a><text><string>SENT_IN</string></text></a></t></children></relfraco><relfraco id="220"><children><diamond id="221" x="1110" y="644" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="222" x="1131.9658203125" y="662.015625"><a><text><string>SENT_BY</string></text></a></t></children></relfraco><llabelDoubleMuitos id="223"><points><p colinear="true" x="868" y="600.1636363636363" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="917" y="621.5454545454545" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="224"><Owner><relfraco ref="21d"/></Owner></rConnector></startConnector><endConnector><rConnector id="225"><Owner><entfraca ref="217"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelUm id="226"><points><p colinear="true" x="771" y="556.2978723404256" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="742" y="542.7234042553191" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="227"><Owner><relfraco ref="21d"/></Owner></rConnector></startConnector><endConnector><rConnector id="228"><Owner><ent ref="1c9"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="229"><points><p colinear="true" x="1207" y="667.0616854908775" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1694" y="647.598609904431" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="22a"><Owner><relfraco ref="220"/></Owner></rConnector></startConnector><endConnector><rConnector id="22b"><Owner><ent ref="2a"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="22c"><points><p colinear="true" x="1110" y="661.7791563275434" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="997" y="644.955334987593" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="22d"><Owner><relfraco ref="220"/></Owner></rConnector></startConnector><endConnector><rConnector id="22e"><Owner><entfraca ref="217"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><lcaf id="22f"><points><p colinear="true" x="846.3103448275863" y="669" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="917" y="649.8411214953271" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="230"><Owner><atrchaveparcial ref="21a"/></Owner></rConnector></startConnector><endConnector><rConnector id="231"><Owner><entfraca ref="217"/></Owner></rConnector></endConnector></lcaf><lcaf id="232"><points><p colinear="true" x="950.1151515151515" y="710" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="955.060606060606" y="659" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="233"><Owner><atr ref="6c"/></Owner></rConnector></startConnector><endConnector><rConnector id="234"><Owner><entfraca ref="217"/></Owner></rConnector></endConnector></lcaf><entfraca id="235"><children><r id="236" x="913" y="416" w="283" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="237" x="937.9611968994141" y="427.82794284820557"><a><text><string>DEVELOPER_ASSOCIATED_WITH_PROJECT</string></text></a></t></children></entfraca><atrchaveparcial id="238" nullable="false" attributeType="NUMBER"><children><e id="239" x="882" y="470" w="125" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="23a" x="913.5997772216797" y="475.32794284820557"><a><strokeDashes><doubleArray><double>3</double></doubleArray></strokeDashes><fontBold><boolean>true</boolean></fontBold><text><string>Started_at</string></text></a></t></children></atrchaveparcial><lcaf id="23b"><points><p colinear="true" x="975.7631578947369" y="470" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1008.1842105263158" y="456" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="23c"><Owner><atrchaveparcial ref="238"/></Owner></rConnector></startConnector><endConnector><rConnector id="23d"><Owner><entfraca ref="235"/></Owner></rConnector></endConnector></lcaf><lcaf id="23e"><points><p colinear="true" x="1087.3064240572746" y="483" c1x="1.575538727174262" c1y="-17" c2x="1.575538727174262" c2y="-17"/><p colinear="true" x="1068.460180449904" y="456" c1x="1.575538727174262" c1y="-17" c2x="1.575538727174262" c2y="-17"/></points><startConnector><rConnector id="23f"><Owner><atr ref="6f"/></Owner></rConnector></startConnector><endConnector><rConnector id="240"><Owner><entfraca ref="235"/></Owner></rConnector></endConnector></lcaf><relfraco id="241"><children><diamond id="242" x="792" y="343" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="243" x="807.0917663574219" y="359.82794284820557"><a><text><string>IN_PROJECT</string></text></a></t></children></relfraco><relfraco id="244"><children><diamond id="245" x="1347" y="490" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="246" x="1361.3777618408203" y="506.82794284820557"><a><text><string>ABOUT_DEV</string></text></a></t></children></relfraco><llabelUm id="247"><points><p colinear="true" x="792" y="355.14397724756896" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="617.572265625" y="308.90795824179565" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="248"><Owner><relfraco ref="241"/></Owner></rConnector></startConnector><endConnector><rConnector id="249"><Owner><ent ref="15"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="24a"><points><p colinear="true" x="889" y="383.41121495327104" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="991.5588235294117" y="416" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="24b"><Owner><relfraco ref="241"/></Owner></rConnector></startConnector><endConnector><rConnector id="24c"><Owner><entfraca ref="235"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="24d"><points><p colinear="true" x="1347" y="503.7639296187683" c1x="1" c1y="18.10973084886126" c2x="1" c2y="18.10973084886126"/><p colinear="true" x="1140.8291139240507" y="456" c1x="1" c1y="18.10973084886126" c2x="1" c2y="18.10973084886126"/></points><startConnector><rConnector id="24e"><Owner><relfraco ref="244"/></Owner></rConnector></startConnector><endConnector><rConnector id="24f"><Owner><entfraca ref="235"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleUm id="250"><points><p colinear="true" x="1444" y="533.7695716395864" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1694" y="630.519940915805" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="251"><Owner><relfraco ref="244"/></Owner></rConnector></startConnector><endConnector><rConnector id="252"><Owner><ent ref="2a"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><t id="253" x="1548" y="245"><a><text><string/></text></a></t><entfraca ref="6"/><relfraco id="254"><children><diamond id="255" x="552" y="702" w="195" h="72"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="256" x="578.009765625" y="731.015625"><a><text><string>FOR_ROLE_PERMISSION</string></text></a></t></children></relfraco><llabelDoubleMuitos id="257"><points><p colinear="true" x="600.6216452205882" y="702" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="561.2474149816177" y="673" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="258"><Owner><relfraco ref="254"/></Owner></rConnector></startConnector><endConnector><rConnector id="259"><Owner><entfraca ref="6"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleUm id="25a"><points><p colinear="true" x="653.5992716165414" y="774" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="655.535038768797" y="791" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="25b"><Owner><relfraco ref="254"/></Owner></rConnector></startConnector><endConnector><rConnector id="25c"><Owner><entfraca ref="196"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm></figures></drawing>
Index: cs/versioning/er_models/ER_BUILD_BOARD_v5.4.xml
===================================================================
--- docs/versioning/er_models/ER_BUILD_BOARD_v5.4.xml	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,1 +1,0 @@
-<drawing><figures><atr id="0" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1" x="754" y="424" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="2" x="776.298828125" y="427.015625"><a><text><string>Name</string></text></a></t></children></atr><atrchave id="3" nullable="false" attributeType="NUMBER"><children><e id="4" x="668" y="397" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="5" x="701.47265625" y="400.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><llabelUm id="6"><points><p colinear="true" x="1305" y="425.71165644171776" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1019" y="345"/><p colinear="true" x="617.572265625" y="299.26690513225816" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="7"><Owner><rel id="8"><children><diamond id="9" x="1305" y="417" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="a" x="1315.5859375" y="430.015625"><a><text><string>RECIEVES</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="b"><Owner><ent id="c"><children><r id="d" x="490" y="272" w="127.572265625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="e" x="500" y="285.015625"><a><text><string>PROJECT_THREAD</string></text></a></t></children></ent></Owner></rConnector></endConnector></llabelUm><rel id="f"><children><diamond id="10" x="112" y="-252" w="142.0390625" h="57"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="11" x="125" y="-230.484375"><a><text><string>IS_MODERATED_BY</string></text></a></t></children></rel><ent id="12"><children><r id="13" x="493" y="12" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="14" x="508.138671875" y="25.015625"><a><text><string>THREAD</string></text></a></t></children></ent><disjuncao id="15"><children><circ id="16" x="396" y="143" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="17" x="400" y="144"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao><ent ref="c"/><ent id="18"><children><r id="19" x="-60" y="218" w="127.572265625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1a" x="-42.0400390625" y="231.015625"><a><text><string>TOPIC_THREAD</string></text></a></t></children></ent><ent id="1b"><children><r id="1c" x="1307" y="30" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1d" x="1330.83984375" y="43.015625"><a><text><string>USER</string></text></a></t></children></ent><llabelDoubleGeneralizacao id="1e" labelGeneralizacaoText="caracteristica"><points><p colinear="true" x="416" y="143.4724409448819" c1x="-14.280559426255081" c1y="-40" c2x="-14.280559426255081" c2y="-40"/><p colinear="true" x="512.00826446281" y="52" c1x="-14.280559426255081" c1y="-40" c2x="-14.280559426255081" c2y="-40"/></points><startConnector><rConnector id="1f"><Owner><disjuncao ref="15"/></Owner></rConnector></startConnector><endConnector><rConnector id="20"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><ent id="21"><children><r id="22" x="1694" y="626" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="23" x="1700.8197708129883" y="637.8279428482056"><a><text><string>DEVELOPER</string></text></a></t></children></ent><generalizacaoLine id="24"><points><p colinear="true" x="1617.9439868204283" y="49" c1x="477.9436152570481" c1y="499" c2x="477.9436152570481" c2y="499"/><p colinear="true" x="1730.1120263591433" y="626" c1x="477.9436152570481" c1y="499" c2x="477.9436152570481" c2y="499"/></points><startConnector><rConnector id="25"><Owner><sobreposicao id="26"><children><circ id="27" x="1606" y="29" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="28" x="1610" y="30"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>o</string></text></a></tn></children></sobreposicao></Owner></rConnector></startConnector><endConnector><rConnector id="29"><Owner><ent ref="21"/></Owner></rConnector></endConnector></generalizacaoLine><ent id="2a"><children><r id="2b" x="1485" y="292" w="120" h="54"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="2c" x="1485.591796875" y="312.015625"><a><text><string>PROJECT_MANAGER</string></text></a></t></children></ent><generalizacaoLine id="2d"><points><p colinear="true" x="1613.4642857142858" y="49" c1x="303" c1y="473" c2x="303" c2y="473"/><p colinear="true" x="1551.8464285714285" y="292" c1x="303" c1y="473" c2x="303" c2y="473"/></points><startConnector><rConnector id="2e"><Owner><sobreposicao ref="26"/></Owner></rConnector></startConnector><endConnector><rConnector id="2f"><Owner><ent ref="2a"/></Owner></rConnector></endConnector></generalizacaoLine><ent id="30"><children><r id="31" x="897" y="935" w="101.861328125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="32" x="907" y="948.015625"><a><text><string>PERMISSIONS</string></text></a></t></children></ent><rel id="33"><children><diamond id="34" x="982" y="539" w="115.37890625" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="35" x="998.591796875" y="552.015625"><a><text><string>CONSTRUCTS</string></text></a></t></children></rel><llabelUm id="36"><points><p colinear="true" x="1097.37890625" y="566.2287284767094" c1x="-254.06871916118416" c1y="253" c2x="-254.06871916118416" c2y="253"/><p colinear="true" x="1694" y="640.9878335916644" c1x="-254.06871916118416" c1y="253" c2x="-254.06871916118416" c2y="253"/></points><startConnector><rConnector id="37"><Owner><rel ref="33"/></Owner></rConnector></startConnector><endConnector><rConnector id="38"><Owner><ent ref="21"/></Owner></rConnector></endConnector></llabelUm><rel id="39"><children><diamond id="3a" x="740" y="-85" w="123" h="41"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="3b" x="753.810546875" y="-71.484375"><a><text><string>IS_CREATED_BY</string></text></a></t></children></rel><llabelDoubleMuitos id="3c"><points><p colinear="true" x="740" y="-63.38181818181818" c1x="68" c1y="191" c2x="68" c2y="191"/><p colinear="true" x="609" y="-61"/><p colinear="true" x="549.3440860215054" y="12" c1x="68" c1y="191" c2x="68" c2y="191"/></points><startConnector><rConnector id="3d"><Owner><rel ref="39"/></Owner></rConnector></startConnector><endConnector><rConnector id="3e"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="3f"><points><p colinear="true" x="863" y="-51.591200733272224" c1x="527" c1y="244" c2x="527" c2y="244"/><p colinear="true" x="1307" y="41.60403299725023" c1x="527" c1y="244" c2x="527" c2y="244"/></points><startConnector><rConnector id="40"><Owner><rel ref="39"/></Owner></rConnector></startConnector><endConnector><rConnector id="41"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><ent id="42"><children><r id="43" x="1208" y="-302" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="44" x="1208.859375" y="-288.984375"><a><text><string>MODERATOR</string></text></a></t></children></ent><sobreposicao ref="26"/><generalizacaoLine id="45"><points><p colinear="true" x="1606" y="30.27717391304348" c1x="-502.29203539823015" c1y="338" c2x="-502.29203539823015" c2y="338"/><p colinear="true" x="1270.9283489096574" y="-262" c1x="-502.29203539823015" c1y="338" c2x="-502.29203539823015" c2y="338"/></points><startConnector><rConnector id="46"><Owner><sobreposicao ref="26"/></Owner></rConnector></startConnector><endConnector><rConnector id="47"><Owner><ent ref="42"/></Owner></rConnector></endConnector></generalizacaoLine><lcaf id="48"><points><p colinear="true" x="1387" y="48.36431226765799" c1x="-186" c1y="359.3731343283582" c2x="-186" c2y="359.3731343283582"/><p colinear="true" x="1606" y="39.4089219330855" c1x="-186" c1y="359.3731343283582" c2x="-186" c2y="359.3731343283582"/></points><startConnector><rConnector id="49"><Owner><ent ref="1b"/></Owner></rConnector></startConnector><endConnector><rConnector id="4a"><Owner><sobreposicao ref="26"/></Owner></rConnector></endConnector></lcaf><atrchave id="4b" nullable="false" attributeType="NUMBER"><children><e id="4c" x="1025" y="917" w="60" h="24"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="4d" x="1035.6083984375" y="922.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Name</string></text></a></t></children></atrchave><lcaf id="4e"><points><p colinear="true" x="1025" y="936.2849989511031" c1x="-83" c1y="375.60399192891236" c2x="-83" c2y="375.60399192891236"/><p colinear="true" x="998.861328125" y="942.6323388575233" c1x="-83" c1y="375.60399192891236" c2x="-83" c2y="375.60399192891236"/></points><startConnector><rConnector id="4f"><Owner><atrchave ref="4b"/></Owner></rConnector></startConnector><endConnector><rConnector id="50"><Owner><ent ref="30"/></Owner></rConnector></endConnector></lcaf><atr id="51" nullable="false" attributeType="VARCHAR2(128)"><children><e id="52" x="1426" y="14" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="53" x="1437.599609375" y="17.015625"><a><text><string>Password</string></text></a></t></children></atr><lcaf id="54"><points><p colinear="true" x="1426" y="32.739495798319325" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/><p colinear="true" x="1387" y="41.260504201680675" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/></points><startConnector><rConnector id="55"><Owner><atr ref="51"/></Owner></rConnector></startConnector><endConnector><rConnector id="56"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><atr id="57" nullable="false" attributeType="VARCHAR2(128)"><children><e id="58" x="305" y="-8" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="59" x="321.1376953125" y="-4.984375"><a><text><string>Content</string></text></a></t></children></atr><lcaf id="5a"><points><p colinear="true" x="385" y="8.382978723404257" c1x="-91" c1y="-14" c2x="-91" c2y="-14"/><p colinear="true" x="493" y="25.617021276595747" c1x="-91" c1y="-14" c2x="-91" c2y="-14"/></points><startConnector><rConnector id="5b"><Owner><atr ref="57"/></Owner></rConnector></startConnector><endConnector><rConnector id="5c"><Owner><ent ref="12"/></Owner></rConnector></endConnector></lcaf><atr id="5d" nullable="false" attributeType="VARCHAR2(128)"><children><e id="5e" x="1468" y="53" w="86" h="30"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="5f" x="1479.5477752685547" y="59.827942848205566"><a><text><string>Register_at</string></text></a></t></children></atr><lcaf id="60"><points><p colinear="true" x="1468" y="63.28048780487804" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/><p colinear="true" x="1387" y="54.390243902439025" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/></points><startConnector><rConnector id="61"><Owner><atr ref="5d"/></Owner></rConnector></startConnector><endConnector><rConnector id="62"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><atr id="63" nullable="false" attributeType="VARCHAR2(128)"><children><e id="64" x="909" y="710" w="80" h="23"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="65" x="925.1376953125" y="714.515625"><a><text><string>Content</string></text></a></t></children></atr><atr id="66" nullable="false" attributeType="VARCHAR2(128)"><children><e id="67" x="1036" y="483" w="116.57302856445312" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="68" x="1068.282341003418" y="484.82794284820557"><a><text><string>Ended_at</string></text></a></t></children></atr><t id="69" x="1499" y="514"><a><text><null/></text></a></t><ent id="6a"><children><r id="6b" x="477" y="-135" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="6c" x="504.5810546875" y="-121.984375"><a><text><string>TAG</string></text></a></t></children></ent><rel id="6d"><children><diamond id="6e" x="778" y="-148" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="6f" x="790.4814453125" y="-134.984375"><a><text><string>CREATES</string></text></a></t></children></rel><llabelUm id="70"><points><p colinear="true" x="858" y="-114.54064272211721" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="1307" y="36.5406427221172" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="71"><Owner><rel ref="6d"/></Owner></rConnector></startConnector><endConnector><rConnector id="72"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><rel id="73"><children><diamond id="74" x="327" y="-99" w="115.53266906738281" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="75" x="338.5300064086914" y="-85.984375"><a><text><string>ASSISGNED_TO</string></text></a></t></children></rel><llabelMuitos id="76"><points><p colinear="true" x="411.47510308617944" y="-59" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="506.29123144751196" y="12" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="77"><Owner><rel ref="73"/></Owner></rConnector></startConnector><endConnector><rConnector id="78"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atrchave id="79" nullable="false" attributeType="NUMBER"><children><e id="7a" x="530" y="-178" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="7b" x="550.6083984375" y="-174.984375"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Name</string></text></a></t></children></atrchave><lcaf id="7c"><points><p colinear="true" x="537" y="-135" c1x="-597" c1y="-116" c2x="-597" c2y="-116"/><p colinear="true" x="560" y="-158" c1x="-597" c1y="-116" c2x="-597" c2y="-116"/></points><startConnector><rConnector id="7d"><Owner><ent ref="6a"/></Owner></rConnector></startConnector><endConnector><rConnector id="7e"><Owner><atrchave ref="79"/></Owner></rConnector></endConnector></lcaf><atr id="7f" nullable="false" attributeType="VARCHAR2(128)"><children><e id="80" x="536" y="478" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="81" x="541.828125" y="481.015625"><a><text><string>Description</string></text></a></t></children></atr><rel id="82"><children><diamond id="83" x="831" y="-45" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="84" x="854.353515625" y="-31.984375"><a><text><string>LIKES</string></text></a></t></children></rel><llabelMuitos id="85"><points><p colinear="true" x="831" y="-27.844444444444445" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="646" y="-41"/><p colinear="true" x="563.9589041095891" y="12" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="86"><Owner><rel ref="82"/></Owner></rConnector></startConnector><endConnector><rConnector id="87"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atr id="88" nullable="false" attributeType="VARCHAR2(128)"><children><e id="89" x="1426" y="108" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="8a" x="1439.8671875" y="111.015625"><a><text><string>Is_active</string></text></a></t></children></atr><lcaf id="8b"><points><p colinear="true" x="1448.5" y="108" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1382" y="70" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="8c"><Owner><atr ref="88"/></Owner></rConnector></startConnector><endConnector><rConnector id="8d"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="8e"><points><p colinear="true" x="778" y="-126.27242524916943" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="557" y="-116.72757475083057" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="8f"><Owner><rel ref="6d"/></Owner></rConnector></startConnector><endConnector><rConnector id="90"><Owner><ent ref="6a"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="91" nullable="false" attributeType="VARCHAR2(128)"><children><e id="92" x="1515" y="118" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="93" x="1545.147933959961" y="119.82794284820557"><a><text><string>Sex</string></text></a></t></children></atr><atr id="94" nullable="false" attributeType="VARCHAR2(128)"><children><e id="95" x="1397" y="-20" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="96" x="1402.828125" y="-16.984375"><a><text><string>Description</string></text></a></t></children></atr><lcaf id="97"><points><p colinear="true" x="1528.3333333333333" y="118" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1387" y="65" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="98"><Owner><atr ref="91"/></Owner></rConnector></startConnector><endConnector><rConnector id="99"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><lcaf id="9a"><points><p colinear="true" x="1422" y="0" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1377" y="30" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="9b"><Owner><atr ref="94"/></Owner></rConnector></startConnector><endConnector><rConnector id="9c"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="9d"><points><p colinear="true" x="905.5845170197664" y="96" c1x="891.4750350516183" c1y="-574.1259968457359" c2x="891.4750350516183" c2y="-574.1259968457359"/><p colinear="true" x="919.976801723904" y="124" c1x="891.4750350516183" c1y="-574.1259968457359" c2x="891.4750350516183" c2y="-574.1259968457359"/></points><startConnector><rConnector id="9e"><Owner><rel id="9f"><children><diamond id="a0" x="838" y="56" w="114.60862731933594" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="a1" x="845.402946472168" y="69.015625"><a><text><string>SUBBMITTED_BY</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="a2"><Owner><ent id="a3"><children><r id="a4" x="875" y="124" w="110" h="39"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="a5" x="892.1396484375" y="136.515625"><a><text><string>SUBMISSION</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="a6"><points><p colinear="true" x="760.25" y="47" c1x="891.4750350516183" c1y="-501.9012034573061" c2x="891.4750350516183" c2y="-501.9012034573061"/><p colinear="true" x="686.75" y="87" c1x="891.4750350516183" c1y="-501.9012034573061" c2x="891.4750350516183" c2y="-501.9012034573061"/></points><startConnector><rConnector id="a7"><Owner><rel id="a8"><children><diamond id="a9" x="757" y="7" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="aa" x="776" y="20.015625"><a><text><string>ABOUT</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="ab"><Owner><ent id="ac"><children><r id="ad" x="610" y="87" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="ae" x="625.865234375" y="100.015625"><a><text><string>REPORT</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="af"><points><p colinear="true" x="952.6086273193359" y="72.70151342993171" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="52.302435093914994" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="b0"><Owner><rel ref="9f"/></Owner></rConnector></startConnector><endConnector><rConnector id="b1"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="b2"><points><p colinear="true" x="837" y="28.672727272727276" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="48.32727272727273" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="b3"><Owner><rel ref="a8"/></Owner></rConnector></startConnector><endConnector><rConnector id="b4"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="b5"><points><p colinear="true" x="234.99515901128927" y="148" c1x="-65.39030456542969" c1y="-141.60966999475397" c2x="-65.39030456542969" c2y="-141.60966999475397"/><p colinear="true" x="166" y="211"/><p colinear="true" x="67.572265625" y="227.38299409416823" c1x="-65.39030456542969" c1y="-141.60966999475397" c2x="-65.39030456542969" c2y="-141.60966999475397"/></points><startConnector><rConnector id="b6"><Owner><rel id="b7"><children><diamond id="b8" x="193" y="108" w="127.79676818847656" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="b9" x="200.53412628173828" y="121.015625"><a><text><string>FOR_MISCONDUCT</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="ba"><Owner><ent ref="18"/></Owner></rConnector></endConnector></llabelUm><atrchave id="bb" nullable="false" attributeType="NUMBER"><children><e id="bc" x="340" y="76" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="bd" x="373.47265625" y="79.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="be"><points><p colinear="true" x="408.3333333333333" y="76" c1x="-459" c1y="-53" c2x="-459" c2y="-53"/><p colinear="true" x="493" y="46.117647058823536" c1x="-459" c1y="-53" c2x="-459" c2y="-53"/></points><startConnector><rConnector id="bf"><Owner><atrchave ref="bb"/></Owner></rConnector></startConnector><endConnector><rConnector id="c0"><Owner><ent ref="12"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="c1"><points><p colinear="true" x="1353.3341460175566" y="417" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1374.5862183623262" y="366" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="c2"><Owner><rel ref="8"/></Owner></rConnector></startConnector><endConnector><rConnector id="c3"><Owner><ent id="c4"><children><r id="c5" x="1320" y="326" w="125.84072875976562" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="c6" x="1325.6566925048828" y="339.015625"><a><text><string>PROJECT_REQUEST</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="c7" nullable="false" attributeType="VARCHAR2(128)"><children><e id="c8" x="966" y="226" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="c9" x="986.880859375" y="229.015625"><a><text><string>Status</string></text></a></t></children></atr><lcaf id="ca"><points><p colinear="true" x="997.7837837837837" y="226" c1x="-356" c1y="135" c2x="-356" c2y="135"/><p colinear="true" x="946.0216216216216" y="163" c1x="-356" c1y="135" c2x="-356" c2y="135"/></points><startConnector><rConnector id="cb"><Owner><atr ref="c7"/></Owner></rConnector></startConnector><endConnector><rConnector id="cc"><Owner><ent ref="a3"/></Owner></rConnector></endConnector></lcaf><atr id="cd" nullable="false" attributeType="VARCHAR2(128)"><children><e id="ce" x="878" y="231" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="cf" x="883.828125" y="234.015625"><a><text><string>Description</string></text></a></t></children></atr><lcaf id="d0"><points><p colinear="true" x="919.2307692307693" y="231" c1x="-320.4305835592336" c1y="127" c2x="-320.4305835592336" c2y="127"/><p colinear="true" x="927.6" y="163" c1x="-320.4305835592336" c1y="127" c2x="-320.4305835592336" c2y="127"/></points><startConnector><rConnector id="d1"><Owner><atr ref="cd"/></Owner></rConnector></startConnector><endConnector><rConnector id="d2"><Owner><ent ref="a3"/></Owner></rConnector></endConnector></lcaf><atr id="d3" nullable="false" attributeType="VARCHAR2(128)"><children><e id="d4" x="1058" y="-86" w="55" h="28"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="d5" x="1063.36328125" y="-78.984375"><a><text><string>Reason</string></text></a></t></children></atr><rel id="d6"><children><diamond id="d7" x="930" y="1001" w="119" h="66"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="d8" x="949.8818359375" y="1027.015625"><a><text><string>IS_ASSIGNED</string></text></a></t></children></rel><llabelMuitos id="d9"><points><p colinear="true" x="1049" y="1009.8810720268007" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1288" y="913"/><p colinear="true" x="1700.5917602996255" y="666" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="da"><Owner><rel ref="d6"/></Owner></rConnector></startConnector><endConnector><rConnector id="db"><Owner><ent ref="21"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><ent id="dc"><children><r id="dd" x="289" y="320" w="150.4765625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="de" x="299" y="333.015625"><a><text><string>DISCUSSION_THREAD</string></text></a></t></children></ent><atr id="df" nullable="false" attributeType="VARCHAR2(128)"><children><e id="e0" x="-73" y="320" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="e1" x="-46.04296875" y="323.015625"><a><text><string>Title</string></text></a></t></children></atr><lcaf id="e2"><points><p colinear="true" x="-29.001507302989133" y="320" c1x="-315" c1y="22" c2x="-315" c2y="22"/><p colinear="true" x="-4.210852581521749" y="258" c1x="-315" c1y="22" c2x="-315" c2y="22"/></points><startConnector><rConnector id="e3"><Owner><atr ref="df"/></Owner></rConnector></startConnector><endConnector><rConnector id="e4"><Owner><ent ref="18"/></Owner></rConnector></endConnector></lcaf><atr id="e5" nullable="false" attributeType="VARCHAR2(128)"><children><e id="e6" x="636" y="248" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="e7" x="664.0179138183594" y="249.82794284820557"><a><text><string>Title</string></text></a></t></children></atr><lcaf id="e8"><points><p colinear="true" x="640.0547449448529" y="268" c1x="21.427734375" c1y="-105" c2x="21.427734375" c2y="-105"/><p colinear="true" x="617.572265625" y="274.2546445380233" c1x="21.427734375" c1y="-105" c2x="21.427734375" c2y="-105"/></points><startConnector><rConnector id="e9"><Owner><atr ref="e5"/></Owner></rConnector></startConnector><endConnector><rConnector id="ea"><Owner><ent ref="c"/></Owner></rConnector></endConnector></lcaf><llabelMuitos id="eb"><points><p colinear="true" x="911" y="-16.89193899782135" c1x="-3" c1y="-21.594771241830067" c2x="-3" c2y="-21.594771241830067"/><p colinear="true" x="1021" y="5.405228758169933"/><p colinear="true" x="1307" y="44.52824892738282" c1x="-3" c1y="-21.594771241830067" c2x="-3" c2y="-21.594771241830067"/></points><startConnector><rConnector id="ec"><Owner><rel ref="82"/></Owner></rConnector></startConnector><endConnector><rConnector id="ed"><Owner><ent ref="1b"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><llabelDoubleMuitos id="ee"><points><p colinear="true" x="320.79676818847656" y="124.58646514874492" c1x="-568.3903045654297" c1y="516.4740031542641" c2x="-568.3903045654297" c2y="516.4740031542641"/><p colinear="true" x="610" y="109.13685206575536" c1x="-568.3903045654297" c1y="516.4740031542641" c2x="-568.3903045654297" c2y="516.4740031542641"/></points><startConnector><rConnector id="ef"><Owner><rel ref="b7"/></Owner></rConnector></startConnector><endConnector><rConnector id="f0"><Owner><ent ref="ac"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="f1" nullable="false" attributeType="VARCHAR2(128)"><children><e id="f2" x="551" y="220" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="f3" x="566.1658248901367" y="221.82794284820557"><a><text><string>Repo_url</string></text></a></t></children></atr><lcaf id="f4"><points><p colinear="true" x="584.9977633568549" y="240" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="565.7906060987904" y="272" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="f5"><Owner><atr ref="f1"/></Owner></rConnector></startConnector><endConnector><rConnector id="f6"><Owner><ent ref="c"/></Owner></rConnector></endConnector></lcaf><atr id="f7" nullable="false" attributeType="VARCHAR2(128)"><children><e id="f8" x="1076" y="-225" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="f9" x="1088.068359375" y="-221.984375"><a><text><string>End_date</string></text></a></t></children></atr><atrchave id="fa" nullable="false" attributeType="NUMBER"><children><e id="fb" x="1305" y="118" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="fc" x="1338.47265625" y="121.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="fd"><points><p colinear="true" x="1346.4871794871794" y="70" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1345.2564102564102" y="118" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="fe"><Owner><ent ref="1b"/></Owner></rConnector></startConnector><endConnector><rConnector id="ff"><Owner><atrchave ref="fa"/></Owner></rConnector></endConnector></lcaf><entfraca id="100"><children><r id="101" x="1224" y="170" w="77" h="33"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="102" x="1230.501953125" y="179.515625"><a><text><string>FEEDBACK</string></text></a></t></children></entfraca><atr id="103" nullable="false" attributeType="VARCHAR2(128)"><children><e id="104" x="1229" y="243" w="107" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="105" x="1248.328125" y="249.515625"><a><text><string>Description</string></text></a></t></children></atr><atr id="106" nullable="false" attributeType="VARCHAR2(128)"><children><e id="107" x="1196" y="111" w="101.455078125" h="30"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="108" x="1199.2792053222656" y="117.82794284820557"><a><text><string>Submission_type</string></text></a></t></children></atr><atr id="109" nullable="false" attributeType="VARCHAR2(128)"><children><e id="10a" x="1161" y="219" w="85.8125" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="10b" x="1171" y="220.015625"><a><text><string>Created_at</string></text></a></t></children></atr><rel id="10c"><children><diamond id="10d" x="1402" y="166" w="102" h="44"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="10e" x="1414.73828125" y="181.015625"><a><text><string>WRITTEN_BY</string></text></a></t></children></rel><llabelUm id="10f"><points><p colinear="true" x="1436.1014492753623" y="166" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1362.3623188405797" y="70" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="110"><Owner><rel ref="10c"/></Owner></rConnector></startConnector><endConnector><rConnector id="111"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><ent ref="a3"/><atrchave id="112" nullable="false" attributeType="NUMBER"><children><e id="113" x="1006" y="196" w="44" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="114" x="1021.47265625" y="202.515625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="115"><points><p colinear="true" x="1007.9545454545455" y="196" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="958.9545454545455" y="163" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="116"><Owner><atrchave ref="112"/></Owner></rConnector></startConnector><endConnector><rConnector id="117"><Owner><ent ref="a3"/></Owner></rConnector></endConnector></lcaf><relfraco id="118"><children><diamond id="119" x="1044" y="111" w="121.595703125" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="11a" x="1054" y="124.015625"><a><text><string>SUBBMITED_FOR</string></text></a></t></children></relfraco><llabelDoubleUm id="11b"><points><p colinear="true" x="1161.6274546030406" y="151" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1224" y="172.95072358765722" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="11c"><Owner><relfraco ref="118"/></Owner></rConnector></startConnector><endConnector><rConnector id="11d"><Owner><entfraca ref="100"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><llabelUm id="11e"><points><p colinear="true" x="1044" y="135.3477258887219" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="985" y="139.5668852971904" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="11f"><Owner><relfraco ref="118"/></Owner></rConnector></startConnector><endConnector><rConnector id="120"><Owner><ent ref="a3"/></Owner></rConnector></endConnector></llabelUm><lcaf id="121"><points><p colinear="true" x="1238.6284722222222" y="203" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1215.4803240740741" y="219" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="122"><Owner><entfraca ref="100"/></Owner></rConnector></startConnector><endConnector><rConnector id="123"><Owner><atr ref="109"/></Owner></rConnector></endConnector></lcaf><lcaf id="124"><points><p colinear="true" x="1258.6455841064453" y="170" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1251.871156172319" y="141" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="125"><Owner><entfraca ref="100"/></Owner></rConnector></startConnector><endConnector><rConnector id="126"><Owner><atr ref="106"/></Owner></rConnector></endConnector></lcaf><lcaf id="127"><points><p colinear="true" x="1267.2142857142858" y="203" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1278.642857142857" y="243" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="128"><Owner><entfraca ref="100"/></Owner></rConnector></startConnector><endConnector><rConnector id="129"><Owner><atr ref="103"/></Owner></rConnector></endConnector></lcaf><atrmulti id="12a" nullable="false" attributeType="VARCHAR2(128)"><children><e id="12b" x="-124" y="274" w="75" h="34"><a><fillColor><color rgba="#ffffebeb"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></e><t id="12c" x="-118.0732421875" y="284.015625"><a><text><string>Guidelines</string></text></a></t></children></atrmulti><lcaf id="12d"><points><p colinear="true" x="-57.54029702240567" y="274" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="-30.284105984669832" y="258" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="12e"><Owner><atrmulti ref="12a"/></Owner></rConnector></startConnector><endConnector><rConnector id="12f"><Owner><ent ref="18"/></Owner></rConnector></endConnector></lcaf><atr id="130" nullable="false" attributeType="VARCHAR2(128)"><children><e id="131" x="634" y="3" w="85.8125" h="16.344114303588867"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="132" x="644" y="4.187682151794434"><a><text><string>Created_at</string></text></a></t></children></atr><lcaf id="133"><points><p colinear="true" x="573" y="26.210691238718105" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="634" y="17.381995377763218" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="134"><Owner><ent ref="12"/></Owner></rConnector></startConnector><endConnector><rConnector id="135"><Owner><atr ref="130"/></Owner></rConnector></endConnector></lcaf><atr id="136" nullable="false" attributeType="VARCHAR2(128)"><children><e id="137" x="1035" y="199" w="85.8125" h="16.344114303588867"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="138" x="1045" y="200.18768215179443"><a><text><string>Created_at</string></text></a></t></children></atr><atr id="139" nullable="false" attributeType="VARCHAR2(128)"><children><e id="13a" x="1531" y="90" w="64" h="16.344114303588867"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="13b" x="1547.591896057129" y="91.015625"><a><text><string>Email</string></text></a></t></children></atr><lcaf id="13c"><points><p colinear="true" x="1531" y="91.03545609226933" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1387" y="58.92075132440638" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="13d"><Owner><atr ref="139"/></Owner></rConnector></startConnector><endConnector><rConnector id="13e"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><atr id="13f" nullable="false" attributeType="VARCHAR2(128)"><children><e id="140" x="1207" y="60" w="64" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="141" x="1221.298828125" y="61.015625"><a><text><string>Name</string></text></a></t></children></atr><lcaf id="142"><points><p colinear="true" x="1271" y="62.66666666666667" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="56.66666666666667" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="143"><Owner><atr ref="13f"/></Owner></rConnector></startConnector><endConnector><rConnector id="144"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><lcaf id="145"><points><p colinear="true" x="1058.9230667611414" y="199" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="975.2972937268875" y="163" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="146"><Owner><atr ref="136"/></Owner></rConnector></startConnector><endConnector><rConnector id="147"><Owner><ent ref="a3"/></Owner></rConnector></endConnector></lcaf><atr id="148" nullable="false" attributeType="VARCHAR2(128)"><children><e id="149" x="1325" y="-60" w="107" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="14a" x="1352.1838150024414" y="-54.672057151794434"><a><text><string>Uername</string></text></a></t></children></atr><lcaf id="14b"><points><p colinear="true" x="1374.0932642487046" y="-33" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1353.5284974093265" y="30" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="14c"><Owner><atr ref="148"/></Owner></rConnector></startConnector><endConnector><rConnector id="14d"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><disjuncao id="14e"><children><circ id="14f" x="801" y="253" w="20" h="21"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="150" x="805" y="254"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao><generalizacaoLine id="151"><points><p colinear="true" x="821" y="264.94250852283346" c1x="7" c1y="5.7018571100570625" c2x="7" c2y="5.7018571100570625"/><p colinear="true" x="1320" y="336.9236838122232" c1x="7" c1y="5.7018571100570625" c2x="7" c2y="5.7018571100570625"/></points><startConnector><rConnector id="152"><Owner><disjuncao ref="14e"/></Owner></rConnector></startConnector><endConnector><rConnector id="153"><Owner><ent ref="c4"/></Owner></rConnector></endConnector></generalizacaoLine><generalizacaoLine id="154"><points><p colinear="true" x="801" y="253.77950310559007" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="670.5750798722045" y="127" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="155"><Owner><disjuncao ref="14e"/></Owner></rConnector></startConnector><endConnector><rConnector id="156"><Owner><ent ref="ac"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleGeneralizacao id="157" labelGeneralizacaoText="characteristic"><points><p colinear="true" x="910.6625" y="163" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="821" y="253.41596638655463" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="158"><Owner><ent ref="a3"/></Owner></rConnector></startConnector><endConnector><rConnector id="159"><Owner><disjuncao ref="14e"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><rel ref="b7"/><rel ref="a8"/><rel ref="9f"/><ent ref="ac"/><ent ref="c4"/><rel ref="8"/><generalizacaoLine id="15a"><points><p colinear="true" x="416" y="162.4054832719896" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="532.5219410409172" y="272" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="15b"><Owner><disjuncao ref="15"/></Owner></rConnector></startConnector><endConnector><rConnector id="15c"><Owner><ent ref="c"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleMuitos id="15d"><points><p colinear="true" x="171.95094651442307" y="-195" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="11.553560697115387" y="218" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="15e"><Owner><rel ref="f"/></Owner></rConnector></startConnector><endConnector><rConnector id="15f"><Owner><ent ref="18"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="160"><points><p colinear="true" x="254.0390625" y="-227.40114438718433" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1208" y="-279.80277660608505" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="161"><Owner><rel ref="f"/></Owner></rConnector></startConnector><endConnector><rConnector id="162"><Owner><ent ref="42"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><generalizacaoLine id="163"><points><p colinear="true" x="396" y="157.81581364588308" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="331.24627685546875" y="189" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="164"><Owner><disjuncao ref="15"/></Owner></rConnector></startConnector><endConnector><rConnector id="165"><Owner><ent id="166"><children><r id="167" x="215" y="189" w="149.432861328125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="168" x="248.2467041015625" y="202.015625"><a><text><string>EMBEDDABLE</string></text></a></t></children></ent></Owner></rConnector></endConnector></generalizacaoLine><rel id="169"><children><diamond id="16a" x="230" y="374" w="122.064453125" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="16b" x="240" y="387.015625"><a><text><string>REFERENCED_BY</string></text></a></t></children></rel><llabelMuitos id="16c"><points><p colinear="true" x="254.20580428685898" y="374" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="40.61255508814102" y="258" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="16d"><Owner><rel ref="169"/></Owner></rConnector></startConnector><endConnector><rConnector id="16e"><Owner><ent ref="18"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><llabelUm id="16f"><points><p colinear="true" x="352.064453125" y="390.9813883596748" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="473" y="385"/><p colinear="true" x="536.4127709173387" y="312" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="170"><Owner><rel ref="169"/></Owner></rConnector></startConnector><endConnector><rConnector id="171"><Owner><ent ref="c"/></Owner></rConnector></endConnector></llabelUm><rel id="172"><children><diamond id="173" x="386" y="230" w="110.193359375" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="174" x="396" y="243.015625"><a><text><string>CONTAINED_IN</string></text></a></t></children></rel><llabelUm id="175"><points><p colinear="true" x="386" y="235.07755217896522" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="363.5604545779345" y="229" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="176"><Owner><rel ref="172"/></Owner></rConnector></startConnector><endConnector><rConnector id="177"><Owner><ent ref="166"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="178"><points><p colinear="true" x="424.01703559027777" y="270" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="381.31792534722223" y="320" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="179"><Owner><rel ref="172"/></Owner></rConnector></startConnector><endConnector><rConnector id="17a"><Owner><ent ref="dc"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><generalizacaoLine id="17b"><points><p colinear="true" x="229" y="264.11146822301714" c1x="-24.922495966372253" c1y="27" c2x="-24.922495966372253" c2y="27"/><p colinear="true" x="328.59698523773005" y="320" c1x="-24.922495966372253" c1y="27" c2x="-24.922495966372253" c2y="27"/></points><startConnector><rConnector id="17c"><Owner><disjuncao id="17d"><children><circ id="17e" x="209" y="248" w="20" h="21"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="17f" x="213" y="249"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao></Owner></rConnector></startConnector><endConnector><rConnector id="180"><Owner><ent ref="dc"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleMuitos id="181"><points><p colinear="true" x="1402" y="187.5984251968504" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1301" y="186.8031496062992" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="182"><Owner><rel ref="10c"/></Owner></rConnector></startConnector><endConnector><rConnector id="183"><Owner><entfraca ref="100"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="184"><points><p colinear="true" x="442.5326690673828" y="-94.72661572890257" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="477" y="-104.1101861623363" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="185"><Owner><rel ref="73"/></Owner></rConnector></startConnector><endConnector><rConnector id="186"><Owner><ent ref="6a"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><ent ref="166"/><generalizacaoLine id="187"><points><p colinear="true" x="209" y="257.547459149919" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="67.572265625" y="244.07588971725983" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="188"><Owner><disjuncao ref="17d"/></Owner></rConnector></startConnector><endConnector><rConnector id="189"><Owner><ent ref="18"/></Owner></rConnector></endConnector></generalizacaoLine><disjuncao ref="17d"/><llabelDoubleGeneralizacao id="18a" labelGeneralizacaoText="caracteristica"><points><p colinear="true" x="261.14413544625944" y="229" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="229" y="251.50021232192145" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="18b"><Owner><ent ref="166"/></Owner></rConnector></startConnector><endConnector><rConnector id="18c"><Owner><disjuncao ref="17d"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><entfraca id="18d"><children><r id="18e" x="562" y="791" w="190.14453125" h="27"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="18f" x="597.1162109375" y="797.515625"><a><text><string>ROLE_PERMISSIONS</string></text></a></t></children></entfraca><relfraco id="190"><children><diamond id="191" x="439" y="842" w="111" h="38"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="192" x="463.1318359375" y="854.015625"><a><text><string>FOR_ROLE</string></text></a></t></children></relfraco><llabelDoubleUm id="193"><points><p colinear="true" x="549.1703194137168" y="842" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="618.2275649889381" y="818" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="194"><Owner><relfraco ref="190"/></Owner></rConnector></startConnector><endConnector><rConnector id="195"><Owner><entfraca ref="18d"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><relfraco id="196"><children><diamond id="197" x="762" y="830" w="157" h="57"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="198" x="788.03515625" y="851.515625"><a><text><string>FOR_PERMISSION</string></text></a></t></children></relfraco><llabelDoubleUm id="199"><points><p colinear="true" x="762" y="835.3900814566364" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="702.92919921875" y="818" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="19a"><Owner><relfraco ref="196"/></Owner></rConnector></startConnector><endConnector><rConnector id="19b"><Owner><entfraca ref="18d"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><llabelMuitos id="19c"><points><p colinear="true" x="872.2282272101684" y="887" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="925.6652414588731" y="935" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="19d"><Owner><relfraco ref="196"/></Owner></rConnector></startConnector><endConnector><rConnector id="19e"><Owner><ent ref="30"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atr id="19f" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1a0" x="237" y="569" w="102.833984375" h="37"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1a1" x="247" y="580.515625"><a><text><string>override_type</string></text></a></t></children></atr><ent id="1a2"><children><r id="1a3" x="284" y="857" w="107" h="53"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1a4" x="292.5498046875" y="876.515625"><a><text><string>PROJECT_ROLE</string></text></a></t></children></ent><rel id="1a5"><children><diamond id="1a6" x="375" y="524" w="106" h="53"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1a7" x="400.80078125" y="543.515625"><a><text><string>VALID_IN</string></text></a></t></children></rel><llabelDoubleMuitos id="1a8"><points><p colinear="true" x="420.79804804804803" y="577" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="344.70195195195197" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1a9"><Owner><rel ref="1a5"/></Owner></rConnector></startConnector><endConnector><rConnector id="1aa"><Owner><ent ref="1a2"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atrchave id="1ab" nullable="false" attributeType="NUMBER"><children><e id="1ac" x="104" y="676" w="106" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1ad" x="150.6484375" y="682.515625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>id</string></text></a></t></children></atrchave><atr id="1ae" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1af" x="141" y="611" w="106" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1b0" x="176.984375" y="617.515625"><a><text><string>name</string></text></a></t></children></atr><lcaf id="1b1"><points><p colinear="true" x="169.56056701030928" y="703" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="312.84407216494844" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1b2"><Owner><atrchave ref="1ab"/></Owner></rConnector></startConnector><endConnector><rConnector id="1b3"><Owner><ent ref="1a2"/></Owner></rConnector></endConnector></lcaf><lcaf id="1b4"><points><p colinear="true" x="201.47972972972974" y="638" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="322.81756756756755" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1b5"><Owner><atr ref="1ae"/></Owner></rConnector></startConnector><endConnector><rConnector id="1b6"><Owner><ent ref="1a2"/></Owner></rConnector></endConnector></lcaf><llabelMuitos id="1b7"><points><p colinear="true" x="439" y="868.953821656051" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="391" y="875.8328025477707" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1b8"><Owner><relfraco ref="190"/></Owner></rConnector></startConnector><endConnector><rConnector id="1b9"><Owner><ent ref="1a2"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><llabelMuitos id="1ba"><points><p colinear="true" x="930" y="1020.2657208588957" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="391" y="895.849309815951" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1bb"><Owner><rel ref="d6"/></Owner></rConnector></startConnector><endConnector><rConnector id="1bc"><Owner><ent ref="1a2"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><lcaf id="1bd"><points><p colinear="true" x="291.48468017578125" y="606" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="333.1057442330025" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1be"><Owner><atr ref="19f"/></Owner></rConnector></startConnector><endConnector><rConnector id="1bf"><Owner><ent ref="1a2"/></Owner></rConnector></endConnector></lcaf><ent id="1c0"><children><r id="1c1" x="662" y="504" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1c2" x="673.083984375" y="517.015625"><a><text><string>CHANNEL</string></text></a></t></children></ent><lcaf id="1c3"><points><p colinear="true" x="707.4871794871794" y="417" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="703.025641025641" y="504" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1c4"><Owner><atrchave ref="3"/></Owner></rConnector></startConnector><endConnector><rConnector id="1c5"><Owner><ent ref="1c0"/></Owner></rConnector></endConnector></lcaf><lcaf id="1c6"><points><p colinear="true" x="611" y="498" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="662" y="512.5714285714286" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1c7"><Owner><atr ref="7f"/></Owner></rConnector></startConnector><endConnector><rConnector id="1c8"><Owner><ent ref="1c0"/></Owner></rConnector></endConnector></lcaf><lcaf id="1c9"><points><p colinear="true" x="783.7777777777778" y="444" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="722.4444444444445" y="504" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1ca"><Owner><atr ref="0"/></Owner></rConnector></startConnector><endConnector><rConnector id="1cb"><Owner><ent ref="1c0"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="1cc"><points><p colinear="true" x="982" y="553.0207464559825" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="742" y="528.1458209222832" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1cd"><Owner><rel ref="33"/></Owner></rConnector></startConnector><endConnector><rConnector id="1ce"><Owner><ent ref="1c0"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><rel id="1cf"><children><diamond id="1d0" x="547" y="374" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1d1" x="574.5751953125" y="387.015625"><a><text><string>HAS</string></text></a></t></children></rel><llabelUm id="1d2"><points><p colinear="true" x="580.4874770220588" y="374" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="560.2986557904412" y="312" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1d3"><Owner><rel ref="1cf"/></Owner></rConnector></startConnector><endConnector><rConnector id="1d4"><Owner><ent ref="c"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="1d5"><points><p colinear="true" x="604.6923076923077" y="414" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="684.3076923076923" y="504" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1d6"><Owner><rel ref="1cf"/></Owner></rConnector></startConnector><endConnector><rConnector id="1d7"><Owner><ent ref="1c0"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelUm id="1d8"><points><p colinear="true" x="440.89490336375724" y="524" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="544.0541302738153" y="312" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1d9"><Owner><rel ref="1a5"/></Owner></rConnector></startConnector><endConnector><rConnector id="1da"><Owner><ent ref="c"/></Owner></rConnector></endConnector></llabelUm><atrchave id="1db" nullable="false" attributeType="NUMBER"><children><e id="1dc" x="1004" y="-140" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1dd" x="1037.47265625" y="-136.984375"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><atr id="1de" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1df" x="1030" y="-204" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1e0" x="1038.8134765625" y="-200.984375"><a><text><string>Start_date</string></text></a></t></children></atr><ent id="1e1"><children><r id="1e2" x="1186" y="-140" w="139.689453125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1e3" x="1196" y="-126.984375"><a><text><string>BLACKLISTED_USER</string></text></a></t></children></ent><rel id="1e4"><children><diamond id="1e5" x="1188" y="-200" w="122.931640625" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1e6" x="1198" y="-186.984375"><a><text><string>BLACKLISTED_BY</string></text></a></t></children></rel><llabelDoubleMuitos id="1e7"><points><p colinear="true" x="1251.5921223958333" y="-160" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1253.7184244791667" y="-140" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1e8"><Owner><rel ref="1e4"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e9"><Owner><ent ref="1e1"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="1ea"><points><p colinear="true" x="1249.178404564951" y="-200" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1248.287415747549" y="-262" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1eb"><Owner><rel ref="1e4"/></Owner></rConnector></startConnector><endConnector><rConnector id="1ec"><Owner><ent ref="42"/></Owner></rConnector></endConnector></llabelUm><rel id="1ed"><children><diamond id="1ee" x="1215" y="-57" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1ef" x="1224.2236328125" y="-43.984375"><a><text><string>RFERS_TO</string></text></a></t></children></rel><llabelDoubleMuitos id="1f0"><points><p colinear="true" x="1255.203548569277" y="-57" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1255.641177993223" y="-100" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1f1"><Owner><rel ref="1ed"/></Owner></rConnector></startConnector><endConnector><rConnector id="1f2"><Owner><ent ref="1e1"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelUm id="1f3"><points><p colinear="true" x="1276.1494252873563" y="-17" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1325.8505747126437" y="30" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1f4"><Owner><rel ref="1ed"/></Owner></rConnector></startConnector><endConnector><rConnector id="1f5"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><lcaf id="1f6"><points><p colinear="true" x="1084" y="-128.11182460620756" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1186" y="-123.29697735203683" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1f7"><Owner><atrchave ref="1db"/></Owner></rConnector></startConnector><endConnector><rConnector id="1f8"><Owner><ent ref="1e1"/></Owner></rConnector></endConnector></lcaf><lcaf id="1f9"><points><p colinear="true" x="1113" y="-79.74899244982313" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1186" y="-100.31904513480822" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1fa"><Owner><atr ref="d3"/></Owner></rConnector></startConnector><endConnector><rConnector id="1fb"><Owner><ent ref="1e1"/></Owner></rConnector></endConnector></lcaf><lcaf id="1fc"><points><p colinear="true" x="1095.1141522381756" y="-184" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1205.6164220861485" y="-140" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1fd"><Owner><atr ref="1de"/></Owner></rConnector></startConnector><endConnector><rConnector id="1fe"><Owner><ent ref="1e1"/></Owner></rConnector></endConnector></lcaf><lcaf id="1ff"><points><p colinear="true" x="1130.7204975328948" y="-205" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1226.4037314967104" y="-140" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="200"><Owner><atr ref="f7"/></Owner></rConnector></startConnector><endConnector><rConnector id="201"><Owner><ent ref="1e1"/></Owner></rConnector></endConnector></lcaf><rel id="202"><children><diamond id="203" x="211" y="-193" w="142.408203125" h="68"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="204" x="221" y="-165.984375"><a><text><string>BLACKLISTED_FROM</string></text></a></t></children></rel><llabelUm id="205"><points><p colinear="true" x="258.35974151841936" y="-125" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="17.812226956076813" y="218" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="206"><Owner><rel ref="202"/></Owner></rConnector></startConnector><endConnector><rConnector id="207"><Owner><ent ref="18"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="208"><points><p colinear="true" x="353.408203125" y="-170.9534503209713" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="586" y="-210"/><p colinear="true" x="795" y="-205"/><p colinear="true" x="1186" y="-132.8824339644632" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="209"><Owner><rel ref="202"/></Owner></rConnector></startConnector><endConnector><rConnector id="20a"><Owner><ent ref="1e1"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><entfraca id="20b"><children><r id="20c" x="917" y="619" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="20d" x="927.8701171875" y="632.015625"><a><text><string>MESSAGE</string></text></a></t></children></entfraca><atrchaveparcial id="20e" nullable="false" attributeType="NUMBER"><children><e id="20f" x="734" y="669" w="125" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="210" x="771.052734375" y="675.515625"><a><strokeDashes><doubleArray><double>3</double></doubleArray></strokeDashes><fontBold><boolean>true</boolean></fontBold><text><string>Sent_at</string></text></a></t></children></atrchaveparcial><relfraco id="211"><children><diamond id="212" x="771" y="554" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="213" x="794.4892578125" y="572.015625"><a><text><string>SENT_IN</string></text></a></t></children></relfraco><relfraco id="214"><children><diamond id="215" x="1110" y="644" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="216" x="1131.9658203125" y="662.015625"><a><text><string>SENT_BY</string></text></a></t></children></relfraco><llabelDoubleMuitos id="217"><points><p colinear="true" x="868" y="600.1636363636363" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="917" y="621.5454545454545" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="218"><Owner><relfraco ref="211"/></Owner></rConnector></startConnector><endConnector><rConnector id="219"><Owner><entfraca ref="20b"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelUm id="21a"><points><p colinear="true" x="771" y="556.2978723404256" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="742" y="542.7234042553191" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="21b"><Owner><relfraco ref="211"/></Owner></rConnector></startConnector><endConnector><rConnector id="21c"><Owner><ent ref="1c0"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="21d"><points><p colinear="true" x="1207" y="667.0616854908775" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1694" y="647.598609904431" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="21e"><Owner><relfraco ref="214"/></Owner></rConnector></startConnector><endConnector><rConnector id="21f"><Owner><ent ref="21"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="220"><points><p colinear="true" x="1110" y="661.7791563275434" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="997" y="644.955334987593" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="221"><Owner><relfraco ref="214"/></Owner></rConnector></startConnector><endConnector><rConnector id="222"><Owner><entfraca ref="20b"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><lcaf id="223"><points><p colinear="true" x="846.3103448275863" y="669" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="917" y="649.8411214953271" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="224"><Owner><atrchaveparcial ref="20e"/></Owner></rConnector></startConnector><endConnector><rConnector id="225"><Owner><entfraca ref="20b"/></Owner></rConnector></endConnector></lcaf><lcaf id="226"><points><p colinear="true" x="950.1151515151515" y="710" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="955.060606060606" y="659" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="227"><Owner><atr ref="63"/></Owner></rConnector></startConnector><endConnector><rConnector id="228"><Owner><entfraca ref="20b"/></Owner></rConnector></endConnector></lcaf><entfraca id="229"><children><r id="22a" x="913" y="416" w="283" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="22b" x="937.9611968994141" y="427.82794284820557"><a><text><string>DEVELOPER_ASSOCIATED_WITH_PROJECT</string></text></a></t></children></entfraca><atrchaveparcial id="22c" nullable="false" attributeType="NUMBER"><children><e id="22d" x="882" y="470" w="125" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="22e" x="913.5997772216797" y="475.32794284820557"><a><strokeDashes><doubleArray><double>3</double></doubleArray></strokeDashes><fontBold><boolean>true</boolean></fontBold><text><string>Started_at</string></text></a></t></children></atrchaveparcial><lcaf id="22f"><points><p colinear="true" x="975.7631578947369" y="470" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1008.1842105263158" y="456" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="230"><Owner><atrchaveparcial ref="22c"/></Owner></rConnector></startConnector><endConnector><rConnector id="231"><Owner><entfraca ref="229"/></Owner></rConnector></endConnector></lcaf><lcaf id="232"><points><p colinear="true" x="1087.3064240572746" y="483" c1x="1.575538727174262" c1y="-17" c2x="1.575538727174262" c2y="-17"/><p colinear="true" x="1068.460180449904" y="456" c1x="1.575538727174262" c1y="-17" c2x="1.575538727174262" c2y="-17"/></points><startConnector><rConnector id="233"><Owner><atr ref="66"/></Owner></rConnector></startConnector><endConnector><rConnector id="234"><Owner><entfraca ref="229"/></Owner></rConnector></endConnector></lcaf><relfraco id="235"><children><diamond id="236" x="792" y="343" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="237" x="807.0917663574219" y="359.82794284820557"><a><text><string>IN_PROJECT</string></text></a></t></children></relfraco><relfraco id="238"><children><diamond id="239" x="1347" y="490" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="23a" x="1361.3777618408203" y="506.82794284820557"><a><text><string>ABOUT_DEV</string></text></a></t></children></relfraco><llabelUm id="23b"><points><p colinear="true" x="792" y="355.14397724756896" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="617.572265625" y="308.90795824179565" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="23c"><Owner><relfraco ref="235"/></Owner></rConnector></startConnector><endConnector><rConnector id="23d"><Owner><ent ref="c"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="23e"><points><p colinear="true" x="889" y="383.41121495327104" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="991.5588235294117" y="416" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="23f"><Owner><relfraco ref="235"/></Owner></rConnector></startConnector><endConnector><rConnector id="240"><Owner><entfraca ref="229"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="241"><points><p colinear="true" x="1347" y="503.7639296187683" c1x="1" c1y="18.10973084886126" c2x="1" c2y="18.10973084886126"/><p colinear="true" x="1140.8291139240507" y="456" c1x="1" c1y="18.10973084886126" c2x="1" c2y="18.10973084886126"/></points><startConnector><rConnector id="242"><Owner><relfraco ref="238"/></Owner></rConnector></startConnector><endConnector><rConnector id="243"><Owner><entfraca ref="229"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleUm id="244"><points><p colinear="true" x="1444" y="533.7695716395864" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1694" y="630.519940915805" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="245"><Owner><relfraco ref="238"/></Owner></rConnector></startConnector><endConnector><rConnector id="246"><Owner><ent ref="21"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><t id="247" x="1548" y="245"><a><text><string/></text></a></t><entfraca id="248"><children><r id="249" x="418" y="650" w="208.185546875" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="24a" x="428" y="663.015625"><a><text><string>ROLE_PERMISSION_OVERRIDES</string></text></a></t></children></entfraca><relfraco id="24b"><children><diamond id="24c" x="552" y="702" w="195" h="72"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="24d" x="578.009765625" y="731.015625"><a><text><string>FOR_ROLE_PERMISSION</string></text></a></t></children></relfraco><llabelDoubleMuitos id="24e"><points><p colinear="true" x="582.0491153492646" y="702" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="559.5654871323529" y="690" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="24f"><Owner><relfraco ref="24b"/></Owner></rConnector></startConnector><endConnector><rConnector id="250"><Owner><entfraca ref="248"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleUm id="251"><points><p colinear="true" x="653.5992716165414" y="774" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="655.535038768797" y="791" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="252"><Owner><relfraco ref="24b"/></Owner></rConnector></startConnector><endConnector><rConnector id="253"><Owner><entfraca ref="18d"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><relfraco id="254"><children><diamond id="255" x="556" y="561" w="129" h="67"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="256" x="572.125" y="587.515625"><a><text><string>FOR_RESOURCE</string></text></a></t></children></relfraco><llabelDoubleMuitos id="257"><points><p colinear="true" x="576.8358663596855" y="628" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="548.160912924255" y="650" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="258"><Owner><relfraco ref="254"/></Owner></rConnector></startConnector><endConnector><rConnector id="259"><Owner><entfraca ref="248"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="25a"><points><p colinear="true" x="659.2269503546099" y="561" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="678.8794326241135" y="544" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="25b"><Owner><relfraco ref="254"/></Owner></rConnector></startConnector><endConnector><rConnector id="25c"><Owner><ent ref="1c0"/></Owner></rConnector></endConnector></llabelUm></figures></drawing>
Index: cs/versioning/er_models/ER_BUILD_BOARD_v5.5.xml
===================================================================
--- docs/versioning/er_models/ER_BUILD_BOARD_v5.5.xml	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,1 +1,0 @@
-<drawing><figures><atr id="0" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1" x="754" y="424" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="2" x="776.298828125" y="427.015625"><a><text><string>Name</string></text></a></t></children></atr><atrchave id="3" nullable="false" attributeType="NUMBER"><children><e id="4" x="668" y="397" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="5" x="701.47265625" y="400.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><llabelUm id="6"><points><p colinear="true" x="1305" y="425.71165644171776" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1019" y="345"/><p colinear="true" x="617.572265625" y="299.26690513225816" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="7"><Owner><rel id="8"><children><diamond id="9" x="1305" y="417" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="a" x="1315.5859375" y="430.015625"><a><text><string>RECIEVES</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="b"><Owner><ent id="c"><children><r id="d" x="490" y="272" w="127.572265625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="e" x="500" y="285.015625"><a><text><string>PROJECT_THREAD</string></text></a></t></children></ent></Owner></rConnector></endConnector></llabelUm><rel id="f"><children><diamond id="10" x="112" y="-252" w="142.0390625" h="57"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="11" x="125" y="-230.484375"><a><text><string>IS_MODERATED_BY</string></text></a></t></children></rel><ent id="12"><children><r id="13" x="493" y="12" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="14" x="508.138671875" y="25.015625"><a><text><string>THREAD</string></text></a></t></children></ent><disjuncao id="15"><children><circ id="16" x="396" y="143" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="17" x="400" y="144"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao><ent ref="c"/><ent id="18"><children><r id="19" x="-60" y="218" w="127.572265625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1a" x="-42.0400390625" y="231.015625"><a><text><string>TOPIC_THREAD</string></text></a></t></children></ent><ent id="1b"><children><r id="1c" x="1307" y="30" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1d" x="1330.83984375" y="43.015625"><a><text><string>USER</string></text></a></t></children></ent><llabelDoubleGeneralizacao id="1e" labelGeneralizacaoText="caracteristica"><points><p colinear="true" x="416" y="143.4724409448819" c1x="-14.280559426255081" c1y="-40" c2x="-14.280559426255081" c2y="-40"/><p colinear="true" x="512.00826446281" y="52" c1x="-14.280559426255081" c1y="-40" c2x="-14.280559426255081" c2y="-40"/></points><startConnector><rConnector id="1f"><Owner><disjuncao ref="15"/></Owner></rConnector></startConnector><endConnector><rConnector id="20"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><ent id="21"><children><r id="22" x="1694" y="626" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="23" x="1700.8197708129883" y="637.8279428482056"><a><text><string>DEVELOPER</string></text></a></t></children></ent><generalizacaoLine id="24"><points><p colinear="true" x="1617.9439868204283" y="49" c1x="477.9436152570481" c1y="499" c2x="477.9436152570481" c2y="499"/><p colinear="true" x="1730.1120263591433" y="626" c1x="477.9436152570481" c1y="499" c2x="477.9436152570481" c2y="499"/></points><startConnector><rConnector id="25"><Owner><sobreposicao id="26"><children><circ id="27" x="1606" y="29" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="28" x="1610" y="30"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>o</string></text></a></tn></children></sobreposicao></Owner></rConnector></startConnector><endConnector><rConnector id="29"><Owner><ent ref="21"/></Owner></rConnector></endConnector></generalizacaoLine><ent id="2a"><children><r id="2b" x="1485" y="292" w="120" h="54"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="2c" x="1485.591796875" y="312.015625"><a><text><string>PROJECT_MANAGER</string></text></a></t></children></ent><generalizacaoLine id="2d"><points><p colinear="true" x="1613.4642857142858" y="49" c1x="303" c1y="473" c2x="303" c2y="473"/><p colinear="true" x="1551.8464285714285" y="292" c1x="303" c1y="473" c2x="303" c2y="473"/></points><startConnector><rConnector id="2e"><Owner><sobreposicao ref="26"/></Owner></rConnector></startConnector><endConnector><rConnector id="2f"><Owner><ent ref="2a"/></Owner></rConnector></endConnector></generalizacaoLine><ent id="30"><children><r id="31" x="897" y="935" w="101.861328125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="32" x="907" y="948.015625"><a><text><string>PERMISSIONS</string></text></a></t></children></ent><rel id="33"><children><diamond id="34" x="982" y="539" w="115.37890625" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="35" x="998.591796875" y="552.015625"><a><text><string>CONSTRUCTS</string></text></a></t></children></rel><llabelUm id="36"><points><p colinear="true" x="1097.37890625" y="566.2287284767094" c1x="-254.06871916118416" c1y="253" c2x="-254.06871916118416" c2y="253"/><p colinear="true" x="1694" y="640.9878335916644" c1x="-254.06871916118416" c1y="253" c2x="-254.06871916118416" c2y="253"/></points><startConnector><rConnector id="37"><Owner><rel ref="33"/></Owner></rConnector></startConnector><endConnector><rConnector id="38"><Owner><ent ref="21"/></Owner></rConnector></endConnector></llabelUm><rel id="39"><children><diamond id="3a" x="740" y="-85" w="123" h="41"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="3b" x="753.810546875" y="-71.484375"><a><text><string>IS_CREATED_BY</string></text></a></t></children></rel><llabelDoubleMuitos id="3c"><points><p colinear="true" x="740" y="-63.38181818181818" c1x="68" c1y="191" c2x="68" c2y="191"/><p colinear="true" x="609" y="-61"/><p colinear="true" x="549.3440860215054" y="12" c1x="68" c1y="191" c2x="68" c2y="191"/></points><startConnector><rConnector id="3d"><Owner><rel ref="39"/></Owner></rConnector></startConnector><endConnector><rConnector id="3e"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="3f"><points><p colinear="true" x="863" y="-51.591200733272224" c1x="527" c1y="244" c2x="527" c2y="244"/><p colinear="true" x="1307" y="41.60403299725023" c1x="527" c1y="244" c2x="527" c2y="244"/></points><startConnector><rConnector id="40"><Owner><rel ref="39"/></Owner></rConnector></startConnector><endConnector><rConnector id="41"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><ent id="42"><children><r id="43" x="1208" y="-302" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="44" x="1208.859375" y="-288.984375"><a><text><string>MODERATOR</string></text></a></t></children></ent><sobreposicao ref="26"/><generalizacaoLine id="45"><points><p colinear="true" x="1606" y="30.27717391304348" c1x="-502.29203539823015" c1y="338" c2x="-502.29203539823015" c2y="338"/><p colinear="true" x="1270.9283489096574" y="-262" c1x="-502.29203539823015" c1y="338" c2x="-502.29203539823015" c2y="338"/></points><startConnector><rConnector id="46"><Owner><sobreposicao ref="26"/></Owner></rConnector></startConnector><endConnector><rConnector id="47"><Owner><ent ref="42"/></Owner></rConnector></endConnector></generalizacaoLine><lcaf id="48"><points><p colinear="true" x="1387" y="48.36431226765799" c1x="-186" c1y="359.3731343283582" c2x="-186" c2y="359.3731343283582"/><p colinear="true" x="1606" y="39.4089219330855" c1x="-186" c1y="359.3731343283582" c2x="-186" c2y="359.3731343283582"/></points><startConnector><rConnector id="49"><Owner><ent ref="1b"/></Owner></rConnector></startConnector><endConnector><rConnector id="4a"><Owner><sobreposicao ref="26"/></Owner></rConnector></endConnector></lcaf><atrchave id="4b" nullable="false" attributeType="NUMBER"><children><e id="4c" x="1025" y="917" w="60" h="24"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="4d" x="1035.6083984375" y="922.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Name</string></text></a></t></children></atrchave><lcaf id="4e"><points><p colinear="true" x="1025" y="936.2849989511031" c1x="-83" c1y="375.60399192891236" c2x="-83" c2y="375.60399192891236"/><p colinear="true" x="998.861328125" y="942.6323388575233" c1x="-83" c1y="375.60399192891236" c2x="-83" c2y="375.60399192891236"/></points><startConnector><rConnector id="4f"><Owner><atrchave ref="4b"/></Owner></rConnector></startConnector><endConnector><rConnector id="50"><Owner><ent ref="30"/></Owner></rConnector></endConnector></lcaf><atr id="51" nullable="false" attributeType="VARCHAR2(128)"><children><e id="52" x="1426" y="14" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="53" x="1437.599609375" y="17.015625"><a><text><string>Password</string></text></a></t></children></atr><lcaf id="54"><points><p colinear="true" x="1426" y="32.739495798319325" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/><p colinear="true" x="1387" y="41.260504201680675" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/></points><startConnector><rConnector id="55"><Owner><atr ref="51"/></Owner></rConnector></startConnector><endConnector><rConnector id="56"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><atr id="57" nullable="false" attributeType="VARCHAR2(128)"><children><e id="58" x="305" y="-8" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="59" x="321.1376953125" y="-4.984375"><a><text><string>Content</string></text></a></t></children></atr><lcaf id="5a"><points><p colinear="true" x="385" y="8.382978723404257" c1x="-91" c1y="-14" c2x="-91" c2y="-14"/><p colinear="true" x="493" y="25.617021276595747" c1x="-91" c1y="-14" c2x="-91" c2y="-14"/></points><startConnector><rConnector id="5b"><Owner><atr ref="57"/></Owner></rConnector></startConnector><endConnector><rConnector id="5c"><Owner><ent ref="12"/></Owner></rConnector></endConnector></lcaf><atr id="5d" nullable="false" attributeType="VARCHAR2(128)"><children><e id="5e" x="1468" y="53" w="86" h="30"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="5f" x="1479.5477752685547" y="59.827942848205566"><a><text><string>Register_at</string></text></a></t></children></atr><lcaf id="60"><points><p colinear="true" x="1468" y="63.28048780487804" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/><p colinear="true" x="1387" y="54.390243902439025" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/></points><startConnector><rConnector id="61"><Owner><atr ref="5d"/></Owner></rConnector></startConnector><endConnector><rConnector id="62"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><atr id="63" nullable="false" attributeType="VARCHAR2(128)"><children><e id="64" x="909" y="710" w="80" h="23"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="65" x="925.1376953125" y="714.515625"><a><text><string>Content</string></text></a></t></children></atr><atr id="66" nullable="false" attributeType="VARCHAR2(128)"><children><e id="67" x="1036" y="483" w="116.57302856445312" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="68" x="1068.282341003418" y="484.82794284820557"><a><text><string>Ended_at</string></text></a></t></children></atr><t id="69" x="1499" y="514"><a><text><null/></text></a></t><ent id="6a"><children><r id="6b" x="477" y="-135" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="6c" x="504.5810546875" y="-121.984375"><a><text><string>TAG</string></text></a></t></children></ent><rel id="6d"><children><diamond id="6e" x="778" y="-148" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="6f" x="790.4814453125" y="-134.984375"><a><text><string>CREATES</string></text></a></t></children></rel><llabelUm id="70"><points><p colinear="true" x="858" y="-114.54064272211721" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="1307" y="36.5406427221172" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="71"><Owner><rel ref="6d"/></Owner></rConnector></startConnector><endConnector><rConnector id="72"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><rel id="73"><children><diamond id="74" x="327" y="-99" w="115.53266906738281" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="75" x="338.5300064086914" y="-85.984375"><a><text><string>ASSISGNED_TO</string></text></a></t></children></rel><llabelMuitos id="76"><points><p colinear="true" x="411.47510308617944" y="-59" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="506.29123144751196" y="12" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="77"><Owner><rel ref="73"/></Owner></rConnector></startConnector><endConnector><rConnector id="78"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atrchave id="79" nullable="false" attributeType="NUMBER"><children><e id="7a" x="530" y="-178" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="7b" x="550.6083984375" y="-174.984375"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Name</string></text></a></t></children></atrchave><lcaf id="7c"><points><p colinear="true" x="537" y="-135" c1x="-597" c1y="-116" c2x="-597" c2y="-116"/><p colinear="true" x="560" y="-158" c1x="-597" c1y="-116" c2x="-597" c2y="-116"/></points><startConnector><rConnector id="7d"><Owner><ent ref="6a"/></Owner></rConnector></startConnector><endConnector><rConnector id="7e"><Owner><atrchave ref="79"/></Owner></rConnector></endConnector></lcaf><atr id="7f" nullable="false" attributeType="VARCHAR2(128)"><children><e id="80" x="536" y="478" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="81" x="541.828125" y="481.015625"><a><text><string>Description</string></text></a></t></children></atr><rel id="82"><children><diamond id="83" x="831" y="-45" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="84" x="854.353515625" y="-31.984375"><a><text><string>LIKES</string></text></a></t></children></rel><llabelMuitos id="85"><points><p colinear="true" x="831" y="-27.844444444444445" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="646" y="-41"/><p colinear="true" x="563.9589041095891" y="12" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="86"><Owner><rel ref="82"/></Owner></rConnector></startConnector><endConnector><rConnector id="87"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atr id="88" nullable="false" attributeType="VARCHAR2(128)"><children><e id="89" x="1426" y="108" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="8a" x="1439.8671875" y="111.015625"><a><text><string>Is_active</string></text></a></t></children></atr><lcaf id="8b"><points><p colinear="true" x="1448.5" y="108" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1382" y="70" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="8c"><Owner><atr ref="88"/></Owner></rConnector></startConnector><endConnector><rConnector id="8d"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="8e"><points><p colinear="true" x="778" y="-126.27242524916943" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="557" y="-116.72757475083057" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="8f"><Owner><rel ref="6d"/></Owner></rConnector></startConnector><endConnector><rConnector id="90"><Owner><ent ref="6a"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="91" nullable="false" attributeType="VARCHAR2(128)"><children><e id="92" x="1515" y="118" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="93" x="1545.147933959961" y="119.82794284820557"><a><text><string>Sex</string></text></a></t></children></atr><atr id="94" nullable="false" attributeType="VARCHAR2(128)"><children><e id="95" x="1397" y="-20" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="96" x="1402.828125" y="-16.984375"><a><text><string>Description</string></text></a></t></children></atr><lcaf id="97"><points><p colinear="true" x="1528.3333333333333" y="118" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1387" y="65" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="98"><Owner><atr ref="91"/></Owner></rConnector></startConnector><endConnector><rConnector id="99"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><lcaf id="9a"><points><p colinear="true" x="1422" y="0" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1377" y="30" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="9b"><Owner><atr ref="94"/></Owner></rConnector></startConnector><endConnector><rConnector id="9c"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="9d"><points><p colinear="true" x="905.5845170197664" y="96" c1x="891.4750350516183" c1y="-574.1259968457359" c2x="891.4750350516183" c2y="-574.1259968457359"/><p colinear="true" x="919.976801723904" y="124" c1x="891.4750350516183" c1y="-574.1259968457359" c2x="891.4750350516183" c2y="-574.1259968457359"/></points><startConnector><rConnector id="9e"><Owner><rel id="9f"><children><diamond id="a0" x="838" y="56" w="114.60862731933594" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="a1" x="845.402946472168" y="69.015625"><a><text><string>SUBBMITTED_BY</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="a2"><Owner><ent id="a3"><children><r id="a4" x="875" y="124" w="110" h="39"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="a5" x="892.1396484375" y="136.515625"><a><text><string>SUBMISSION</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="a6"><points><p colinear="true" x="760.25" y="47" c1x="891.4750350516183" c1y="-501.9012034573061" c2x="891.4750350516183" c2y="-501.9012034573061"/><p colinear="true" x="686.75" y="87" c1x="891.4750350516183" c1y="-501.9012034573061" c2x="891.4750350516183" c2y="-501.9012034573061"/></points><startConnector><rConnector id="a7"><Owner><rel id="a8"><children><diamond id="a9" x="757" y="7" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="aa" x="776" y="20.015625"><a><text><string>ABOUT</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="ab"><Owner><ent id="ac"><children><r id="ad" x="610" y="87" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="ae" x="625.865234375" y="100.015625"><a><text><string>REPORT</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="af"><points><p colinear="true" x="952.6086273193359" y="72.70151342993171" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="52.302435093914994" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="b0"><Owner><rel ref="9f"/></Owner></rConnector></startConnector><endConnector><rConnector id="b1"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="b2"><points><p colinear="true" x="837" y="28.672727272727276" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="48.32727272727273" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="b3"><Owner><rel ref="a8"/></Owner></rConnector></startConnector><endConnector><rConnector id="b4"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="b5"><points><p colinear="true" x="234.99515901128927" y="148" c1x="-65.39030456542969" c1y="-141.60966999475397" c2x="-65.39030456542969" c2y="-141.60966999475397"/><p colinear="true" x="166" y="211"/><p colinear="true" x="67.572265625" y="227.38299409416823" c1x="-65.39030456542969" c1y="-141.60966999475397" c2x="-65.39030456542969" c2y="-141.60966999475397"/></points><startConnector><rConnector id="b6"><Owner><rel id="b7"><children><diamond id="b8" x="193" y="108" w="127.79676818847656" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="b9" x="200.53412628173828" y="121.015625"><a><text><string>FOR_MISCONDUCT</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="ba"><Owner><ent ref="18"/></Owner></rConnector></endConnector></llabelUm><atrchave id="bb" nullable="false" attributeType="NUMBER"><children><e id="bc" x="340" y="76" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="bd" x="373.47265625" y="79.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="be"><points><p colinear="true" x="408.3333333333333" y="76" c1x="-459" c1y="-53" c2x="-459" c2y="-53"/><p colinear="true" x="493" y="46.117647058823536" c1x="-459" c1y="-53" c2x="-459" c2y="-53"/></points><startConnector><rConnector id="bf"><Owner><atrchave ref="bb"/></Owner></rConnector></startConnector><endConnector><rConnector id="c0"><Owner><ent ref="12"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="c1"><points><p colinear="true" x="1353.3341460175566" y="417" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1374.5862183623262" y="366" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="c2"><Owner><rel ref="8"/></Owner></rConnector></startConnector><endConnector><rConnector id="c3"><Owner><ent id="c4"><children><r id="c5" x="1320" y="326" w="125.84072875976562" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="c6" x="1325.6566925048828" y="339.015625"><a><text><string>PROJECT_REQUEST</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="c7" nullable="false" attributeType="VARCHAR2(128)"><children><e id="c8" x="966" y="226" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="c9" x="986.880859375" y="229.015625"><a><text><string>Status</string></text></a></t></children></atr><lcaf id="ca"><points><p colinear="true" x="997.7837837837837" y="226" c1x="-356" c1y="135" c2x="-356" c2y="135"/><p colinear="true" x="946.0216216216216" y="163" c1x="-356" c1y="135" c2x="-356" c2y="135"/></points><startConnector><rConnector id="cb"><Owner><atr ref="c7"/></Owner></rConnector></startConnector><endConnector><rConnector id="cc"><Owner><ent ref="a3"/></Owner></rConnector></endConnector></lcaf><atr id="cd" nullable="false" attributeType="VARCHAR2(128)"><children><e id="ce" x="878" y="231" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="cf" x="883.828125" y="234.015625"><a><text><string>Description</string></text></a></t></children></atr><lcaf id="d0"><points><p colinear="true" x="919.2307692307693" y="231" c1x="-320.4305835592336" c1y="127" c2x="-320.4305835592336" c2y="127"/><p colinear="true" x="927.6" y="163" c1x="-320.4305835592336" c1y="127" c2x="-320.4305835592336" c2y="127"/></points><startConnector><rConnector id="d1"><Owner><atr ref="cd"/></Owner></rConnector></startConnector><endConnector><rConnector id="d2"><Owner><ent ref="a3"/></Owner></rConnector></endConnector></lcaf><atr id="d3" nullable="false" attributeType="VARCHAR2(128)"><children><e id="d4" x="1058" y="-86" w="55" h="28"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="d5" x="1063.36328125" y="-78.984375"><a><text><string>Reason</string></text></a></t></children></atr><rel id="d6"><children><diamond id="d7" x="930" y="1001" w="119" h="66"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="d8" x="949.8818359375" y="1027.015625"><a><text><string>IS_ASSIGNED</string></text></a></t></children></rel><llabelMuitos id="d9"><points><p colinear="true" x="1049" y="1009.8810720268007" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1288" y="913"/><p colinear="true" x="1700.5917602996255" y="666" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="da"><Owner><rel ref="d6"/></Owner></rConnector></startConnector><endConnector><rConnector id="db"><Owner><ent ref="21"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><ent id="dc"><children><r id="dd" x="289" y="320" w="150.4765625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="de" x="299" y="333.015625"><a><text><string>DISCUSSION_THREAD</string></text></a></t></children></ent><atr id="df" nullable="false" attributeType="VARCHAR2(128)"><children><e id="e0" x="-73" y="320" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="e1" x="-46.04296875" y="323.015625"><a><text><string>Title</string></text></a></t></children></atr><lcaf id="e2"><points><p colinear="true" x="-29.001507302989133" y="320" c1x="-315" c1y="22" c2x="-315" c2y="22"/><p colinear="true" x="-4.210852581521749" y="258" c1x="-315" c1y="22" c2x="-315" c2y="22"/></points><startConnector><rConnector id="e3"><Owner><atr ref="df"/></Owner></rConnector></startConnector><endConnector><rConnector id="e4"><Owner><ent ref="18"/></Owner></rConnector></endConnector></lcaf><atr id="e5" nullable="false" attributeType="VARCHAR2(128)"><children><e id="e6" x="636" y="248" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="e7" x="664.0179138183594" y="249.82794284820557"><a><text><string>Title</string></text></a></t></children></atr><lcaf id="e8"><points><p colinear="true" x="640.0547449448529" y="268" c1x="21.427734375" c1y="-105" c2x="21.427734375" c2y="-105"/><p colinear="true" x="617.572265625" y="274.2546445380233" c1x="21.427734375" c1y="-105" c2x="21.427734375" c2y="-105"/></points><startConnector><rConnector id="e9"><Owner><atr ref="e5"/></Owner></rConnector></startConnector><endConnector><rConnector id="ea"><Owner><ent ref="c"/></Owner></rConnector></endConnector></lcaf><llabelMuitos id="eb"><points><p colinear="true" x="911" y="-16.89193899782135" c1x="-3" c1y="-21.594771241830067" c2x="-3" c2y="-21.594771241830067"/><p colinear="true" x="1021" y="5.405228758169933"/><p colinear="true" x="1307" y="44.52824892738282" c1x="-3" c1y="-21.594771241830067" c2x="-3" c2y="-21.594771241830067"/></points><startConnector><rConnector id="ec"><Owner><rel ref="82"/></Owner></rConnector></startConnector><endConnector><rConnector id="ed"><Owner><ent ref="1b"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><llabelDoubleMuitos id="ee"><points><p colinear="true" x="320.79676818847656" y="124.58646514874492" c1x="-568.3903045654297" c1y="516.4740031542641" c2x="-568.3903045654297" c2y="516.4740031542641"/><p colinear="true" x="610" y="109.13685206575536" c1x="-568.3903045654297" c1y="516.4740031542641" c2x="-568.3903045654297" c2y="516.4740031542641"/></points><startConnector><rConnector id="ef"><Owner><rel ref="b7"/></Owner></rConnector></startConnector><endConnector><rConnector id="f0"><Owner><ent ref="ac"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="f1" nullable="false" attributeType="VARCHAR2(128)"><children><e id="f2" x="551" y="220" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="f3" x="566.1658248901367" y="221.82794284820557"><a><text><string>Repo_url</string></text></a></t></children></atr><lcaf id="f4"><points><p colinear="true" x="584.9977633568549" y="240" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="565.7906060987904" y="272" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="f5"><Owner><atr ref="f1"/></Owner></rConnector></startConnector><endConnector><rConnector id="f6"><Owner><ent ref="c"/></Owner></rConnector></endConnector></lcaf><atr id="f7" nullable="false" attributeType="VARCHAR2(128)"><children><e id="f8" x="1076" y="-225" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="f9" x="1088.068359375" y="-221.984375"><a><text><string>End_date</string></text></a></t></children></atr><atrchave id="fa" nullable="false" attributeType="NUMBER"><children><e id="fb" x="1305" y="118" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="fc" x="1338.47265625" y="121.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="fd"><points><p colinear="true" x="1346.4871794871794" y="70" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1345.2564102564102" y="118" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="fe"><Owner><ent ref="1b"/></Owner></rConnector></startConnector><endConnector><rConnector id="ff"><Owner><atrchave ref="fa"/></Owner></rConnector></endConnector></lcaf><entfraca id="100"><children><r id="101" x="1224" y="170" w="77" h="33"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="102" x="1230.501953125" y="179.515625"><a><text><string>FEEDBACK</string></text></a></t></children></entfraca><atr id="103" nullable="false" attributeType="VARCHAR2(128)"><children><e id="104" x="1229" y="243" w="107" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="105" x="1248.328125" y="249.515625"><a><text><string>Description</string></text></a></t></children></atr><atr id="106" nullable="false" attributeType="VARCHAR2(128)"><children><e id="107" x="1196" y="111" w="101.455078125" h="30"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="108" x="1199.2792053222656" y="117.82794284820557"><a><text><string>Submission_type</string></text></a></t></children></atr><atr id="109" nullable="false" attributeType="VARCHAR2(128)"><children><e id="10a" x="1161" y="219" w="85.8125" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="10b" x="1171" y="220.015625"><a><text><string>Created_at</string></text></a></t></children></atr><rel id="10c"><children><diamond id="10d" x="1402" y="166" w="102" h="44"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="10e" x="1414.73828125" y="181.015625"><a><text><string>WRITTEN_BY</string></text></a></t></children></rel><llabelUm id="10f"><points><p colinear="true" x="1436.1014492753623" y="166" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1362.3623188405797" y="70" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="110"><Owner><rel ref="10c"/></Owner></rConnector></startConnector><endConnector><rConnector id="111"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><ent ref="a3"/><atrchave id="112" nullable="false" attributeType="NUMBER"><children><e id="113" x="1006" y="196" w="44" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="114" x="1021.47265625" y="202.515625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="115"><points><p colinear="true" x="1007.9545454545455" y="196" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="958.9545454545455" y="163" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="116"><Owner><atrchave ref="112"/></Owner></rConnector></startConnector><endConnector><rConnector id="117"><Owner><ent ref="a3"/></Owner></rConnector></endConnector></lcaf><relfraco id="118"><children><diamond id="119" x="1044" y="111" w="121.595703125" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="11a" x="1054" y="124.015625"><a><text><string>SUBBMITED_FOR</string></text></a></t></children></relfraco><llabelDoubleUm id="11b"><points><p colinear="true" x="1161.6274546030406" y="151" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1224" y="172.95072358765722" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="11c"><Owner><relfraco ref="118"/></Owner></rConnector></startConnector><endConnector><rConnector id="11d"><Owner><entfraca ref="100"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><llabelUm id="11e"><points><p colinear="true" x="1044" y="135.3477258887219" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="985" y="139.5668852971904" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="11f"><Owner><relfraco ref="118"/></Owner></rConnector></startConnector><endConnector><rConnector id="120"><Owner><ent ref="a3"/></Owner></rConnector></endConnector></llabelUm><lcaf id="121"><points><p colinear="true" x="1238.6284722222222" y="203" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1215.4803240740741" y="219" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="122"><Owner><entfraca ref="100"/></Owner></rConnector></startConnector><endConnector><rConnector id="123"><Owner><atr ref="109"/></Owner></rConnector></endConnector></lcaf><lcaf id="124"><points><p colinear="true" x="1258.6455841064453" y="170" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1251.871156172319" y="141" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="125"><Owner><entfraca ref="100"/></Owner></rConnector></startConnector><endConnector><rConnector id="126"><Owner><atr ref="106"/></Owner></rConnector></endConnector></lcaf><lcaf id="127"><points><p colinear="true" x="1267.2142857142858" y="203" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1278.642857142857" y="243" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="128"><Owner><entfraca ref="100"/></Owner></rConnector></startConnector><endConnector><rConnector id="129"><Owner><atr ref="103"/></Owner></rConnector></endConnector></lcaf><atrmulti id="12a" nullable="false" attributeType="VARCHAR2(128)"><children><e id="12b" x="-124" y="274" w="75" h="34"><a><fillColor><color rgba="#ffffebeb"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></e><t id="12c" x="-118.0732421875" y="284.015625"><a><text><string>Guidelines</string></text></a></t></children></atrmulti><lcaf id="12d"><points><p colinear="true" x="-57.54029702240567" y="274" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="-30.284105984669832" y="258" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="12e"><Owner><atrmulti ref="12a"/></Owner></rConnector></startConnector><endConnector><rConnector id="12f"><Owner><ent ref="18"/></Owner></rConnector></endConnector></lcaf><atr id="130" nullable="false" attributeType="VARCHAR2(128)"><children><e id="131" x="634" y="3" w="85.8125" h="16.344114303588867"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="132" x="644" y="4.187682151794434"><a><text><string>Created_at</string></text></a></t></children></atr><lcaf id="133"><points><p colinear="true" x="573" y="26.210691238718105" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="634" y="17.381995377763218" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="134"><Owner><ent ref="12"/></Owner></rConnector></startConnector><endConnector><rConnector id="135"><Owner><atr ref="130"/></Owner></rConnector></endConnector></lcaf><atr id="136" nullable="false" attributeType="VARCHAR2(128)"><children><e id="137" x="1035" y="199" w="85.8125" h="16.344114303588867"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="138" x="1045" y="200.18768215179443"><a><text><string>Created_at</string></text></a></t></children></atr><atr id="139" nullable="false" attributeType="VARCHAR2(128)"><children><e id="13a" x="1531" y="90" w="64" h="16.344114303588867"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="13b" x="1547.591896057129" y="91.015625"><a><text><string>Email</string></text></a></t></children></atr><lcaf id="13c"><points><p colinear="true" x="1531" y="91.03545609226933" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1387" y="58.92075132440638" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="13d"><Owner><atr ref="139"/></Owner></rConnector></startConnector><endConnector><rConnector id="13e"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><atr id="13f" nullable="false" attributeType="VARCHAR2(128)"><children><e id="140" x="1207" y="60" w="64" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="141" x="1221.298828125" y="61.015625"><a><text><string>Name</string></text></a></t></children></atr><lcaf id="142"><points><p colinear="true" x="1271" y="62.66666666666667" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="56.66666666666667" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="143"><Owner><atr ref="13f"/></Owner></rConnector></startConnector><endConnector><rConnector id="144"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><lcaf id="145"><points><p colinear="true" x="1058.9230667611414" y="199" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="975.2972937268875" y="163" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="146"><Owner><atr ref="136"/></Owner></rConnector></startConnector><endConnector><rConnector id="147"><Owner><ent ref="a3"/></Owner></rConnector></endConnector></lcaf><atr id="148" nullable="false" attributeType="VARCHAR2(128)"><children><e id="149" x="1325" y="-60" w="107" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="14a" x="1352.1838150024414" y="-54.672057151794434"><a><text><string>Uername</string></text></a></t></children></atr><lcaf id="14b"><points><p colinear="true" x="1374.0932642487046" y="-33" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1353.5284974093265" y="30" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="14c"><Owner><atr ref="148"/></Owner></rConnector></startConnector><endConnector><rConnector id="14d"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><disjuncao id="14e"><children><circ id="14f" x="801" y="253" w="20" h="21"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="150" x="805" y="254"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao><generalizacaoLine id="151"><points><p colinear="true" x="821" y="264.94250852283346" c1x="7" c1y="5.7018571100570625" c2x="7" c2y="5.7018571100570625"/><p colinear="true" x="1320" y="336.9236838122232" c1x="7" c1y="5.7018571100570625" c2x="7" c2y="5.7018571100570625"/></points><startConnector><rConnector id="152"><Owner><disjuncao ref="14e"/></Owner></rConnector></startConnector><endConnector><rConnector id="153"><Owner><ent ref="c4"/></Owner></rConnector></endConnector></generalizacaoLine><generalizacaoLine id="154"><points><p colinear="true" x="801" y="253.77950310559007" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="670.5750798722045" y="127" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="155"><Owner><disjuncao ref="14e"/></Owner></rConnector></startConnector><endConnector><rConnector id="156"><Owner><ent ref="ac"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleGeneralizacao id="157" labelGeneralizacaoText="characteristic"><points><p colinear="true" x="910.6625" y="163" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="821" y="253.41596638655463" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="158"><Owner><ent ref="a3"/></Owner></rConnector></startConnector><endConnector><rConnector id="159"><Owner><disjuncao ref="14e"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><rel ref="b7"/><rel ref="a8"/><rel ref="9f"/><ent ref="ac"/><ent ref="c4"/><rel ref="8"/><generalizacaoLine id="15a"><points><p colinear="true" x="416" y="162.4054832719896" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="532.5219410409172" y="272" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="15b"><Owner><disjuncao ref="15"/></Owner></rConnector></startConnector><endConnector><rConnector id="15c"><Owner><ent ref="c"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleMuitos id="15d"><points><p colinear="true" x="171.95094651442307" y="-195" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="11.553560697115387" y="218" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="15e"><Owner><rel ref="f"/></Owner></rConnector></startConnector><endConnector><rConnector id="15f"><Owner><ent ref="18"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="160"><points><p colinear="true" x="254.0390625" y="-227.40114438718433" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1208" y="-279.80277660608505" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="161"><Owner><rel ref="f"/></Owner></rConnector></startConnector><endConnector><rConnector id="162"><Owner><ent ref="42"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><generalizacaoLine id="163"><points><p colinear="true" x="396" y="157.81581364588308" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="331.24627685546875" y="189" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="164"><Owner><disjuncao ref="15"/></Owner></rConnector></startConnector><endConnector><rConnector id="165"><Owner><ent id="166"><children><r id="167" x="215" y="189" w="149.432861328125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="168" x="248.2467041015625" y="202.015625"><a><text><string>EMBEDDABLE</string></text></a></t></children></ent></Owner></rConnector></endConnector></generalizacaoLine><rel id="169"><children><diamond id="16a" x="230" y="374" w="122.064453125" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="16b" x="240" y="387.015625"><a><text><string>REFERENCED_BY</string></text></a></t></children></rel><llabelMuitos id="16c"><points><p colinear="true" x="254.20580428685898" y="374" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="40.61255508814102" y="258" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="16d"><Owner><rel ref="169"/></Owner></rConnector></startConnector><endConnector><rConnector id="16e"><Owner><ent ref="18"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><llabelUm id="16f"><points><p colinear="true" x="352.064453125" y="390.9813883596748" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="473" y="385"/><p colinear="true" x="536.4127709173387" y="312" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="170"><Owner><rel ref="169"/></Owner></rConnector></startConnector><endConnector><rConnector id="171"><Owner><ent ref="c"/></Owner></rConnector></endConnector></llabelUm><rel id="172"><children><diamond id="173" x="386" y="230" w="110.193359375" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="174" x="396" y="243.015625"><a><text><string>CONTAINED_IN</string></text></a></t></children></rel><llabelUm id="175"><points><p colinear="true" x="386" y="235.07755217896522" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="363.5604545779345" y="229" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="176"><Owner><rel ref="172"/></Owner></rConnector></startConnector><endConnector><rConnector id="177"><Owner><ent ref="166"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="178"><points><p colinear="true" x="424.01703559027777" y="270" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="381.31792534722223" y="320" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="179"><Owner><rel ref="172"/></Owner></rConnector></startConnector><endConnector><rConnector id="17a"><Owner><ent ref="dc"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><generalizacaoLine id="17b"><points><p colinear="true" x="229" y="264.11146822301714" c1x="-24.922495966372253" c1y="27" c2x="-24.922495966372253" c2y="27"/><p colinear="true" x="328.59698523773005" y="320" c1x="-24.922495966372253" c1y="27" c2x="-24.922495966372253" c2y="27"/></points><startConnector><rConnector id="17c"><Owner><disjuncao id="17d"><children><circ id="17e" x="209" y="248" w="20" h="21"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="17f" x="213" y="249"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao></Owner></rConnector></startConnector><endConnector><rConnector id="180"><Owner><ent ref="dc"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleMuitos id="181"><points><p colinear="true" x="1402" y="187.5984251968504" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1301" y="186.8031496062992" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="182"><Owner><rel ref="10c"/></Owner></rConnector></startConnector><endConnector><rConnector id="183"><Owner><entfraca ref="100"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="184"><points><p colinear="true" x="442.5326690673828" y="-94.72661572890257" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="477" y="-104.1101861623363" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="185"><Owner><rel ref="73"/></Owner></rConnector></startConnector><endConnector><rConnector id="186"><Owner><ent ref="6a"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><ent ref="166"/><generalizacaoLine id="187"><points><p colinear="true" x="209" y="257.547459149919" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="67.572265625" y="244.07588971725983" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="188"><Owner><disjuncao ref="17d"/></Owner></rConnector></startConnector><endConnector><rConnector id="189"><Owner><ent ref="18"/></Owner></rConnector></endConnector></generalizacaoLine><disjuncao ref="17d"/><llabelDoubleGeneralizacao id="18a" labelGeneralizacaoText="caracteristica"><points><p colinear="true" x="261.14413544625944" y="229" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="229" y="251.50021232192145" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="18b"><Owner><ent ref="166"/></Owner></rConnector></startConnector><endConnector><rConnector id="18c"><Owner><disjuncao ref="17d"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><entfraca id="18d"><children><r id="18e" x="558" y="785" w="190.14453125" h="27"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="18f" x="593.1162109375" y="791.515625"><a><text><string>ROLE_PERMISSIONS</string></text></a></t></children></entfraca><relfraco id="190"><children><diamond id="191" x="439" y="842" w="111" h="38"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="192" x="463.1318359375" y="854.015625"><a><text><string>FOR_ROLE</string></text></a></t></children></relfraco><relfraco id="193"><children><diamond id="194" x="762" y="830" w="157" h="57"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="195" x="788.03515625" y="851.515625"><a><text><string>FOR_PERMISSION</string></text></a></t></children></relfraco><atr id="196" nullable="false" attributeType="VARCHAR2(128)"><children><e id="197" x="237" y="569" w="102.833984375" h="37"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="198" x="247" y="580.515625"><a><text><string>override_type</string></text></a></t></children></atr><ent id="199"><children><r id="19a" x="284" y="857" w="107" h="53"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="19b" x="292.5498046875" y="876.515625"><a><text><string>PROJECT_ROLE</string></text></a></t></children></ent><rel id="19c"><children><diamond id="19d" x="375" y="524" w="106" h="53"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="19e" x="400.80078125" y="543.515625"><a><text><string>VALID_IN</string></text></a></t></children></rel><llabelDoubleMuitos id="19f"><points><p colinear="true" x="420.79804804804803" y="577" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="344.70195195195197" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1a0"><Owner><rel ref="19c"/></Owner></rConnector></startConnector><endConnector><rConnector id="1a1"><Owner><ent ref="199"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atrchave id="1a2" nullable="false" attributeType="NUMBER"><children><e id="1a3" x="104" y="676" w="106" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1a4" x="150.6484375" y="682.515625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>id</string></text></a></t></children></atrchave><atr id="1a5" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1a6" x="141" y="611" w="106" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1a7" x="176.984375" y="617.515625"><a><text><string>name</string></text></a></t></children></atr><lcaf id="1a8"><points><p colinear="true" x="169.56056701030928" y="703" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="312.84407216494844" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1a9"><Owner><atrchave ref="1a2"/></Owner></rConnector></startConnector><endConnector><rConnector id="1aa"><Owner><ent ref="199"/></Owner></rConnector></endConnector></lcaf><lcaf id="1ab"><points><p colinear="true" x="201.47972972972974" y="638" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="322.81756756756755" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1ac"><Owner><atr ref="1a5"/></Owner></rConnector></startConnector><endConnector><rConnector id="1ad"><Owner><ent ref="199"/></Owner></rConnector></endConnector></lcaf><llabelMuitos id="1ae"><points><p colinear="true" x="930" y="1020.2657208588957" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="391" y="895.849309815951" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1af"><Owner><rel ref="d6"/></Owner></rConnector></startConnector><endConnector><rConnector id="1b0"><Owner><ent ref="199"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><lcaf id="1b1"><points><p colinear="true" x="291.48468017578125" y="606" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="333.1057442330025" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1b2"><Owner><atr ref="196"/></Owner></rConnector></startConnector><endConnector><rConnector id="1b3"><Owner><ent ref="199"/></Owner></rConnector></endConnector></lcaf><ent id="1b4"><children><r id="1b5" x="662" y="504" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1b6" x="673.083984375" y="517.015625"><a><text><string>CHANNEL</string></text></a></t></children></ent><lcaf id="1b7"><points><p colinear="true" x="707.4871794871794" y="417" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="703.025641025641" y="504" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1b8"><Owner><atrchave ref="3"/></Owner></rConnector></startConnector><endConnector><rConnector id="1b9"><Owner><ent ref="1b4"/></Owner></rConnector></endConnector></lcaf><lcaf id="1ba"><points><p colinear="true" x="611" y="498" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="662" y="512.5714285714286" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1bb"><Owner><atr ref="7f"/></Owner></rConnector></startConnector><endConnector><rConnector id="1bc"><Owner><ent ref="1b4"/></Owner></rConnector></endConnector></lcaf><lcaf id="1bd"><points><p colinear="true" x="783.7777777777778" y="444" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="722.4444444444445" y="504" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1be"><Owner><atr ref="0"/></Owner></rConnector></startConnector><endConnector><rConnector id="1bf"><Owner><ent ref="1b4"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="1c0"><points><p colinear="true" x="982" y="553.0207464559825" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="742" y="528.1458209222832" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1c1"><Owner><rel ref="33"/></Owner></rConnector></startConnector><endConnector><rConnector id="1c2"><Owner><ent ref="1b4"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><rel id="1c3"><children><diamond id="1c4" x="547" y="374" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1c5" x="574.5751953125" y="387.015625"><a><text><string>HAS</string></text></a></t></children></rel><llabelUm id="1c6"><points><p colinear="true" x="580.4874770220588" y="374" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="560.2986557904412" y="312" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1c7"><Owner><rel ref="1c3"/></Owner></rConnector></startConnector><endConnector><rConnector id="1c8"><Owner><ent ref="c"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="1c9"><points><p colinear="true" x="604.6923076923077" y="414" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="684.3076923076923" y="504" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1ca"><Owner><rel ref="1c3"/></Owner></rConnector></startConnector><endConnector><rConnector id="1cb"><Owner><ent ref="1b4"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelUm id="1cc"><points><p colinear="true" x="440.89490336375724" y="524" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="544.0541302738153" y="312" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1cd"><Owner><rel ref="19c"/></Owner></rConnector></startConnector><endConnector><rConnector id="1ce"><Owner><ent ref="c"/></Owner></rConnector></endConnector></llabelUm><atrchave id="1cf" nullable="false" attributeType="NUMBER"><children><e id="1d0" x="1004" y="-140" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1d1" x="1037.47265625" y="-136.984375"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><atr id="1d2" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1d3" x="1030" y="-204" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1d4" x="1038.8134765625" y="-200.984375"><a><text><string>Start_date</string></text></a></t></children></atr><ent id="1d5"><children><r id="1d6" x="1186" y="-140" w="139.689453125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1d7" x="1196" y="-126.984375"><a><text><string>BLACKLISTED_USER</string></text></a></t></children></ent><rel id="1d8"><children><diamond id="1d9" x="1188" y="-200" w="122.931640625" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1da" x="1198" y="-186.984375"><a><text><string>BLACKLISTED_BY</string></text></a></t></children></rel><llabelDoubleMuitos id="1db"><points><p colinear="true" x="1251.5921223958333" y="-160" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1253.7184244791667" y="-140" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1dc"><Owner><rel ref="1d8"/></Owner></rConnector></startConnector><endConnector><rConnector id="1dd"><Owner><ent ref="1d5"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="1de"><points><p colinear="true" x="1249.178404564951" y="-200" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1248.287415747549" y="-262" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1df"><Owner><rel ref="1d8"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e0"><Owner><ent ref="42"/></Owner></rConnector></endConnector></llabelUm><rel id="1e1"><children><diamond id="1e2" x="1215" y="-57" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1e3" x="1224.2236328125" y="-43.984375"><a><text><string>RFERS_TO</string></text></a></t></children></rel><llabelDoubleMuitos id="1e4"><points><p colinear="true" x="1255.203548569277" y="-57" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1255.641177993223" y="-100" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1e5"><Owner><rel ref="1e1"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e6"><Owner><ent ref="1d5"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelUm id="1e7"><points><p colinear="true" x="1276.1494252873563" y="-17" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1325.8505747126437" y="30" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1e8"><Owner><rel ref="1e1"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e9"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><lcaf id="1ea"><points><p colinear="true" x="1084" y="-128.11182460620756" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1186" y="-123.29697735203683" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1eb"><Owner><atrchave ref="1cf"/></Owner></rConnector></startConnector><endConnector><rConnector id="1ec"><Owner><ent ref="1d5"/></Owner></rConnector></endConnector></lcaf><lcaf id="1ed"><points><p colinear="true" x="1113" y="-79.74899244982313" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1186" y="-100.31904513480822" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1ee"><Owner><atr ref="d3"/></Owner></rConnector></startConnector><endConnector><rConnector id="1ef"><Owner><ent ref="1d5"/></Owner></rConnector></endConnector></lcaf><lcaf id="1f0"><points><p colinear="true" x="1095.1141522381756" y="-184" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1205.6164220861485" y="-140" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1f1"><Owner><atr ref="1d2"/></Owner></rConnector></startConnector><endConnector><rConnector id="1f2"><Owner><ent ref="1d5"/></Owner></rConnector></endConnector></lcaf><lcaf id="1f3"><points><p colinear="true" x="1130.7204975328948" y="-205" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1226.4037314967104" y="-140" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1f4"><Owner><atr ref="f7"/></Owner></rConnector></startConnector><endConnector><rConnector id="1f5"><Owner><ent ref="1d5"/></Owner></rConnector></endConnector></lcaf><rel id="1f6"><children><diamond id="1f7" x="211" y="-193" w="142.408203125" h="68"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1f8" x="221" y="-165.984375"><a><text><string>BLACKLISTED_FROM</string></text></a></t></children></rel><llabelUm id="1f9"><points><p colinear="true" x="258.35974151841936" y="-125" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="17.812226956076813" y="218" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1fa"><Owner><rel ref="1f6"/></Owner></rConnector></startConnector><endConnector><rConnector id="1fb"><Owner><ent ref="18"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="1fc"><points><p colinear="true" x="353.408203125" y="-170.9534503209713" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="586" y="-210"/><p colinear="true" x="795" y="-205"/><p colinear="true" x="1186" y="-132.8824339644632" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1fd"><Owner><rel ref="1f6"/></Owner></rConnector></startConnector><endConnector><rConnector id="1fe"><Owner><ent ref="1d5"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><entfraca id="1ff"><children><r id="200" x="917" y="619" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="201" x="927.8701171875" y="632.015625"><a><text><string>MESSAGE</string></text></a></t></children></entfraca><atrchaveparcial id="202" nullable="false" attributeType="NUMBER"><children><e id="203" x="734" y="669" w="125" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="204" x="771.052734375" y="675.515625"><a><strokeDashes><doubleArray><double>3</double></doubleArray></strokeDashes><fontBold><boolean>true</boolean></fontBold><text><string>Sent_at</string></text></a></t></children></atrchaveparcial><relfraco id="205"><children><diamond id="206" x="771" y="554" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="207" x="794.4892578125" y="572.015625"><a><text><string>SENT_IN</string></text></a></t></children></relfraco><relfraco id="208"><children><diamond id="209" x="1110" y="644" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="20a" x="1131.9658203125" y="662.015625"><a><text><string>SENT_BY</string></text></a></t></children></relfraco><llabelDoubleMuitos id="20b"><points><p colinear="true" x="868" y="600.1636363636363" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="917" y="621.5454545454545" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="20c"><Owner><relfraco ref="205"/></Owner></rConnector></startConnector><endConnector><rConnector id="20d"><Owner><entfraca ref="1ff"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelUm id="20e"><points><p colinear="true" x="771" y="556.2978723404256" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="742" y="542.7234042553191" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="20f"><Owner><relfraco ref="205"/></Owner></rConnector></startConnector><endConnector><rConnector id="210"><Owner><ent ref="1b4"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="211"><points><p colinear="true" x="1207" y="667.0616854908775" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1694" y="647.598609904431" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="212"><Owner><relfraco ref="208"/></Owner></rConnector></startConnector><endConnector><rConnector id="213"><Owner><ent ref="21"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="214"><points><p colinear="true" x="1110" y="661.7791563275434" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="997" y="644.955334987593" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="215"><Owner><relfraco ref="208"/></Owner></rConnector></startConnector><endConnector><rConnector id="216"><Owner><entfraca ref="1ff"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><lcaf id="217"><points><p colinear="true" x="846.3103448275863" y="669" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="917" y="649.8411214953271" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="218"><Owner><atrchaveparcial ref="202"/></Owner></rConnector></startConnector><endConnector><rConnector id="219"><Owner><entfraca ref="1ff"/></Owner></rConnector></endConnector></lcaf><lcaf id="21a"><points><p colinear="true" x="950.1151515151515" y="710" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="955.060606060606" y="659" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="21b"><Owner><atr ref="63"/></Owner></rConnector></startConnector><endConnector><rConnector id="21c"><Owner><entfraca ref="1ff"/></Owner></rConnector></endConnector></lcaf><entfraca id="21d"><children><r id="21e" x="913" y="416" w="283" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="21f" x="937.9611968994141" y="427.82794284820557"><a><text><string>DEVELOPER_ASSOCIATED_WITH_PROJECT</string></text></a></t></children></entfraca><atrchaveparcial id="220" nullable="false" attributeType="NUMBER"><children><e id="221" x="882" y="470" w="125" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="222" x="913.5997772216797" y="475.32794284820557"><a><strokeDashes><doubleArray><double>3</double></doubleArray></strokeDashes><fontBold><boolean>true</boolean></fontBold><text><string>Started_at</string></text></a></t></children></atrchaveparcial><lcaf id="223"><points><p colinear="true" x="975.7631578947369" y="470" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1008.1842105263158" y="456" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="224"><Owner><atrchaveparcial ref="220"/></Owner></rConnector></startConnector><endConnector><rConnector id="225"><Owner><entfraca ref="21d"/></Owner></rConnector></endConnector></lcaf><lcaf id="226"><points><p colinear="true" x="1087.3064240572746" y="483" c1x="1.575538727174262" c1y="-17" c2x="1.575538727174262" c2y="-17"/><p colinear="true" x="1068.460180449904" y="456" c1x="1.575538727174262" c1y="-17" c2x="1.575538727174262" c2y="-17"/></points><startConnector><rConnector id="227"><Owner><atr ref="66"/></Owner></rConnector></startConnector><endConnector><rConnector id="228"><Owner><entfraca ref="21d"/></Owner></rConnector></endConnector></lcaf><relfraco id="229"><children><diamond id="22a" x="792" y="343" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="22b" x="807.0917663574219" y="359.82794284820557"><a><text><string>IN_PROJECT</string></text></a></t></children></relfraco><relfraco id="22c"><children><diamond id="22d" x="1347" y="490" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="22e" x="1361.3777618408203" y="506.82794284820557"><a><text><string>ABOUT_DEV</string></text></a></t></children></relfraco><llabelUm id="22f"><points><p colinear="true" x="792" y="355.14397724756896" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="617.572265625" y="308.90795824179565" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="230"><Owner><relfraco ref="229"/></Owner></rConnector></startConnector><endConnector><rConnector id="231"><Owner><ent ref="c"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="232"><points><p colinear="true" x="889" y="383.41121495327104" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="991.5588235294117" y="416" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="233"><Owner><relfraco ref="229"/></Owner></rConnector></startConnector><endConnector><rConnector id="234"><Owner><entfraca ref="21d"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="235"><points><p colinear="true" x="1347" y="503.7639296187683" c1x="1" c1y="18.10973084886126" c2x="1" c2y="18.10973084886126"/><p colinear="true" x="1140.8291139240507" y="456" c1x="1" c1y="18.10973084886126" c2x="1" c2y="18.10973084886126"/></points><startConnector><rConnector id="236"><Owner><relfraco ref="22c"/></Owner></rConnector></startConnector><endConnector><rConnector id="237"><Owner><entfraca ref="21d"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleUm id="238"><points><p colinear="true" x="1444" y="533.7695716395864" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1694" y="630.519940915805" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="239"><Owner><relfraco ref="22c"/></Owner></rConnector></startConnector><endConnector><rConnector id="23a"><Owner><ent ref="21"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><t id="23b" x="1548" y="245"><a><text><string/></text></a></t><entfraca id="23c"><children><r id="23d" x="431" y="646" w="203" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="23e" x="438.4072265625" y="659.015625"><a><text><string>ROLE_PERMISSION_OVERRIDES</string></text></a></t></children></entfraca><relfraco id="23f"><children><diamond id="240" x="534" y="702" w="195" h="72"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="241" x="560.009765625" y="731.015625"><a><text><string>FOR_ROLE_PERMISSION</string></text></a></t></children></relfraco><llabelDoubleMuitos id="242"><points><p colinear="true" x="582" y="702" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="560" y="686" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="243"><Owner><relfraco ref="23f"/></Owner></rConnector></startConnector><endConnector><rConnector id="244"><Owner><entfraca ref="23c"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleUm id="245"><points><p colinear="true" x="644.3363894628098" y="774" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="648.2586195764462" y="785" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="246"><Owner><relfraco ref="23f"/></Owner></rConnector></startConnector><endConnector><rConnector id="247"><Owner><entfraca ref="18d"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><relfraco id="248"><children><diamond id="249" x="541" y="545" w="129" h="67"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="24a" x="557.125" y="571.515625"><a><text><string>FOR_RESOURCE</string></text></a></t></children></relfraco><llabelDoubleMuitos id="24b"><points><p colinear="true" x="577.5514285714286" y="612" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="549.1857142857143" y="646" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="24c"><Owner><relfraco ref="248"/></Owner></rConnector></startConnector><endConnector><rConnector id="24d"><Owner><entfraca ref="23c"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="24e"><points><p colinear="true" x="664.8165137614678" y="545" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="666.5871559633027" y="544" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="24f"><Owner><relfraco ref="248"/></Owner></rConnector></startConnector><endConnector><rConnector id="250"><Owner><ent ref="1b4"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="251"><points><p colinear="true" x="439" y="868.953821656051" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="391" y="875.8328025477707" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="252"><Owner><relfraco ref="190"/></Owner></rConnector></startConnector><endConnector><rConnector id="253"><Owner><ent ref="199"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="254"><points><p colinear="true" x="542.70596875" y="842" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="618.82065625" y="812" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="255"><Owner><relfraco ref="190"/></Owner></rConnector></startConnector><endConnector><rConnector id="256"><Owner><entfraca ref="18d"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelUm id="257"><points><p colinear="true" x="872.2282272101684" y="887" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="925.6652414588731" y="935" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="258"><Owner><relfraco ref="193"/></Owner></rConnector></startConnector><endConnector><rConnector id="259"><Owner><ent ref="30"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="25a"><points><p colinear="true" x="762" y="833.370314600419" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="695.243505859375" y="812" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="25b"><Owner><relfraco ref="193"/></Owner></rConnector></startConnector><endConnector><rConnector id="25c"><Owner><entfraca ref="18d"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos></figures></drawing>
Index: cs/versioning/er_models/ER_BUILD_BOARD_v5.6.xml
===================================================================
--- docs/versioning/er_models/ER_BUILD_BOARD_v5.6.xml	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,1 +1,0 @@
-<drawing><figures><atr id="0" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1" x="754" y="424" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="2" x="776.298828125" y="427.015625"><a><text><string>Name</string></text></a></t></children></atr><atrchave id="3" nullable="false" attributeType="NUMBER"><children><e id="4" x="668" y="397" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="5" x="701.47265625" y="400.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><llabelUm id="6"><points><p colinear="true" x="1305" y="425.71165644171776" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1019" y="345"/><p colinear="true" x="617.572265625" y="299.26690513225816" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="7"><Owner><rel id="8"><children><diamond id="9" x="1305" y="417" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="a" x="1315.5859375" y="430.015625"><a><text><string>RECIEVES</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="b"><Owner><ent id="c"><children><r id="d" x="490" y="272" w="127.572265625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="e" x="500" y="285.015625"><a><text><string>PROJECT_THREAD</string></text></a></t></children></ent></Owner></rConnector></endConnector></llabelUm><rel id="f"><children><diamond id="10" x="112" y="-252" w="142.0390625" h="57"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="11" x="125" y="-230.484375"><a><text><string>IS_MODERATED_BY</string></text></a></t></children></rel><ent id="12"><children><r id="13" x="493" y="12" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="14" x="508.138671875" y="25.015625"><a><text><string>THREAD</string></text></a></t></children></ent><disjuncao id="15"><children><circ id="16" x="396" y="143" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="17" x="400" y="144"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao><ent ref="c"/><ent id="18"><children><r id="19" x="-60" y="218" w="127.572265625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1a" x="-42.0400390625" y="231.015625"><a><text><string>TOPIC_THREAD</string></text></a></t></children></ent><ent id="1b"><children><r id="1c" x="1307" y="30" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1d" x="1330.83984375" y="43.015625"><a><text><string>USER</string></text></a></t></children></ent><llabelDoubleGeneralizacao id="1e" labelGeneralizacaoText="caracteristica"><points><p colinear="true" x="416" y="143.4724409448819" c1x="-14.280559426255081" c1y="-40" c2x="-14.280559426255081" c2y="-40"/><p colinear="true" x="512.00826446281" y="52" c1x="-14.280559426255081" c1y="-40" c2x="-14.280559426255081" c2y="-40"/></points><startConnector><rConnector id="1f"><Owner><disjuncao ref="15"/></Owner></rConnector></startConnector><endConnector><rConnector id="20"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><ent id="21"><children><r id="22" x="1694" y="626" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="23" x="1700.8197708129883" y="637.8279428482056"><a><text><string>DEVELOPER</string></text></a></t></children></ent><generalizacaoLine id="24"><points><p colinear="true" x="1617.9439868204283" y="49" c1x="477.9436152570481" c1y="499" c2x="477.9436152570481" c2y="499"/><p colinear="true" x="1730.1120263591433" y="626" c1x="477.9436152570481" c1y="499" c2x="477.9436152570481" c2y="499"/></points><startConnector><rConnector id="25"><Owner><sobreposicao id="26"><children><circ id="27" x="1606" y="29" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="28" x="1610" y="30"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>o</string></text></a></tn></children></sobreposicao></Owner></rConnector></startConnector><endConnector><rConnector id="29"><Owner><ent ref="21"/></Owner></rConnector></endConnector></generalizacaoLine><ent id="2a"><children><r id="2b" x="1485" y="292" w="120" h="54"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="2c" x="1485.591796875" y="312.015625"><a><text><string>PROJECT_MANAGER</string></text></a></t></children></ent><generalizacaoLine id="2d"><points><p colinear="true" x="1613.4642857142858" y="49" c1x="303" c1y="473" c2x="303" c2y="473"/><p colinear="true" x="1551.8464285714285" y="292" c1x="303" c1y="473" c2x="303" c2y="473"/></points><startConnector><rConnector id="2e"><Owner><sobreposicao ref="26"/></Owner></rConnector></startConnector><endConnector><rConnector id="2f"><Owner><ent ref="2a"/></Owner></rConnector></endConnector></generalizacaoLine><ent id="30"><children><r id="31" x="897" y="935" w="101.861328125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="32" x="907" y="948.015625"><a><text><string>PERMISSIONS</string></text></a></t></children></ent><rel id="33"><children><diamond id="34" x="982" y="539" w="115.37890625" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="35" x="998.591796875" y="552.015625"><a><text><string>CONSTRUCTS</string></text></a></t></children></rel><llabelUm id="36"><points><p colinear="true" x="1097.37890625" y="566.2287284767094" c1x="-254.06871916118416" c1y="253" c2x="-254.06871916118416" c2y="253"/><p colinear="true" x="1694" y="640.9878335916644" c1x="-254.06871916118416" c1y="253" c2x="-254.06871916118416" c2y="253"/></points><startConnector><rConnector id="37"><Owner><rel ref="33"/></Owner></rConnector></startConnector><endConnector><rConnector id="38"><Owner><ent ref="21"/></Owner></rConnector></endConnector></llabelUm><rel id="39"><children><diamond id="3a" x="740" y="-85" w="123" h="41"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="3b" x="753.810546875" y="-71.484375"><a><text><string>IS_CREATED_BY</string></text></a></t></children></rel><llabelDoubleMuitos id="3c"><points><p colinear="true" x="740" y="-63.38181818181818" c1x="68" c1y="191" c2x="68" c2y="191"/><p colinear="true" x="609" y="-61"/><p colinear="true" x="549.3440860215054" y="12" c1x="68" c1y="191" c2x="68" c2y="191"/></points><startConnector><rConnector id="3d"><Owner><rel ref="39"/></Owner></rConnector></startConnector><endConnector><rConnector id="3e"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="3f"><points><p colinear="true" x="863" y="-51.591200733272224" c1x="527" c1y="244" c2x="527" c2y="244"/><p colinear="true" x="1307" y="41.60403299725023" c1x="527" c1y="244" c2x="527" c2y="244"/></points><startConnector><rConnector id="40"><Owner><rel ref="39"/></Owner></rConnector></startConnector><endConnector><rConnector id="41"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><ent id="42"><children><r id="43" x="1208" y="-302" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="44" x="1208.859375" y="-288.984375"><a><text><string>MODERATOR</string></text></a></t></children></ent><sobreposicao ref="26"/><generalizacaoLine id="45"><points><p colinear="true" x="1606" y="30.27717391304348" c1x="-502.29203539823015" c1y="338" c2x="-502.29203539823015" c2y="338"/><p colinear="true" x="1270.9283489096574" y="-262" c1x="-502.29203539823015" c1y="338" c2x="-502.29203539823015" c2y="338"/></points><startConnector><rConnector id="46"><Owner><sobreposicao ref="26"/></Owner></rConnector></startConnector><endConnector><rConnector id="47"><Owner><ent ref="42"/></Owner></rConnector></endConnector></generalizacaoLine><lcaf id="48"><points><p colinear="true" x="1387" y="48.36431226765799" c1x="-186" c1y="359.3731343283582" c2x="-186" c2y="359.3731343283582"/><p colinear="true" x="1606" y="39.4089219330855" c1x="-186" c1y="359.3731343283582" c2x="-186" c2y="359.3731343283582"/></points><startConnector><rConnector id="49"><Owner><ent ref="1b"/></Owner></rConnector></startConnector><endConnector><rConnector id="4a"><Owner><sobreposicao ref="26"/></Owner></rConnector></endConnector></lcaf><atrchave id="4b" nullable="false" attributeType="NUMBER"><children><e id="4c" x="1025" y="917" w="60" h="24"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="4d" x="1035.6083984375" y="922.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Name</string></text></a></t></children></atrchave><lcaf id="4e"><points><p colinear="true" x="1025" y="936.2849989511031" c1x="-83" c1y="375.60399192891236" c2x="-83" c2y="375.60399192891236"/><p colinear="true" x="998.861328125" y="942.6323388575233" c1x="-83" c1y="375.60399192891236" c2x="-83" c2y="375.60399192891236"/></points><startConnector><rConnector id="4f"><Owner><atrchave ref="4b"/></Owner></rConnector></startConnector><endConnector><rConnector id="50"><Owner><ent ref="30"/></Owner></rConnector></endConnector></lcaf><atr id="51" nullable="false" attributeType="VARCHAR2(128)"><children><e id="52" x="1426" y="14" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="53" x="1437.599609375" y="17.015625"><a><text><string>Password</string></text></a></t></children></atr><lcaf id="54"><points><p colinear="true" x="1426" y="32.739495798319325" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/><p colinear="true" x="1387" y="41.260504201680675" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/></points><startConnector><rConnector id="55"><Owner><atr ref="51"/></Owner></rConnector></startConnector><endConnector><rConnector id="56"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><atr id="57" nullable="false" attributeType="VARCHAR2(128)"><children><e id="58" x="305" y="-8" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="59" x="321.1376953125" y="-4.984375"><a><text><string>Content</string></text></a></t></children></atr><lcaf id="5a"><points><p colinear="true" x="385" y="8.382978723404257" c1x="-91" c1y="-14" c2x="-91" c2y="-14"/><p colinear="true" x="493" y="25.617021276595747" c1x="-91" c1y="-14" c2x="-91" c2y="-14"/></points><startConnector><rConnector id="5b"><Owner><atr ref="57"/></Owner></rConnector></startConnector><endConnector><rConnector id="5c"><Owner><ent ref="12"/></Owner></rConnector></endConnector></lcaf><atr id="5d" nullable="false" attributeType="VARCHAR2(128)"><children><e id="5e" x="1468" y="53" w="86" h="30"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="5f" x="1479.5477752685547" y="59.827942848205566"><a><text><string>Register_at</string></text></a></t></children></atr><lcaf id="60"><points><p colinear="true" x="1468" y="63.28048780487804" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/><p colinear="true" x="1387" y="54.390243902439025" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/></points><startConnector><rConnector id="61"><Owner><atr ref="5d"/></Owner></rConnector></startConnector><endConnector><rConnector id="62"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><atr id="63" nullable="false" attributeType="VARCHAR2(128)"><children><e id="64" x="909" y="710" w="80" h="23"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="65" x="925.1376953125" y="714.515625"><a><text><string>Content</string></text></a></t></children></atr><atr id="66" nullable="false" attributeType="VARCHAR2(128)"><children><e id="67" x="1036" y="483" w="116.57302856445312" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="68" x="1068.282341003418" y="484.82794284820557"><a><text><string>Ended_at</string></text></a></t></children></atr><t id="69" x="1499" y="514"><a><text><null/></text></a></t><ent id="6a"><children><r id="6b" x="477" y="-135" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="6c" x="504.5810546875" y="-121.984375"><a><text><string>TAG</string></text></a></t></children></ent><rel id="6d"><children><diamond id="6e" x="778" y="-148" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="6f" x="790.4814453125" y="-134.984375"><a><text><string>CREATES</string></text></a></t></children></rel><llabelUm id="70"><points><p colinear="true" x="858" y="-114.54064272211721" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="1307" y="36.5406427221172" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="71"><Owner><rel ref="6d"/></Owner></rConnector></startConnector><endConnector><rConnector id="72"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><rel id="73"><children><diamond id="74" x="327" y="-99" w="115.53266906738281" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="75" x="338.5300064086914" y="-85.984375"><a><text><string>ASSISGNED_TO</string></text></a></t></children></rel><llabelMuitos id="76"><points><p colinear="true" x="411.47510308617944" y="-59" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="506.29123144751196" y="12" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="77"><Owner><rel ref="73"/></Owner></rConnector></startConnector><endConnector><rConnector id="78"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atrchave id="79" nullable="false" attributeType="NUMBER"><children><e id="7a" x="530" y="-178" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="7b" x="550.6083984375" y="-174.984375"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Name</string></text></a></t></children></atrchave><lcaf id="7c"><points><p colinear="true" x="537" y="-135" c1x="-597" c1y="-116" c2x="-597" c2y="-116"/><p colinear="true" x="560" y="-158" c1x="-597" c1y="-116" c2x="-597" c2y="-116"/></points><startConnector><rConnector id="7d"><Owner><ent ref="6a"/></Owner></rConnector></startConnector><endConnector><rConnector id="7e"><Owner><atrchave ref="79"/></Owner></rConnector></endConnector></lcaf><atr id="7f" nullable="false" attributeType="VARCHAR2(128)"><children><e id="80" x="536" y="478" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="81" x="541.828125" y="481.015625"><a><text><string>Description</string></text></a></t></children></atr><rel id="82"><children><diamond id="83" x="831" y="-45" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="84" x="854.353515625" y="-31.984375"><a><text><string>LIKES</string></text></a></t></children></rel><llabelMuitos id="85"><points><p colinear="true" x="831" y="-27.844444444444445" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="646" y="-41"/><p colinear="true" x="563.9589041095891" y="12" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="86"><Owner><rel ref="82"/></Owner></rConnector></startConnector><endConnector><rConnector id="87"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atr id="88" nullable="false" attributeType="VARCHAR2(128)"><children><e id="89" x="1426" y="108" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="8a" x="1439.8671875" y="111.015625"><a><text><string>Is_active</string></text></a></t></children></atr><lcaf id="8b"><points><p colinear="true" x="1448.5" y="108" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1382" y="70" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="8c"><Owner><atr ref="88"/></Owner></rConnector></startConnector><endConnector><rConnector id="8d"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="8e"><points><p colinear="true" x="778" y="-126.27242524916943" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="557" y="-116.72757475083057" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="8f"><Owner><rel ref="6d"/></Owner></rConnector></startConnector><endConnector><rConnector id="90"><Owner><ent ref="6a"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="91" nullable="false" attributeType="VARCHAR2(128)"><children><e id="92" x="1515" y="118" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="93" x="1545.147933959961" y="119.82794284820557"><a><text><string>Sex</string></text></a></t></children></atr><atr id="94" nullable="false" attributeType="VARCHAR2(128)"><children><e id="95" x="1397" y="-20" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="96" x="1402.828125" y="-16.984375"><a><text><string>Description</string></text></a></t></children></atr><lcaf id="97"><points><p colinear="true" x="1528.3333333333333" y="118" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1387" y="65" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="98"><Owner><atr ref="91"/></Owner></rConnector></startConnector><endConnector><rConnector id="99"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><lcaf id="9a"><points><p colinear="true" x="1422" y="0" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1377" y="30" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="9b"><Owner><atr ref="94"/></Owner></rConnector></startConnector><endConnector><rConnector id="9c"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="9d"><points><p colinear="true" x="905.5845170197664" y="96" c1x="891.4750350516183" c1y="-574.1259968457359" c2x="891.4750350516183" c2y="-574.1259968457359"/><p colinear="true" x="919.976801723904" y="124" c1x="891.4750350516183" c1y="-574.1259968457359" c2x="891.4750350516183" c2y="-574.1259968457359"/></points><startConnector><rConnector id="9e"><Owner><rel id="9f"><children><diamond id="a0" x="838" y="56" w="114.60862731933594" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="a1" x="845.402946472168" y="69.015625"><a><text><string>SUBBMITTED_BY</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="a2"><Owner><ent id="a3"><children><r id="a4" x="875" y="124" w="110" h="39"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="a5" x="892.1396484375" y="136.515625"><a><text><string>SUBMISSION</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="a6"><points><p colinear="true" x="760.25" y="47" c1x="891.4750350516183" c1y="-501.9012034573061" c2x="891.4750350516183" c2y="-501.9012034573061"/><p colinear="true" x="686.75" y="87" c1x="891.4750350516183" c1y="-501.9012034573061" c2x="891.4750350516183" c2y="-501.9012034573061"/></points><startConnector><rConnector id="a7"><Owner><rel id="a8"><children><diamond id="a9" x="757" y="7" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="aa" x="776" y="20.015625"><a><text><string>ABOUT</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="ab"><Owner><ent id="ac"><children><r id="ad" x="610" y="87" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="ae" x="625.865234375" y="100.015625"><a><text><string>REPORT</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="af"><points><p colinear="true" x="952.6086273193359" y="72.70151342993171" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="52.302435093914994" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="b0"><Owner><rel ref="9f"/></Owner></rConnector></startConnector><endConnector><rConnector id="b1"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="b2"><points><p colinear="true" x="837" y="28.672727272727276" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="48.32727272727273" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="b3"><Owner><rel ref="a8"/></Owner></rConnector></startConnector><endConnector><rConnector id="b4"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="b5"><points><p colinear="true" x="234.99515901128927" y="148" c1x="-65.39030456542969" c1y="-141.60966999475397" c2x="-65.39030456542969" c2y="-141.60966999475397"/><p colinear="true" x="166" y="211"/><p colinear="true" x="67.572265625" y="227.38299409416823" c1x="-65.39030456542969" c1y="-141.60966999475397" c2x="-65.39030456542969" c2y="-141.60966999475397"/></points><startConnector><rConnector id="b6"><Owner><rel id="b7"><children><diamond id="b8" x="193" y="108" w="127.79676818847656" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="b9" x="200.53412628173828" y="121.015625"><a><text><string>FOR_MISCONDUCT</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="ba"><Owner><ent ref="18"/></Owner></rConnector></endConnector></llabelUm><atrchave id="bb" nullable="false" attributeType="NUMBER"><children><e id="bc" x="340" y="76" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="bd" x="373.47265625" y="79.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="be"><points><p colinear="true" x="408.3333333333333" y="76" c1x="-459" c1y="-53" c2x="-459" c2y="-53"/><p colinear="true" x="493" y="46.117647058823536" c1x="-459" c1y="-53" c2x="-459" c2y="-53"/></points><startConnector><rConnector id="bf"><Owner><atrchave ref="bb"/></Owner></rConnector></startConnector><endConnector><rConnector id="c0"><Owner><ent ref="12"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="c1"><points><p colinear="true" x="1353.3341460175566" y="417" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1374.5862183623262" y="366" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="c2"><Owner><rel ref="8"/></Owner></rConnector></startConnector><endConnector><rConnector id="c3"><Owner><ent id="c4"><children><r id="c5" x="1320" y="326" w="125.84072875976562" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="c6" x="1325.6566925048828" y="339.015625"><a><text><string>PROJECT_REQUEST</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="c7" nullable="false" attributeType="VARCHAR2(128)"><children><e id="c8" x="966" y="226" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="c9" x="986.880859375" y="229.015625"><a><text><string>Status</string></text></a></t></children></atr><lcaf id="ca"><points><p colinear="true" x="997.7837837837837" y="226" c1x="-356" c1y="135" c2x="-356" c2y="135"/><p colinear="true" x="946.0216216216216" y="163" c1x="-356" c1y="135" c2x="-356" c2y="135"/></points><startConnector><rConnector id="cb"><Owner><atr ref="c7"/></Owner></rConnector></startConnector><endConnector><rConnector id="cc"><Owner><ent ref="a3"/></Owner></rConnector></endConnector></lcaf><atr id="cd" nullable="false" attributeType="VARCHAR2(128)"><children><e id="ce" x="878" y="231" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="cf" x="883.828125" y="234.015625"><a><text><string>Description</string></text></a></t></children></atr><lcaf id="d0"><points><p colinear="true" x="919.2307692307693" y="231" c1x="-320.4305835592336" c1y="127" c2x="-320.4305835592336" c2y="127"/><p colinear="true" x="927.6" y="163" c1x="-320.4305835592336" c1y="127" c2x="-320.4305835592336" c2y="127"/></points><startConnector><rConnector id="d1"><Owner><atr ref="cd"/></Owner></rConnector></startConnector><endConnector><rConnector id="d2"><Owner><ent ref="a3"/></Owner></rConnector></endConnector></lcaf><atr id="d3" nullable="false" attributeType="VARCHAR2(128)"><children><e id="d4" x="1058" y="-86" w="55" h="28"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="d5" x="1063.36328125" y="-78.984375"><a><text><string>Reason</string></text></a></t></children></atr><rel id="d6"><children><diamond id="d7" x="930" y="1001" w="119" h="66"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="d8" x="949.8818359375" y="1027.015625"><a><text><string>IS_ASSIGNED</string></text></a></t></children></rel><llabelMuitos id="d9"><points><p colinear="true" x="1049" y="1009.8810720268007" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1288" y="913"/><p colinear="true" x="1700.5917602996255" y="666" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="da"><Owner><rel ref="d6"/></Owner></rConnector></startConnector><endConnector><rConnector id="db"><Owner><ent ref="21"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><ent id="dc"><children><r id="dd" x="289" y="320" w="150.4765625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="de" x="299" y="333.015625"><a><text><string>DISCUSSION_THREAD</string></text></a></t></children></ent><atr id="df" nullable="false" attributeType="VARCHAR2(128)"><children><e id="e0" x="-73" y="320" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="e1" x="-46.04296875" y="323.015625"><a><text><string>Title</string></text></a></t></children></atr><lcaf id="e2"><points><p colinear="true" x="-29.001507302989133" y="320" c1x="-315" c1y="22" c2x="-315" c2y="22"/><p colinear="true" x="-4.210852581521749" y="258" c1x="-315" c1y="22" c2x="-315" c2y="22"/></points><startConnector><rConnector id="e3"><Owner><atr ref="df"/></Owner></rConnector></startConnector><endConnector><rConnector id="e4"><Owner><ent ref="18"/></Owner></rConnector></endConnector></lcaf><atr id="e5" nullable="false" attributeType="VARCHAR2(128)"><children><e id="e6" x="636" y="248" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="e7" x="664.0179138183594" y="249.82794284820557"><a><text><string>Title</string></text></a></t></children></atr><lcaf id="e8"><points><p colinear="true" x="640.0547449448529" y="268" c1x="21.427734375" c1y="-105" c2x="21.427734375" c2y="-105"/><p colinear="true" x="617.572265625" y="274.2546445380233" c1x="21.427734375" c1y="-105" c2x="21.427734375" c2y="-105"/></points><startConnector><rConnector id="e9"><Owner><atr ref="e5"/></Owner></rConnector></startConnector><endConnector><rConnector id="ea"><Owner><ent ref="c"/></Owner></rConnector></endConnector></lcaf><llabelMuitos id="eb"><points><p colinear="true" x="911" y="-16.89193899782135" c1x="-3" c1y="-21.594771241830067" c2x="-3" c2y="-21.594771241830067"/><p colinear="true" x="1021" y="5.405228758169933"/><p colinear="true" x="1307" y="44.52824892738282" c1x="-3" c1y="-21.594771241830067" c2x="-3" c2y="-21.594771241830067"/></points><startConnector><rConnector id="ec"><Owner><rel ref="82"/></Owner></rConnector></startConnector><endConnector><rConnector id="ed"><Owner><ent ref="1b"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><llabelDoubleMuitos id="ee"><points><p colinear="true" x="320.79676818847656" y="124.58646514874492" c1x="-568.3903045654297" c1y="516.4740031542641" c2x="-568.3903045654297" c2y="516.4740031542641"/><p colinear="true" x="610" y="109.13685206575536" c1x="-568.3903045654297" c1y="516.4740031542641" c2x="-568.3903045654297" c2y="516.4740031542641"/></points><startConnector><rConnector id="ef"><Owner><rel ref="b7"/></Owner></rConnector></startConnector><endConnector><rConnector id="f0"><Owner><ent ref="ac"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="f1" nullable="false" attributeType="VARCHAR2(128)"><children><e id="f2" x="551" y="220" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="f3" x="566.1658248901367" y="221.82794284820557"><a><text><string>Repo_url</string></text></a></t></children></atr><lcaf id="f4"><points><p colinear="true" x="584.9977633568549" y="240" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="565.7906060987904" y="272" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="f5"><Owner><atr ref="f1"/></Owner></rConnector></startConnector><endConnector><rConnector id="f6"><Owner><ent ref="c"/></Owner></rConnector></endConnector></lcaf><atr id="f7" nullable="false" attributeType="VARCHAR2(128)"><children><e id="f8" x="1076" y="-225" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="f9" x="1088.068359375" y="-221.984375"><a><text><string>End_date</string></text></a></t></children></atr><atrchave id="fa" nullable="false" attributeType="NUMBER"><children><e id="fb" x="1305" y="118" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="fc" x="1338.47265625" y="121.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="fd"><points><p colinear="true" x="1346.4871794871794" y="70" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1345.2564102564102" y="118" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="fe"><Owner><ent ref="1b"/></Owner></rConnector></startConnector><endConnector><rConnector id="ff"><Owner><atrchave ref="fa"/></Owner></rConnector></endConnector></lcaf><entfraca id="100"><children><r id="101" x="1224" y="170" w="77" h="33"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="102" x="1230.501953125" y="179.515625"><a><text><string>FEEDBACK</string></text></a></t></children></entfraca><atr id="103" nullable="false" attributeType="VARCHAR2(128)"><children><e id="104" x="1229" y="243" w="107" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="105" x="1248.328125" y="249.515625"><a><text><string>Description</string></text></a></t></children></atr><atr id="106" nullable="false" attributeType="VARCHAR2(128)"><children><e id="107" x="1196" y="111" w="101.455078125" h="30"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="108" x="1199.2792053222656" y="117.82794284820557"><a><text><string>Submission_type</string></text></a></t></children></atr><atr id="109" nullable="false" attributeType="VARCHAR2(128)"><children><e id="10a" x="1161" y="219" w="85.8125" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="10b" x="1171" y="220.015625"><a><text><string>Created_at</string></text></a></t></children></atr><rel id="10c"><children><diamond id="10d" x="1402" y="166" w="102" h="44"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="10e" x="1414.73828125" y="181.015625"><a><text><string>WRITTEN_BY</string></text></a></t></children></rel><llabelUm id="10f"><points><p colinear="true" x="1436.1014492753623" y="166" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1362.3623188405797" y="70" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="110"><Owner><rel ref="10c"/></Owner></rConnector></startConnector><endConnector><rConnector id="111"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><ent ref="a3"/><atrchave id="112" nullable="false" attributeType="NUMBER"><children><e id="113" x="1006" y="196" w="44" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="114" x="1021.47265625" y="202.515625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="115"><points><p colinear="true" x="1007.9545454545455" y="196" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="958.9545454545455" y="163" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="116"><Owner><atrchave ref="112"/></Owner></rConnector></startConnector><endConnector><rConnector id="117"><Owner><ent ref="a3"/></Owner></rConnector></endConnector></lcaf><relfraco id="118"><children><diamond id="119" x="1044" y="111" w="121.595703125" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="11a" x="1054" y="124.015625"><a><text><string>SUBBMITED_FOR</string></text></a></t></children></relfraco><llabelDoubleUm id="11b"><points><p colinear="true" x="1161.6274546030406" y="151" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1224" y="172.95072358765722" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="11c"><Owner><relfraco ref="118"/></Owner></rConnector></startConnector><endConnector><rConnector id="11d"><Owner><entfraca ref="100"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><llabelUm id="11e"><points><p colinear="true" x="1044" y="135.3477258887219" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="985" y="139.5668852971904" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="11f"><Owner><relfraco ref="118"/></Owner></rConnector></startConnector><endConnector><rConnector id="120"><Owner><ent ref="a3"/></Owner></rConnector></endConnector></llabelUm><lcaf id="121"><points><p colinear="true" x="1238.6284722222222" y="203" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1215.4803240740741" y="219" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="122"><Owner><entfraca ref="100"/></Owner></rConnector></startConnector><endConnector><rConnector id="123"><Owner><atr ref="109"/></Owner></rConnector></endConnector></lcaf><lcaf id="124"><points><p colinear="true" x="1258.6455841064453" y="170" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1251.871156172319" y="141" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="125"><Owner><entfraca ref="100"/></Owner></rConnector></startConnector><endConnector><rConnector id="126"><Owner><atr ref="106"/></Owner></rConnector></endConnector></lcaf><lcaf id="127"><points><p colinear="true" x="1267.2142857142858" y="203" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1278.642857142857" y="243" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="128"><Owner><entfraca ref="100"/></Owner></rConnector></startConnector><endConnector><rConnector id="129"><Owner><atr ref="103"/></Owner></rConnector></endConnector></lcaf><atrmulti id="12a" nullable="false" attributeType="VARCHAR2(128)"><children><e id="12b" x="-124" y="274" w="75" h="34"><a><fillColor><color rgba="#ffffebeb"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></e><t id="12c" x="-118.0732421875" y="284.015625"><a><text><string>Guidelines</string></text></a></t></children></atrmulti><lcaf id="12d"><points><p colinear="true" x="-57.54029702240567" y="274" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="-30.284105984669832" y="258" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="12e"><Owner><atrmulti ref="12a"/></Owner></rConnector></startConnector><endConnector><rConnector id="12f"><Owner><ent ref="18"/></Owner></rConnector></endConnector></lcaf><atr id="130" nullable="false" attributeType="VARCHAR2(128)"><children><e id="131" x="634" y="3" w="85.8125" h="16.344114303588867"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="132" x="644" y="4.187682151794434"><a><text><string>Created_at</string></text></a></t></children></atr><lcaf id="133"><points><p colinear="true" x="573" y="26.210691238718105" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="634" y="17.381995377763218" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="134"><Owner><ent ref="12"/></Owner></rConnector></startConnector><endConnector><rConnector id="135"><Owner><atr ref="130"/></Owner></rConnector></endConnector></lcaf><atr id="136" nullable="false" attributeType="VARCHAR2(128)"><children><e id="137" x="1035" y="199" w="85.8125" h="16.344114303588867"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="138" x="1045" y="200.18768215179443"><a><text><string>Created_at</string></text></a></t></children></atr><atr id="139" nullable="false" attributeType="VARCHAR2(128)"><children><e id="13a" x="1531" y="90" w="64" h="16.344114303588867"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="13b" x="1547.591896057129" y="91.015625"><a><text><string>Email</string></text></a></t></children></atr><lcaf id="13c"><points><p colinear="true" x="1531" y="91.03545609226933" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1387" y="58.92075132440638" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="13d"><Owner><atr ref="139"/></Owner></rConnector></startConnector><endConnector><rConnector id="13e"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><atr id="13f" nullable="false" attributeType="VARCHAR2(128)"><children><e id="140" x="1207" y="60" w="64" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="141" x="1221.298828125" y="61.015625"><a><text><string>Name</string></text></a></t></children></atr><lcaf id="142"><points><p colinear="true" x="1271" y="62.66666666666667" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="56.66666666666667" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="143"><Owner><atr ref="13f"/></Owner></rConnector></startConnector><endConnector><rConnector id="144"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><lcaf id="145"><points><p colinear="true" x="1058.9230667611414" y="199" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="975.2972937268875" y="163" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="146"><Owner><atr ref="136"/></Owner></rConnector></startConnector><endConnector><rConnector id="147"><Owner><ent ref="a3"/></Owner></rConnector></endConnector></lcaf><atr id="148" nullable="false" attributeType="VARCHAR2(128)"><children><e id="149" x="1325" y="-60" w="107" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="14a" x="1352.1838150024414" y="-54.672057151794434"><a><text><string>Uername</string></text></a></t></children></atr><lcaf id="14b"><points><p colinear="true" x="1374.0932642487046" y="-33" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1353.5284974093265" y="30" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="14c"><Owner><atr ref="148"/></Owner></rConnector></startConnector><endConnector><rConnector id="14d"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><disjuncao id="14e"><children><circ id="14f" x="801" y="253" w="20" h="21"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="150" x="805" y="254"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao><generalizacaoLine id="151"><points><p colinear="true" x="821" y="264.94250852283346" c1x="7" c1y="5.7018571100570625" c2x="7" c2y="5.7018571100570625"/><p colinear="true" x="1320" y="336.9236838122232" c1x="7" c1y="5.7018571100570625" c2x="7" c2y="5.7018571100570625"/></points><startConnector><rConnector id="152"><Owner><disjuncao ref="14e"/></Owner></rConnector></startConnector><endConnector><rConnector id="153"><Owner><ent ref="c4"/></Owner></rConnector></endConnector></generalizacaoLine><generalizacaoLine id="154"><points><p colinear="true" x="801" y="253.77950310559007" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="670.5750798722045" y="127" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="155"><Owner><disjuncao ref="14e"/></Owner></rConnector></startConnector><endConnector><rConnector id="156"><Owner><ent ref="ac"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleGeneralizacao id="157" labelGeneralizacaoText="characteristic"><points><p colinear="true" x="910.6625" y="163" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="821" y="253.41596638655463" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="158"><Owner><ent ref="a3"/></Owner></rConnector></startConnector><endConnector><rConnector id="159"><Owner><disjuncao ref="14e"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><rel ref="b7"/><rel ref="a8"/><rel ref="9f"/><ent ref="ac"/><ent ref="c4"/><rel ref="8"/><generalizacaoLine id="15a"><points><p colinear="true" x="416" y="162.4054832719896" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="532.5219410409172" y="272" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="15b"><Owner><disjuncao ref="15"/></Owner></rConnector></startConnector><endConnector><rConnector id="15c"><Owner><ent ref="c"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleMuitos id="15d"><points><p colinear="true" x="171.95094651442307" y="-195" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="11.553560697115387" y="218" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="15e"><Owner><rel ref="f"/></Owner></rConnector></startConnector><endConnector><rConnector id="15f"><Owner><ent ref="18"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="160"><points><p colinear="true" x="254.0390625" y="-227.40114438718433" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1208" y="-279.80277660608505" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="161"><Owner><rel ref="f"/></Owner></rConnector></startConnector><endConnector><rConnector id="162"><Owner><ent ref="42"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><generalizacaoLine id="163"><points><p colinear="true" x="396" y="157.81581364588308" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="331.24627685546875" y="189" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="164"><Owner><disjuncao ref="15"/></Owner></rConnector></startConnector><endConnector><rConnector id="165"><Owner><ent id="166"><children><r id="167" x="215" y="189" w="149.432861328125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="168" x="248.2467041015625" y="202.015625"><a><text><string>EMBEDDABLE</string></text></a></t></children></ent></Owner></rConnector></endConnector></generalizacaoLine><rel id="169"><children><diamond id="16a" x="230" y="374" w="122.064453125" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="16b" x="240" y="387.015625"><a><text><string>REFERENCED_BY</string></text></a></t></children></rel><llabelMuitos id="16c"><points><p colinear="true" x="254.20580428685898" y="374" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="40.61255508814102" y="258" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="16d"><Owner><rel ref="169"/></Owner></rConnector></startConnector><endConnector><rConnector id="16e"><Owner><ent ref="18"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><llabelUm id="16f"><points><p colinear="true" x="352.064453125" y="390.9813883596748" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="473" y="385"/><p colinear="true" x="536.4127709173387" y="312" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="170"><Owner><rel ref="169"/></Owner></rConnector></startConnector><endConnector><rConnector id="171"><Owner><ent ref="c"/></Owner></rConnector></endConnector></llabelUm><rel id="172"><children><diamond id="173" x="386" y="230" w="110.193359375" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="174" x="396" y="243.015625"><a><text><string>CONTAINED_IN</string></text></a></t></children></rel><llabelUm id="175"><points><p colinear="true" x="386" y="235.07755217896522" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="363.5604545779345" y="229" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="176"><Owner><rel ref="172"/></Owner></rConnector></startConnector><endConnector><rConnector id="177"><Owner><ent ref="166"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="178"><points><p colinear="true" x="424.01703559027777" y="270" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="381.31792534722223" y="320" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="179"><Owner><rel ref="172"/></Owner></rConnector></startConnector><endConnector><rConnector id="17a"><Owner><ent ref="dc"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><generalizacaoLine id="17b"><points><p colinear="true" x="229" y="264.11146822301714" c1x="-24.922495966372253" c1y="27" c2x="-24.922495966372253" c2y="27"/><p colinear="true" x="328.59698523773005" y="320" c1x="-24.922495966372253" c1y="27" c2x="-24.922495966372253" c2y="27"/></points><startConnector><rConnector id="17c"><Owner><disjuncao id="17d"><children><circ id="17e" x="209" y="248" w="20" h="21"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="17f" x="213" y="249"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao></Owner></rConnector></startConnector><endConnector><rConnector id="180"><Owner><ent ref="dc"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleMuitos id="181"><points><p colinear="true" x="1402" y="187.5984251968504" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1301" y="186.8031496062992" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="182"><Owner><rel ref="10c"/></Owner></rConnector></startConnector><endConnector><rConnector id="183"><Owner><entfraca ref="100"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="184"><points><p colinear="true" x="442.5326690673828" y="-94.72661572890257" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="477" y="-104.1101861623363" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="185"><Owner><rel ref="73"/></Owner></rConnector></startConnector><endConnector><rConnector id="186"><Owner><ent ref="6a"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><ent ref="166"/><generalizacaoLine id="187"><points><p colinear="true" x="209" y="257.547459149919" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="67.572265625" y="244.07588971725983" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="188"><Owner><disjuncao ref="17d"/></Owner></rConnector></startConnector><endConnector><rConnector id="189"><Owner><ent ref="18"/></Owner></rConnector></endConnector></generalizacaoLine><disjuncao ref="17d"/><llabelDoubleGeneralizacao id="18a" labelGeneralizacaoText="caracteristica"><points><p colinear="true" x="261.14413544625944" y="229" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="229" y="251.50021232192145" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="18b"><Owner><ent ref="166"/></Owner></rConnector></startConnector><endConnector><rConnector id="18c"><Owner><disjuncao ref="17d"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><entfraca id="18d"><children><r id="18e" x="558" y="785" w="190.14453125" h="27"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="18f" x="593.1162109375" y="791.515625"><a><text><string>ROLE_PERMISSIONS</string></text></a></t></children></entfraca><relfraco id="190"><children><diamond id="191" x="439" y="842" w="111" h="38"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="192" x="463.1318359375" y="854.015625"><a><text><string>FOR_ROLE</string></text></a></t></children></relfraco><relfraco id="193"><children><diamond id="194" x="762" y="830" w="157" h="57"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="195" x="788.03515625" y="851.515625"><a><text><string>FOR_PERMISSION</string></text></a></t></children></relfraco><atr id="196" nullable="false" attributeType="VARCHAR2(128)"><children><e id="197" x="237" y="569" w="102.833984375" h="37"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="198" x="247" y="580.515625"><a><text><string>override_type</string></text></a></t></children></atr><ent id="199"><children><r id="19a" x="284" y="857" w="107" h="53"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="19b" x="292.5498046875" y="876.515625"><a><text><string>PROJECT_ROLE</string></text></a></t></children></ent><rel id="19c"><children><diamond id="19d" x="375" y="524" w="106" h="53"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="19e" x="400.80078125" y="543.515625"><a><text><string>VALID_IN</string></text></a></t></children></rel><llabelDoubleMuitos id="19f"><points><p colinear="true" x="420.79804804804803" y="577" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="344.70195195195197" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1a0"><Owner><rel ref="19c"/></Owner></rConnector></startConnector><endConnector><rConnector id="1a1"><Owner><ent ref="199"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atrchave id="1a2" nullable="false" attributeType="NUMBER"><children><e id="1a3" x="104" y="676" w="106" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1a4" x="150.6484375" y="682.515625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>id</string></text></a></t></children></atrchave><atr id="1a5" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1a6" x="141" y="611" w="106" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1a7" x="176.984375" y="617.515625"><a><text><string>name</string></text></a></t></children></atr><lcaf id="1a8"><points><p colinear="true" x="169.56056701030928" y="703" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="312.84407216494844" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1a9"><Owner><atrchave ref="1a2"/></Owner></rConnector></startConnector><endConnector><rConnector id="1aa"><Owner><ent ref="199"/></Owner></rConnector></endConnector></lcaf><lcaf id="1ab"><points><p colinear="true" x="201.47972972972974" y="638" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="322.81756756756755" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1ac"><Owner><atr ref="1a5"/></Owner></rConnector></startConnector><endConnector><rConnector id="1ad"><Owner><ent ref="199"/></Owner></rConnector></endConnector></lcaf><llabelMuitos id="1ae"><points><p colinear="true" x="930" y="1020.2657208588957" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="391" y="895.849309815951" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1af"><Owner><rel ref="d6"/></Owner></rConnector></startConnector><endConnector><rConnector id="1b0"><Owner><ent ref="199"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><lcaf id="1b1"><points><p colinear="true" x="291.48468017578125" y="606" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="333.1057442330025" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1b2"><Owner><atr ref="196"/></Owner></rConnector></startConnector><endConnector><rConnector id="1b3"><Owner><ent ref="199"/></Owner></rConnector></endConnector></lcaf><ent id="1b4"><children><r id="1b5" x="662" y="504" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1b6" x="673.083984375" y="517.015625"><a><text><string>CHANNEL</string></text></a></t></children></ent><lcaf id="1b7"><points><p colinear="true" x="707.4871794871794" y="417" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="703.025641025641" y="504" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1b8"><Owner><atrchave ref="3"/></Owner></rConnector></startConnector><endConnector><rConnector id="1b9"><Owner><ent ref="1b4"/></Owner></rConnector></endConnector></lcaf><lcaf id="1ba"><points><p colinear="true" x="611" y="498" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="662" y="512.5714285714286" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1bb"><Owner><atr ref="7f"/></Owner></rConnector></startConnector><endConnector><rConnector id="1bc"><Owner><ent ref="1b4"/></Owner></rConnector></endConnector></lcaf><lcaf id="1bd"><points><p colinear="true" x="783.7777777777778" y="444" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="722.4444444444445" y="504" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1be"><Owner><atr ref="0"/></Owner></rConnector></startConnector><endConnector><rConnector id="1bf"><Owner><ent ref="1b4"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="1c0"><points><p colinear="true" x="982" y="553.0207464559825" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="742" y="528.1458209222832" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1c1"><Owner><rel ref="33"/></Owner></rConnector></startConnector><endConnector><rConnector id="1c2"><Owner><ent ref="1b4"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><rel id="1c3"><children><diamond id="1c4" x="547" y="374" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1c5" x="574.5751953125" y="387.015625"><a><text><string>HAS</string></text></a></t></children></rel><llabelUm id="1c6"><points><p colinear="true" x="580.4874770220588" y="374" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="560.2986557904412" y="312" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1c7"><Owner><rel ref="1c3"/></Owner></rConnector></startConnector><endConnector><rConnector id="1c8"><Owner><ent ref="c"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="1c9"><points><p colinear="true" x="604.6923076923077" y="414" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="684.3076923076923" y="504" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1ca"><Owner><rel ref="1c3"/></Owner></rConnector></startConnector><endConnector><rConnector id="1cb"><Owner><ent ref="1b4"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelUm id="1cc"><points><p colinear="true" x="440.89490336375724" y="524" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="544.0541302738153" y="312" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1cd"><Owner><rel ref="19c"/></Owner></rConnector></startConnector><endConnector><rConnector id="1ce"><Owner><ent ref="c"/></Owner></rConnector></endConnector></llabelUm><atrchave id="1cf" nullable="false" attributeType="NUMBER"><children><e id="1d0" x="1004" y="-140" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1d1" x="1037.47265625" y="-136.984375"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><atr id="1d2" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1d3" x="1030" y="-204" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1d4" x="1038.8134765625" y="-200.984375"><a><text><string>Start_date</string></text></a></t></children></atr><ent id="1d5"><children><r id="1d6" x="1186" y="-140" w="139.689453125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1d7" x="1196" y="-126.984375"><a><text><string>BLACKLISTED_USER</string></text></a></t></children></ent><rel id="1d8"><children><diamond id="1d9" x="1188" y="-200" w="122.931640625" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1da" x="1198" y="-186.984375"><a><text><string>BLACKLISTED_BY</string></text></a></t></children></rel><llabelDoubleMuitos id="1db"><points><p colinear="true" x="1251.5921223958333" y="-160" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1253.7184244791667" y="-140" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1dc"><Owner><rel ref="1d8"/></Owner></rConnector></startConnector><endConnector><rConnector id="1dd"><Owner><ent ref="1d5"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="1de"><points><p colinear="true" x="1249.178404564951" y="-200" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1248.287415747549" y="-262" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1df"><Owner><rel ref="1d8"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e0"><Owner><ent ref="42"/></Owner></rConnector></endConnector></llabelUm><rel id="1e1"><children><diamond id="1e2" x="1215" y="-57" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1e3" x="1224.2236328125" y="-43.984375"><a><text><string>RFERS_TO</string></text></a></t></children></rel><llabelDoubleMuitos id="1e4"><points><p colinear="true" x="1255.203548569277" y="-57" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1255.641177993223" y="-100" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1e5"><Owner><rel ref="1e1"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e6"><Owner><ent ref="1d5"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelUm id="1e7"><points><p colinear="true" x="1276.1494252873563" y="-17" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1325.8505747126437" y="30" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1e8"><Owner><rel ref="1e1"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e9"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><lcaf id="1ea"><points><p colinear="true" x="1084" y="-128.11182460620756" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1186" y="-123.29697735203683" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1eb"><Owner><atrchave ref="1cf"/></Owner></rConnector></startConnector><endConnector><rConnector id="1ec"><Owner><ent ref="1d5"/></Owner></rConnector></endConnector></lcaf><lcaf id="1ed"><points><p colinear="true" x="1113" y="-79.74899244982313" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1186" y="-100.31904513480822" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1ee"><Owner><atr ref="d3"/></Owner></rConnector></startConnector><endConnector><rConnector id="1ef"><Owner><ent ref="1d5"/></Owner></rConnector></endConnector></lcaf><lcaf id="1f0"><points><p colinear="true" x="1095.1141522381756" y="-184" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1205.6164220861485" y="-140" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1f1"><Owner><atr ref="1d2"/></Owner></rConnector></startConnector><endConnector><rConnector id="1f2"><Owner><ent ref="1d5"/></Owner></rConnector></endConnector></lcaf><lcaf id="1f3"><points><p colinear="true" x="1130.7204975328948" y="-205" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1226.4037314967104" y="-140" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1f4"><Owner><atr ref="f7"/></Owner></rConnector></startConnector><endConnector><rConnector id="1f5"><Owner><ent ref="1d5"/></Owner></rConnector></endConnector></lcaf><rel id="1f6"><children><diamond id="1f7" x="211" y="-193" w="142.408203125" h="68"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1f8" x="221" y="-165.984375"><a><text><string>BLACKLISTED_FROM</string></text></a></t></children></rel><llabelUm id="1f9"><points><p colinear="true" x="258.35974151841936" y="-125" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="17.812226956076813" y="218" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1fa"><Owner><rel ref="1f6"/></Owner></rConnector></startConnector><endConnector><rConnector id="1fb"><Owner><ent ref="18"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="1fc"><points><p colinear="true" x="353.408203125" y="-170.9534503209713" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="586" y="-210"/><p colinear="true" x="795" y="-205"/><p colinear="true" x="1186" y="-132.8824339644632" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1fd"><Owner><rel ref="1f6"/></Owner></rConnector></startConnector><endConnector><rConnector id="1fe"><Owner><ent ref="1d5"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><entfraca id="1ff"><children><r id="200" x="917" y="619" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="201" x="927.8701171875" y="632.015625"><a><text><string>MESSAGE</string></text></a></t></children></entfraca><atrchaveparcial id="202" nullable="false" attributeType="NUMBER"><children><e id="203" x="734" y="669" w="125" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="204" x="771.052734375" y="675.515625"><a><strokeDashes><doubleArray><double>3</double></doubleArray></strokeDashes><fontBold><boolean>true</boolean></fontBold><text><string>Sent_at</string></text></a></t></children></atrchaveparcial><relfraco id="205"><children><diamond id="206" x="771" y="554" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="207" x="794.4892578125" y="572.015625"><a><text><string>SENT_IN</string></text></a></t></children></relfraco><relfraco id="208"><children><diamond id="209" x="1110" y="644" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="20a" x="1131.9658203125" y="662.015625"><a><text><string>SENT_BY</string></text></a></t></children></relfraco><llabelDoubleMuitos id="20b"><points><p colinear="true" x="868" y="600.1636363636363" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="917" y="621.5454545454545" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="20c"><Owner><relfraco ref="205"/></Owner></rConnector></startConnector><endConnector><rConnector id="20d"><Owner><entfraca ref="1ff"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelUm id="20e"><points><p colinear="true" x="771" y="556.2978723404256" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="742" y="542.7234042553191" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="20f"><Owner><relfraco ref="205"/></Owner></rConnector></startConnector><endConnector><rConnector id="210"><Owner><ent ref="1b4"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="211"><points><p colinear="true" x="1207" y="667.0616854908775" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1694" y="647.598609904431" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="212"><Owner><relfraco ref="208"/></Owner></rConnector></startConnector><endConnector><rConnector id="213"><Owner><ent ref="21"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="214"><points><p colinear="true" x="1110" y="661.7791563275434" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="997" y="644.955334987593" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="215"><Owner><relfraco ref="208"/></Owner></rConnector></startConnector><endConnector><rConnector id="216"><Owner><entfraca ref="1ff"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><lcaf id="217"><points><p colinear="true" x="846.3103448275863" y="669" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="917" y="649.8411214953271" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="218"><Owner><atrchaveparcial ref="202"/></Owner></rConnector></startConnector><endConnector><rConnector id="219"><Owner><entfraca ref="1ff"/></Owner></rConnector></endConnector></lcaf><lcaf id="21a"><points><p colinear="true" x="950.1151515151515" y="710" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="955.060606060606" y="659" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="21b"><Owner><atr ref="63"/></Owner></rConnector></startConnector><endConnector><rConnector id="21c"><Owner><entfraca ref="1ff"/></Owner></rConnector></endConnector></lcaf><entfraca id="21d"><children><r id="21e" x="913" y="416" w="283" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="21f" x="937.9611968994141" y="427.82794284820557"><a><text><string>DEVELOPER_ASSOCIATED_WITH_PROJECT</string></text></a></t></children></entfraca><atrchaveparcial id="220" nullable="false" attributeType="NUMBER"><children><e id="221" x="882" y="470" w="125" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="222" x="913.5997772216797" y="475.32794284820557"><a><strokeDashes><doubleArray><double>3</double></doubleArray></strokeDashes><fontBold><boolean>true</boolean></fontBold><text><string>Started_at</string></text></a></t></children></atrchaveparcial><lcaf id="223"><points><p colinear="true" x="975.7631578947369" y="470" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1008.1842105263158" y="456" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="224"><Owner><atrchaveparcial ref="220"/></Owner></rConnector></startConnector><endConnector><rConnector id="225"><Owner><entfraca ref="21d"/></Owner></rConnector></endConnector></lcaf><lcaf id="226"><points><p colinear="true" x="1087.3064240572746" y="483" c1x="1.575538727174262" c1y="-17" c2x="1.575538727174262" c2y="-17"/><p colinear="true" x="1068.460180449904" y="456" c1x="1.575538727174262" c1y="-17" c2x="1.575538727174262" c2y="-17"/></points><startConnector><rConnector id="227"><Owner><atr ref="66"/></Owner></rConnector></startConnector><endConnector><rConnector id="228"><Owner><entfraca ref="21d"/></Owner></rConnector></endConnector></lcaf><relfraco id="229"><children><diamond id="22a" x="792" y="343" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="22b" x="807.0917663574219" y="359.82794284820557"><a><text><string>IN_PROJECT</string></text></a></t></children></relfraco><relfraco id="22c"><children><diamond id="22d" x="1347" y="490" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="22e" x="1361.3777618408203" y="506.82794284820557"><a><text><string>ABOUT_DEV</string></text></a></t></children></relfraco><llabelUm id="22f"><points><p colinear="true" x="792" y="355.14397724756896" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="617.572265625" y="308.90795824179565" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="230"><Owner><relfraco ref="229"/></Owner></rConnector></startConnector><endConnector><rConnector id="231"><Owner><ent ref="c"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="232"><points><p colinear="true" x="889" y="383.41121495327104" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="991.5588235294117" y="416" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="233"><Owner><relfraco ref="229"/></Owner></rConnector></startConnector><endConnector><rConnector id="234"><Owner><entfraca ref="21d"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="235"><points><p colinear="true" x="1347" y="503.7639296187683" c1x="1" c1y="18.10973084886126" c2x="1" c2y="18.10973084886126"/><p colinear="true" x="1140.8291139240507" y="456" c1x="1" c1y="18.10973084886126" c2x="1" c2y="18.10973084886126"/></points><startConnector><rConnector id="236"><Owner><relfraco ref="22c"/></Owner></rConnector></startConnector><endConnector><rConnector id="237"><Owner><entfraca ref="21d"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleUm id="238"><points><p colinear="true" x="1444" y="533.7695716395864" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1694" y="630.519940915805" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="239"><Owner><relfraco ref="22c"/></Owner></rConnector></startConnector><endConnector><rConnector id="23a"><Owner><ent ref="21"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><t id="23b" x="1548" y="245"><a><text><string/></text></a></t><entfraca id="23c"><children><r id="23d" x="431" y="646" w="203" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="23e" x="438.4072265625" y="659.015625"><a><text><string>ROLE_PERMISSION_OVERRIDES</string></text></a></t></children></entfraca><relfraco id="23f"><children><diamond id="240" x="534" y="702" w="195" h="72"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="241" x="560.009765625" y="731.015625"><a><text><string>FOR_ROLE_PERMISSION</string></text></a></t></children></relfraco><llabelDoubleMuitos id="242"><points><p colinear="true" x="582" y="702" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="560" y="686" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="243"><Owner><relfraco ref="23f"/></Owner></rConnector></startConnector><endConnector><rConnector id="244"><Owner><entfraca ref="23c"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleUm id="245"><points><p colinear="true" x="644.3363894628098" y="774" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="648.2586195764462" y="785" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="246"><Owner><relfraco ref="23f"/></Owner></rConnector></startConnector><endConnector><rConnector id="247"><Owner><entfraca ref="18d"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><relfraco id="248"><children><diamond id="249" x="541" y="545" w="129" h="67"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="24a" x="557.125" y="571.515625"><a><text><string>FOR_RESOURCE</string></text></a></t></children></relfraco><llabelDoubleMuitos id="24b"><points><p colinear="true" x="577.5514285714286" y="612" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="549.1857142857143" y="646" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="24c"><Owner><relfraco ref="248"/></Owner></rConnector></startConnector><endConnector><rConnector id="24d"><Owner><entfraca ref="23c"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="24e"><points><p colinear="true" x="664.8165137614678" y="545" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="666.5871559633027" y="544" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="24f"><Owner><relfraco ref="248"/></Owner></rConnector></startConnector><endConnector><rConnector id="250"><Owner><ent ref="1b4"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="251"><points><p colinear="true" x="439" y="868.953821656051" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="391" y="875.8328025477707" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="252"><Owner><relfraco ref="190"/></Owner></rConnector></startConnector><endConnector><rConnector id="253"><Owner><ent ref="199"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="254"><points><p colinear="true" x="542.70596875" y="842" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="618.82065625" y="812" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="255"><Owner><relfraco ref="190"/></Owner></rConnector></startConnector><endConnector><rConnector id="256"><Owner><entfraca ref="18d"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelUm id="257"><points><p colinear="true" x="872.2282272101684" y="887" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="925.6652414588731" y="935" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="258"><Owner><relfraco ref="193"/></Owner></rConnector></startConnector><endConnector><rConnector id="259"><Owner><ent ref="30"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="25a"><points><p colinear="true" x="762" y="833.370314600419" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="695.243505859375" y="812" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="25b"><Owner><relfraco ref="193"/></Owner></rConnector></startConnector><endConnector><rConnector id="25c"><Owner><entfraca ref="18d"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos></figures></drawing>
Index: cs/versioning/er_models/ER_BUILD_BOARD_v5.xml
===================================================================
--- docs/versioning/er_models/ER_BUILD_BOARD_v5.xml	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,1 +1,0 @@
-<drawing><figures><llabelUm id="0"><points><p colinear="true" x="932" y="301.9479067182564" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="617.572265625" y="293.67772404501096" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1"><Owner><rel id="2"><children><diamond id="3" x="932" y="283" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="4" x="945.5398178100586" y="294.82794284820557"><a><text><string>RECIEVES</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="5"><Owner><ent id="6"><children><r id="7" x="490" y="272" w="127.572265625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="8" x="500" y="285.015625"><a><text><string>PROJECT_THREAD</string></text></a></t></children></ent></Owner></rConnector></endConnector></llabelUm><lcaf id="9"><points><p colinear="true" x="254.0390625" y="-210.29175680475282" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="264" y="-208.43921733234316" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="a"><Owner><rel id="b"><children><diamond id="c" x="112" y="-252" w="142.0390625" h="57"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="d" x="125" y="-230.484375"><a><text><string>IS_MODERATED_BY</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="e"><Owner><atr id="f" nullable="false" attributeType="VARCHAR2(128)"><children><e id="10" x="264" y="-211" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="11" x="275.25980377197266" y="-209.17205715179443"><a><text><string>Started_at</string></text></a></t></children></atr></Owner></rConnector></endConnector></lcaf><rel ref="b"/><atr ref="f"/><ent id="12"><children><r id="13" x="436" y="-7" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="14" x="451.138671875" y="6.015625"><a><text><string>THREAD</string></text></a></t></children></ent><disjuncao id="15"><children><circ id="16" x="396" y="143" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="17" x="400" y="144"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao><ent ref="6"/><ent id="18"><children><r id="19" x="-60" y="218" w="127.572265625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1a" x="-42.0400390625" y="231.015625"><a><text><string>TOPIC_THREAD</string></text></a></t></children></ent><ent id="1b"><children><r id="1c" x="1307" y="30" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1d" x="1330.83984375" y="43.015625"><a><text><string>USER</string></text></a></t></children></ent><llabelDoubleGeneralizacao id="1e" labelGeneralizacaoText="caracteristica"><points><p colinear="true" x="411" y="143" c1x="-14.280559426255081" c1y="-40" c2x="-14.280559426255081" c2y="-40"/><p colinear="true" x="466" y="33" c1x="-14.280559426255081" c1y="-40" c2x="-14.280559426255081" c2y="-40"/></points><startConnector><rConnector id="1f"><Owner><disjuncao ref="15"/></Owner></rConnector></startConnector><endConnector><rConnector id="20"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><ent id="21"><children><r id="22" x="1514" y="622" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="23" x="1518.0498046875" y="635.015625"><a><text><string>DEVELOPER</string></text></a></t></children></ent><generalizacaoLine id="24"><points><p colinear="true" x="1614.971807628524" y="49" c1x="400" c1y="499" c2x="400" c2y="499"/><p colinear="true" x="1556.0563847429519" y="622" c1x="400" c1y="499" c2x="400" c2y="499"/></points><startConnector><rConnector id="25"><Owner><sobreposicao id="26"><children><circ id="27" x="1606" y="29" w="20" h="20"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="28" x="1610" y="30"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>o</string></text></a></tn></children></sobreposicao></Owner></rConnector></startConnector><endConnector><rConnector id="29"><Owner><ent ref="21"/></Owner></rConnector></endConnector></generalizacaoLine><ent id="2a"><children><r id="2b" x="1416" y="285" w="120" h="30"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="2c" x="1423.9716796875" y="293.015625"><a><text><string>PROJECT_OWNER</string></text></a></t></children></ent><generalizacaoLine id="2d"><points><p colinear="true" x="1610.6360153256705" y="49" c1x="303" c1y="473" c2x="303" c2y="473"/><p colinear="true" x="1484.0459770114942" y="285" c1x="303" c1y="473" c2x="303" c2y="473"/></points><startConnector><rConnector id="2e"><Owner><sobreposicao ref="26"/></Owner></rConnector></startConnector><endConnector><rConnector id="2f"><Owner><ent ref="2a"/></Owner></rConnector></endConnector></generalizacaoLine><ent id="30"><children><r id="31" x="600" y="863" w="101.861328125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="32" x="610" y="876.015625"><a><text><string>PERMISSIONS</string></text></a></t></children></ent><relfraco id="33"><children><diamond id="34" x="540" y="372" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="35" x="576.0751953125" y="390.015625"><a><text><string>HAS</string></text></a></t></children></relfraco><llabelUm id="36"><points><p colinear="true" x="580.2347935267857" y="372" c1x="527" c1y="244" c2x="527" c2y="244"/><p colinear="true" x="560.3982979910714" y="312" c1x="527" c1y="244" c2x="527" c2y="244"/></points><startConnector><rConnector id="37"><Owner><relfraco ref="33"/></Owner></rConnector></startConnector><endConnector><rConnector id="38"><Owner><ent ref="6"/></Owner></rConnector></endConnector></llabelUm><entfraca id="39"><children><r id="3a" x="665" y="504" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="3b" x="676.083984375" y="517.015625"><a><text><string>CHANNEL</string></text></a></t></children></entfraca><llabelDoubleMuitos id="3c"><points><p colinear="true" x="611.4330708661417" y="422" c1x="212" c1y="379" c2x="212" c2y="379"/><p colinear="true" x="686.6535433070866" y="504" c1x="212" c1y="379" c2x="212" c2y="379"/></points><startConnector><rConnector id="3d"><Owner><relfraco ref="33"/></Owner></rConnector></startConnector><endConnector><rConnector id="3e"><Owner><entfraca ref="39"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><rel id="3f"><children><diamond id="40" x="982" y="539" w="115.37890625" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="41" x="998.591796875" y="552.015625"><a><text><string>CONSTRUCTS</string></text></a></t></children></rel><llabelDoubleMuitos id="42"><points><p colinear="true" x="982" y="552.9671512187721" c1x="842" c1y="229" c2x="842" c2y="229"/><p colinear="true" x="745" y="528.1829821254545" c1x="842" c1y="229" c2x="842" c2y="229"/></points><startConnector><rConnector id="43"><Owner><rel ref="3f"/></Owner></rConnector></startConnector><endConnector><rConnector id="44"><Owner><entfraca ref="39"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="45"><points><p colinear="true" x="1097.37890625" y="568.3099872022239" c1x="-254.06871916118416" c1y="253" c2x="-254.06871916118416" c2y="253"/><p colinear="true" x="1514" y="635.5447561397046" c1x="-254.06871916118416" c1y="253" c2x="-254.06871916118416" c2y="253"/></points><startConnector><rConnector id="46"><Owner><rel ref="3f"/></Owner></rConnector></startConnector><endConnector><rConnector id="47"><Owner><ent ref="21"/></Owner></rConnector></endConnector></llabelUm><rel id="48"><children><diamond id="49" x="830" y="-96" w="123" h="41"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="4a" x="843.810546875" y="-82.484375"><a><text><string>IS_CREATED_BY</string></text></a></t></children></rel><llabelDoubleMuitos id="4b"><points><p colinear="true" x="830" y="-72.3433628318584" c1x="68" c1y="191" c2x="68" c2y="191"/><p colinear="true" x="609" y="-61"/><p colinear="true" x="511.94594594594594" y="-7" c1x="68" c1y="191" c2x="68" c2y="191"/></points><startConnector><rConnector id="4c"><Owner><rel ref="48"/></Owner></rConnector></startConnector><endConnector><rConnector id="4d"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="4e"><points><p colinear="true" x="953" y="-58.555433589462126" c1x="527" c1y="244" c2x="527" c2y="244"/><p colinear="true" x="1307" y="38.979143798024154" c1x="527" c1y="244" c2x="527" c2y="244"/></points><startConnector><rConnector id="4f"><Owner><rel ref="48"/></Owner></rConnector></startConnector><endConnector><rConnector id="50"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><ent id="51"><children><r id="52" x="1210" y="-271" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="53" x="1212.8357391357422" y="-259.17205715179443"><a><text><string>MODERATOR</string></text></a></t></children></ent><sobreposicao ref="26"/><generalizacaoLine id="54"><points><p colinear="true" x="1606" y="31.06439346135356" c1x="-502.29203539823015" c1y="338" c2x="-502.29203539823015" c2y="338"/><p colinear="true" x="1275.761357011466" y="-231" c1x="-502.29203539823015" c1y="338" c2x="-502.29203539823015" c2y="338"/></points><startConnector><rConnector id="55"><Owner><sobreposicao ref="26"/></Owner></rConnector></startConnector><endConnector><rConnector id="56"><Owner><ent ref="51"/></Owner></rConnector></endConnector></generalizacaoLine><lcaf id="57"><points><p colinear="true" x="1387" y="48.36431226765799" c1x="-186" c1y="359.3731343283582" c2x="-186" c2y="359.3731343283582"/><p colinear="true" x="1606" y="39.4089219330855" c1x="-186" c1y="359.3731343283582" c2x="-186" c2y="359.3731343283582"/></points><startConnector><rConnector id="58"><Owner><ent ref="1b"/></Owner></rConnector></startConnector><endConnector><rConnector id="59"><Owner><sobreposicao ref="26"/></Owner></rConnector></endConnector></lcaf><atrchave id="5a" nullable="false" attributeType="NUMBER"><children><e id="5b" x="467" y="864" w="60" h="24"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="5c" x="477.6083984375" y="869.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Name</string></text></a></t></children></atrchave><lcaf id="5d"><points><p colinear="true" x="527" y="877.3642505947661" c1x="-83" c1y="375.60399192891236" c2x="-83" c2y="375.60399192891236"/><p colinear="true" x="600" y="880.6839270420302" c1x="-83" c1y="375.60399192891236" c2x="-83" c2y="375.60399192891236"/></points><startConnector><rConnector id="5e"><Owner><atrchave ref="5a"/></Owner></rConnector></startConnector><endConnector><rConnector id="5f"><Owner><ent ref="30"/></Owner></rConnector></endConnector></lcaf><atr id="60" nullable="false" attributeType="VARCHAR2(128)"><children><e id="61" x="1426" y="14" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="62" x="1437.599609375" y="17.015625"><a><text><string>Password</string></text></a></t></children></atr><lcaf id="63"><points><p colinear="true" x="1426" y="32.739495798319325" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/><p colinear="true" x="1387" y="41.260504201680675" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/></points><startConnector><rConnector id="64"><Owner><atr ref="60"/></Owner></rConnector></startConnector><endConnector><rConnector id="65"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><atr id="66" nullable="false" attributeType="VARCHAR2(128)"><children><e id="67" x="305" y="-8" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="68" x="321.1376953125" y="-4.984375"><a><text><string>Content</string></text></a></t></children></atr><lcaf id="69"><points><p colinear="true" x="385" y="5.3587786259542" c1x="-91" c1y="-14" c2x="-91" c2y="-14"/><p colinear="true" x="436" y="9.641221374045799" c1x="-91" c1y="-14" c2x="-91" c2y="-14"/></points><startConnector><rConnector id="6a"><Owner><atr ref="66"/></Owner></rConnector></startConnector><endConnector><rConnector id="6b"><Owner><ent ref="12"/></Owner></rConnector></endConnector></lcaf><rel id="6c"><children><diamond id="6d" x="989" y="374" w="127.84867858886719" h="48"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="6e" x="995.4614486694336" y="391.015625"><a><text><string>ASSOCIATED_WITH</string></text></a></t></children></rel><llabelMuitos id="6f"><points><p colinear="true" x="989" y="384.42464175810346" c1x="368" c1y="39" c2x="368" c2y="39"/><p colinear="true" x="617.572265625" y="305.54600787982304" c1x="368" c1y="39" c2x="368" c2y="39"/></points><startConnector><rConnector id="70"><Owner><rel ref="6c"/></Owner></rConnector></startConnector><endConnector><rConnector id="71"><Owner><ent ref="6"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atr id="72" nullable="false" attributeType="VARCHAR2(128)"><children><e id="73" x="1468" y="53" w="86" h="30"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="74" x="1479.5477752685547" y="59.827942848205566"><a><text><string>Register_at</string></text></a></t></children></atr><lcaf id="75"><points><p colinear="true" x="1468" y="63.28048780487804" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/><p colinear="true" x="1387" y="54.390243902439025" c1x="928.6101694915254" c1y="-289" c2x="928.6101694915254" c2y="-289"/></points><startConnector><rConnector id="76"><Owner><atr ref="72"/></Owner></rConnector></startConnector><endConnector><rConnector id="77"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><atrchaveparcial id="78" nullable="false" attributeType="NUMBER"><children><e id="79" x="666" y="406" w="66" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="7a" x="679.6083984375" y="409.015625"><a><strokeDashes><doubleArray><double>3</double></doubleArray></strokeDashes><fontBold><boolean>true</boolean></fontBold><text><string>Name</string></text></a></t></children></atrchaveparcial><lcaf id="7b"><points><p colinear="true" x="703.8888888888889" y="504" c1x="-429" c1y="57" c2x="-429" c2y="57"/><p colinear="true" x="699.5555555555555" y="426" c1x="-429" c1y="57" c2x="-429" c2y="57"/></points><startConnector><rConnector id="7c"><Owner><entfraca ref="39"/></Owner></rConnector></startConnector><endConnector><rConnector id="7d"><Owner><atrchaveparcial ref="78"/></Owner></rConnector></endConnector></lcaf><rel id="7e"><children><diamond id="7f" x="939" y="622" w="141.78884887695312" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="80" x="947.9901275634766" y="635.015625"><a><text><string>SENDS_MESSAGE_IN</string></text></a></t></children></rel><llabelMuitos id="81"><points><p colinear="true" x="958.2174033472094" y="622" c1x="299.23095032057836" c1y="-33" c2x="299.23095032057836" c2y="-33"/><p colinear="true" x="745" y="539.4807684945135" c1x="299.23095032057836" c1y="-33" c2x="299.23095032057836" c2y="-33"/></points><startConnector><rConnector id="82"><Owner><rel ref="7e"/></Owner></rConnector></startConnector><endConnector><rConnector id="83"><Owner><entfraca ref="39"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atr id="84" nullable="false" attributeType="VARCHAR2(128)"><children><e id="85" x="956" y="698" w="80" h="23"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="86" x="972.1376953125" y="702.515625"><a><text><string>Content</string></text></a></t></children></atr><lcaf id="87"><points><p colinear="true" x="1005.7775579381872" y="662" c1x="305" c1y="76" c2x="305" c2y="76"/><p colinear="true" x="998.3671982376663" y="698" c1x="305" c1y="76" c2x="305" c2y="76"/></points><startConnector><rConnector id="88"><Owner><rel ref="7e"/></Owner></rConnector></startConnector><endConnector><rConnector id="89"><Owner><atr ref="84"/></Owner></rConnector></endConnector></lcaf><atr id="8a" nullable="false" attributeType="VARCHAR2(128)"><children><e id="8b" x="833" y="440" w="168.57302856445312" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="8c" x="886.0999908447266" y="443.015625"><a><text><string>Started_at</string></text></a></t></children></atr><lcaf id="8d"><points><p colinear="true" x="943.3707113999587" y="440" c1x="-411" c1y="155" c2x="-411" c2y="155"/><p colinear="true" x="990.3222662118765" y="422" c1x="-411" c1y="155" c2x="-411" c2y="155"/></points><startConnector><rConnector id="8e"><Owner><atr ref="8a"/></Owner></rConnector></startConnector><endConnector><rConnector id="8f"><Owner><rel ref="6c"/></Owner></rConnector></endConnector></lcaf><atr id="90" nullable="false" attributeType="VARCHAR2(128)"><children><e id="91" x="994" y="459" w="168.57302856445312" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="92" x="1050.3548736572266" y="462.015625"><a><text><string>Ended_at</string></text></a></t></children></atr><lcaf id="93"><points><p colinear="true" x="1074.7143769600023" y="459" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1061.497468867772" y="422" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="94"><Owner><atr ref="90"/></Owner></rConnector></startConnector><endConnector><rConnector id="95"><Owner><rel ref="6c"/></Owner></rConnector></endConnector></lcaf><t id="96" x="1499" y="514"><a><text><null/></text></a></t><atr id="97" nullable="false" attributeType="VARCHAR2(128)"><children><e id="98" x="871" y="670" w="80" h="23"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="99" x="888.3154296875" y="674.515625"><a><text><string>Sent_at</string></text></a></t></children></atr><lcaf id="9a"><points><p colinear="true" x="959.8212981405137" y="662" c1x="305" c1y="76" c2x="305" c2y="76"/><p colinear="true" x="939.7920476213286" y="670" c1x="305" c1y="76" c2x="305" c2y="76"/></points><startConnector><rConnector id="9b"><Owner><rel ref="7e"/></Owner></rConnector></startConnector><endConnector><rConnector id="9c"><Owner><atr ref="97"/></Owner></rConnector></endConnector></lcaf><ent id="9d"><children><r id="9e" x="490" y="-198" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="9f" x="518.4619140625" y="-186.17205715179443"><a><text><string>TAG</string></text></a></t></children></ent><rel id="a0"><children><diamond id="a1" x="773" y="-213" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="a2" x="785.4814453125" y="-199.984375"><a><text><string>CREATES</string></text></a></t></children></rel><llabelUm id="a3"><points><p colinear="true" x="853" y="-198.3021482357261" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="1210" y="-245.62382123958142" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="a4"><Owner><rel ref="a0"/></Owner></rConnector></startConnector><endConnector><rConnector id="a5"><Owner><ent ref="51"/></Owner></rConnector></endConnector></llabelUm><rel id="a6"><children><diamond id="a7" x="252" y="-146" w="115.53266906738281" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="a8" x="263.5300064086914" y="-132.984375"><a><text><string>ASSISGNED_TO</string></text></a></t></children></rel><llabelMuitos id="a9"><points><p colinear="true" x="333.68484755042647" y="-106" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="452.08148698326494" y="-7" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="aa"><Owner><rel ref="a6"/></Owner></rConnector></startConnector><endConnector><rConnector id="ab"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atrchave id="ac" nullable="false" attributeType="NUMBER"><children><e id="ad" x="495" y="-137" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="ae" x="515.6083984375" y="-133.984375"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Name</string></text></a></t></children></atrchave><lcaf id="af"><points><p colinear="true" x="531.9607843137255" y="-158" c1x="-597" c1y="-116" c2x="-597" c2y="-116"/><p colinear="true" x="534.0196078431372" y="-137" c1x="-597" c1y="-116" c2x="-597" c2y="-116"/></points><startConnector><rConnector id="b0"><Owner><ent ref="9d"/></Owner></rConnector></startConnector><endConnector><rConnector id="b1"><Owner><atrchave ref="ac"/></Owner></rConnector></endConnector></lcaf><atr id="b2" nullable="false" attributeType="VARCHAR2(128)"><children><e id="b3" x="470" y="462" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="b4" x="475.828125" y="465.015625"><a><text><string>Description</string></text></a></t></children></atr><lcaf id="b5"><points><p colinear="true" x="665" y="513.3333333333334" c1x="-429" c1y="57" c2x="-429" c2y="57"/><p colinear="true" x="547.5" y="482" c1x="-429" c1y="57" c2x="-429" c2y="57"/></points><startConnector><rConnector id="b6"><Owner><entfraca ref="39"/></Owner></rConnector></startConnector><endConnector><rConnector id="b7"><Owner><atr ref="b2"/></Owner></rConnector></endConnector></lcaf><rel id="b8"><children><diamond id="b9" x="830" y="-64" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="ba" x="853.353515625" y="-50.984375"><a><text><string>LIKES</string></text></a></t></children></rel><llabelMuitos id="bb"><points><p colinear="true" x="830" y="-43.464285714285715" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="646" y="-41"/><p colinear="true" x="516" y="0.29411764705882426" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="bc"><Owner><rel ref="b8"/></Owner></rConnector></startConnector><endConnector><rConnector id="bd"><Owner><ent ref="12"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atr id="be" nullable="false" attributeType="VARCHAR2(128)"><children><e id="bf" x="1375" y="140" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="c0" x="1388.8671875" y="143.015625"><a><text><string>Is_active</string></text></a></t></children></atr><lcaf id="c1"><points><p colinear="true" x="1408.2" y="140" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1360.6" y="70" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="c2"><Owner><atr ref="be"/></Owner></rConnector></startConnector><endConnector><rConnector id="c3"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="c4"><points><p colinear="true" x="773" y="-190.8798586572438" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/><p colinear="true" x="570" y="-180.1201413427562" c1x="-345" c1y="-1" c2x="-345" c2y="-1"/></points><startConnector><rConnector id="c5"><Owner><rel ref="a0"/></Owner></rConnector></startConnector><endConnector><rConnector id="c6"><Owner><ent ref="9d"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="c7" nullable="false" attributeType="VARCHAR2(128)"><children><e id="c8" x="1388" y="98" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="c9" x="1418.147933959961" y="99.82794284820557"><a><text><string>Sex</string></text></a></t></children></atr><atr id="ca" nullable="false" attributeType="VARCHAR2(128)"><children><e id="cb" x="1397" y="-20" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="cc" x="1402.828125" y="-16.984375"><a><text><string>Description</string></text></a></t></children></atr><lcaf id="cd"><points><p colinear="true" x="1414.0344827586207" y="98" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1374.9310344827586" y="70" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="ce"><Owner><atr ref="c7"/></Owner></rConnector></startConnector><endConnector><rConnector id="cf"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><lcaf id="d0"><points><p colinear="true" x="1422" y="0" c1x="578" c1y="-321" c2x="578" c2y="-321"/><p colinear="true" x="1377" y="30" c1x="578" c1y="-321" c2x="578" c2y="-321"/></points><startConnector><rConnector id="d1"><Owner><atr ref="ca"/></Owner></rConnector></startConnector><endConnector><rConnector id="d2"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="d3"><points><p colinear="true" x="1012" y="61.584104232514505" c1x="891.4750350516183" c1y="-574.1259968457359" c2x="891.4750350516183" c2y="-574.1259968457359"/><p colinear="true" x="970" y="69.34150239987936" c1x="891.4750350516183" c1y="-574.1259968457359" c2x="891.4750350516183" c2y="-574.1259968457359"/></points><startConnector><rConnector id="d4"><Owner><rel id="d5"><children><diamond id="d6" x="1012" y="31" w="114.60862731933594" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="d7" x="1022" y="42.827942848205566"><a><text><string>SUBBMITTED_BY</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="d8"><Owner><ent id="d9"><children><r id="da" x="860" y="60" w="110" h="39"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="db" x="877.1396484375" y="72.515625"><a><text><string>SUBMISSION</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="dc"><points><p colinear="true" x="753.4285714285714" y="21" c1x="891.4750350516183" c1y="-501.9012034573061" c2x="891.4750350516183" c2y="-501.9012034573061"/><p colinear="true" x="690.5714285714286" y="121" c1x="891.4750350516183" c1y="-501.9012034573061" c2x="891.4750350516183" c2y="-501.9012034573061"/></points><startConnector><rConnector id="dd"><Owner><rel id="de"><children><diamond id="df" x="726" y="-19" w="80" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="e0" x="745.8578567504883" y="-7.172057151794434"><a><text><string>ABOUT</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="e1"><Owner><ent id="e2"><children><r id="e3" x="638" y="121" w="80" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="e4" x="653.865234375" y="134.015625"><a><text><string>REPORT</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="e5"><points><p colinear="true" x="1126.608627319336" y="50.79364348645503" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="50.144042568781494" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="e6"><Owner><rel ref="d5"/></Owner></rConnector></startConnector><endConnector><rConnector id="e7"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="e8"><points><p colinear="true" x="806" y="4.373493975903614" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="46.626506024096386" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="e9"><Owner><rel ref="de"/></Owner></rConnector></startConnector><endConnector><rConnector id="ea"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><llabelUm id="eb"><points><p colinear="true" x="458.69551157951355" y="103" c1x="-65.39030456542969" c1y="-141.60966999475397" c2x="-65.39030456542969" c2y="-141.60966999475397"/><p colinear="true" x="166" y="211"/><p colinear="true" x="67.572265625" y="227.38299409416823" c1x="-65.39030456542969" c1y="-141.60966999475397" c2x="-65.39030456542969" c2y="-141.60966999475397"/></points><startConnector><rConnector id="ec"><Owner><rel id="ed"><children><diamond id="ee" x="449" y="63" w="127.79676818847656" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="ef" x="456.5341262817383" y="76.015625"><a><text><string>FOR_MISCONDUCT</string></text></a></t></children></rel></Owner></rConnector></startConnector><endConnector><rConnector id="f0"><Owner><ent ref="18"/></Owner></rConnector></endConnector></llabelUm><atrchave id="f1" nullable="false" attributeType="NUMBER"><children><e id="f2" x="340" y="76" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="f3" x="373.47265625" y="79.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="f4"><points><p colinear="true" x="393.1506849315068" y="76" c1x="-459" c1y="-53" c2x="-459" c2y="-53"/><p colinear="true" x="449.6986301369863" y="33" c1x="-459" c1y="-53" c2x="-459" c2y="-53"/></points><startConnector><rConnector id="f5"><Owner><atrchave ref="f1"/></Owner></rConnector></startConnector><endConnector><rConnector id="f6"><Owner><ent ref="12"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="f7"><points><p colinear="true" x="1012" y="300.97662284890924" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1087" y="297.182790690614" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="f8"><Owner><rel ref="2"/></Owner></rConnector></startConnector><endConnector><rConnector id="f9"><Owner><ent id="fa"><children><r id="fb" x="1087" y="274" w="125.84072875976562" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="fc" x="1097" y="285.82794284820557"><a><text><string>PROJECT_REQUEST</string></text></a></t></children></ent></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="fd" nullable="false" attributeType="VARCHAR2(128)"><children><e id="fe" x="914" y="156" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="ff" x="936.4258804321289" y="157.82794284820557"><a><text><string>Status</string></text></a></t></children></atr><lcaf id="100"><points><p colinear="true" x="949.4913294797688" y="156" c1x="-356" c1y="135" c2x="-356" c2y="135"/><p colinear="true" x="923.7919075144508" y="99" c1x="-356" c1y="135" c2x="-356" c2y="135"/></points><startConnector><rConnector id="101"><Owner><atr ref="fd"/></Owner></rConnector></startConnector><endConnector><rConnector id="102"><Owner><ent ref="d9"/></Owner></rConnector></endConnector></lcaf><atr id="103" nullable="false" attributeType="VARCHAR2(128)"><children><e id="104" x="769" y="80" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="105" x="776.7137680053711" y="81.82794284820557"><a><text><string>Description</string></text></a></t></children></atr><lcaf id="106"><points><p colinear="true" x="849" y="86.0377358490566" c1x="-320.4305835592336" c1y="127" c2x="-320.4305835592336" c2y="127"/><p colinear="true" x="860" y="84.94811320754717" c1x="-320.4305835592336" c1y="127" c2x="-320.4305835592336" c2y="127"/></points><startConnector><rConnector id="107"><Owner><atr ref="103"/></Owner></rConnector></startConnector><endConnector><rConnector id="108"><Owner><ent ref="d9"/></Owner></rConnector></endConnector></lcaf><atr id="109" nullable="false" attributeType="VARCHAR2(128)"><children><e id="10a" x="1058" y="-86" w="55" h="28"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="10b" x="1063.36328125" y="-78.984375"><a><text><string>Reason</string></text></a></t></children></atr><rel id="10c"><children><diamond id="10d" x="930" y="1001" w="119" h="66"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="10e" x="949.8818359375" y="1027.015625"><a><text><string>IS_ASSIGNED</string></text></a></t></children></rel><llabelMuitos id="10f"><points><p colinear="true" x="1049" y="1009.8810720268007" c1x="-315" c1y="135" c2x="-315" c2y="135"/><p colinear="true" x="1288" y="913"/><p colinear="true" x="1534.3690036900368" y="662" c1x="-315" c1y="135" c2x="-315" c2y="135"/></points><startConnector><rConnector id="110"><Owner><rel ref="10c"/></Owner></rConnector></startConnector><endConnector><rConnector id="111"><Owner><ent ref="21"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><ent id="112"><children><r id="113" x="289" y="320" w="150.4765625" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="114" x="299" y="333.015625"><a><text><string>DISCUSSION_THREAD</string></text></a></t></children></ent><atr id="115" nullable="false" attributeType="VARCHAR2(128)"><children><e id="116" x="-73" y="320" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="117" x="-46.04296875" y="323.015625"><a><text><string>Title</string></text></a></t></children></atr><lcaf id="118"><points><p colinear="true" x="-29.001507302989133" y="320" c1x="-315" c1y="22" c2x="-315" c2y="22"/><p colinear="true" x="-4.210852581521749" y="258" c1x="-315" c1y="22" c2x="-315" c2y="22"/></points><startConnector><rConnector id="119"><Owner><atr ref="115"/></Owner></rConnector></startConnector><endConnector><rConnector id="11a"><Owner><ent ref="18"/></Owner></rConnector></endConnector></lcaf><atr id="11b" nullable="false" attributeType="VARCHAR2(128)"><children><e id="11c" x="636" y="248" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="11d" x="664.0179138183594" y="249.82794284820557"><a><text><string>Title</string></text></a></t></children></atr><lcaf id="11e"><points><p colinear="true" x="640.0547449448529" y="268" c1x="21.427734375" c1y="-105" c2x="21.427734375" c2y="-105"/><p colinear="true" x="617.572265625" y="274.2546445380233" c1x="21.427734375" c1y="-105" c2x="21.427734375" c2y="-105"/></points><startConnector><rConnector id="11f"><Owner><atr ref="11b"/></Owner></rConnector></startConnector><endConnector><rConnector id="120"><Owner><ent ref="6"/></Owner></rConnector></endConnector></lcaf><llabelMuitos id="121"><points><p colinear="true" x="910" y="-36.11740041928721" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="42.117400419287215" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="122"><Owner><rel ref="b8"/></Owner></rConnector></startConnector><endConnector><rConnector id="123"><Owner><ent ref="1b"/></Owner></rConnector></endConnector><a><text><string>P</string></text></a></llabelMuitos><llabelDoubleMuitos id="124"><points><p colinear="true" x="569.8299757858803" y="103" c1x="-568.3903045654297" c1y="516.4740031542641" c2x="-568.3903045654297" c2y="516.4740031542641"/><p colinear="true" x="638" y="126.94804788994777" c1x="-568.3903045654297" c1y="516.4740031542641" c2x="-568.3903045654297" c2y="516.4740031542641"/></points><startConnector><rConnector id="125"><Owner><rel ref="ed"/></Owner></rConnector></startConnector><endConnector><rConnector id="126"><Owner><ent ref="e2"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atr id="127" nullable="false" attributeType="VARCHAR2(128)"><children><e id="128" x="551" y="220" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="129" x="566.1658248901367" y="221.82794284820557"><a><text><string>Repo_url</string></text></a></t></children></atr><lcaf id="12a"><points><p colinear="true" x="584.9977633568549" y="240" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="565.7906060987904" y="272" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="12b"><Owner><atr ref="127"/></Owner></rConnector></startConnector><endConnector><rConnector id="12c"><Owner><ent ref="6"/></Owner></rConnector></endConnector></lcaf><entfraca id="12d"><children><r id="12e" x="1214" y="-113" w="139.689453125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="12f" x="1228.5243530273438" y="-101.17205715179443"><a><text><string>BLACKLISTED_USER</string></text></a></t></children></entfraca><relfraco id="130"><children><diamond id="131" x="1185" y="-206" w="122.931640625" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="132" x="1195" y="-187.984375"><a><text><string>BLACKLISTED_BY</string></text></a></t></children></relfraco><llabelUm id="133"><points><p colinear="true" x="1247.9274896894183" y="-206" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1249.3891590663366" y="-231" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="134"><Owner><relfraco ref="130"/></Owner></rConnector></startConnector><endConnector><rConnector id="135"><Owner><ent ref="51"/></Owner></rConnector></endConnector></llabelUm><relfraco id="136"><children><diamond id="137" x="1210" y="-38" w="97" h="50"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="138" x="1227.269790649414" y="-21.172057151794434"><a><text><string>REFERS_TO</string></text></a></t></children></relfraco><llabelUm id="139"><points><p colinear="true" x="1293.6190476190477" y="12" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1318.904761904762" y="30" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="13a"><Owner><relfraco ref="136"/></Owner></rConnector></startConnector><endConnector><rConnector id="13b"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></llabelUm><relfraco id="13c"><children><diamond id="13d" x="632" y="-146" w="155" h="57"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="13e" x="651.9536056518555" y="-125.67205715179443"><a><text><string>BLACKLISTED_FROM</string></text></a></t></children></relfraco><llabelDoubleMuitos id="13f"><points><p colinear="true" x="1257.0848277698863" y="-156" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1275.349520596591" y="-113" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="140"><Owner><relfraco ref="130"/></Owner></rConnector></startConnector><endConnector><rConnector id="141"><Owner><entfraca ref="12d"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><atrchaveparcial id="142" nullable="false" attributeType="NUMBER"><children><e id="143" x="1033" y="-166" w="82" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="144" x="1043.3848037719727" y="-160.67205715179443"><a><strokeDashes><doubleArray><double>3</double></doubleArray></strokeDashes><fontBold><boolean>true</boolean></fontBold><text><string>Start_date</string></text></a></t></children></atrchaveparcial><atr id="145" nullable="false" attributeType="VARCHAR2(128)"><children><e id="146" x="1143" y="-154" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="147" x="1156.9958267211914" y="-152.17205715179443"><a><text><string>End_date</string></text></a></t></children></atr><lcaf id="148"><points><p colinear="true" x="1115" y="-140.8747376454875" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1214" y="-112.80398220410366" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="149"><Owner><atrchaveparcial ref="142"/></Owner></rConnector></startConnector><endConnector><rConnector id="14a"><Owner><entfraca ref="12d"/></Owner></rConnector></endConnector></lcaf><lcaf id="14b"><points><p colinear="true" x="1202.7734757965686" y="-134" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1244.2977749693628" y="-113" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="14c"><Owner><atr ref="145"/></Owner></rConnector></startConnector><endConnector><rConnector id="14d"><Owner><entfraca ref="12d"/></Owner></rConnector></endConnector></lcaf><lcaf id="14e"><points><p colinear="true" x="1113" y="-74.91159744959504" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1214" y="-85.6051008099259" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="14f"><Owner><atr ref="109"/></Owner></rConnector></startConnector><endConnector><rConnector id="150"><Owner><entfraca ref="12d"/></Owner></rConnector></endConnector></lcaf><llabelDoubleMuitos id="151"><points><p colinear="true" x="1266.4202270507812" y="-38" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1277.508544921875" y="-73" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="152"><Owner><relfraco ref="136"/></Owner></rConnector></startConnector><endConnector><rConnector id="153"><Owner><entfraca ref="12d"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelUm id="154"><points><p colinear="true" x="632" y="-93.73122162884272" c1x="17.97388525722789" c1y="15.626506024096386" c2x="17.97388525722789" c2y="15.626506024096386"/><p colinear="true" x="519.973885257228" y="-59.373493975903614"/><p colinear="true" x="151.9738852572279" y="165.6265060240964"/><p colinear="true" x="44.73696834741732" y="218" c1x="17.97388525722789" c1y="15.626506024096386" c2x="17.97388525722789" c2y="15.626506024096386"/></points><startConnector><rConnector id="155"><Owner><relfraco ref="13c"/></Owner></rConnector></startConnector><endConnector><rConnector id="156"><Owner><ent ref="18"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="157"><points><p colinear="true" x="787" y="-114.19405861639197" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1214" y="-95.9793880254162" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="158"><Owner><relfraco ref="13c"/></Owner></rConnector></startConnector><endConnector><rConnector id="159"><Owner><entfraca ref="12d"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelMuitos id="15a"><points><p colinear="true" x="1080.7888488769531" y="642" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1514" y="642" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="15b"><Owner><rel ref="7e"/></Owner></rConnector></startConnector><endConnector><rConnector id="15c"><Owner><ent ref="21"/></Owner></rConnector></endConnector><a><text><string>Q</string></text></a></llabelMuitos><atrchave id="15d" nullable="false" attributeType="NUMBER"><children><e id="15e" x="1305" y="118" w="80" h="20"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="15f" x="1338.47265625" y="121.015625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="160"><points><p colinear="true" x="1346.4871794871794" y="70" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1345.2564102564102" y="118" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="161"><Owner><ent ref="1b"/></Owner></rConnector></startConnector><endConnector><rConnector id="162"><Owner><atrchave ref="15d"/></Owner></rConnector></endConnector></lcaf><entfraca id="163"><children><r id="164" x="1242" y="167" w="77" h="33"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="165" x="1251.0937957763672" y="175.32794284820557"><a><text><string>FEEDBACK</string></text></a></t></children></entfraca><atr id="166" nullable="false" attributeType="VARCHAR2(128)"><children><e id="167" x="1229" y="243" w="107" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="168" x="1248.328125" y="249.515625"><a><text><string>Description</string></text></a></t></children></atr><atr id="169" nullable="false" attributeType="VARCHAR2(128)"><children><e id="16a" x="1196" y="111" w="101.455078125" h="30"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="16b" x="1199.2792053222656" y="117.82794284820557"><a><text><string>Submission_type</string></text></a></t></children></atr><atr id="16c" nullable="false" attributeType="VARCHAR2(128)"><children><e id="16d" x="1161" y="219" w="85.8125" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="16e" x="1171" y="220.015625"><a><text><string>Created_at</string></text></a></t></children></atr><rel id="16f"><children><diamond id="170" x="1381" y="183" w="102" h="44"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="171" x="1393.73828125" y="198.015625"><a><text><string>WRITTEN_BY</string></text></a></t></children></rel><llabelUm id="172"><points><p colinear="true" x="1442.1894736842105" y="227" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1469.0526315789473" y="285" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="173"><Owner><rel ref="16f"/></Owner></rConnector></startConnector><endConnector><rConnector id="174"><Owner><ent ref="2a"/></Owner></rConnector></endConnector></llabelUm><ent ref="d9"/><atrchave id="175" nullable="false" attributeType="NUMBER"><children><e id="176" x="997" y="141" w="44" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="177" x="1012.8679580688477" y="146.32794284820557"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>Id</string></text></a></t></children></atrchave><lcaf id="178"><points><p colinear="true" x="1000.28" y="141" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="942.04" y="99" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="179"><Owner><atrchave ref="175"/></Owner></rConnector></startConnector><endConnector><rConnector id="17a"><Owner><ent ref="d9"/></Owner></rConnector></endConnector></lcaf><relfraco id="17b"><children><diamond id="17c" x="1069" y="83" w="121.595703125" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="17d" x="1081.5935287475586" y="94.82794284820557"><a><text><string>SUBBMITED_FOR</string></text></a></t></children></relfraco><llabelDoubleUm id="17e"><points><p colinear="true" x="1167.2393791246118" y="123" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1249.6107397612577" y="167" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="17f"><Owner><relfraco ref="17b"/></Owner></rConnector></startConnector><endConnector><rConnector id="180"><Owner><entfraca ref="163"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><llabelUm id="181"><points><p colinear="true" x="1069" y="96.34839943078748" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="970" y="85.51728551099553" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="182"><Owner><relfraco ref="17b"/></Owner></rConnector></startConnector><endConnector><rConnector id="183"><Owner><ent ref="d9"/></Owner></rConnector></endConnector></llabelUm><lcaf id="184"><points><p colinear="true" x="1251.447198275862" y="200" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1217.9924568965516" y="219" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="185"><Owner><entfraca ref="163"/></Owner></rConnector></startConnector><endConnector><rConnector id="186"><Owner><atr ref="16c"/></Owner></rConnector></endConnector></lcaf><lcaf id="187"><points><p colinear="true" x="1271.2792667554772" y="167" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1256.7496264913807" y="141" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="188"><Owner><entfraca ref="163"/></Owner></rConnector></startConnector><endConnector><rConnector id="189"><Owner><atr ref="169"/></Owner></rConnector></endConnector></lcaf><lcaf id="18a"><points><p colinear="true" x="1280.9520547945206" y="200" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1282.1301369863013" y="243" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="18b"><Owner><entfraca ref="163"/></Owner></rConnector></startConnector><endConnector><rConnector id="18c"><Owner><atr ref="166"/></Owner></rConnector></endConnector></lcaf><atrmulti id="18d" nullable="false" attributeType="VARCHAR2(128)"><children><e id="18e" x="-124" y="274" w="75" h="34"><a><fillColor><color rgba="#ffffebeb"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></e><t id="18f" x="-118.0732421875" y="284.015625"><a><text><string>Guidelines</string></text></a></t></children></atrmulti><lcaf id="190"><points><p colinear="true" x="-57.54029702240567" y="274" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="-30.284105984669832" y="258" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="191"><Owner><atrmulti ref="18d"/></Owner></rConnector></startConnector><endConnector><rConnector id="192"><Owner><ent ref="18"/></Owner></rConnector></endConnector></lcaf><atr id="193" nullable="false" attributeType="VARCHAR2(128)"><children><e id="194" x="539" y="9" w="85.8125" h="16.344114303588867"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="195" x="549" y="10.187682151794434"><a><text><string>Created_at</string></text></a></t></children></atr><lcaf id="196"><points><p colinear="true" x="516" y="14.575754840453492" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="539" y="15.481813873714245" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="197"><Owner><ent ref="12"/></Owner></rConnector></startConnector><endConnector><rConnector id="198"><Owner><atr ref="193"/></Owner></rConnector></endConnector></lcaf><atr id="199" nullable="false" attributeType="VARCHAR2(128)"><children><e id="19a" x="1048" y="138" w="85.8125" h="16.344114303588867"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="19b" x="1060.4500350952148" y="139.015625"><a><text><string>Created_at</string></text></a></t></children></atr><atr id="19c" nullable="false" attributeType="VARCHAR2(128)"><children><e id="19d" x="1478" y="109" w="64" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="19e" x="1493.353515625" y="110.015625"><a><text><string>Email</string></text></a></t></children></atr><lcaf id="19f"><points><p colinear="true" x="1490.5373134328358" y="109" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1387" y="66.44171779141104" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1a0"><Owner><atr ref="19c"/></Owner></rConnector></startConnector><endConnector><rConnector id="1a1"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><atr id="1a2" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1a3" x="1207" y="60" w="64" h="16"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1a4" x="1221.298828125" y="61.015625"><a><text><string>Name</string></text></a></t></children></atr><lcaf id="1a5"><points><p colinear="true" x="1271" y="62.66666666666667" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1307" y="56.66666666666667" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1a6"><Owner><atr ref="1a2"/></Owner></rConnector></startConnector><endConnector><rConnector id="1a7"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><lcaf id="1a8"><points><p colinear="true" x="1069.3452544380211" y="138" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="966.448418146007" y="99" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1a9"><Owner><atr ref="199"/></Owner></rConnector></startConnector><endConnector><rConnector id="1aa"><Owner><ent ref="d9"/></Owner></rConnector></endConnector></lcaf><atr id="1ab" nullable="false" attributeType="VARCHAR2(128)"><children><e id="1ac" x="1325" y="-60" w="107" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1ad" x="1352.1838150024414" y="-54.672057151794434"><a><text><string>Uername</string></text></a></t></children></atr><lcaf id="1ae"><points><p colinear="true" x="1374.0932642487046" y="-33" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1353.5284974093265" y="30" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1af"><Owner><atr ref="1ab"/></Owner></rConnector></startConnector><endConnector><rConnector id="1b0"><Owner><ent ref="1b"/></Owner></rConnector></endConnector></lcaf><disjuncao id="1b1"><children><circ id="1b2" x="813" y="202" w="20" h="21"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="1b3" x="817" y="203"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao><generalizacaoLine id="1b4"><points><p colinear="true" x="833" y="214.99296186105119" c1x="7" c1y="5.7018571100570625" c2x="7" c2y="5.7018571100570625"/><p colinear="true" x="1087" y="278.3141931317509" c1x="7" c1y="5.7018571100570625" c2x="7" c2y="5.7018571100570625"/></points><startConnector><rConnector id="1b5"><Owner><disjuncao ref="1b1"/></Owner></rConnector></startConnector><endConnector><rConnector id="1b6"><Owner><ent ref="fa"/></Owner></rConnector></endConnector></generalizacaoLine><generalizacaoLine id="1b7"><points><p colinear="true" x="813" y="207.56896551724137" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="718" y="160.72413793103448" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1b8"><Owner><disjuncao ref="1b1"/></Owner></rConnector></startConnector><endConnector><rConnector id="1b9"><Owner><ent ref="e2"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleGeneralizacao id="1ba" labelGeneralizacaoText="characteristic"><points><p colinear="true" x="901.5112781954887" y="99" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="830.2631578947369" y="202" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1bb"><Owner><ent ref="d9"/></Owner></rConnector></startConnector><endConnector><rConnector id="1bc"><Owner><disjuncao ref="1b1"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><rel ref="ed"/><rel ref="de"/><rel ref="d5"/><ent ref="e2"/><ent ref="fa"/><rel ref="2"/><generalizacaoLine id="1bd"><points><p colinear="true" x="416" y="162.4054832719896" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="532.5219410409172" y="272" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1be"><Owner><disjuncao ref="15"/></Owner></rConnector></startConnector><endConnector><rConnector id="1bf"><Owner><ent ref="6"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleMuitos id="1c0"><points><p colinear="true" x="171.95094651442307" y="-195" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="11.553560697115387" y="218" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1c1"><Owner><rel ref="b"/></Owner></rConnector></startConnector><endConnector><rConnector id="1c2"><Owner><ent ref="18"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="1c3"><points><p colinear="true" x="254.0390625" y="-225.32947618446173" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1210" y="-249.95520572181275" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1c4"><Owner><rel ref="b"/></Owner></rConnector></startConnector><endConnector><rConnector id="1c5"><Owner><ent ref="51"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><generalizacaoLine id="1c6"><points><p colinear="true" x="396" y="157.81581364588308" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="331.24627685546875" y="189" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1c7"><Owner><disjuncao ref="15"/></Owner></rConnector></startConnector><endConnector><rConnector id="1c8"><Owner><ent id="1c9"><children><r id="1ca" x="215" y="189" w="149.432861328125" h="40"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1cb" x="248.2467041015625" y="202.015625"><a><text><string>EMBEDDABLE</string></text></a></t></children></ent></Owner></rConnector></endConnector></generalizacaoLine><rel id="1cc"><children><diamond id="1cd" x="230" y="374" w="122.064453125" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1ce" x="240" y="387.015625"><a><text><string>REFERENCED_BY</string></text></a></t></children></rel><llabelMuitos id="1cf"><points><p colinear="true" x="254.20580428685898" y="374" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="40.61255508814102" y="258" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1d0"><Owner><rel ref="1cc"/></Owner></rConnector></startConnector><endConnector><rConnector id="1d1"><Owner><ent ref="18"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><llabelUm id="1d2"><points><p colinear="true" x="352.064453125" y="390.9813883596748" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="473" y="385"/><p colinear="true" x="536.4127709173387" y="312" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1d3"><Owner><rel ref="1cc"/></Owner></rConnector></startConnector><endConnector><rConnector id="1d4"><Owner><ent ref="6"/></Owner></rConnector></endConnector></llabelUm><rel id="1d5"><children><diamond id="1d6" x="386" y="230" w="110.193359375" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1d7" x="396" y="243.015625"><a><text><string>CONTAINED_IN</string></text></a></t></children></rel><llabelUm id="1d8"><points><p colinear="true" x="386" y="235.07755217896522" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="363.5604545779345" y="229" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1d9"><Owner><rel ref="1d5"/></Owner></rConnector></startConnector><endConnector><rConnector id="1da"><Owner><ent ref="1c9"/></Owner></rConnector></endConnector></llabelUm><llabelDoubleMuitos id="1db"><points><p colinear="true" x="424.01703559027777" y="270" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="381.31792534722223" y="320" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1dc"><Owner><rel ref="1d5"/></Owner></rConnector></startConnector><endConnector><rConnector id="1dd"><Owner><ent ref="112"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><generalizacaoLine id="1de"><points><p colinear="true" x="229" y="264.11146822301714" c1x="-24.922495966372253" c1y="27" c2x="-24.922495966372253" c2y="27"/><p colinear="true" x="328.59698523773005" y="320" c1x="-24.922495966372253" c1y="27" c2x="-24.922495966372253" c2y="27"/></points><startConnector><rConnector id="1df"><Owner><disjuncao id="1e0"><children><circ id="1e1" x="209" y="248" w="20" h="21"><a><fillColor><color rgba="#fff5f2e0"/></fillColor></a></circ><tn id="1e2" x="213" y="249"><a><fontBold><boolean>true</boolean></fontBold><fontSize><double>16</double></fontSize><text><string>d</string></text></a></tn></children></disjuncao></Owner></rConnector></startConnector><endConnector><rConnector id="1e3"><Owner><ent ref="112"/></Owner></rConnector></endConnector></generalizacaoLine><llabelDoubleMuitos id="1e4"><points><p colinear="true" x="1102.2104698556368" y="422" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1514" y="622.521903645735" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1e5"><Owner><rel ref="6c"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e6"><Owner><ent ref="21"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="1e7"><points><p colinear="true" x="1381" y="197.76237623762376" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="1319" y="188.96369636963698" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1e8"><Owner><rel ref="16f"/></Owner></rConnector></startConnector><endConnector><rConnector id="1e9"><Owner><entfraca ref="163"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleMuitos id="1ea"><points><p colinear="true" x="367.5326690673828" y="-139.63937429544114" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="490" y="-168.55548571288617" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1eb"><Owner><rel ref="a6"/></Owner></rConnector></startConnector><endConnector><rConnector id="1ec"><Owner><ent ref="9d"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>M</string></text></a></llabelDoubleMuitos><ent ref="1c9"/><generalizacaoLine id="1ed"><points><p colinear="true" x="209" y="257.547459149919" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="67.572265625" y="244.07588971725983" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1ee"><Owner><disjuncao ref="1e0"/></Owner></rConnector></startConnector><endConnector><rConnector id="1ef"><Owner><ent ref="18"/></Owner></rConnector></endConnector></generalizacaoLine><disjuncao ref="1e0"/><llabelDoubleGeneralizacao id="1f0" labelGeneralizacaoText="caracteristica"><points><p colinear="true" x="261.14413544625944" y="229" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="229" y="251.50021232192145" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1f1"><Owner><ent ref="1c9"/></Owner></rConnector></startConnector><endConnector><rConnector id="1f2"><Owner><disjuncao ref="1e0"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleGeneralizacao><ent id="1f3"><children><r id="1f4" x="807" y="818" w="143.9140625" h="35"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="1f5" x="817" y="828.515625"><a><text><string>PROJECT_RESOURCE</string></text></a></t></children></ent><atrchave id="1f6" nullable="false" attributeType="NUMBER"><children><e id="1f7" x="992" y="771" w="53" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="1f8" x="1012.1484375" y="777.515625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>id</string></text></a></t></children></atrchave><lcaf id="1f9"><points><p colinear="true" x="992" y="794.1851888139294" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="926.8394224877451" y="818" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="1fa"><Owner><atrchave ref="1f6"/></Owner></rConnector></startConnector><endConnector><rConnector id="1fb"><Owner><ent ref="1f3"/></Owner></rConnector></endConnector></lcaf><rel id="1fc"><children><diamond id="1fd" x="691" y="630" w="161.0703125" h="34"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="1fe" x="726.9365234375" y="640.015625"><a><text><string>IS_A_CHANNEL</string></text></a></t></children></rel><llabelDoubleUm id="1ff"><points><p colinear="true" x="762.3392403455284" y="630" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="715.818724593496" y="544" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="200"><Owner><rel ref="1fc"/></Owner></rConnector></startConnector><endConnector><rConnector id="201"><Owner><entfraca ref="39"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><llabelUm id="202"><points><p colinear="true" x="781.2230707062334" y="664" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="868.9841781332891" y="818" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="203"><Owner><rel ref="1fc"/></Owner></rConnector></startConnector><endConnector><rConnector id="204"><Owner><ent ref="1f3"/></Owner></rConnector></endConnector></llabelUm><entfraca id="205"><children><r id="206" x="485" y="627" w="190.14453125" h="27"><a><fillColor><color rgba="#ffebffe8"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></r><t id="207" x="520.1162109375" y="633.515625"><a><text><string>ROLE_PERMISSIONS</string></text></a></t></children></entfraca><relfraco id="208"><children><diamond id="209" x="450" y="707" w="111" h="38"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="20a" x="474.1318359375" y="719.015625"><a><text><string>FOR_ROLE</string></text></a></t></children></relfraco><llabelDoubleUm id="20b"><points><p colinear="true" x="522.0716145833334" y="707" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="568.297697368421" y="654" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="20c"><Owner><relfraco ref="208"/></Owner></rConnector></startConnector><endConnector><rConnector id="20d"><Owner><entfraca ref="205"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><relfraco id="20e"><children><diamond id="20f" x="544" y="782" w="124.9296875" h="33"><a><fillColor><color rgba="#ffddddff"/></fillColor><strokeType><enum type="strokeType">DOUBLE</enum></strokeType><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></diamond><t id="210" x="554" y="791.515625"><a><text><string>FOR_PERMISSION</string></text></a></t></children></relfraco><llabelDoubleUm id="211"><points><p colinear="true" x="603.7086567939082" y="782" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="582.3273276799841" y="654" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="212"><Owner><relfraco ref="20e"/></Owner></rConnector></startConnector><endConnector><rConnector id="213"><Owner><entfraca ref="205"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><llabelMuitos id="214"><points><p colinear="true" x="615.1475187222633" y="815" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="640.4062095506657" y="863" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="215"><Owner><relfraco ref="20e"/></Owner></rConnector></startConnector><endConnector><rConnector id="216"><Owner><ent ref="30"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><atr id="217" nullable="false" attributeType="VARCHAR2(128)"><children><e id="218" x="244" y="573" w="102.833984375" h="37"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="219" x="254" y="584.515625"><a><text><string>override_type</string></text></a></t></children></atr><rel id="21a"><children><diamond id="21b" x="640" y="740" w="116.75" h="40"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="21c" x="650" y="753.015625"><a><text><string>FOR_RESOURCE</string></text></a></t></children></rel><llabelMuitos id="21d"><points><p colinear="true" x="678.5753791841004" y="740" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="593.4370096757323" y="654" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="21e"><Owner><rel ref="21a"/></Owner></rConnector></startConnector><endConnector><rConnector id="21f"><Owner><entfraca ref="205"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><llabelMuitos id="220"><points><p colinear="true" x="746.2112996688742" y="780" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="837.100269039735" y="818" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="221"><Owner><rel ref="21a"/></Owner></rConnector></startConnector><endConnector><rConnector id="222"><Owner><ent ref="1f3"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><ent id="223"><children><r id="224" x="284" y="857" w="107" h="53"><a><fillColor><color rgba="#ffebffe8"/></fillColor></a></r><t id="225" x="292.5498046875" y="876.515625"><a><text><string>PROJECT_ROLE</string></text></a></t></children></ent><rel id="226"><children><diamond id="227" x="330" y="603" w="106" h="53"><a><fillColor><color rgba="#ffddddff"/></fillColor></a></diamond><t id="228" x="355.80078125" y="622.515625"><a><text><string>VALID_IN</string></text></a></t></children></rel><llabelDoubleMuitos id="229"><points><p colinear="true" x="378.2529527559055" y="656" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="342.2470472440945" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="22a"><Owner><rel ref="226"/></Owner></rConnector></startConnector><endConnector><rConnector id="22b"><Owner><ent ref="223"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor><text><string>N</string></text></a></llabelDoubleMuitos><llabelDoubleUm id="22c"><points><p colinear="true" x="396.40987413194443" y="603" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="543.6654730902778" y="312" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="22d"><Owner><rel ref="226"/></Owner></rConnector></startConnector><endConnector><rConnector id="22e"><Owner><ent ref="6"/></Owner></rConnector></endConnector><a><innerStrokeWidthFactor><double>3</double></innerStrokeWidthFactor></a></llabelDoubleUm><atrchave id="22f" nullable="false" attributeType="NUMBER"><children><e id="230" x="104" y="676" w="106" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="231" x="150.6484375" y="682.515625"><a><fontUnderlined><boolean>true</boolean></fontUnderlined><fontBold><boolean>true</boolean></fontBold><text><string>id</string></text></a></t></children></atrchave><atr id="232" nullable="false" attributeType="VARCHAR2(128)"><children><e id="233" x="141" y="611" w="106" h="27"><a><fillColor><color rgba="#ffffebeb"/></fillColor></a></e><t id="234" x="176.984375" y="617.515625"><a><text><string>name</string></text></a></t></children></atr><lcaf id="235"><points><p colinear="true" x="169.56056701030928" y="703" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="312.84407216494844" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="236"><Owner><atrchave ref="22f"/></Owner></rConnector></startConnector><endConnector><rConnector id="237"><Owner><ent ref="223"/></Owner></rConnector></endConnector></lcaf><lcaf id="238"><points><p colinear="true" x="201.47972972972974" y="638" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="322.81756756756755" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="239"><Owner><atr ref="232"/></Owner></rConnector></startConnector><endConnector><rConnector id="23a"><Owner><ent ref="223"/></Owner></rConnector></endConnector></lcaf><llabelMuitos id="23b"><points><p colinear="true" x="485.23333333333335" y="745" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="365.76666666666665" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="23c"><Owner><relfraco ref="208"/></Owner></rConnector></startConnector><endConnector><rConnector id="23d"><Owner><ent ref="223"/></Owner></rConnector></endConnector><a><text><string>N</string></text></a></llabelMuitos><llabelMuitos id="23e"><points><p colinear="true" x="930" y="1020.2657208588957" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="391" y="895.849309815951" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="23f"><Owner><rel ref="10c"/></Owner></rConnector></startConnector><endConnector><rConnector id="240"><Owner><ent ref="223"/></Owner></rConnector></endConnector><a><text><string>M</string></text></a></llabelMuitos><lcaf id="241"><points><p colinear="true" x="298.08321014822343" y="610" c1x="0" c1y="0" c2x="0" c2y="0"/><p colinear="true" x="333.68082292112587" y="857" c1x="0" c1y="0" c2x="0" c2y="0"/></points><startConnector><rConnector id="242"><Owner><atr ref="217"/></Owner></rConnector></startConnector><endConnector><rConnector id="243"><Owner><ent ref="223"/></Owner></rConnector></endConnector></lcaf><t id="244" x="906" y="675"><a><text><string>Sent_at</string></text></a></t></figures></drawing>
Index: nw
===================================================================
--- mvnw	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,259 +1,0 @@
-#!/bin/sh
-# ----------------------------------------------------------------------------
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-# ----------------------------------------------------------------------------
-
-# ----------------------------------------------------------------------------
-# Apache Maven Wrapper startup batch script, version 3.3.2
-#
-# Optional ENV vars
-# -----------------
-#   JAVA_HOME - location of a JDK home dir, required when download maven via java source
-#   MVNW_REPOURL - repo url base for downloading maven distribution
-#   MVNW_USERNAME/MVNW_PASSWORD - user and password for downloading maven
-#   MVNW_VERBOSE - true: enable verbose log; debug: trace the mvnw script; others: silence the output
-# ----------------------------------------------------------------------------
-
-set -euf
-[ "${MVNW_VERBOSE-}" != debug ] || set -x
-
-# OS specific support.
-native_path() { printf %s\\n "$1"; }
-case "$(uname)" in
-CYGWIN* | MINGW*)
-  [ -z "${JAVA_HOME-}" ] || JAVA_HOME="$(cygpath --unix "$JAVA_HOME")"
-  native_path() { cygpath --path --windows "$1"; }
-  ;;
-esac
-
-# set JAVACMD and JAVACCMD
-set_java_home() {
-  # For Cygwin and MinGW, ensure paths are in Unix format before anything is touched
-  if [ -n "${JAVA_HOME-}" ]; then
-    if [ -x "$JAVA_HOME/jre/sh/java" ]; then
-      # IBM's JDK on AIX uses strange locations for the executables
-      JAVACMD="$JAVA_HOME/jre/sh/java"
-      JAVACCMD="$JAVA_HOME/jre/sh/javac"
-    else
-      JAVACMD="$JAVA_HOME/bin/java"
-      JAVACCMD="$JAVA_HOME/bin/javac"
-
-      if [ ! -x "$JAVACMD" ] || [ ! -x "$JAVACCMD" ]; then
-        echo "The JAVA_HOME environment variable is not defined correctly, so mvnw cannot run." >&2
-        echo "JAVA_HOME is set to \"$JAVA_HOME\", but \"\$JAVA_HOME/bin/java\" or \"\$JAVA_HOME/bin/javac\" does not exist." >&2
-        return 1
-      fi
-    fi
-  else
-    JAVACMD="$(
-      'set' +e
-      'unset' -f command 2>/dev/null
-      'command' -v java
-    )" || :
-    JAVACCMD="$(
-      'set' +e
-      'unset' -f command 2>/dev/null
-      'command' -v javac
-    )" || :
-
-    if [ ! -x "${JAVACMD-}" ] || [ ! -x "${JAVACCMD-}" ]; then
-      echo "The java/javac command does not exist in PATH nor is JAVA_HOME set, so mvnw cannot run." >&2
-      return 1
-    fi
-  fi
-}
-
-# hash string like Java String::hashCode
-hash_string() {
-  str="${1:-}" h=0
-  while [ -n "$str" ]; do
-    char="${str%"${str#?}"}"
-    h=$(((h * 31 + $(LC_CTYPE=C printf %d "'$char")) % 4294967296))
-    str="${str#?}"
-  done
-  printf %x\\n $h
-}
-
-verbose() { :; }
-[ "${MVNW_VERBOSE-}" != true ] || verbose() { printf %s\\n "${1-}"; }
-
-die() {
-  printf %s\\n "$1" >&2
-  exit 1
-}
-
-trim() {
-  # MWRAPPER-139:
-  #   Trims trailing and leading whitespace, carriage returns, tabs, and linefeeds.
-  #   Needed for removing poorly interpreted newline sequences when running in more
-  #   exotic environments such as mingw bash on Windows.
-  printf "%s" "${1}" | tr -d '[:space:]'
-}
-
-# parse distributionUrl and optional distributionSha256Sum, requires .mvn/wrapper/maven-wrapper.properties
-while IFS="=" read -r key value; do
-  case "${key-}" in
-  distributionUrl) distributionUrl=$(trim "${value-}") ;;
-  distributionSha256Sum) distributionSha256Sum=$(trim "${value-}") ;;
-  esac
-done <"${0%/*}/.mvn/wrapper/maven-wrapper.properties"
-[ -n "${distributionUrl-}" ] || die "cannot read distributionUrl property in ${0%/*}/.mvn/wrapper/maven-wrapper.properties"
-
-case "${distributionUrl##*/}" in
-maven-mvnd-*bin.*)
-  MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/
-  case "${PROCESSOR_ARCHITECTURE-}${PROCESSOR_ARCHITEW6432-}:$(uname -a)" in
-  *AMD64:CYGWIN* | *AMD64:MINGW*) distributionPlatform=windows-amd64 ;;
-  :Darwin*x86_64) distributionPlatform=darwin-amd64 ;;
-  :Darwin*arm64) distributionPlatform=darwin-aarch64 ;;
-  :Linux*x86_64*) distributionPlatform=linux-amd64 ;;
-  *)
-    echo "Cannot detect native platform for mvnd on $(uname)-$(uname -m), use pure java version" >&2
-    distributionPlatform=linux-amd64
-    ;;
-  esac
-  distributionUrl="${distributionUrl%-bin.*}-$distributionPlatform.zip"
-  ;;
-maven-mvnd-*) MVN_CMD=mvnd.sh _MVNW_REPO_PATTERN=/maven/mvnd/ ;;
-*) MVN_CMD="mvn${0##*/mvnw}" _MVNW_REPO_PATTERN=/org/apache/maven/ ;;
-esac
-
-# apply MVNW_REPOURL and calculate MAVEN_HOME
-# maven home pattern: ~/.m2/wrapper/dists/{apache-maven-<version>,maven-mvnd-<version>-<platform>}/<hash>
-[ -z "${MVNW_REPOURL-}" ] || distributionUrl="$MVNW_REPOURL$_MVNW_REPO_PATTERN${distributionUrl#*"$_MVNW_REPO_PATTERN"}"
-distributionUrlName="${distributionUrl##*/}"
-distributionUrlNameMain="${distributionUrlName%.*}"
-distributionUrlNameMain="${distributionUrlNameMain%-bin}"
-MAVEN_USER_HOME="${MAVEN_USER_HOME:-${HOME}/.m2}"
-MAVEN_HOME="${MAVEN_USER_HOME}/wrapper/dists/${distributionUrlNameMain-}/$(hash_string "$distributionUrl")"
-
-exec_maven() {
-  unset MVNW_VERBOSE MVNW_USERNAME MVNW_PASSWORD MVNW_REPOURL || :
-  exec "$MAVEN_HOME/bin/$MVN_CMD" "$@" || die "cannot exec $MAVEN_HOME/bin/$MVN_CMD"
-}
-
-if [ -d "$MAVEN_HOME" ]; then
-  verbose "found existing MAVEN_HOME at $MAVEN_HOME"
-  exec_maven "$@"
-fi
-
-case "${distributionUrl-}" in
-*?-bin.zip | *?maven-mvnd-?*-?*.zip) ;;
-*) die "distributionUrl is not valid, must match *-bin.zip or maven-mvnd-*.zip, but found '${distributionUrl-}'" ;;
-esac
-
-# prepare tmp dir
-if TMP_DOWNLOAD_DIR="$(mktemp -d)" && [ -d "$TMP_DOWNLOAD_DIR" ]; then
-  clean() { rm -rf -- "$TMP_DOWNLOAD_DIR"; }
-  trap clean HUP INT TERM EXIT
-else
-  die "cannot create temp dir"
-fi
-
-mkdir -p -- "${MAVEN_HOME%/*}"
-
-# Download and Install Apache Maven
-verbose "Couldn't find MAVEN_HOME, downloading and installing it ..."
-verbose "Downloading from: $distributionUrl"
-verbose "Downloading to: $TMP_DOWNLOAD_DIR/$distributionUrlName"
-
-# select .zip or .tar.gz
-if ! command -v unzip >/dev/null; then
-  distributionUrl="${distributionUrl%.zip}.tar.gz"
-  distributionUrlName="${distributionUrl##*/}"
-fi
-
-# verbose opt
-__MVNW_QUIET_WGET=--quiet __MVNW_QUIET_CURL=--silent __MVNW_QUIET_UNZIP=-q __MVNW_QUIET_TAR=''
-[ "${MVNW_VERBOSE-}" != true ] || __MVNW_QUIET_WGET='' __MVNW_QUIET_CURL='' __MVNW_QUIET_UNZIP='' __MVNW_QUIET_TAR=v
-
-# normalize http auth
-case "${MVNW_PASSWORD:+has-password}" in
-'') MVNW_USERNAME='' MVNW_PASSWORD='' ;;
-has-password) [ -n "${MVNW_USERNAME-}" ] || MVNW_USERNAME='' MVNW_PASSWORD='' ;;
-esac
-
-if [ -z "${MVNW_USERNAME-}" ] && command -v wget >/dev/null; then
-  verbose "Found wget ... using wget"
-  wget ${__MVNW_QUIET_WGET:+"$__MVNW_QUIET_WGET"} "$distributionUrl" -O "$TMP_DOWNLOAD_DIR/$distributionUrlName" || die "wget: Failed to fetch $distributionUrl"
-elif [ -z "${MVNW_USERNAME-}" ] && command -v curl >/dev/null; then
-  verbose "Found curl ... using curl"
-  curl ${__MVNW_QUIET_CURL:+"$__MVNW_QUIET_CURL"} -f -L -o "$TMP_DOWNLOAD_DIR/$distributionUrlName" "$distributionUrl" || die "curl: Failed to fetch $distributionUrl"
-elif set_java_home; then
-  verbose "Falling back to use Java to download"
-  javaSource="$TMP_DOWNLOAD_DIR/Downloader.java"
-  targetZip="$TMP_DOWNLOAD_DIR/$distributionUrlName"
-  cat >"$javaSource" <<-END
-	public class Downloader extends java.net.Authenticator
-	{
-	  protected java.net.PasswordAuthentication getPasswordAuthentication()
-	  {
-	    return new java.net.PasswordAuthentication( System.getenv( "MVNW_USERNAME" ), System.getenv( "MVNW_PASSWORD" ).toCharArray() );
-	  }
-	  public static void main( String[] args ) throws Exception
-	  {
-	    setDefault( new Downloader() );
-	    java.nio.file.Files.copy( java.net.URI.create( args[0] ).toURL().openStream(), java.nio.file.Paths.get( args[1] ).toAbsolutePath().normalize() );
-	  }
-	}
-	END
-  # For Cygwin/MinGW, switch paths to Windows format before running javac and java
-  verbose " - Compiling Downloader.java ..."
-  "$(native_path "$JAVACCMD")" "$(native_path "$javaSource")" || die "Failed to compile Downloader.java"
-  verbose " - Running Downloader.java ..."
-  "$(native_path "$JAVACMD")" -cp "$(native_path "$TMP_DOWNLOAD_DIR")" Downloader "$distributionUrl" "$(native_path "$targetZip")"
-fi
-
-# If specified, validate the SHA-256 sum of the Maven distribution zip file
-if [ -n "${distributionSha256Sum-}" ]; then
-  distributionSha256Result=false
-  if [ "$MVN_CMD" = mvnd.sh ]; then
-    echo "Checksum validation is not supported for maven-mvnd." >&2
-    echo "Please disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2
-    exit 1
-  elif command -v sha256sum >/dev/null; then
-    if echo "$distributionSha256Sum  $TMP_DOWNLOAD_DIR/$distributionUrlName" | sha256sum -c >/dev/null 2>&1; then
-      distributionSha256Result=true
-    fi
-  elif command -v shasum >/dev/null; then
-    if echo "$distributionSha256Sum  $TMP_DOWNLOAD_DIR/$distributionUrlName" | shasum -a 256 -c >/dev/null 2>&1; then
-      distributionSha256Result=true
-    fi
-  else
-    echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." >&2
-    echo "Please install either command, or disable validation by removing 'distributionSha256Sum' from your maven-wrapper.properties." >&2
-    exit 1
-  fi
-  if [ $distributionSha256Result = false ]; then
-    echo "Error: Failed to validate Maven distribution SHA-256, your Maven distribution might be compromised." >&2
-    echo "If you updated your Maven version, you need to update the specified distributionSha256Sum property." >&2
-    exit 1
-  fi
-fi
-
-# unzip and move
-if command -v unzip >/dev/null; then
-  unzip ${__MVNW_QUIET_UNZIP:+"$__MVNW_QUIET_UNZIP"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -d "$TMP_DOWNLOAD_DIR" || die "failed to unzip"
-else
-  tar xzf${__MVNW_QUIET_TAR:+"$__MVNW_QUIET_TAR"} "$TMP_DOWNLOAD_DIR/$distributionUrlName" -C "$TMP_DOWNLOAD_DIR" || die "failed to untar"
-fi
-printf %s\\n "$distributionUrl" >"$TMP_DOWNLOAD_DIR/$distributionUrlNameMain/mvnw.url"
-mv -- "$TMP_DOWNLOAD_DIR/$distributionUrlNameMain" "$MAVEN_HOME" || [ -d "$MAVEN_HOME" ] || die "fail to move MAVEN_HOME"
-
-clean || :
-exec_maven "$@"
Index: rmalization.txt
===================================================================
--- normalization.txt	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,155 +1,0 @@
-= Нормализација и Подобрување на дизајн 
-== Функционални зависности(ФЗ)  
-Со цел целосно репрезентирање на атрибутите присутни во релациското мапирање, одредени атрибути со исти имиња ќе бидат преименувани. Лесно се заприметуваат таквите атрибути во релацијата R, на пр. **user(id) -> user_id** и **permission(name) -> permission_name**.
-{{{ 
-R(
-   user: username, description, password, register_at, email,sex,is_active,user_id,name,
-   blacklisted_user: start_date,end_date,reason,moderator_id
-   tag: tag_name
-   thread: thread_created_at,content,thread_id,parent 
-   topic_thread: topic_title, guidelines,
-   project_thread: project_title, repo_url 
-   permission: permission_name,
-   custom_role: custom_role_name 
-   channel: channel_name, channel_description
-   submission: status, submission_id,
-   feedback: submission_type, feedback_created_at
-   sent_at, start_at_developer, end_at_developer, message_content,
-   moderator_started_at,
-   submission_description, submission_created_at,
-   feedback_description,
-   custom_role_description,
-   submission_creator_id,
-   feedback_creator_id,
-   channel_creator_id,
-   message_sent_by_id
-) 
-}}} 
-
-=== Иницијални ФЗ
-1. {{{ user_id -> username, description, password, register_at, email,sex,is_active,name (user) }}} 
-
-2. {{{ username -> user_id(users) }}} 
-
-3. {{{ thread_id -> project_title,repo_url (project) }}} 
-
-4. {{{ thread_id -> topic_title,guidelines,parent (topic) }}}
-
-5. {{{ thread_id -> thread_created_at,content (thread) }}}
-
-6. {{{ project_title -> repo_url, thread_created_at, content }}} # Ako ojme so thread_id => project_title -> thread_id -> topic_title...; sho nemat smisla da vazhit. 
-
-7. {{{ (parent, topic_title) -> guidelines,created_at,content }}} # (unqiues of topic_title in a given parent)
-
-8. {{{ {thread_id, channel_name} -> channel_description,channel_creator_id }}} # (channel)
-
-9. {{{ {thread_id,moderator_id,user_id, start_date} -> end_date,reason }}} #(blacklisted user)  
-
-
-10. {{{ submission_id -> status,submission_description,submission_created_at, submission_creator_id  }}} #(submission)
-
-11 {{{ submission_id -> submission_type,feedback_created_at,feedback_description,feedback_creator_id }}} #(feedback)
-
-12 {{{ {thread_id,user_id, start_at_developer} -> end_at_developer }}} #(associated_with)
-
-13 {{{ {thread_id, channel_name, user_id, sent_at} -> message_content,message_sent_by_id }}} #(message)
-
-14 {{{ custom_role_name, thread_id -> custom_role_description }}} 
-
-
-15. {{{ {moderator_id, thread_id} -> moderator_started_at }}} 
-
-
-16. {{{ moderator_id -> user_id }}} 
-
-=== Изведени ФЗ
-1. {{{ username -> description, password, register_at, email,sex,is_active,name }}} #(transitive)
-
-2. {{{ moderator_id -> username, description, password, register_at, email,sex,is_active,name (transitive) }}} 
-
-3. {{{ submission_id -> status,submission_description,submission_created_at, submission_type,feedback_created_at,feedback_description (union) }}} 
-
-=== Анализа на функционални зависности
-За анализата на функционални зависности ќе го користиме методот на LHS/RHS поделба. Според овај метод потребно е да ги поделиме атрибутите во 3 групи, односно атрибути што се среќаваат на лева страна од Функционалните зависности(LHS) и според истата логика атрибути на десна страна и атрибути кои се среќаваат на 2те страни. 
-
-> **LHS**: 
->> {{{ user_id, channel_name, moderator_id, start_date, submission_id, start_at_developer, sent_at, custom_role_name, thread_id }}}
-
-> **RHS**: 
->> {{{ description, password, register_at, email, sex, is_active, name, repo_url, thread_created_at, content, created_at, channel_description, end_date, reason, status, submission_description, submission_created_at, submission_type, feedback_created_at, feedback_description, end_at_developer, message_content, custom_role_description, moderator_started_at, submission_creator_id, feedback_creator_id, channel_creator_id, message_sent_by_id }}} 
-
-> **LHS & RHS**: 
->> {{{ username, project_title, parent, topic_title }}} 
-
-== Нормализација 
-
-=== Сегашна нормална форма 
-
-Имајќи предвид дека guidelines e повеќе вредносен атрибути, доаѓаме до заклучок дека сегашната имплементација на релација не е ни во 1NF форма.
-
-=== Декомпозиција на R во 1NF 
-Со оделување на guidelines во посебна релација {{{ R1(thread_id, guideline) }}} и {{{ R2(username, thread_id, passowrd...) }}} постигнуваме релациите да се во 1NF. 
-
-Според досега разгледаното за R1(thread_id, guideline) ги имаме следниве ФЗ: 
-
-1. {{{ thread_id -> thread_id }}}
-2. {{{ guideline -> guideline }}} 
-
-Според функционалните зависимости, единствената комбинација на атрибути која го задоволува условот за супер клуч е {{{ {thread_id, guideline} }}}, бидејќи {{{ {thread_id, guideline}+ = {thread_id, guideline} }}}. Сепак, со цел да оптимизираме операциите на базата (особено внесување и пребарување), ќе воведеме нов сурогат клуч **id** како примарен клуч. Заедно со него ги додаваме и следниве ФЗ {{{ id -> thread_id, guideline }}}.
-
-Ова е практично бидејќи природниот клуч {{{ {thread_id, guideline} }}} содржи guideline, која е varchar атрибут со променлива големина. Ако се користеше само природниот клуч, PostgreSQL ќе креираше B-tree индекс врз guideline, кој е поголем по големина и поради тоа побавно ќе се ажурира при **DRU** операции (потребни се повеќе IO страници за индексирање и податоци). Со воведување на сурогат клуч **id** како мал фиксно-димензионален атрибут (на пр. serial или bigserial), индексите се помали и операциите се поефикасни.
-
-# Не сум најсигурен за ова, имат смисла. Аргумент против ова е дека според вака дефинираното значит дека не смет некој guideline да се повторвит, шо да ќе клајме unqiue constraint, ама тогаш немат нешто шо оптимизиравме и падвит во вода нештово. Така да можда ке требат да се препишит имајќи го во предвид фактот дека некоја уникатност без id. 
-
-Со ова R1 ни се совпаѓат со релацијата **topic_guidelines**, отсега понатаму ќе ја референцираме како таква. 
-
-=== Декомпозиција R1 до BCNF 
-Според следниве ФЗ за R1: 
-1. {{{ thread_id -> thread_id }}}
-2. {{{ guideline -> guideline }}}
-3. {{{ id -> thread_id, guideline }}}
-
-Според тоа што само **id** ги определува сите атрибути({{{ id+ -> id,thread_id,guideline}}}) следува дека единствен супер клуч е **id**. 
-
-Клуч за оваа релациja би бил **id**, бидејќи неговиот затварач е {{{ id+ = {thread_id, guideline} }}} и е најмал затварач кој ја определува целата релација. 
-
-Според 2NF релацијата не смеe да содржи парцијални зависности. Ова веќе е задоволено од ФЗ за R1. 
-Според 3NF релацијата потребно е секоја ФЗ(X->A) да ги задоволи следниве својства: 
-
-1. X e супер клуч на R 
-2. А е примарен атрибут во R. 
-
-Според ова релацијата е веќе во 3NF. 
-Според BCNF секоја релација потребно е да го задоволува следново својство: 
-   "За секое нетривијално (X->A) важи дека X е суперклуч на R". 
-Според тоа што **id** e клуч на R1, следува дека релацијата е во BCNF. 
-
-=== Декомпозиција R2 во 2NF 
-Најпрвин да согледаме дека во било кој супер клуч атрибутите кои се присутни само на левата страна мора да бидат вклучени. Најпрвин да започниме само со тие атрибути: 
-
-{{{
-   {user_id, channel_name, moderator_id, start_date, submission_id, start_at_developer, sent_at, custom_role_name , thread_id} = { 
-user_id, channel_name, moderator_id, start_date, submission_id, start_at_developer, sent_at, custom_role_name , thread_id, username, description, password, register_at, email,sex,is_active,name, project_title,repo_url, topic_title, guidelines, parent, thread_created_at, content, channel_description, end_date, status, submission_description, submission_created_at, submission_type,feedback_created_at,feedback_description, end_at_developer, message_content, custom_role_description, moderator_started_at, 
-}
-}}}
-
-Според тоа што затворачот ги опфаќа сите атрибути може да се заклучи дека ова е најминималното множество чиишто покривач ја дава целата релација, што значи дека е примарен клуч. 
-
-Имајќи во предвид примарниот клуч можит да ги изведиме следниве релации, притоа кај релациите кај кои има совпаѓање со некоја релација од релационото мапирање, ќе ги додаваме нивните имиња. 
-
-
-{{{ R21(user_id,username, description, password, register_at, email,sex,is_active,name) ==  users }}} 
-R22(project_title,repo_url,topic_title,guidelines,parent,thread_created_at,content)
-{{{ R23(thread_id,channel_name,channel_description, channel_creator_id) == channel }}}
-{{{ R24(thread_id,moderator_id,user_id,start_date,end_date) }}}
-{{{ R25(submission_id,status,submission_description,submission_created_at, submission_type,feedback_created_at,feedback_description, feedback_creator_id, submission_creator_id) }}} #Tuka ke imame problem, ama mozhit da rechime deka procenavme deka ke imat dosta nullki pa zaradi to rekovme da se odelat vo posebna relacija. 
-{{{ R26(thread_id,user_id, start_at_developer,end_at_developer) == developer_associated_with_project }}}
-{{{ R27(thread_id, channel_name, message_sent_by_id, sent_at, message_content) === messages}}} 
-{{{ R28(thread_id,custom_role_name,custom_role_description) == project_roles }}}
-{{{ R29(thread_id,moderator_id,moderator_started_at) == topic_threads_moderators}}} 
-
-
-
-
- 
-
Index: ckage-lock.json
===================================================================
--- package-lock.json	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,13 +1,0 @@
-{
-  "name": "buildboard",
-  "version": "1.0.0",
-  "lockfileVersion": 1,
-  "requires": true,
-  "dependencies": {
-    "@stomp/stompjs": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@stomp/stompjs/-/stompjs-7.0.0.tgz",
-      "integrity": "sha512-fGdq4wPDnSV/KyOsjq4P+zLc8MFWC3lMmP5FBgLWKPJTYcuCbAIrnRGjB7q2jHZdYCOD5vxLuFoKIYLy5/u8Pw=="
-    }
-  }
-}
Index: ckage.json
===================================================================
--- package.json	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,17 +1,0 @@
-{
-  "name": "buildboard",
-  "version": "1.0.0",
-  "description": "",
-  "main": "index.js",
-  "scripts": {
-    "test": "echo \"Error: no test specified\" && exit 1"
-  },
-  "repository": {
-    "type": "git",
-    "url": "https://github.com/stevetosak/BuildBoard.git"
-  },
-  "private": true,
-  "dependencies": {
-    "@stomp/stompjs": "^7.0.0"
-  }
-}
Index: m.xml
===================================================================
--- pom.xml	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,88 +1,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <modelVersion>4.0.0</modelVersion>
-    <parent>
-        <groupId>org.springframework.boot</groupId>
-        <artifactId>spring-boot-starter-parent</artifactId>
-        <version>3.4.1</version>
-        <relativePath/>
-    </parent>
-    <groupId>com.db.finki.www</groupId>
-    <artifactId>build_board</artifactId>
-    <version>0.0.1-SNAPSHOT</version>
-    <properties>
-        <java.version>17</java.version>
-    </properties>
-    <dependencies>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-thymeleaf</artifactId>
-        </dependency>
-        <!-- https://mvnrepository.com/artifact/org.springframework.security/spring-security-core -->
-<!--        <dependency>-->
-<!--            <groupId>org.springframework.security</groupId>-->
-<!--            <artifactId>spring-security-core</artifactId>-->
-<!--            <version>6.4.1</version>-->
-<!--        </dependency>-->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-security</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-devtools</artifactId>
-            <scope>runtime</scope>
-            <optional>true</optional>
-        </dependency>
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-            <version>1.18.30</version>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-test</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.flywaydb</groupId>
-            <artifactId>flyway-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-data-jpa</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.flywaydb</groupId>
-            <artifactId>flyway-database-postgresql</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.postgresql</groupId>
-            <artifactId>postgresql</artifactId>
-            <version>42.7.4</version>
-        </dependency>
-        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-websocket -->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-websocket</artifactId>
-        </dependency>
-
-
-    </dependencies>
-    <build>
-        <plugins>
-            <plugin>
-                <groupId>org.springframework.boot</groupId>
-                <artifactId>spring-boot-maven-plugin</artifactId>
-                <configuration>
-                </configuration>
-            </plugin>
-        </plugins>
-    </build>
-</project>
Index: c/main/java/com/db/finki/www/build_board/DemoApplication.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/DemoApplication.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,23 +1,0 @@
-package com.db.finki.www.build_board;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-import org.springframework.context.annotation.Bean;
-import org.springframework.scheduling.annotation.EnableScheduling;
-import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
-import org.springframework.security.crypto.password.PasswordEncoder;
-
-@SpringBootApplication
-@EnableScheduling
-public class DemoApplication {
-
-	public static void main(String[] args) {
-		SpringApplication.run(DemoApplication.class, args);
-	}
-
-	@Bean
-	PasswordEncoder passwordEncoder() {
-		return new BCryptPasswordEncoder(12);
-	}
-
-}
Index: c/main/java/com/db/finki/www/build_board/common/enums/PermissionValue.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/common/enums/PermissionValue.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,9 +1,0 @@
-package com.db.finki.www.build_board.common.enums;
-
-public enum PermissionValue {
-    READ,
-    WRITE,
-    CREATE,
-    DELETE;
-
-}
Index: c/main/java/com/db/finki/www/build_board/common/enums/ProjectResourcePermissionOverrideType.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/common/enums/ProjectResourcePermissionOverrideType.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,6 +1,0 @@
-package com.db.finki.www.build_board.common.enums;
-
-public enum ProjectResourcePermissionOverrideType {
-    INCLUDE,
-    EXCLUDE,
-}
Index: c/main/java/com/db/finki/www/build_board/config/BeanConfig.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/config/BeanConfig.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,14 +1,0 @@
-package com.db.finki.www.build_board.config;
-
-import com.db.finki.www.build_board.service.user.AuthenticationSuccessHandlerImpl;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
-
-@Configuration
-public class BeanConfig {
-    @Bean
-    public AuthenticationSuccessHandler authenticationSuccessHandler() {
-        return new AuthenticationSuccessHandlerImpl();
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/config/CronJob.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/config/CronJob.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,31 +1,0 @@
-package com.db.finki.www.build_board.config;
-
-import jakarta.persistence.EntityManager;
-import jakarta.persistence.PersistenceContext;
-import jakarta.transaction.Transactional;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Component;
-
-@Component
-public class CronJob {
-
-    @PersistenceContext
-    private EntityManager em;
-
-    //    @Scheduled(cron = "0 * * * * ?")
-    @Transactional
-    @Scheduled(cron = "0 0 0 1 * ?")
-    public void markRejectedPendingPrRequests() {
-        em
-                .createNativeQuery("CALL mark_denied_pr_requests_older_than_1month();")
-                .executeUpdate();
-    }
-
-    @Transactional
-    @Scheduled(cron = "0 0 0 1 * ?")
-    public void markRejectedPendingReports() {
-        em
-                .createNativeQuery("CALL mark_denied_reports_older_than_1month();")
-                .executeUpdate();
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/config/WebConfig.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/config/WebConfig.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,18 +1,0 @@
-package com.db.finki.www.build_board.config;
-
-import com.db.finki.www.build_board.service.util.FileUploadService;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-
-import java.io.File;
-
-@Configuration
-public class WebConfig implements WebMvcConfigurer {
-
-    @Override
-    public void addResourceHandlers(ResourceHandlerRegistry registry) {
-        registry.addResourceHandler("/avatars/**")
-                .addResourceLocations("file:" + FileUploadService.USER_AVATAR_DIR + File.separator);
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/config/WebSecurityConfig.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/config/WebSecurityConfig.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,98 +1,0 @@
-package com.db.finki.www.build_board.config;
-
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.http.HttpMethod;
-import org.springframework.security.authentication.AuthenticationManager;
-import org.springframework.security.authentication.AuthenticationProvider;
-import org.springframework.security.authentication.dao.DaoAuthenticationProvider;
-import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration;
-import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity;
-import org.springframework.security.config.annotation.web.builders.HttpSecurity;
-import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
-import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer;
-import org.springframework.security.core.userdetails.UserDetailsService;
-import org.springframework.security.crypto.password.PasswordEncoder;
-import org.springframework.security.web.SecurityFilterChain;
-import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
-import org.springframework.security.web.context.DelegatingSecurityContextRepository;
-import org.springframework.security.web.context.HttpSessionSecurityContextRepository;
-import org.springframework.security.web.context.SecurityContextRepository;
-import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
-
-@Configuration
-@EnableWebSecurity
-@EnableMethodSecurity
-public class WebSecurityConfig {
-
-    private final PasswordEncoder passwordEncoder;
-    private final UserDetailsService userDetailsService;
-    private final AuthenticationSuccessHandler successHandler;
-
-
-    public WebSecurityConfig(PasswordEncoder passwordEncoder, UserDetailsService userDetailsService, AuthenticationSuccessHandler successHandler) {
-        this.passwordEncoder = passwordEncoder;
-        this.userDetailsService = userDetailsService;
-        this.successHandler = successHandler;
-    }
-    @Bean
-    public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
-        http
-                .csrf(AbstractHttpConfigurer::disable)
-                .authorizeHttpRequests(request ->
-                        request.requestMatchers(
-                                        "/",
-                                        "/contact",
-                                        "/about",
-                                    "/project_imgs/buildboard-logo.jpg",
-                                "*.ico",
-                                "*.jpg",
-                                "*.png",
-                                "/register",
-                                        "/css/**",
-                                        "/js/**"
-                                ).permitAll()
-                                .requestMatchers(
-                                        new AntPathRequestMatcher("/topics/*",
-                                                HttpMethod.GET.name()),
-                                        new AntPathRequestMatcher("/projects/*",
-                                                HttpMethod.GET.name()),
-                                        new AntPathRequestMatcher("/avatars/**",HttpMethod.GET.name())
-                                ).permitAll()
-                                .requestMatchers("/topic/**","/project/**").authenticated()
-
-                                .anyRequest().authenticated()
-                ).formLogin(formLogin ->
-                        formLogin.permitAll()
-                                .defaultSuccessUrl("/")
-                                .successHandler(successHandler)
-                )
-                .logout(logout ->
-                        logout.logoutSuccessUrl("/")
-                                .clearAuthentication(true)
-                                .invalidateHttpSession(true)
-                                .deleteCookies("JSESSIONID")
-                );
-
-        return http.build();
-
-    }
-
-    @Bean
-    public AuthenticationProvider authenticationProvider() {
-        DaoAuthenticationProvider daoAuthenticationProvider = new DaoAuthenticationProvider();
-        daoAuthenticationProvider.setPasswordEncoder(passwordEncoder);
-        daoAuthenticationProvider.setUserDetailsService(userDetailsService);
-        return daoAuthenticationProvider;
-    }
-
-    @Bean
-    public AuthenticationManager authenticationManager(AuthenticationConfiguration config) throws Exception {
-        return config.getAuthenticationManager();
-    }
-
-    @Bean
-    public SecurityContextRepository securityContextRepository() {
-        return new DelegatingSecurityContextRepository(new HttpSessionSecurityContextRepository());
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/config/WebSocketConfig.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/config/WebSocketConfig.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,43 +1,0 @@
-package com.db.finki.www.build_board.config;
-
-import com.fasterxml.jackson.databind.ObjectMapper;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.messaging.converter.MappingJackson2MessageConverter;
-import org.springframework.messaging.converter.MessageConverter;
-import org.springframework.messaging.simp.config.MessageBrokerRegistry;
-import org.springframework.web.socket.WebSocketHandler;
-import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
-import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
-import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;
-
-import java.util.List;
-
-
-@Configuration
-@EnableWebSocketMessageBroker
-public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
-
-    private final ObjectMapper objectMapper;
-
-    public WebSocketConfig(ObjectMapper objectMapper) {
-        this.objectMapper = objectMapper;}
-
-    @Override
-    public void configureMessageBroker(MessageBrokerRegistry config) {
-        config.enableSimpleBroker("/projects");
-        config.setApplicationDestinationPrefixes("/projects");
-    }
-
-    @Override
-    public void registerStompEndpoints(StompEndpointRegistry registry) {
-        registry.addEndpoint("/channel-websocket");
-    }
-
-    @Override
-    public boolean configureMessageConverters(List<MessageConverter> messageConverters) {
-        MappingJackson2MessageConverter converter = new MappingJackson2MessageConverter();
-        converter.setObjectMapper(objectMapper); // Use the configured ObjectMapper
-        messageConverters.add(converter);
-        return false; // Disable default converters
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/controller/ExceptionHandler.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/controller/ExceptionHandler.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,41 +1,0 @@
-package com.db.finki.www.build_board.controller;
-
-import org.springframework.security.access.AccessDeniedException;
-import org.springframework.web.bind.annotation.ControllerAdvice;
-import org.springframework.web.servlet.ModelAndView;
-import org.springframework.web.servlet.resource.NoResourceFoundException;
-
-@ControllerAdvice
-public class ExceptionHandler {
-
-    private ModelAndView mavBuilder(Exception exception,String message,int status) {
-        ModelAndView mav = new ModelAndView("/error_pages/error");
-        mav.addObject("exception",exception);
-        mav.addObject("message",message);
-        mav.addObject("status",status);
-        return mav;
-    }
-
-    @org.springframework.web.bind.annotation.ExceptionHandler(value = { AccessDeniedException.class })
-    public ModelAndView handleForbidden(AccessDeniedException exception) {
-        return mavBuilder(exception,"You requested a resource that you do not have permission to access.",403);
-    }
-
-    @org.springframework.web.bind.annotation.ExceptionHandler(value = {NoResourceFoundException.class })
-   public ModelAndView handleNotFound(NoResourceFoundException exception) {
-        return mavBuilder(exception,"You requested a resource that does not exist.\nCheck if you entered the url correctly.",404);
-    }
-
-//    @org.springframework.web.bind.annotation.ExceptionHandler(value = {HttpServerErrorException.InternalServerError.class })
-//    public ModelAndView handleNotFound(HttpServerErrorException.InternalServerError exception) {
-//        return mavBuilder(exception,"This is a server issue.\nNot your fault :).",500);
-//    }
-
-
-    // @org.springframework.web.bind.annotation.ExceptionHandler(value = {Exception.class })
-    // public ModelAndView handleNotFound(Exception exception) {
-    //     System.out.println(exception.getMessage());
-    //     exception.printStackTrace();
-    //     return mavBuilder(exception,"An error occurred.",-1);
-    // }
-}
Index: c/main/java/com/db/finki/www/build_board/controller/channel/ChannelController.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/controller/channel/ChannelController.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,178 +1,0 @@
-package com.db.finki.www.build_board.controller.channel;
-
-import com.db.finki.www.build_board.entity.access_managment.Permission;
-import com.db.finki.www.build_board.entity.channel.Channel;
-import com.db.finki.www.build_board.entity.thread.Project;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.mapper.MessageMapper;
-import com.db.finki.www.build_board.service.access_managment.ProjectAccessManagementService;
-import com.db.finki.www.build_board.service.channel.ChannelService;
-import com.db.finki.www.build_board.service.channel.MessageService;
-import com.db.finki.www.build_board.service.thread.impl.ProjectService;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.security.core.parameters.P;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.mvc.support.RedirectAttributes;
-
-import java.util.List;
-
-
-@Controller
-@RequestMapping("/projects/{title}/channels")
-public class ChannelController {
-    private final ChannelService channelService;
-    private final MessageMapper messageMapper;
-    private final MessageService messageService;
-    private final ProjectService projectService;
-    private final ProjectAccessManagementService projectAccessManagementService;
-
-    public ChannelController(
-            ChannelService channelService, MessageMapper messageMapper,
-            MessageService messageService, ProjectService projectService,
-            ProjectAccessManagementService projectAccessManagementService
-    ) {
-        this.channelService = channelService;
-        this.messageMapper = messageMapper;
-        this.messageService = messageService;
-        this.projectService = projectService;
-        this.projectAccessManagementService = projectAccessManagementService;
-    }
-
-    private void checkIfAuthorized(
-            Model model,
-            Channel channel,
-            int userId,
-            Project project,
-            String permission
-    ) {
-
-        boolean hasPermission = false;
-        if(channel == null) {
-            hasPermission = projectAccessManagementService.hasPermissionToAccessResource(userId,permission,null,project);
-        } else {
-            hasPermission = projectAccessManagementService.hasPermissionToAccessResource(userId, permission, channel.getId(), project);
-        }
-        if (!hasPermission) {
-            System.out.println("vleze deny access");
-            model.addAttribute("error",
-                    "You dont have permission to access this channel");
-            throw new RuntimeException("Unauthorized");
-        }
-    }
-
-    @GetMapping()
-    public String getChannels(@PathVariable("title") Project project, Model model) {
-        List<Channel> channels = channelService.getAllChannelsForProject(project);
-        model.addAttribute("channels",
-                channels);
-        return "channels/list-channels";
-    }
-
-    @PreAuthorize("@projectService.getAllDevelopersForProject(#project).contains(#user)")
-    @GetMapping("/{channelName}")
-    public String getChannel(
-            @PathVariable String channelName,
-            @PathVariable("title") @P("project") Project project,
-            Model model,
-            RedirectAttributes redirectAttributes,
-            @SessionAttribute @P("user") BBUser user
-    ) {
-        Channel c = (Channel) redirectAttributes.getAttribute("channel");
-
-        if (c == null) {
-            c = channelService.getByNameAndProject(channelName,
-                    project);
-            model.addAttribute("channel",
-                    c);
-            model.addAttribute("messages",
-                    messageMapper.toDTO(
-                            messageService.getAllMessagesForProjectChannel(project.getId(),
-                                    channelName)));
-            model.addAttribute("developers",
-                    projectService.getAllDevelopersForProject(project));
-        } else {
-            model.addAttribute("channel",
-                    c);
-        }
-
-        try {
-            checkIfAuthorized(model, c, user.getId(), project, Permission.READ);
-            boolean canWrite = projectAccessManagementService.hasPermissionToAccessResource(user.getId(),
-                            Permission.WRITE,
-                            c.getId(),
-                            project);
-            model.addAttribute("canWrite",
-                    canWrite);
-
-            return "channels/show-channel";
-        } catch (RuntimeException e) {
-            if (e.getMessage().contains("Unauthorized")) {
-                return "redirect:/projects/" + project.getId();
-            }
-            throw e;
-        }
-    }
-
-    @PreAuthorize("@channelService.getByNameAndProject(#channelName,#project).getDeveloper()" +
-            ".equals(#user)")
-    @PostMapping("/{channelName}/delete")
-    public String deleteChannel(
-            @PathVariable @P("channelName") String channelName, @PathVariable("title") @P(
-                    "project") Project project,
-            @SessionAttribute @P("user") BBUser user,
-            RedirectAttributes redirectAttributes, Model model
-    ) {
-        Channel c = channelService.getByNameAndProject(channelName,
-                project);
-
-        try {
-            checkIfAuthorized(model, c, user.getId(), project, Permission.DELETE);
-
-            channelService.deleteChannel(channelName,
-                    project);
-            return "redirect:/projects/" + project.getTitle();
-        } catch (RuntimeException e) {
-            if (e.getMessage().contains("Unauthorized")) {
-                return "redirect:/projects/" + project.getId();
-            }
-            throw e;
-        }
-    }
-
-    @PreAuthorize("@projectService.getAllDevelopersForProject(#project).contains(#user)")
-    @PostMapping("/add")
-    public String add(
-            @PathVariable("title") @P("project") Project project,
-            @RequestParam String channelName, @RequestParam String channelDescription,
-            @SessionAttribute @P("user") BBUser user, RedirectAttributes redirectAttributes,
-            Model model
-    ) {
-        try {
-
-
-            try {
-                checkIfAuthorized(model, null, user.getId(), project, Permission.CREATE);
-                Channel channel = channelService.create(project,
-                        channelName,
-                        channelDescription,
-                        user);
-                redirectAttributes.addFlashAttribute("channel",
-                        channel);
-            } catch (RuntimeException e) {
-                if (e.getMessage().contains("Unauthorized")) {
-                    return "redirect:/projects/" + project.getId();
-                }
-                throw e;
-            }
-
-        } catch (Exception e) {
-            redirectAttributes.addFlashAttribute("error",
-                    e.getMessage());
-        }
-
-        return "redirect:/projects/" + project.getTitle();
-    }
-
-}
Index: c/main/java/com/db/finki/www/build_board/controller/channel/ChannelWebSocketController.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/controller/channel/ChannelWebSocketController.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,56 +1,0 @@
-package com.db.finki.www.build_board.controller.channel;
-
-import com.db.finki.www.build_board.dto.MessageDTO;
-import com.db.finki.www.build_board.entity.access_managment.Permission;
-import com.db.finki.www.build_board.entity.channel.Channel;
-import com.db.finki.www.build_board.entity.channel.Message;
-import com.db.finki.www.build_board.entity.thread.Project;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.mapper.MessageMapper;
-import com.db.finki.www.build_board.service.access_managment.ProjectAccessManagementService;
-import com.db.finki.www.build_board.service.channel.ChannelService;
-import com.db.finki.www.build_board.service.channel.MessageService;
-import com.db.finki.www.build_board.service.thread.impl.ProjectService;
-import com.db.finki.www.build_board.service.user.BBUserDetailsService;
-import jakarta.transaction.Transactional;
-import org.springframework.messaging.handler.annotation.MessageMapping;
-import org.springframework.stereotype.Controller;
-
-import java.time.LocalDateTime;
-
-@Controller
-public class ChannelWebSocketController {
-
-    private final MessageService messageService;
-    private final MessageMapper messageMapper;
-    private final ProjectAccessManagementService projectAccessManagementService;
-    private final BBUserDetailsService bbUserDetailsService;
-    private final ChannelService channelService;
-    private final ProjectService projectService;
-
-    public ChannelWebSocketController(MessageService messageService, MessageMapper messageMapper, ProjectAccessManagementService projectAccessManagementService, BBUserDetailsService bbUserDetailsService, ChannelService channelService, ProjectService projectService) {
-        this.messageService = messageService;
-        this.messageMapper = messageMapper;
-        this.projectAccessManagementService = projectAccessManagementService;
-        this.bbUserDetailsService = bbUserDetailsService;
-        this.channelService = channelService;
-        this.projectService = projectService;
-    }
-
-    @MessageMapping("/{projectName}/channels/{channelName}")
-    @Transactional
-    MessageDTO chatMessage(MessageDTO messageDTO) {
-        BBUser user = (BBUser) bbUserDetailsService.loadUserByUsername(messageDTO.getSenderUsername());
-        Project project = projectService.getById(Long.valueOf(messageDTO.getProjectId()));
-        Channel channel = channelService.getByNameAndProject(messageDTO.getChannelName(), project);
-        if(!projectAccessManagementService.hasPermissionToAccessResource(user.getId(), Permission.WRITE,channel.getId(),project)){
-            return null;
-        }
-
-        messageDTO.setSentAt(LocalDateTime.now());
-        Message m = messageService.addMessage(messageDTO);
-        MessageDTO newMessage = messageMapper.toDTO(m);
-        newMessage.setAvatarUrl(m.getSentBy().getAvatarUrl());
-        return newMessage;
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/controller/home_page/HomePageController.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/controller/home_page/HomePageController.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,119 +1,0 @@
-package com.db.finki.www.build_board.controller.home_page;
-
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.service.user.BBUserDetailsService;
-import com.db.finki.www.build_board.service.thread.itf.TagService;
-import com.db.finki.www.build_board.service.util.NamedThreadService;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
-import jakarta.servlet.http.HttpSession;
-import org.springframework.dao.DataIntegrityViolationException;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.context.SecurityContext;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.security.web.context.SecurityContextRepository;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.servlet.mvc.support.RedirectAttributes;
-
-import java.net.URLDecoder;
-import java.nio.charset.StandardCharsets;
-import java.util.ArrayList;
-import java.util.List;
-
-@Controller
-public class HomePageController {
-    private final TagService tagService;
-    private final BBUserDetailsService bbUserDetailsService;
-    private final SecurityContextRepository securityContextRepository;
-    private final NamedThreadService  namedThreadService;
-
-    public HomePageController(TagService tagService, BBUserDetailsService bbUserDetailsService,
-            SecurityContextRepository securityContextRepository, NamedThreadService namedThreadService
-                             ) {
-        this.tagService = tagService;
-        this.bbUserDetailsService = bbUserDetailsService;
-        this.securityContextRepository = securityContextRepository;
-        this.namedThreadService = namedThreadService;
-    }
-
-    @GetMapping("/")
-    public String search(
-            @RequestParam(required = false, defaultValue = "") String query,
-            @RequestParam(required = false, defaultValue = "all") String type,
-            @RequestParam(required = false, defaultValue = "") List<String> filters,
-            @RequestParam(required = false,name = "tags") List<String> tag,
-            Model model
-                        ) {
-
-        if(type.equals("all"))
-            type=null;
-
-        String title = null;
-        String content = null;
-
-        if(query != null && filters.contains("title"))
-            title= URLDecoder.decode(query, StandardCharsets.UTF_8);
-
-        if(query != null && filters.contains("content"))
-            content=URLDecoder.decode(query, StandardCharsets.UTF_8);
-
-        if(filters.isEmpty()){
-            title=URLDecoder.decode(query, StandardCharsets.UTF_8);
-            content=URLDecoder.decode(query, StandardCharsets.UTF_8);
-        }
-
-        model.addAttribute("threads", namedThreadService.getAll(title,content,type,tag));
-        model.addAttribute("tags",tagService.getAll());
-
-        return "home_pages/home";
-    }
-
-    @GetMapping("/about")
-    public String getAboutPage(){
-        return "home_pages/project_description";
-    }
-
-    @GetMapping("/register")
-    public String getRegisterPage(Model model) {
-        model.addAttribute("user", new BBUser());
-        model.addAttribute("canEdit",true);
-        return "home_pages/register";
-    }
-
-    @PostMapping("/register")
-    public String registerPost(
-            @RequestParam String username,
-            @RequestParam String email,
-            @RequestParam String name,
-            @RequestParam String password,
-            @RequestParam String description,
-            @RequestParam String sex,
-            RedirectAttributes redirectAttributes,
-            HttpSession session,
-            HttpServletRequest request,
-            HttpServletResponse response
-    ) {
-        try {
-            Authentication authentication = bbUserDetailsService.registerUser(username, email, name, password,description, sex);
-
-            SecurityContext context = SecurityContextHolder.getContext();
-            context.setAuthentication(authentication);
-
-            securityContextRepository.saveContext(context,request,response);
-
-            session.setAttribute("user", authentication.getPrincipal());
-            return "redirect:/";
-        }catch (DataIntegrityViolationException e) {
-            if(e.getMessage().contains("users_username_key"))
-            {
-                redirectAttributes.addFlashAttribute("duplicatedUsername",username);
-                return "redirect:/register";
-            }
-            throw e;
-        }
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/controller/home_page/LoginPageController.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/controller/home_page/LoginPageController.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,20 +1,0 @@
-package com.db.finki.www.build_board.controller.home_page;
-
-import jakarta.servlet.http.HttpServletRequest;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-
-@Controller
-public class LoginPageController {
-    @GetMapping("/login")
-    public String getLoginPage() {
-        return "login";
-    }
-    @PostMapping("/login")
-    public String login(@RequestParam String username, @RequestParam String password, Model model, HttpServletRequest request) {
-        return "redirect:/";
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/controller/home_page/UserProfileController.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/controller/home_page/UserProfileController.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,125 +1,0 @@
-package com.db.finki.www.build_board.controller.home_page;
-
-import com.db.finki.www.build_board.entity.entity_enum.Status;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.service.ReportService;
-import com.db.finki.www.build_board.service.user.BBUserDetailsService;
-import com.db.finki.www.build_board.service.request.ProjectRequestService;
-import com.db.finki.www.build_board.service.util.FileUploadService;
-import jakarta.servlet.http.HttpSession;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.security.core.parameters.P;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.servlet.mvc.support.RedirectAttributes;
-
-import java.io.IOException;
-
-
-@Controller
-@RequestMapping("{username}")
-public class UserProfileController {
-    private final BBUserDetailsService userService;
-    private final FileUploadService fileUploadService;
-    private final ProjectRequestService projectRequestService;
-    private final ReportService reportService;
-
-    public UserProfileController(BBUserDetailsService userService, FileUploadService fileUploadService, ProjectRequestService projectRequestService, ReportService reportService) {
-        this.userService = userService;
-        this.fileUploadService = fileUploadService;
-        this.projectRequestService = projectRequestService;
-        this.reportService = reportService;
-    }
-
-    @PreAuthorize("#user.getUsername().equals(#username)")
-    @GetMapping("/profile/edit")
-    public String getEditProfilePage(@PathVariable @P("username") String username, @SessionAttribute @P("user") BBUser user, Model model) {
-        try {
-            model.addAttribute("user", userService.loadUserByUsername(username));
-            model.addAttribute("canEdit", user.getUsername().equals(username));
-            return "/home_pages/private-profile";
-        }catch(Exception ignore){
-            return "redirect:/";
-        }
-    }
-
-    @GetMapping("/profile")
-    public String getProfilePage(@PathVariable String username, @SessionAttribute BBUser user, Model model) {
-        try {
-            model.addAttribute("user", userService.loadUserByUsername(username));
-            return "/home_pages/public-profile";
-        }catch(Exception ignore){
-            return "redirect:/";
-        }
-    }
-
-    @GetMapping("/reports")
-    public String getReportsByUser(@PathVariable String username,
-            @SessionAttribute @P("user") BBUser user,
-            @RequestParam(required = false) Status status,
-            Model model) {
-        BBUser byUser = (BBUser) userService.loadUserByUsername(username);
-        model.addAttribute("user", byUser);
-        model.addAttribute("requests", reportService.getByStatusAndUser(status,byUser));
-        model.addAttribute("status", Status.values());
-        return "/show-user-reports";
-    }
-
-    @GetMapping("/project-requests")
-    public String getProjectRequestsPage(
-            @PathVariable String username,
-            Model model,
-            @RequestParam(required = false) Status status
-    ) {
-        BBUser forUser = (BBUser) userService.loadUserByUsername(username);
-        model.addAttribute("user", forUser);
-        model.addAttribute("requests", projectRequestService.getByStatusAndUser(status,forUser));
-        model.addAttribute("status", Status.values());
-        return "project_pages/requests/show-user-requests";
-    }
-
-    @PreAuthorize("#requestedByUsername==#username")
-    @PostMapping("/upload-avatar")
-    public String uploadAvatar(Model model,
-                               @PathVariable @P("username") String username,
-                               @RequestParam MultipartFile userImage,
-                               RedirectAttributes redirectAttributes,
-                               @RequestParam(name = "cur_user_username") @P("requestedByUsername") String requestedByUsername
-    ) {
-        BBUser u = (BBUser) userService.loadUserByUsername(username);
-        try{
-            fileUploadService.uploadAvatar(userImage,u.getId());
-            redirectAttributes.addFlashAttribute("message", "Avatar uploaded successfully");
-        } catch (IOException e) {
-            redirectAttributes.addFlashAttribute("message", "Cant upload avatar");
-        }
-
-        return "redirect:/" + username + "/profile";
-    }
-
-    @PreAuthorize("#requestedByUsername==#oldUsername")
-    @PostMapping("/profile/change")
-    public String changeInfo(
-            @RequestParam String email,
-            @RequestParam String name,
-            @RequestParam String description,
-            @PathVariable(name = "username") @P("oldUsername") String oldUsername,
-            @RequestParam(name = "username") String newUsername,
-            @RequestParam(name = "cur_user_username") @P("requestedByUsername") String requestedByUsername,
-            @RequestParam String password,
-            HttpSession session
-    ){
-        BBUser user = userService.changeInfoForUserWithUsername(
-                oldUsername,
-                newUsername,
-                email,
-                name,
-                description,
-                password
-        );
-        session.setAttribute("user", user);
-        return "redirect:/" + user.getUsername() + "/profile";
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/controller/thread_controller/DiscussionController.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/controller/thread_controller/DiscussionController.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,53 +1,0 @@
-package com.db.finki.www.build_board.controller.thread_controller;
-
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.service.thread.impl.DiscussionService;
-import jakarta.servlet.http.HttpSession;
-import org.springframework.data.repository.query.Param;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.security.core.parameters.P;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.SessionAttribute;
-
-@Controller
-public class DiscussionController {
-    private final DiscussionService discussionService;
-
-    public DiscussionController(DiscussionService discussionService) {
-        this.discussionService = discussionService;
-    }
-
-    @PostMapping("/topics/{topic-id}/discussions/add")
-    public String addReply(
-            @PathVariable(name = "topic-id") String topicId,
-            @RequestParam int parentId, @RequestParam String content, Model model,
-            @SessionAttribute @P("user") BBUser user) {
-        try {
-            discussionService.create(content, parentId, user);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-
-        return "redirect:/topics/" + topicId;
-    }
-
-    @PreAuthorize("@discussionService.getDiscussionById(#replyId).user.username==#username")
-    @PostMapping("/topics/{topic-id}/discussions/{replyId}/edit")
-    public String editReply(@PathVariable(name = "topic-id") String topicId, @PathVariable @P("replyId") int replyId, @RequestParam String content, Model model, HttpSession session
-    , @P("username") String username) {
-        discussionService.edit(replyId, content);
-        return "redirect:/topics/" + topicId;
-    }
-
-    @PreAuthorize("@discussionService.getDiscussionById(#discussionId).getUser().getId()==#user.getId()")
-    @PostMapping("/topics/{topic-id}/discussions/{discussionId}/delete")
-    public String deleteDiscussion(@PathVariable(name = "topic-id") String topicId, @PathVariable @P("discussionId") int discussionId, @SessionAttribute @P("user") BBUser user, @RequestParam @Param("username") String username) {
-        discussionService.delete(discussionId);
-        return "redirect:/topics/" + topicId;
-    }
-
-}
Index: c/main/java/com/db/finki/www/build_board/controller/thread_controller/ProjectController.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/controller/thread_controller/ProjectController.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,319 +1,0 @@
-package com.db.finki.www.build_board.controller.thread_controller;
-
-import com.db.finki.www.build_board.dto.AddRoleDTO;
-import com.db.finki.www.build_board.dto.DeveloperWithRolesForProjectDTO;
-import com.db.finki.www.build_board.entity.access_managment.ProjectRole;
-import com.db.finki.www.build_board.entity.access_managment.ProjectRolePermission;
-import com.db.finki.www.build_board.entity.channel.Channel;
-import com.db.finki.www.build_board.entity.thread.Project;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.entity.view.RoleChannelPermissions;
-import com.db.finki.www.build_board.repository.access_managment.ProjectRoleRepository;
-import com.db.finki.www.build_board.service.access_managment.AddRoleDTOEntitiesMapper;
-import com.db.finki.www.build_board.service.access_managment.ProjectAccessManagementService;
-import com.db.finki.www.build_board.service.channel.ChannelService;
-import com.db.finki.www.build_board.service.thread.impl.ProjectService;
-import com.db.finki.www.build_board.service.thread.impl.TagServiceImpl;
-import com.db.finki.www.build_board.service.thread.itf.TagService;
-import com.db.finki.www.build_board.service.user.BBUserDetailsService;
-import org.hibernate.Hibernate;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.security.core.parameters.P;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.mvc.support.RedirectAttributes;
-
-import java.util.*;
-
-
-@Controller
-@RequestMapping("/projects")
-public class ProjectController {
-
-    private final ProjectService projectService;
-    private final TagService tagService;
-    private final String DUPLICATED_TITLE_MSG = "could not execute statement [ERROR: duplicate key value violates unique constraint";
-    private final ProjectAccessManagementService projectAccessManagementService;
-    private final AddRoleDTOEntitiesMapper mapper;
-    private final BBUserDetailsService userDetailsService;
-    private final ChannelService channelService;
-    private final ProjectRoleRepository projectRoleRepository;
-
-    public ProjectController(ProjectService projectService, TagServiceImpl topicService, ProjectAccessManagementService projectAccessManagementService, AddRoleDTOEntitiesMapper mapper, BBUserDetailsService userDetailsService, ChannelService channelService, ProjectRoleRepository projectRoleRepository) {
-        this.projectService = projectService;
-        this.tagService = topicService;
-        this.projectAccessManagementService = projectAccessManagementService;
-        this.mapper = mapper;
-        this.userDetailsService = userDetailsService;
-        this.channelService = channelService;
-        this.projectRoleRepository = projectRoleRepository;
-    }
-
-    @GetMapping("/{title}")
-    public String getProjectPage(
-            @SessionAttribute BBUser user,
-            @PathVariable(name = "title") Project project, Model model, RedirectAttributes redirectAttributes,
-            @RequestParam(required = false) String duplicateTitle
-                                ) {
-        model.addAttribute("project",
-                project);
-        model.addAttribute("tags",
-                tagService.getAll());
-        model.addAttribute("developers",
-                projectService.getAllDevelopersForProject(project));
-        String error = (String) redirectAttributes.getAttribute("error");
-        boolean canCreateChannel = false;
-        if(user != null){
-            canCreateChannel = projectAccessManagementService.hasPermissionToAccessResource(user.getId(),"CREATE",null,project);
-
-        }
-
-        if (error != null) {
-            model.addAttribute("error",
-                    error);
-        }
-        if (duplicateTitle != null) {
-            model.addAttribute("errMsg",
-                    "There already exists a project with the provided title");
-        }
-
-        model.addAttribute("canCreateChannel", canCreateChannel);
-
-        Hibernate.initialize(project.getTags());
-
-        return "project_pages/show-project";
-    }
-
-    @GetMapping("/create")
-    public String getCreateProjectPage(Model model, @RequestParam(required = false) String duplicateTitle) {
-        if (duplicateTitle != null) {
-            model.addAttribute("errMsg",
-                    "There already exists a project with the provided title");
-        }
-        model.addAttribute("project",
-                new Project());
-        model.addAttribute("isCreatingProject",
-                tagService.getAll());
-        return "project_pages/project-create";
-    }
-
-
-    @PostMapping("/{title}/roles/add")
-    public String addProjectRole(@PathVariable(name = "title") String title, @RequestBody AddRoleDTO addRoleDTO) {
-        projectAccessManagementService.addRole(mapper.map(addRoleDTO));
-        return "redirect:/projects/" + title + "/roles";
-    }
-
-    @GetMapping("{title}/roles")
-    public String getRolesPage(@PathVariable(name = "title") Project project, Model model) {
-        model.addAttribute("project",
-                project);
-        model.addAttribute("developersRoles",
-                projectAccessManagementService.getRolesForMembersInProject(project));
-        model.addAttribute("perResourcePermissions",
-                List.of("READ",
-                        "WRITE"));
-        model.addAttribute("globalPermissions",
-                List.of("CREATE",
-                        "DELETE"));
-        model.addAttribute("errMsg",
-                null);
-        model.addAttribute("overrideTypeDefault",
-                "INCLUDE");
-        return "project_pages/project-roles";
-    }
-
-    @GetMapping("{title}/roles/{id}/edit")
-    public String getEditRolePage(@PathVariable(name = "title") Project project, @PathVariable(name = "id") Integer roleId,Model model) {
-        ProjectRole projectRole = projectRoleRepository.findById(roleId).orElseThrow(() -> new IllegalArgumentException("bad project id or role name"));
-        List<ProjectRolePermission> projectRolePermissions = projectAccessManagementService.getRolePermissionsForRoleInProject(projectRole);
-        List<RoleChannelPermissions> roleChannelPermissions = channelService.getChannelPermissionsForRole(projectRole);
-        List<Channel> channels = channelService.getAllChannelsForProject(project);
-        List<String> selectedGlobalPermissions = projectRolePermissions
-                .stream()
-                .filter(p -> p.getPermission().getName().equals("CREATE") || p.getPermission().getName().equals("DELETE")).map(s -> s.getPermission().getName()).toList();
-
-
-        model.addAttribute("role",projectRole);
-        model.addAttribute("overrideType",projectRole.getOverrideType().toString());
-        model.addAttribute("globalPermissions", List.of("CREATE", "DELETE"));
-        model.addAttribute("perResourcePermissions", List.of("READ", "WRITE"));
-        model.addAttribute("selectedGlobalPermissions",selectedGlobalPermissions);
-        model.addAttribute("roleChannelPermissions",roleChannelPermissions);
-        model.addAttribute("channels",channels);
-        return "project_pages/edit-role";
-
-    }
-
-    @PostMapping("{title}/roles/{id}/edit")
-    public String editRole(@PathVariable(name = "title") Project project, @PathVariable(name = "id") Integer roleId,@RequestBody AddRoleDTO addRoleDTO) {
-        projectAccessManagementService.updateRole(roleId, mapper.map(addRoleDTO));
-
-        return "redirect:/projects/" + project.getId() + "/roles";
-    }
-
-    //projects/Project 1 Thread/roles/Admin/delete
-    @PostMapping("{project_title}/roles/{id}/delete")
-    public String deleteRole(
-            @PathVariable(name = "project_title") Project project,
-            @PathVariable(name = "id") Integer id
-                            ){
-
-        ProjectRole role = projectRoleRepository.findById(id).orElseThrow(() -> new IllegalArgumentException("bad project id or role name"));
-        projectAccessManagementService.deleteRole(role);
-        return String.format("redirect:/projects/%s/roles", project.getTitle());
-    }
-
-
-    @GetMapping("{title}/topics/add")
-    public String getAddTopicPage(
-            @PathVariable String title,
-            Model model
-                                 ) {
-        model.addAttribute("project_title",
-                title);
-        return "create-topic";
-    }
-
-    @GetMapping("/{pr-title}/edit")
-    public String getModifyPage(
-            @PathVariable(name = "pr-title") Project project,
-            Model model
-                               ) {
-        model.addAttribute("project",
-                project);
-        return "project_pages/project-create";
-    }
-
-    @GetMapping("/{pr-title}/members")
-    public String getProjectMembersPage(
-            Model model,
-            @PathVariable(name = "pr-title") Project project
-                                       ) {
-        model.addAttribute("project",
-                project);
-
-        List<BBUser> developers = projectService.getAllDevelopersForProject(project);
-
-        List<DeveloperWithRolesForProjectDTO> devWrapper = developers
-                .stream()
-                .map(dev -> new DeveloperWithRolesForProjectDTO(dev,projectAccessManagementService.getRolesForDeveloperInProject(dev,project))).toList();
-
-        System.out.println("MAPPED" + " " + devWrapper);
-
-        model.addAttribute("developers", devWrapper);
-        model.addAttribute("projectRoles",projectAccessManagementService.getRolesForMembersInProject(project));
-
-
-        return "project_pages/members";
-    }
-
-    @PreAuthorize("#project.getUser().equals(#user)")
-    @PostMapping("/{pr-title}/members/{mem-id}/kick")
-    public String kickMember(@PathVariable(name = "pr-title") @P("project") Project project, @PathVariable(name = "mem-id") int memberId, @SessionAttribute @P("user") BBUser user) {
-        projectService.kickMember(project,
-                memberId);
-        return "redirect:/projects/" + project.getTitle() + "/members";
-    }
-
-    @PreAuthorize("#project.getUser().getUsername().equals(#username)")
-    @PostMapping("/{title}/edit")
-    public String modifyProject(
-            @PathVariable(name = "title") @P("project") Project project,
-            @RequestParam(name = "title") String newTitle,
-            @RequestParam(name = "repo_url") String repoUrl,
-            @RequestParam @P("username") String username,
-            @RequestParam String description,
-            RedirectAttributes attributes
-                               ) {
-        String oldTitle = project.getTitle();
-        try {
-            return "redirect:/projects/" + projectService
-                    .update(project,
-                            repoUrl,
-                            description,
-                            newTitle)
-                    .getTitle();
-        } catch (org.springframework.dao.DataIntegrityViolationException e) {
-            if (e
-                    .getMessage()
-                    .contains(DUPLICATED_TITLE_MSG)) {
-                attributes.addAttribute("duplicateTitle",
-                        "y");
-                return "redirect:/projects/" + oldTitle;
-            }
-            throw e;
-        }
-    }
-
-    @PostMapping("/add")
-    public String createProject(
-            @RequestParam String title,
-            @RequestParam(required = false, name = "repo_url") String repoUrl,
-            @RequestParam(required = false) String description,
-            @SessionAttribute BBUser user,
-            RedirectAttributes redirectAttributes
-                               ) {
-        try {
-            projectService.create(title,
-                    repoUrl,
-                    description,
-                    user);
-            return "redirect:/";
-        } catch (org.springframework.dao.DataIntegrityViolationException e) {
-            if (e
-                    .getMessage()
-                    .contains(DUPLICATED_TITLE_MSG)) {
-                redirectAttributes.addAttribute("duplicateTitle",
-                        "y");
-                return "redirect:/projects/create";
-            }
-            throw e;
-        }
-    }
-
-    @PostMapping("{title}/add-role/{userId}")
-    public String assignRolesToUser(@PathVariable(name = "title") @P("project") Project project, @PathVariable Integer userId,@RequestParam(name = "roles") List<String> roleNames){
-        BBUser user = userDetailsService.loadUserById(userId);
-        List<ProjectRole> roles = projectRoleRepository.findAllByNameInAndProject(roleNames,project);
-        projectAccessManagementService.addRolesToUser(user,roles);
-        return "redirect:/projects/" + project.getTitle() + "/members";
-    }
-    @PostMapping("{title}/remove-role/{userId}")
-    public String deleteRoleForUser(@PathVariable(name = "title") @P("project") Project project, @PathVariable Integer userId,String roleName){
-        BBUser user = userDetailsService.loadUserById(userId);
-        projectAccessManagementService.deleteRoleForUser(user,project,roleName);
-        return "redirect:/projects/" + project.getTitle() + "/members";
-    }
-
-
-
-    @PreAuthorize("#project.getUser().getUsername().equals(#username)")
-    @PostMapping("/topics/add")
-    public String addTopic(
-            @RequestParam(name = "project_title") @P("project") Project project,
-            @RequestParam(name = "title") String topicsTitle,
-            @RequestParam String description,
-            @RequestParam @P("username") String username,
-            @SessionAttribute("user") BBUser user
-                          ) {
-        projectService.createTopic(project,
-                topicsTitle,
-                description,
-                user);
-        return "redirect:/projects/" + project.getTitle();
-    }
-
-    @PreAuthorize("#project.getUser().username.equals(#username)")
-    @PostMapping("/{title}/delete")
-    public String delete(
-            @PathVariable(name = "title") @P("project") Project project,
-            @RequestParam @P("username") String username
-                        ) {
-        projectService.delete(project);
-        return "redirect:/";
-    }
-
-
-}
Index: c/main/java/com/db/finki/www/build_board/controller/thread_controller/TagController.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/controller/thread_controller/TagController.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,78 +1,0 @@
-package com.db.finki.www.build_board.controller.thread_controller;
-
-import com.db.finki.www.build_board.entity.thread.Project;
-import com.db.finki.www.build_board.entity.thread.Topic;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.service.thread.impl.ProjectService;
-import com.db.finki.www.build_board.service.thread.itf.TagService;
-import com.db.finki.www.build_board.service.thread.itf.TopicService;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.security.core.parameters.P;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.SessionAttribute;
-
-
-@Controller
-public class TagController {
-    private final TopicService topicService;
-    private final TagService tagService;
-    private final ProjectService projectService;
-
-    public TagController(TopicService topicService, TagService tagService, ProjectService projectService) {
-        this.topicService = topicService;
-        this.tagService = tagService;
-        this.projectService = projectService;
-    }
-
-    @PreAuthorize("@topicServiceImpl.getById(#id).getUser().getUsername().equals(#username)")
-    @PostMapping("/topics/{id}/tags/add")
-    public String addTagToTopic(
-            @PathVariable(name = "id") @P("id") long id,
-            @RequestParam String tagName,
-            @P("username") String username,
-            Model model,
-            @SessionAttribute("user") BBUser user 
-    ) {
-        Topic t = topicService.getById(id);
-        topicService.addTagToTopic(t, tagName,user);
-        model.addAttribute("topic", t);
-        model.addAttribute("tags", tagService.getAllNotUsed(t));
-        return "redirect:/topics/" + t.getId();
-    }
-
-    @PreAuthorize("@topicServiceImpl.getById(#topicId).getUser().getUsername()==#username")
-    @PostMapping("/topics/{topicId}/tags/{tag-name}/delete")
-    public String deleteTagTopic(@PathVariable @P("topicId") long topicId, @PathVariable(name = "tag-name") String tagName, Model model, @RequestParam @P("username") String username) {
-        Topic t = topicService.deleteTagFromTopic(topicId, tagName);
-        model.addAttribute("topic", t);
-        model.addAttribute("tags", tagService.getAllNotUsed(t));
-        return "redirect:/topics/" + t.getId();
-    }
-
-    @PreAuthorize("#project.getUser().getUsername()==#username")
-    @PostMapping("/projects/{title}/tags/add")
-    public String addTagToProject(
-            @PathVariable(name = "title") @P("project") Project project,
-            @RequestParam(name = "tagName") String tagName,
-            @RequestParam @P("username") String username,
-            @SessionAttribute("user") BBUser user
-    ) {
-        projectService.addTag(project, tagName,user);
-        return "redirect:/projects/" + project.getTitle();
-    }
-
-    @PreAuthorize("#project.getUser().getUsername().equals(#username)")
-    @PostMapping("/projects/{projectTitle}/tags/{tagName}/delete")
-    public String deleteTagProject(
-            @PathVariable(name = "projectTitle") @P("project") Project project,
-            @PathVariable String tagName,
-            @RequestParam @P("username") String username
-    ) {
-        projectService.deleteTag(project, tagName);
-        return "redirect:/projects/" + project.getTitle();
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/controller/thread_controller/TopicController.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/controller/thread_controller/TopicController.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,203 +1,0 @@
-package com.db.finki.www.build_board.controller.thread_controller;
-
-import com.db.finki.www.build_board.entity.blacklisted_user.BlacklistedUser;
-import com.db.finki.www.build_board.entity.entity_enum.Status;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.entity.thread.Topic;
-import com.db.finki.www.build_board.service.BlacklistedUserService;
-import com.db.finki.www.build_board.service.BlacklistedUserType;
-import com.db.finki.www.build_board.service.ReportService;
-import com.db.finki.www.build_board.service.thread.impl.DiscussionService;
-import com.db.finki.www.build_board.service.thread.itf.TagService;
-import com.db.finki.www.build_board.service.thread.itf.TopicService;
-import jakarta.servlet.http.HttpSession;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.security.core.parameters.P;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.mvc.support.RedirectAttributes;
-import org.springframework.web.servlet.view.RedirectView;
-
-import java.util.List;
-import java.util.Map;
-
-@Controller
-@RequestMapping("/topics")
-public class TopicController {
-
-    private final TopicService topicService;
-    private final TagService tagService;
-    private final DiscussionService discussionService;
-    private final String DUPLICATE_TITTLE = "There already exists a topic with title";
-    private final ReportService reportService;
-    private final BlacklistedUserService  blacklistedUserService;
-
-    public TopicController(TopicService topicService, TagService tagService, DiscussionService discussionService, ReportService reportService, BlacklistedUserService blacklistedUserService) {
-        this.topicService = topicService;
-        this.tagService = tagService;
-        this.discussionService = discussionService;
-        this.reportService = reportService;
-        this.blacklistedUserService = blacklistedUserService;
-    }
-
-    private String bootstartTopic(long topicId, Model model){
-        Topic t = topicService.getById((long)topicId);
-
-        model.addAttribute("topic", t);
-        model.addAttribute("tags", tagService.getAllNotUsed(t));
-        model.addAttribute("replies", discussionService.getByTopic(t.getId()));
-
-        return "show-topic";
-    }
-
-    @GetMapping("/create")
-    public String getCreateTopicPage(Model model, @RequestParam(required = false) Boolean duplicateTittle) {
-        if (duplicateTittle != null)
-            model.addAttribute("errMsg", "There already exists a thread with the same title in that parent");
-        return "create-topic";
-    }
-
-    @GetMapping("/{topic-id}")
-    public String showTopic(@PathVariable(name = "topic-id") int topicId, Model model,
-            @RequestParam(required = false) Boolean duplicateTittle,
-            @SessionAttribute(required = false) BBUser user) {
-
-        if (duplicateTittle != null) {
-            model.addAttribute("errMsg", "There already exists a thread with the same title in that parent");
-        }
-
-        if(user != null && blacklistedUserService.isBlacklisted(user.getId(), topicId)) {
-            return "blacklisted";
-        }
-
-        model.addAttribute("blacklisted", blacklistedUserService.findForTopic(topicId));
-        return bootstartTopic(topicId, model);
-    }
-
-    @PostMapping("/add")
-    public String createTopic(@RequestParam String title, @RequestParam String description, HttpSession session,
-            RedirectAttributes reddAttributes) {
-        try {
-            title = title.strip();
-            BBUser user = (BBUser) session.getAttribute("user");
-            topicService.create(title, description, user);
-            return "redirect:/";
-        } catch (org.springframework.orm.jpa.JpaSystemException e) {
-            return handleDuplicatedTitle(e, reddAttributes, "/topics/create");
-        }
-    }
-
-    @PreAuthorize("@topicServiceImpl.getById(#id).getUser().getUsername().equals(#username)")
-    @PostMapping("/{id}/delete")
-    public String deleteTopic(@PathVariable(name = "id") @P("id") long id, HttpSession session,
-            @RequestParam @P("username") String username) {
-        topicService.deleteTopicById(id);
-        return "redirect:/";
-    }
-
-    @PreAuthorize("@topicServiceImpl.getById(#id).getUser().getUsername().equals(#username)")
-    @PostMapping("/{id}/edit")
-    public String editTopic(@PathVariable @P("id") long id, @RequestParam String title, @RequestParam String content,
-            Model model, @RequestParam @P("username") String username, RedirectAttributes redirectAttributes) {
-        Topic t = topicService.getById(id);
-        String oldTitle = t.getTitle();
-        try {
-            title = title.strip();
-            topicService.edit(t, title, content);
-            model.addAttribute("topic", t);
-            model.addAttribute("tags", tagService.getAllNotUsed(t));
-            return "redirect:/topics/" + t.getId();
-        } catch (org.springframework.orm.jpa.JpaSystemException e) {
-            return handleDuplicatedTitle(e, redirectAttributes, "/topics/" + oldTitle);
-        }
-    }
-
-    @PostMapping("{id}/report")
-    public String reportUser(
-            @PathVariable(name = "id") @P("topicId") long topicId,
-            @RequestParam String reason
-            , @SessionAttribute @P("user") BBUser user,
-            @RequestParam(name = "report-username") String reportingUser){
-
-        reportService.createReport(topicId,reason,user, reportingUser);
-        return "redirect:/topics/" + topicId;
-    }
-
-    public String handleDuplicatedTitle(org.springframework.orm.jpa.JpaSystemException e,
-            RedirectAttributes attr, String redirectPath) {
-        if (e.getMessage().contains(DUPLICATE_TITTLE)) {
-            attr.addAttribute("duplicateTittle", true);
-            return "redirect:" + redirectPath;
-        }
-        throw e;
-    }
-
-    @GetMapping("{id}/reports")
-    @PreAuthorize("@topicServiceImpl.getById(#topicId).user.id.equals(#user.id)")
-    public String getReports(@PathVariable(name = "id") @P("topicId") long topicId, Model model,
-            @RequestParam(required = false) Status status,
-            @RequestParam(required = false, name = "checkSearchLatest") String isSearForLatestActive,
-            @SessionAttribute @P("user") BBUser user
-                            ){
-       Topic t = topicService.getById(topicId);
-
-       model.addAttribute("topic", t);
-       model.addAttribute("reports", reportService.getByStatusAndProjectAndLatest(status,
-                       (int) topicId, isSearForLatestActive));
-
-       model.addAttribute("status", Status.values());
-       model.addAttribute("isSearForLatestActive", isSearForLatestActive);
-
-       return "show-reports";
-    }
-
-    @PostMapping("{id}/reports/{req-id}/accept")
-    @PreAuthorize("@topicServiceImpl.getById(#topicId).user.id.equals(#user.id)")
-    public RedirectView acceptRequest(
-            @PathVariable(name = "req-id") Integer reqId,
-            @PathVariable(name = "id") @P("topicId") long topicId,
-            @RequestParam(name = "feedback-desc") String feedbackDesc,
-            @SessionAttribute @P("user") BBUser user
-                                     ) {
-        reportService.accept(reqId, feedbackDesc, user);
-        return new RedirectView(
-                String.format("/topics/%s/reports", topicId)
-        );
-    }
-
-    @PostMapping("{id}/reports/{req-id}/deny")
-    @PreAuthorize("@topicServiceImpl.getById(#topicId).user.id.equals(#user.id)")
-    public RedirectView denyRequest(
-            @PathVariable(name = "req-id") Integer reqId,
-            @PathVariable(name = "id") @P("topicId") long topicId,
-            @RequestParam(name = "feedback-desc") String feedbackDesc,
-            @SessionAttribute @P("user") BBUser user
-                                   ) {
-        reportService.deny(reqId, feedbackDesc, user);
-        return new RedirectView(
-                String.format("/topics/%s/reports", topicId)
-        );
-    }
-
-    @GetMapping("{id}/blacklisted")
-    public String getBlacklistedUsers(@PathVariable(name = "id") long topicId, Model model){
-        Map<BlacklistedUserType, List<BlacklistedUser>> tmp = topicService.getBlacklistedUsersForTopicById(topicId);
-
-        model.addAttribute("current",  tmp.get(BlacklistedUserType.CURRENT));
-        model.addAttribute("previous",  tmp.get(BlacklistedUserType.PREVIOUS));
-
-        return "show-blacklisted-users";
-    }
-
-    @PostMapping("{id}/blacklisted/{userId}")
-    public RedirectView revokeBlacklistedUser(
-            @PathVariable(name = "id") long topicId,
-            @PathVariable(name = "userId") int blacklistedUserId
-                                             ){
-        blacklistedUserService.revoke(topicId,blacklistedUserId);
-        return new RedirectView(
-                String.format("/topics/%s/blacklisted", topicId)
-        );
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/controller/thread_controller/request/ProjectRequestController.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/controller/thread_controller/request/ProjectRequestController.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,73 +1,0 @@
-package com.db.finki.www.build_board.controller.thread_controller.request;
-
-import com.db.finki.www.build_board.entity.entity_enum.Status;
-import com.db.finki.www.build_board.entity.thread.Project;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.service.request.ProjectRequestService;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.security.core.parameters.P;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.view.RedirectView;
-
-
-@Controller
-@RequestMapping("/projects/{pr-title}/requests")
-public class ProjectRequestController {
-
-    private final ProjectRequestService projectRequestService;
-
-    public ProjectRequestController(ProjectRequestService projectService) {
-        this.projectRequestService = projectService;
-    }
-
-    @GetMapping("")
-    public String getRequestPage(
-            Model model,
-            @PathVariable(name = "pr-title") Project project,
-            @RequestParam(required = false) Status status,
-            @RequestParam(required = false, name = "checkSearchLatest") String isSearForLatestActive
-    ) {
-        model.addAttribute("project", project);
-        model.addAttribute("requests", projectRequestService.getByStatusAndProjectAndLatest(status,project,isSearForLatestActive));
-        model.addAttribute("status", Status.values());
-        model.addAttribute("isSearForLatestActive", isSearForLatestActive);
-        return "project_pages/requests/show-requests";
-    }
-
-    @PostMapping("/{req-id}/accept")
-    @PreAuthorize("#project.getUser().getId()==#user.getId()")
-    public RedirectView acceptRequest(@PathVariable(name = "req-id") Integer reqId,
-                                      @PathVariable(name = "pr-title") @P("project") Project project,
-                                      @SessionAttribute @P("user") BBUser user
-    ) {
-        projectRequestService.accept(user,reqId);
-        return new RedirectView(
-                String.format("/projects/%s/requests", project.getTitle())
-        );
-    }
-
-    @PostMapping("/{req-id}/deny")
-    @PreAuthorize("#project.getUser().getId()==#user.getId()")
-    public RedirectView denyRequest(@PathVariable(name = "req-id") Integer reqId,
-                                    @PathVariable(name = "pr-title") @P("project") Project project,
-                                    @RequestParam(name = "feedback-desc") String feedbackDesc,
-                                    @SessionAttribute @P("user") BBUser user
-    ) {
-        projectRequestService.deny(reqId, feedbackDesc, user);
-        return new RedirectView(
-                String.format("/projects/%s/requests", project.getTitle())
-        );
-    }
-
-    @PostMapping("/create")
-    public RedirectView createRequestToJoin(
-            @PathVariable(name = "pr-title") Project project,
-            @RequestParam(name = "reason-desc") String reason,
-            @SessionAttribute BBUser user
-    ){
-        projectRequestService.createRequestFor(project,reason,user);
-        return new RedirectView("/projects/"+project.getTitle());
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/controller/util/LikesController.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/controller/util/LikesController.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,50 +1,0 @@
-package com.db.finki.www.build_board.controller.util;
-
-import com.db.finki.www.build_board.entity.thread.BBThread;
-import com.db.finki.www.build_board.entity.thread.Project;
-import com.db.finki.www.build_board.entity.thread.Topic;
-import com.db.finki.www.build_board.entity.thread.discussion_thread.Discussion;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.service.util.ThreadService;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.SessionAttribute;
-
-
-@Controller
-public class LikesController {
-    private final ThreadService threadService;
-
-    public LikesController(ThreadService threadService) {
-        this.threadService = threadService;
-    }
-
-    private BBThread rate(int threadId, BBUser user, boolean likes) {
-        return threadService.rate(threadId, user.getId(), likes);
-    }
-
-    private String getUrlForThraed(BBThread thread, Integer id) {
-        if (id != null)
-            return "redirect:/topics/" + id;
-
-        return "redirect:/projects/" + ((Project) thread).getTitle();
-    }
-
-    @PostMapping("/threads/{thread-id}/dislike")
-    public String dislikeThread(@SessionAttribute BBUser user,
-                                @PathVariable(name = "thread-id") int threadId,
-                                @RequestParam(required = false, name = "topic-id") Integer topicId
-    ) {
-        return getUrlForThraed(rate(threadId, user, false), topicId);
-    }
-
-    @PostMapping("/threads/{thread-id}/like")
-    public String likeThread(@SessionAttribute BBUser user,
-                             @RequestParam(required = false, name = "topic-id") Integer topicId,
-                             @PathVariable(name = "thread-id") int threadId) {
-        return getUrlForThraed(rate(threadId, user, true), topicId);
-    }
-
-}
Index: c/main/java/com/db/finki/www/build_board/converter/ProjectConverter.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/converter/ProjectConverter.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,30 +1,0 @@
-package com.db.finki.www.build_board.converter;
-
-import com.db.finki.www.build_board.entity.thread.Project;
-import com.db.finki.www.build_board.service.thread.impl.ProjectService;
-import lombok.NonNull;
-import org.springframework.core.convert.converter.Converter;
-import org.springframework.stereotype.Component;
-
-@Component
-public class ProjectConverter implements Converter<String, Project> {
-
-    private final ProjectService projectService;
-    private final String REGEX_TO_CHECK_IF_ITS_A_NUMBER="^[0-9]+$";
-
-    public ProjectConverter(ProjectService projectService) {
-        this.projectService = projectService;
-    }
-
-    @Override
-    public Project convert(@NonNull String something) {
-        if(something.matches(REGEX_TO_CHECK_IF_ITS_A_NUMBER)) {
-            Long id = Long.parseLong(something);
-            return projectService.getById(id);
-        }else{
-            String title = something;
-            return projectService.getByTitle(title);
-        }
-    }
-
-}
Index: c/main/java/com/db/finki/www/build_board/dto/AddRoleDTO.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/dto/AddRoleDTO.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,28 +1,0 @@
-package com.db.finki.www.build_board.dto;
-
-import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import lombok.*;
-
-import java.util.List;
-
-@Getter
-@Setter
-@AllArgsConstructor
-@NoArgsConstructor
-@JsonIgnoreProperties(ignoreUnknown = true)
-public class AddRoleDTO {
-    @JsonProperty
-    String name;
-    @JsonProperty
-    String projectTitle;
-
-    @JsonProperty
-    List<String> globalPermissions;
-
-    @JsonProperty
-    List<PermissionResourceDTO> permissionResourceDTOS;
-
-    @JsonProperty
-    String permissionOverrideType;
-}
Index: c/main/java/com/db/finki/www/build_board/dto/DeveloperWithRolesForProjectDTO.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/dto/DeveloperWithRolesForProjectDTO.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,17 +1,0 @@
-package com.db.finki.www.build_board.dto;
-
-import com.db.finki.www.build_board.entity.access_managment.ProjectRole;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import lombok.*;
-
-import java.util.List;
-
-@Getter
-@Setter
-@NoArgsConstructor
-@AllArgsConstructor
-@ToString
-public class DeveloperWithRolesForProjectDTO {
-    private BBUser user;
-    private List<ProjectRole> roles;
-}
Index: c/main/java/com/db/finki/www/build_board/dto/MembersPerRoleWrapper.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/dto/MembersPerRoleWrapper.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,13 +1,0 @@
-package com.db.finki.www.build_board.dto;
-
-import com.db.finki.www.build_board.entity.access_managment.ProjectRole;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import lombok.Data;
-
-import java.util.List;
-
-@Data
-public class MembersPerRoleWrapper {
-    private ProjectRole projectRole;
-    List<BBUser> users;
-}
Index: c/main/java/com/db/finki/www/build_board/dto/MessageDTO.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/dto/MessageDTO.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,21 +1,0 @@
-package com.db.finki.www.build_board.dto;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-import java.time.LocalDateTime;
-
-@NoArgsConstructor
-@AllArgsConstructor
-@Getter
-@Setter
-public class MessageDTO {
-    private String channelName;
-    private String content;
-    private String senderUsername;
-    private LocalDateTime sentAt;
-    private Integer projectId;
-    private String avatarUrl;
-}
Index: c/main/java/com/db/finki/www/build_board/dto/PermissionResourceDTO.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/dto/PermissionResourceDTO.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,17 +1,0 @@
-package com.db.finki.www.build_board.dto;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-import java.util.UUID;
-
-@AllArgsConstructor
-@NoArgsConstructor
-@Getter
-@Setter
-public class PermissionResourceDTO {
-    String permissionName;
-    UUID channelId;
-}
Index: c/main/java/com/db/finki/www/build_board/dto/PermissionResourceWrapper.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/dto/PermissionResourceWrapper.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,19 +1,0 @@
-package com.db.finki.www.build_board.dto;
-
-import com.db.finki.www.build_board.entity.access_managment.Permission;
-import com.db.finki.www.build_board.entity.channel.Channel;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-@Getter
-@Setter
-@AllArgsConstructor
-@NoArgsConstructor
-public class PermissionResourceWrapper {
-    Permission permission;
-    Channel channel;
-}
-
-
Index: c/main/java/com/db/finki/www/build_board/entity/access_managment/Permission.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/access_managment/Permission.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,42 +1,0 @@
-package com.db.finki.www.build_board.entity.access_managment;
-
-import jakarta.persistence.Entity;
-import jakarta.persistence.Id;
-import jakarta.persistence.ManyToOne;
-import jakarta.persistence.Table;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-import java.util.Objects;
-
-@Table(name = "permissions")
-@Entity
-@Getter
-@Setter
-@NoArgsConstructor
-public class Permission {
-    @Id
-    String name;
-
-    public static final String READ = "READ";
-    public static final String WRITE = "WRITE";
-    public static final String DELETE = "DELETE";
-    public static final String CREATE = "CREATE";
-
-    public Permission(String name){
-        this.name = name;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (o == null || getClass() != o.getClass()) return false;
-        Permission that = (Permission) o;
-        return Objects.equals(name, that.name);
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hashCode(name);
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/entity/access_managment/ProjectRole.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/access_managment/ProjectRole.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,59 +1,0 @@
-package com.db.finki.www.build_board.entity.access_managment;
-
-import com.db.finki.www.build_board.common.enums.ProjectResourcePermissionOverrideType;
-import com.db.finki.www.build_board.entity.thread.Project;
-import jakarta.persistence.*;
-import lombok.*;
-
-import java.util.Objects;
-
-@Table(name = "project_role")
-@Entity
-@Getter
-@Setter
-@AllArgsConstructor
-@NoArgsConstructor
-@ToString
-public class ProjectRole {
-    @Id
-    @GeneratedValue(strategy = GenerationType.SEQUENCE,generator = "project_role_id_gen")
-    @SequenceGenerator(name = "project_role_id_gen",sequenceName = "project_role_id_seq",allocationSize=1)
-    private Integer id;
-
-    String name;
-
-    @ManyToOne
-    @JoinColumn(name = "valid_in",referencedColumnName = "id")
-    Project project;
-
-    @Column(name = "override_type",nullable = false)
-    private String overrideType = "EXCLUDE";
-
-    public ProjectRole(Project project, String name) {
-        this.project = project;
-        this.name = name;
-    }
-    public ProjectRole(Project project, String name, String overrideType) {
-        this.project = project;
-        this.name = name;
-        this.overrideType = overrideType;
-    }
-
-    public ProjectResourcePermissionOverrideType getOverrideType() {
-        return overrideType.equals(ProjectResourcePermissionOverrideType.INCLUDE.name()) ?
-                ProjectResourcePermissionOverrideType.INCLUDE
-                : ProjectResourcePermissionOverrideType.EXCLUDE;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (o == null || getClass() != o.getClass()) return false;
-        ProjectRole that = (ProjectRole) o;
-        return Objects.equals(name, that.name) && Objects.equals(project, that.project);
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(name, project);
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/entity/access_managment/ProjectRolePermission.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/access_managment/ProjectRolePermission.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,33 +1,0 @@
-package com.db.finki.www.build_board.entity.access_managment;
-
-import com.db.finki.www.build_board.entity.compositeId.ProjectRolePermissionId;
-import jakarta.persistence.EmbeddedId;
-import jakarta.persistence.Entity;
-import jakarta.persistence.Table;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-@Table(name = "role_permissions")
-@Entity
-@NoArgsConstructor
-@Getter
-@Setter
-public class ProjectRolePermission {
-    @EmbeddedId
-    private ProjectRolePermissionId id;
-
-    public ProjectRolePermission(ProjectRolePermissionId projectRolePermissionId) {
-        this.id = projectRolePermissionId;
-    }
-
-    public Permission getPermission() {
-        return id.getPermission();
-    }
-
-    public ProjectRole getProjectRole() {
-        return id.getRole();
-    }
-
-
-}
Index: c/main/java/com/db/finki/www/build_board/entity/access_managment/ProjectRolePermissionResourceOverride.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/access_managment/ProjectRolePermissionResourceOverride.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,27 +1,0 @@
-package com.db.finki.www.build_board.entity.access_managment;
-
-import com.db.finki.www.build_board.entity.compositeId.ProjectRolePermissionResourceOverrideId;
-import jakarta.persistence.EmbeddedId;
-import jakarta.persistence.Entity;
-import jakarta.persistence.Table;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-@Entity
-@Table(name = "role_permissions_overrides")
-@Getter
-@Setter
-@NoArgsConstructor
-@AllArgsConstructor
-public class ProjectRolePermissionResourceOverride {
-
-    @EmbeddedId
-    private ProjectRolePermissionResourceOverrideId id;
-
-
-    public ProjectRolePermission getProjectRolePermission() {
-        return id.getProjectRolePermission();
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/entity/access_managment/UsersProjectRoles.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/access_managment/UsersProjectRoles.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,30 +1,0 @@
-package com.db.finki.www.build_board.entity.access_managment;
-
-import com.db.finki.www.build_board.entity.compositeId.UsersProjectRolesId;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import jakarta.persistence.EmbeddedId;
-import jakarta.persistence.Entity;
-import jakarta.persistence.Table;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-@Entity
-@Table(name = "project_role_is_assigned_to_developer")
-@AllArgsConstructor
-@NoArgsConstructor
-@Getter
-@Setter
-public class UsersProjectRoles {
-    @EmbeddedId
-    UsersProjectRolesId id;
-
-    public ProjectRole getProjectRole() {
-        return id.getRole();
-    }
-    public BBUser getUser() {
-        return id.getUser();
-    }
-
-}
Index: c/main/java/com/db/finki/www/build_board/entity/blacklisted_user/BlacklistedUser.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/blacklisted_user/BlacklistedUser.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,57 +1,0 @@
-package com.db.finki.www.build_board.entity.blacklisted_user;
-
-import com.db.finki.www.build_board.entity.thread.Topic;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.entity.user_type.Moderator;
-import jakarta.persistence.*;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.time.LocalDateTime;
-
-@Entity
-@Getter
-@Setter
-public class BlacklistedUser {
-
-    @Id
-    @GeneratedValue(strategy = GenerationType.SEQUENCE,generator = "blacklisted_user_id_gen")
-    @SequenceGenerator(name = "blacklisted_user_id_gen",sequenceName = "blacklisted_user_id_seq",allocationSize=1)
-    private Integer id;
-
-    @ManyToOne
-    @JoinColumn(name = "blacklisted_from")
-    Topic topic;
-
-    @ManyToOne
-    @JoinColumn(name = "blacklisted_by")
-    Moderator moderator;
-
-    @Column(name = "start_date")
-    LocalDateTime startTime;
-
-    @ManyToOne
-    @JoinColumn(name = "refers_to")
-    BBUser refersTo;
-
-    String reason;
-
-    @Column(name = "end_date")
-    LocalDateTime endTime;
-
-    public BlacklistedUser(
-            Topic topic,
-            Moderator moderator,
-            LocalDateTime startTime,
-            BBUser refersTo,
-            String reason
-                          ) {
-        setTopic(topic);
-        setModerator(moderator);
-        setStartTime(startTime);
-        setRefersTo(refersTo);
-        setReason(reason);
-    }
-
-    public BlacklistedUser(){}
-}
Index: c/main/java/com/db/finki/www/build_board/entity/blacklisted_user/BlacklistedUserId.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/blacklisted_user/BlacklistedUserId.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,14 +1,0 @@
-package com.db.finki.www.build_board.entity.blacklisted_user;
-
-import com.db.finki.www.build_board.entity.thread.Topic;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.entity.user_type.Moderator;
-
-import java.time.LocalDateTime;
-
-public class BlacklistedUserId {
-    Topic topic;
-    Moderator moderator;
-    LocalDateTime startTime;
-    BBUser refersTo;
-}
Index: c/main/java/com/db/finki/www/build_board/entity/channel/Channel.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/channel/Channel.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,42 +1,0 @@
-package com.db.finki.www.build_board.entity.channel;
-
-import com.db.finki.www.build_board.entity.thread.Project;
-import com.db.finki.www.build_board.entity.user_type.Developer;
-import jakarta.persistence.*;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-import java.util.UUID;
-
-@Table(name = "channel")
-@Entity
-@Getter
-@Setter
-@NoArgsConstructor
-public class Channel {
-
-    @Id
-    @GeneratedValue
-    private UUID id;
-
-    private String name;
-
-    @ManyToOne
-    @JoinColumn(name = "project_has",referencedColumnName = "id",nullable = false)
-    private Project project;
-
-    private String description;
-
-    @ManyToOne
-    @JoinColumn(name = "constructed_by",referencedColumnName = "id",nullable = false)
-    private Developer developer;
-
-
-    public Channel(String name, Project project, String description, Developer developer) {
-        this.name = name;
-        this.project = project;
-        this.description = description;
-        this.developer = developer;
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/entity/channel/Message.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/channel/Message.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,38 +1,0 @@
-package com.db.finki.www.build_board.entity.channel;
-
-import com.db.finki.www.build_board.entity.compositeId.MessageId;
-import com.db.finki.www.build_board.entity.thread.Project;
-import com.db.finki.www.build_board.entity.user_type.Developer;
-import jakarta.persistence.*;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-import java.time.LocalDateTime;
-
-@Table(name = "messages")
-@Entity
-@Getter
-@Setter
-@NoArgsConstructor
-@IdClass(MessageId.class)
-@AllArgsConstructor
-public class Message {
-
-    @Id
-    @ManyToOne
-    @JoinColumn(name = "sent_in",referencedColumnName = "id")
-    private Channel channel;
-
-    @Id
-    @ManyToOne
-    @JoinColumn(name = "sent_by",referencedColumnName = "id",nullable = false)
-    private Developer sentBy;
-
-    @Id
-    @Column(name = "sent_at")
-    private LocalDateTime sentAt;
-
-    private String content;
-}
Index: c/main/java/com/db/finki/www/build_board/entity/compositeId/DeveloperAssociatedWithProjectId.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/compositeId/DeveloperAssociatedWithProjectId.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,16 +1,0 @@
-package com.db.finki.www.build_board.entity.compositeId;
-
-import com.db.finki.www.build_board.entity.thread.Project;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.time.LocalDateTime;
-
-@Getter
-@Setter
-public class DeveloperAssociatedWithProjectId {
-    private BBUser developer;
-    private Project project;
-    private LocalDateTime startedAt;
-}
Index: c/main/java/com/db/finki/www/build_board/entity/compositeId/MessageId.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/compositeId/MessageId.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,28 +1,0 @@
-package com.db.finki.www.build_board.entity.compositeId;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import java.time.LocalDateTime;
-import java.util.Objects;
-import java.util.UUID;
-
-@Getter
-@Setter
-public class MessageId {
-    private UUID channel;
-    private int sentBy;
-    private LocalDateTime sentAt;
-
-    @Override
-    public boolean equals(Object o) {
-        if (o == null || getClass() != o.getClass()) return false;
-        MessageId messageId = (MessageId) o;
-        return sentBy == messageId.sentBy && Objects.equals(channel, messageId.channel) && Objects.equals(sentAt, messageId.sentAt);
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(channel, sentBy, sentAt);
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/entity/compositeId/ProjectRolePermissionId.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/compositeId/ProjectRolePermissionId.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,45 +1,0 @@
-package com.db.finki.www.build_board.entity.compositeId;
-
-
-import com.db.finki.www.build_board.entity.access_managment.Permission;
-import com.db.finki.www.build_board.entity.access_managment.ProjectRole;
-import jakarta.persistence.Embeddable;
-import jakarta.persistence.ManyToOne;
-
-import jakarta.persistence.*;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-
-import java.io.Serializable;
-import java.util.Objects;
-
-@Embeddable
-@Getter
-@AllArgsConstructor
-@NoArgsConstructor
-public class ProjectRolePermissionId implements Serializable {
-
-    @ManyToOne
-    @JoinColumn(name = "for_permission", referencedColumnName = "name")
-    private Permission permission;
-
-    @ManyToOne
-    @JoinColumn(name = "for_role", referencedColumnName = "id")
-    private ProjectRole role;
-
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (!(o instanceof ProjectRolePermissionId that)) return false;
-        return Objects.equals(permission, that.permission) &&
-                Objects.equals(role, that.role);
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(permission, role);
-    }
-}
-
Index: c/main/java/com/db/finki/www/build_board/entity/compositeId/ProjectRolePermissionResourceOverrideId.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/compositeId/ProjectRolePermissionResourceOverrideId.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,41 +1,0 @@
-package com.db.finki.www.build_board.entity.compositeId;
-
-import com.db.finki.www.build_board.entity.access_managment.ProjectRolePermission;
-import com.db.finki.www.build_board.entity.channel.Channel;
-import jakarta.persistence.*;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-import java.util.Objects;
-
-@Embeddable
-@Getter
-@Setter
-@AllArgsConstructor
-@NoArgsConstructor
-public class ProjectRolePermissionResourceOverrideId {
-    @ManyToOne(optional = false)
-    @JoinColumns({
-            @JoinColumn(name = "for_role_permission_role_id",referencedColumnName = "for_role"),
-            @JoinColumn(name = "for_role_permission_permission_name",referencedColumnName = "for_permission")
-    })
-    private ProjectRolePermission projectRolePermission;
-
-    @ManyToOne(optional = false)
-    @JoinColumn(name = "for_resource",referencedColumnName = "id")
-    private Channel channel;
-
-    @Override
-    public boolean equals(Object o) {
-        if (o == null || getClass() != o.getClass()) return false;
-        ProjectRolePermissionResourceOverrideId that = (ProjectRolePermissionResourceOverrideId) o;
-        return Objects.equals(projectRolePermission, that.projectRolePermission) && Objects.equals(channel, that.channel);
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(projectRolePermission, channel);
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/entity/compositeId/UsersProjectRolesId.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/compositeId/UsersProjectRolesId.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,27 +1,0 @@
-package com.db.finki.www.build_board.entity.compositeId;
-
-import com.db.finki.www.build_board.entity.access_managment.ProjectRole;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import jakarta.persistence.Embeddable;
-import jakarta.persistence.JoinColumn;
-import jakarta.persistence.JoinColumns;
-import jakarta.persistence.ManyToOne;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-@Embeddable
-@Getter
-@Setter
-@AllArgsConstructor
-@NoArgsConstructor
-public class UsersProjectRolesId {
-    @ManyToOne
-    @JoinColumn(name = "role_id", referencedColumnName = "id")
-    ProjectRole role;
-    @ManyToOne
-    @JoinColumn(name = "user_id", referencedColumnName = "id")
-    BBUser user;
-
-}
Index: c/main/java/com/db/finki/www/build_board/entity/entity_enum/FeedbackFor.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/entity_enum/FeedbackFor.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,6 +1,0 @@
-package com.db.finki.www.build_board.entity.entity_enum;
-
-public enum FeedbackFor {
-    R, //report
-    P //project-request
-}
Index: c/main/java/com/db/finki/www/build_board/entity/entity_enum/Status.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/entity_enum/Status.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,7 +1,0 @@
-package com.db.finki.www.build_board.entity.entity_enum;
-
-public enum Status {
-    ACCEPTED,
-    DENIED,
-    PENDING
-}
Index: c/main/java/com/db/finki/www/build_board/entity/request/Feedback.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/request/Feedback.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,51 +1,0 @@
-package com.db.finki.www.build_board.entity.request;
-
-import com.db.finki.www.build_board.entity.entity_enum.FeedbackFor;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import jakarta.persistence.*;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-import java.time.LocalDateTime;
-
-@Entity
-@Getter
-@Setter
-@NoArgsConstructor
-public class Feedback {
-    @Id
-    @Column(name = "submission_id")
-    private Integer id;
-
-    @OneToOne
-    @JoinColumn(name = "submitted_for")
-    @MapsId
-    private Submission forSubmission;
-
-    private String description;
-
-    @Enumerated(EnumType.STRING)
-    private FeedbackFor submissionType;
-
-    @ManyToOne
-    @JoinColumn(name = "written_by")
-    private BBUser creator;
-
-    private LocalDateTime createdAt;
-
-    public Feedback(FeedbackFor submissionType, BBUser creator, String description, Submission sub) {
-        setDescription(description);
-        setSubmissionType(submissionType);
-        setCreator(creator);
-        setForSubmission(sub);
-        setCreatedAt(LocalDateTime.now());
-    }
-
-    public Feedback(FeedbackFor feedbackFor, BBUser creator, Submission sub) {
-        setSubmissionType(feedbackFor);
-        setCreator(creator);
-        setForSubmission(sub);
-        setCreatedAt(LocalDateTime.now());
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/entity/request/ProjectRequests.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/request/ProjectRequests.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,30 +1,0 @@
-package com.db.finki.www.build_board.entity.request;
-
-import com.db.finki.www.build_board.entity.entity_enum.Status;
-import com.db.finki.www.build_board.entity.thread.Project;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import jakarta.persistence.*;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-import java.time.LocalDateTime;
-
-@Getter
-@Setter
-@NoArgsConstructor
-@Entity
-@Table(name = "project_request")
-public class ProjectRequests extends Submission {
-    @ManyToOne
-    @JoinColumn(name = "project_receives")
-    private Project project;
-
-    public ProjectRequests(Project project, BBUser creator, String description) {
-        setDescription(description);
-        setCreator(creator);
-        setProject(project);
-        setStatus(Status.PENDING);
-        setCreatedAt(LocalDateTime.now());
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/entity/request/Report.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/request/Report.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,38 +1,0 @@
-package com.db.finki.www.build_board.entity.request;
-
-import com.db.finki.www.build_board.entity.entity_enum.Status;
-import com.db.finki.www.build_board.entity.thread.Topic;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import jakarta.persistence.Entity;
-import jakarta.persistence.JoinColumn;
-import jakarta.persistence.ManyToOne;
-import jakarta.persistence.Table;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-import java.time.LocalDateTime;
-
-@Entity
-@Getter
-@Setter
-@NoArgsConstructor
-@Table(name = "report")
-public class Report extends Submission {
-    @ManyToOne
-    @JoinColumn(name = "about")
-    BBUser user;
-
-    @ManyToOne
-    @JoinColumn(name = "for_misconduct_in")
-    Topic topic;
-
-    public Report(Topic topic, BBUser creator, String description, BBUser misconductedUser) {
-        setDescription(description);
-        setCreator(creator);
-        setTopic(topic);
-        setStatus(Status.PENDING);
-        setCreatedAt(LocalDateTime.now());
-        setUser(misconductedUser);
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/entity/request/Submission.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/request/Submission.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,37 +1,0 @@
-package com.db.finki.www.build_board.entity.request;
-
-import java.time.LocalDateTime;
-
-import com.db.finki.www.build_board.entity.entity_enum.Status;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-
-import jakarta.persistence.*;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-@Entity
-@Table(name = "submission")
-@Getter
-@Setter
-@NoArgsConstructor
-@Inheritance(strategy = InheritanceType.JOINED)
-public class Submission {
-    @Id
-    @GeneratedValue(generator = "sub_gen",strategy = GenerationType.SEQUENCE)
-    @SequenceGenerator(name = "sub_gen",sequenceName = "submission_id_seq",allocationSize = 1,initialValue = 0)
-    private Integer id;
-
-    @OneToOne(mappedBy = "forSubmission")
-    private Feedback feedback;
-
-    LocalDateTime createdAt;
-    String description; 
-    
-    @Enumerated(EnumType.STRING)
-    Status status;
-
-    @ManyToOne
-    @JoinColumn(name = "submitted_by")
-    BBUser creator;
-}
Index: c/main/java/com/db/finki/www/build_board/entity/thread/BBThread.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/thread/BBThread.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,50 +1,0 @@
-package com.db.finki.www.build_board.entity.thread;
-
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import jakarta.persistence.*;
-import lombok.*;
-
-import java.time.LocalDateTime;
-import java.util.HashSet;
-import java.util.Set;
-
-@Entity
-@Getter
-@Setter
-@NoArgsConstructor
-@Table(name = "thread")
-@Inheritance(strategy = InheritanceType.JOINED)
-public class BBThread {
-    @Id
-    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "thread_gen")
-    @SequenceGenerator(name = "thread_gen", sequenceName = "thread_id_seq", allocationSize = 1)
-    protected Integer id;
-
-    protected String content;
-
-    @ManyToOne
-    @JoinColumn(name="is_created_by")
-    protected BBUser user;
-
-    @ManyToMany
-    @JoinTable(
-            name = "tag_assigned_to_thread",
-            joinColumns = @JoinColumn(name = "thread_id"),
-            inverseJoinColumns = @JoinColumn(name = "tag_name")
-    )
-    protected Set<Tag> tags = new HashSet<>();
-
-    @ManyToMany
-    @JoinTable(
-            name = "likes",
-            joinColumns = @JoinColumn(name = "thread_id"),
-            inverseJoinColumns = @JoinColumn(name = "user_id")
-    )
-    protected Set<BBUser> likes = new HashSet<>();
-
-    private LocalDateTime createdAt = LocalDateTime.now();
-
-    public int getNumLikes(){
-        return likes.size();
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/entity/thread/EmbeddableThread.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/thread/EmbeddableThread.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,20 +1,0 @@
-package com.db.finki.www.build_board.entity.thread;
-
-import jakarta.persistence.Entity;
-import jakarta.persistence.Id;
-import jakarta.persistence.Table;
-import lombok.EqualsAndHashCode;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-@Getter
-@Setter
-@NoArgsConstructor
-@EqualsAndHashCode(callSuper = false)
-@Entity
-@Table(name = "embeddable_thread")
-public class EmbeddableThread extends BBThread {
-    @Id
-    Integer id ;
-}
Index: c/main/java/com/db/finki/www/build_board/entity/thread/Project.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/thread/Project.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,55 +1,0 @@
-package com.db.finki.www.build_board.entity.thread;
-
-import com.db.finki.www.build_board.entity.request.ProjectRequests;
-import com.db.finki.www.build_board.entity.channel.Channel;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import jakarta.persistence.*;
-import lombok.*;
-
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-@Getter
-@Setter
-@NoArgsConstructor
-@EqualsAndHashCode(callSuper = false)
-@Entity
-@Table(name = "project_thread")
-public class Project extends BBThread {
-
-    private String title;
-
-    @Column(name = "repo_url")
-    private String repoUrl;
-
-    public Project(String title, String repoUrl, String description, BBUser user){
-        setTitle(title);
-        setRepoUrl(repoUrl);
-        setDescription(description);
-        setUser(user);
-    }
-
-    @OneToMany(cascade = {CascadeType.PERSIST,CascadeType.MERGE}, mappedBy = "parent")
-    private List<Topic> topics = new ArrayList<>();
-
-    @ManyToMany(cascade = {CascadeType.PERSIST,CascadeType.MERGE})
-    @JoinTable(
-            name ="developer_associated_with_project",
-            joinColumns = @JoinColumn(name = "in_project"),
-            inverseJoinColumns = @JoinColumn(name = "about_dev")
-    )
-    private Set<BBUser> developers = new HashSet<>(); // NE GO KORISTI GETTEROT OVDE
-
-    @OneToMany(mappedBy = "project")
-    private Set<ProjectRequests> requests = new HashSet<>();
-
-    @OneToMany(mappedBy = "project")
-    @OrderBy("name")
-    private Set<Channel> channels;
-
-    public String getDescription() {return content;}
-    public void setDescription(String description) {this.content = description;}
-
-}
Index: c/main/java/com/db/finki/www/build_board/entity/thread/Tag.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/thread/Tag.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,55 +1,0 @@
-package com.db.finki.www.build_board.entity.thread;
-
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.fasterxml.jackson.annotation.JsonGetter;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import jakarta.persistence.*;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-
-@Getter
-@Setter
-@NoArgsConstructor
-@Entity
-@Table(name = "tag")
-public class Tag implements Serializable {
-    @Id
-    String name;
-
-    @ManyToOne
-    @JoinColumn(name = "creator_id")
-    BBUser creator;
-
-    public Tag(String name, BBUser user) {
-        this.name = name;
-        this.creator = user;
-    }
-
-    @JsonIgnore
-    @ManyToMany(mappedBy = "tags")
-    private List<BBThread> threads = new ArrayList<>();
-
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-        Tag tag = (Tag) o;
-        return Objects.equals(name, tag.name);
-    }
-
-    @JsonGetter("creator")
-    public String getCreatorUsernameJackson(){
-        return creator.getUsername() == null ? "" : creator.getUsername() ;
-    }
-    @Override
-    public int hashCode() {
-        return Objects.hashCode(name);
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/entity/thread/Topic.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/thread/Topic.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,31 +1,0 @@
-package com.db.finki.www.build_board.entity.thread;
-
-import com.db.finki.www.build_board.entity.blacklisted_user.BlacklistedUser;
-import com.db.finki.www.build_board.entity.thread.multi_valued_attribute.Guideline;
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import jakarta.persistence.*;
-import lombok.*;
-
-import java.util.List;
-
-@Getter
-@Setter
-@NoArgsConstructor
-@Entity
-@Table(name = "topic_thread")
-public class Topic extends EmbeddableThread {
-
-    private String title;
-
-    @JsonIgnore
-    @OneToMany(mappedBy = "topic")
-    private List<Guideline> guidelines;
-
-    @ManyToOne
-    @JoinColumn(name = "referenced_by")
-    private Project parent;
-
-    @OneToMany(mappedBy = "topic")
-    private List<BlacklistedUser> blacklistedUsers;
-
-}
Index: c/main/java/com/db/finki/www/build_board/entity/thread/discussion_thread/Discussion.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/thread/discussion_thread/Discussion.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,16 +1,0 @@
-package com.db.finki.www.build_board.entity.thread.discussion_thread;
-
-import com.db.finki.www.build_board.entity.thread.EmbeddableThread;
-import jakarta.persistence.*;
-import lombok.Getter;
-import lombok.Setter;
-
-@Entity
-@Table(name = "discussion_thread")
-@Getter
-@Setter
-public class Discussion extends EmbeddableThread {
-    @ManyToOne
-    @JoinColumn(name = "contained_in")
-    private EmbeddableThread parent;
-}
Index: c/main/java/com/db/finki/www/build_board/entity/thread/discussion_thread/VDiscussion.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/thread/discussion_thread/VDiscussion.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,49 +1,0 @@
-package com.db.finki.www.build_board.entity.thread.discussion_thread;
-
-
-import com.db.finki.www.build_board.entity.thread.Topic;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import jakarta.persistence.*;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-import org.hibernate.annotations.Immutable;
-
-import java.util.ArrayList;
-import java.util.List; 
-import java.time.LocalDateTime;
-
-@Entity
-@Immutable
-@Table(name="v_discussion_thread")
-@Getter
-@Setter
-@NoArgsConstructor
-public class VDiscussion {
-    @Id
-    private Integer id;
-
-    @MapsId
-    @OneToOne
-    @JoinColumn(name="id")
-    private Discussion discussion;
-
-    private int depth;
-
-    @ManyToOne
-    @JoinColumn(name="user_id")
-    private BBUser user;
-
-    public String getAvatarUrl(){
-        return user.getAvatarUrl();
-    }
-
-    @ManyToOne
-    @JoinColumn(name="parent_id")
-    private Topic parentTopic;
-
-    private LocalDateTime createdAt;
-
-    @Transient
-    private List<VDiscussion> children = new ArrayList<>();
-}
Index: c/main/java/com/db/finki/www/build_board/entity/thread/multi_valued_attribute/Guideline.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/thread/multi_valued_attribute/Guideline.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,26 +1,0 @@
-package com.db.finki.www.build_board.entity.thread.multi_valued_attribute;
-
-import com.db.finki.www.build_board.entity.thread.Topic;
-import jakarta.persistence.*;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-
-@Getter
-@Setter
-@NoArgsConstructor
-@Entity
-@Table(name = "topic_guidelines")
-public class Guideline {
-    @Id
-    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "guideline_gen")
-    @SequenceGenerator(name = "guideline_gen", sequenceName = "topic_guidelines_id_seq",  allocationSize = 1)
-    private Integer id;
-
-    @ManyToOne(fetch = FetchType.LAZY)
-    @JoinColumn(name = "topic_id")
-    private Topic topic;
-
-    private String description;
-
-}
Index: c/main/java/com/db/finki/www/build_board/entity/user_type/BBUser.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/user_type/BBUser.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,102 +1,0 @@
-package com.db.finki.www.build_board.entity.user_type;
-
-import com.db.finki.www.build_board.entity.access_managment.ProjectRole;
-import com.db.finki.www.build_board.entity.thread.BBThread;
-import com.db.finki.www.build_board.entity.thread.Project;
-import com.db.finki.www.build_board.service.util.FileUploadService;
-import jakarta.persistence.*;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-import lombok.ToString;
-import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
-import org.springframework.security.core.userdetails.UserDetails;
-
-import java.io.File;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.time.LocalDateTime;
-import java.util.*;
-
-
-@Getter
-@Setter
-@NoArgsConstructor
-@Entity
-@Table(name = "users")
-@Inheritance(strategy = InheritanceType.JOINED)
-public class BBUser implements UserDetails {
-
-    @Id
-    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "user_gen")
-    @SequenceGenerator(name = "user_gen", sequenceName = "users_id_seq", allocationSize = 1)
-    private int id;
-
-    private String username;
-    private String password;
-    private String description;
-
-    private String name;
-    private String email;
-
-    @Column(name = "registered_at")
-    private LocalDateTime registeredAt;
-
-    @Column(name = "is_activate")
-    private boolean isEnabled;
-    private String sex;
-
-    @OneToMany(mappedBy = "user")
-    private List<BBThread> threads;
-
-    @ManyToMany(mappedBy = "developers")
-    private List<Project> projects = new ArrayList<>();
-
-    @Override
-    public boolean isEnabled() {
-        return isEnabled;
-    }
-
-    @Override
-    public Collection<? extends GrantedAuthority> getAuthorities() {
-        return List.of();
-    }
-
-    public String getAvatarUrl() {
-        Path path = Path.of(FileUploadService.USER_AVATAR_DIR + File.separator + "avatar-" + id);
-        return Files.exists(path) ? File.separator + "avatars" + File.separator + "avatar-"+id : File.separator + "default-avatar.jpg";
-    }
-
-
-    @Override
-    public boolean equals(Object other){
-        System.out.println("VLEZE EQUALS");
-        if(!(other instanceof BBUser)){
-            return false;
-        }
-        BBUser otherCasted = (BBUser) other;
-        return otherCasted.getId() == this.id;
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hashCode(id);
-    }
-
-    public BBUser(
-            String username, String email, String name, String password, String description, String sex
-    ){
-        this.username = username;
-        this.email = email;
-        this.name = name;
-        this.password = password;
-        this.description = description;
-        this.sex=sex;
-        this.isEnabled=true;
-    }
-
-    public List<GrantedAuthority> getAuthority(){
-        return List.of(new SimpleGrantedAuthority("ROLE_USER"));
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/entity/user_type/Developer.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/user_type/Developer.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,23 +1,0 @@
-package com.db.finki.www.build_board.entity.user_type;
-
-import jakarta.persistence.Entity;
-import jakarta.persistence.Table;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
-
-import java.util.List;
-
-@Entity
-@Table(name = "developer")
-@Getter
-@Setter
-@NoArgsConstructor
-public class Developer extends BBUser{
-    @Override
-    public List<GrantedAuthority> getAuthority(){
-        return List.of(new SimpleGrantedAuthority("ROLE_DEVELOPER"));
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/entity/user_type/DeveloperAssociatedWithProject.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/user_type/DeveloperAssociatedWithProject.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,29 +1,0 @@
-package com.db.finki.www.build_board.entity.user_type;
-
-import com.db.finki.www.build_board.entity.compositeId.DeveloperAssociatedWithProjectId;
-import com.db.finki.www.build_board.entity.thread.Project;
-import jakarta.persistence.*;
-
-import java.time.LocalDateTime;
-
-@Entity
-@Table(name = "developer_associated_with_project")
-@IdClass(DeveloperAssociatedWithProjectId.class)
-public class DeveloperAssociatedWithProject {
-    @Id
-    @ManyToOne
-    @JoinColumn(name = "about_dev")
-    private BBUser developer;
-
-    @Id
-    @ManyToOne
-    @JoinColumn(name = "in_project")
-    private Project project;
-
-    @Id
-    @Column(name = "started_at")
-    private LocalDateTime startedAt;
-
-    @Column(name = "ended_at")
-    private LocalDateTime endedAt;
-}
Index: c/main/java/com/db/finki/www/build_board/entity/user_type/Moderator.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/user_type/Moderator.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,23 +1,0 @@
-package com.db.finki.www.build_board.entity.user_type;
-
-import jakarta.persistence.Entity;
-import jakarta.persistence.Table;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
-
-import java.util.List;
-
-@Entity
-@Getter
-@Setter
-@NoArgsConstructor
-@Table(name = "moderator")
-public class Moderator extends BBUser {
-    @Override
-    public List<GrantedAuthority> getAuthority(){
-        return List.of(new SimpleGrantedAuthority("ROLE_MODERATOR"));
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/entity/user_type/ProjectOwner.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/user_type/ProjectOwner.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,23 +1,0 @@
-package com.db.finki.www.build_board.entity.user_type;
-
-import jakarta.persistence.Entity;
-import jakarta.persistence.Table;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-import org.springframework.security.core.GrantedAuthority;
-import org.springframework.security.core.authority.SimpleGrantedAuthority;
-
-import java.util.List;
-
-@Getter
-@Setter
-@NoArgsConstructor
-@Entity
-@Table(name = "project_manager")
-public class ProjectOwner extends Developer{
-    @Override
-    public List<GrantedAuthority> getAuthority(){
-        return List.of(new SimpleGrantedAuthority("ROLE_PROJECT_OWNER"));
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/entity/view/NamedThread.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/view/NamedThread.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,40 +1,0 @@
-package com.db.finki.www.build_board.entity.view;
-
-
-import com.db.finki.www.build_board.service.util.FileUploadService;
-import jakarta.persistence.Entity;
-import jakarta.persistence.Id;
-import jakarta.persistence.Table;
-import lombok.Getter;
-import lombok.Setter;
-import org.hibernate.annotations.Immutable;
-
-import java.io.File;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.time.LocalDateTime;
-import java.util.List;
-
-@Getter
-@Setter
-@Entity
-@Immutable
-@Table(name = "v_named_threads")
-public class NamedThread {
-    @Id
-    private Integer id;
-    private String content;
-    private String title;
-    private String username;
-    private Integer userId;
-    private LocalDateTime createdAt;
-    private String type;
-    private List<String> tags;
-
-    public String getUsersAvatarUrl() {
-        Path path =
-                Path.of(FileUploadService.USER_AVATAR_DIR + File.separator + "avatar-" + userId);
-        return Files.exists(path) ? File.separator + "avatars" + File.separator + "avatar-"+userId:
-                File.separator + "default-avatar.jpg";
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/entity/view/RoleChannelPermissions.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/entity/view/RoleChannelPermissions.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,44 +1,0 @@
-package com.db.finki.www.build_board.entity.view;
-
-import com.db.finki.www.build_board.entity.access_managment.ProjectRole;
-import jakarta.persistence.*;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-import lombok.NoArgsConstructor;
-import lombok.Setter;
-import org.hibernate.annotations.Immutable;
-
-import java.util.Objects;
-import java.util.UUID;
-
-@Entity
-@Immutable
-@Table(name = "role_channel_permissions")
-@Getter
-@Setter
-@AllArgsConstructor
-@NoArgsConstructor
-public class RoleChannelPermissions {
-    @Id
-    @Column(name = "channel_id")
-    private UUID channelId;
-    @Column(name = "name")
-    private String channelName;
-    @ManyToOne
-    @JoinColumn(name = "role_id",referencedColumnName = "id")
-    private ProjectRole role;
-    @Column(name = "permissions")
-    private String permissions; // comma seperated PERMISSIONS
-
-    @Override
-    public boolean equals(Object o) {
-        if (o == null || getClass() != o.getClass()) return false;
-        RoleChannelPermissions that = (RoleChannelPermissions) o;
-        return Objects.equals(channelId, that.channelId) && Objects.equals(channelName, that.channelName) && Objects.equals(role, that.role) && Objects.equals(permissions, that.permissions);
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(channelId, channelName, role, permissions);
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/mapper/Mapper.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/mapper/Mapper.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,12 +1,0 @@
-package com.db.finki.www.build_board.mapper;
-
-import java.util.List;
-
-
-public interface Mapper<T,S> {
-    S toDTO(T entity);
-    List<S> toDTO(List<T> entities);
-
-    T fromDTO(S dto);
-    List<T> fromDTO(List<S> dtos);
-}
Index: c/main/java/com/db/finki/www/build_board/mapper/MessageMapper.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/mapper/MessageMapper.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,51 +1,0 @@
-package com.db.finki.www.build_board.mapper;
-
-import com.db.finki.www.build_board.dto.MessageDTO;
-import com.db.finki.www.build_board.entity.channel.Channel;
-import com.db.finki.www.build_board.entity.channel.Message;
-import com.db.finki.www.build_board.entity.thread.Project;
-import com.db.finki.www.build_board.entity.user_type.Developer;
-import com.db.finki.www.build_board.repository.DeveloperRepository;
-import com.db.finki.www.build_board.service.channel.ChannelService;
-import com.db.finki.www.build_board.service.thread.impl.ProjectService;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-
-@Component
-public class MessageMapper implements Mapper<Message,MessageDTO>{
-
-    private final ProjectService projectService;
-    private final DeveloperRepository developerRepository;
-    private final ChannelService channelService;
-
-    public MessageMapper(ProjectService projectService, DeveloperRepository developerRepository, ChannelService channelService) {
-        this.projectService = projectService;
-        this.developerRepository = developerRepository;
-        this.channelService = channelService;
-    }
-
-    @Override
-    public MessageDTO toDTO(Message message) {
-        return new MessageDTO(message.getChannel().getName(),message.getContent(),message.getSentBy().getUsername(),message.getSentAt(),message.getChannel().getProject().getId(),message.getSentBy().getAvatarUrl());
-    }
-
-    @Override
-    public List<MessageDTO> toDTO(List<Message> messages) {
-        return messages.stream().map(this::toDTO).toList();
-    }
-
-    @Override
-    public Message fromDTO(MessageDTO dto) {
-        Developer d =  developerRepository.findByUsername(dto.getSenderUsername());
-        Project p =  projectService.getById((long)dto.getProjectId());
-        Channel c = channelService.getByNameAndProject(dto.getChannelName(),p);
-
-        return new Message(c,d,dto.getSentAt(), dto.getContent());
-    }
-
-    @Override
-    public List<Message> fromDTO(List<MessageDTO> dtos) {
-        return dtos.stream().map(this::fromDTO).toList();
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/repository/BlacklistedUserRepo.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/BlacklistedUserRepo.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,36 +1,0 @@
-package com.db.finki.www.build_board.repository;
-
-import com.db.finki.www.build_board.entity.blacklisted_user.BlacklistedUser;
-import com.db.finki.www.build_board.entity.blacklisted_user.BlacklistedUserId;
-import jakarta.transaction.Transactional;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.data.jpa.repository.Modifying;
-import org.springframework.data.jpa.repository.Query;
-import org.springframework.data.repository.query.Param;
-
-import java.time.LocalDateTime;
-import java.util.List;
-
-public interface BlacklistedUserRepo extends JpaRepository<BlacklistedUser, BlacklistedUserId> {
-    @Query(nativeQuery = true,
-    value = """
-        select exists(
-                select *
-                from blacklisted_user bu
-                where bu.end_date is NULL and bu.refers_to=:userId and bu.blacklisted_from = :topicId
-        ) 
-    """)
-    boolean isUserInBlacklist(@Param("userId") long userId, @Param("topicId") long topicId);
-
-    @Modifying
-    @Transactional
-    @Query(nativeQuery = true,
-    value = """
-    update blacklisted_user
-    set end_date = now()
-    where blacklisted_from=:topic and refers_to = :user
-""")
-    void revoke(@Param("topic") long topicId, @Param("user") int blacklistedUserId);
-
-    List<BlacklistedUser> findAllByTopicIdAndEndTimeIsNull(Integer topicI);
-}
Index: c/main/java/com/db/finki/www/build_board/repository/DeveloperRepository.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/DeveloperRepository.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,11 +1,0 @@
-package com.db.finki.www.build_board.repository;
-
-import com.db.finki.www.build_board.entity.user_type.Developer;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface DeveloperRepository extends JpaRepository<Developer, Integer> {
-    Developer findById(int id);
-    Developer findByUsername(String username);
-}
Index: c/main/java/com/db/finki/www/build_board/repository/ModeratorRepository.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/ModeratorRepository.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,7 +1,0 @@
-package com.db.finki.www.build_board.repository;
-
-import com.db.finki.www.build_board.entity.user_type.Moderator;
-import org.springframework.data.jpa.repository.JpaRepository;
-
-public interface ModeratorRepository extends JpaRepository<Moderator,Integer> {
-}
Index: c/main/java/com/db/finki/www/build_board/repository/NamedThreadRepository.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/NamedThreadRepository.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,27 +1,0 @@
-package com.db.finki.www.build_board.repository;
-
-import com.db.finki.www.build_board.entity.view.NamedThread;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.data.jpa.repository.Query;
-import org.springframework.data.repository.query.Param;
-
-import java.util.List;
-
-public interface NamedThreadRepository extends JpaRepository<NamedThread, Integer> {
-    @Query(nativeQuery = true,
-            value = """
-                    SELECT * 
-                    FROM v_named_threads t 
-                    WHERE (:title IS NULL OR t.title ILIKE :title || '%') 
-                    AND (CAST(:type as varchar) IS NULL OR t.type ilike :type || '%') 
-                    AND (CAST(:content as varchar) IS NULL OR t.content ILIKE :content || '%')
-                    AND (CAST(:tags as varchar) IS NULL OR t.tags @> string_to_array(lower(:tags),',')::varchar[])
-                 """
-    )
-    List<NamedThread> findAll(
-            @Param("title") String title,
-            @Param("type") String type,
-            @Param("content") String content,
-            @Param("tags") String tags
-                             );
-}
Index: c/main/java/com/db/finki/www/build_board/repository/ReportRepository.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/ReportRepository.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,40 +1,0 @@
-package com.db.finki.www.build_board.repository;
-
-import com.db.finki.www.build_board.entity.request.Report;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.data.jpa.repository.Query;
-import org.springframework.data.repository.query.Param;
-
-import java.util.List;
-
-public interface ReportRepository extends JpaRepository<Report, Long> {
-    @Query(value = """
-            select *
-            from report r
-            join submission s
-            on s.id = r.id
-            where (:latest is null or (s.submitted_by ,s.created_at) IN ( select submitted_by,max(created_at) from submission r  group by submitted_by))
-                        and r.for_misconduct_in =:topicId
-                        and (:status is null or s.status=:status)
-            """,
-            nativeQuery = true
-    )
-    List<Report> getLatestRequestByTopicAndStatus(
-            @Param("topicId") Integer topicId,
-            @Param("status") String status,
-            @Param("latest") String forLatest
-    );
-
-    @Query(
-            nativeQuery = true,
-            value = """
-                        select *
-                        from report r
-                        join submission s
-                        on s.id = r.id
-                        where s.submitted_by = :user_id and (:status is null or s.status= :status)
-                    """
-    )
-    List<Report> findAllBySendByUsernameAndStatus(@Param("user_id") long userId,
-                                                  @Param("status") String status);
-}
Index: c/main/java/com/db/finki/www/build_board/repository/UserRepository.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/UserRepository.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,28 +1,0 @@
-package com.db.finki.www.build_board.repository;
-
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.data.jpa.repository.Query;
-import org.springframework.data.repository.query.Param;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-import java.util.Optional;
-
-@Repository
-public interface UserRepository extends JpaRepository<BBUser, Integer> {
-    Optional<BBUser> findByUsername(String username);
-
-    BBUser findById(long id);
-
-    // select * from user join developer_asso
-
-    @Query("""
-                SELECT d.developer
-                FROM DeveloperAssociatedWithProject d
-                WHERE d.project.id = :projectId
-                AND d.endedAt IS NULL
-            """)
-    List<BBUser> findAllActiveDevelopersForProject(@Param("projectId") int projectId);
-
-}
Index: c/main/java/com/db/finki/www/build_board/repository/access_managment/ProjectRolePermissionRepository.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/access_managment/ProjectRolePermissionRepository.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,19 +1,0 @@
-package com.db.finki.www.build_board.repository.access_managment;
-
-import com.db.finki.www.build_board.entity.access_managment.ProjectRole;
-import com.db.finki.www.build_board.entity.access_managment.ProjectRolePermission;
-import com.db.finki.www.build_board.entity.compositeId.ProjectRolePermissionId;
-import com.db.finki.www.build_board.entity.thread.Project;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.data.jpa.repository.Modifying;
-import org.springframework.data.jpa.repository.Query;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-
-@Repository
-public interface ProjectRolePermissionRepository extends JpaRepository<ProjectRolePermission, ProjectRolePermissionId> {
-    List<ProjectRolePermission> findAllByIdRole(ProjectRole role);
-    @Modifying(clearAutomatically = true)
-    void deleteAllByIdRole(ProjectRole role);
-}
Index: c/main/java/com/db/finki/www/build_board/repository/access_managment/ProjectRolePermissionResourceOverrideRepository.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/access_managment/ProjectRolePermissionResourceOverrideRepository.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,66 +1,0 @@
-package com.db.finki.www.build_board.repository.access_managment;
-
-import com.db.finki.www.build_board.entity.access_managment.ProjectRole;
-import com.db.finki.www.build_board.entity.access_managment.ProjectRolePermission;
-import com.db.finki.www.build_board.entity.access_managment.ProjectRolePermissionResourceOverride;
-import com.db.finki.www.build_board.entity.channel.Channel;
-import com.db.finki.www.build_board.entity.compositeId.ProjectRolePermissionResourceOverrideId;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.data.jpa.repository.Modifying;
-import org.springframework.data.jpa.repository.Query;
-import org.springframework.stereotype.Repository;
-
-
-//todo override_type vo project_role
-import java.util.List;
-import java.util.UUID;
-
-@Repository
-public interface ProjectRolePermissionResourceOverrideRepository extends JpaRepository<ProjectRolePermissionResourceOverride, ProjectRolePermissionResourceOverrideId> {
-
-    @Query(value = """
-            SELECT COALESCE(
-                                        EXISTS (SELECT 1
-                                                FROM project_role_is_assigned_to_developer upr
-                                                         JOIN project_role pr
-                                                              ON upr.role_id = pr.id
-                                                         JOIN role_permissions rp
-                                                              ON pr.id = rp.for_role
-                                                         LEFT JOIN role_permissions_overrides rpo
-                                                                   ON pr.id = rpo.for_role_permission_role_id
-                                                                       AND rpo.for_role_permission_permission_name = rp.for_permission
-                                                                       AND rpo.for_resource = :resourceId
-                         
-                                                WHERE upr.user_id = :userId
-                                                  AND pr.valid_in = :projectId
-                                                  AND rp.for_permission = :permissionName
-                                                  AND (
-                                                    (pr.override_type = 'INCLUDE' AND rpo.for_resource IS NOT NULL)
-                                                        OR (pr.override_type = 'EXCLUDE' AND rpo.for_resource IS NULL)
-                                                    )), FALSE
-                                ) AS has_acces
-          """, nativeQuery = true)
-    boolean hasPermissionForResource(int projectId, int userId, String permissionName, UUID resourceId);
-    List<ProjectRolePermissionResourceOverride> findAllByIdProjectRolePermissionIdRole(ProjectRole role);
-
-    @Query(nativeQuery = true,value = """
-  SELECT COALESCE(
-                 EXISTS (SELECT 1
-                         FROM project_role_is_assigned_to_developer upr
-                                  JOIN project_role pr
-                                       ON upr.role_id = pr.id
-                                  LEFT JOIN role_permissions rp
-                                            ON pr.id = rp.for_role AND rp.for_permission = :permissionName
-                         WHERE upr.user_id = :userId
-                           AND pr.valid_in = :projectId
-                           AND (
-                             (pr.override_type = 'INCLUDE' AND rp.for_permission IS NOT NULL)
-                                 OR (pr.override_type = 'EXCLUDE' AND rp.for_permission IS NULL)
-                             )), FALSE
-         ) AS has_access;
-""")
-    boolean hasGlobalPermission(String permissionName,int projectId,int userId);
-
-    @Modifying(clearAutomatically = true)
-    void deleteAllByIdProjectRolePermissionIdRole(ProjectRole role);
-}
Index: c/main/java/com/db/finki/www/build_board/repository/access_managment/ProjectRoleRepository.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/access_managment/ProjectRoleRepository.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,18 +1,0 @@
-package com.db.finki.www.build_board.repository.access_managment;
-
-import com.db.finki.www.build_board.entity.access_managment.ProjectRole;
-import com.db.finki.www.build_board.entity.thread.Project;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-
-@Repository
-public interface ProjectRoleRepository  extends JpaRepository<ProjectRole, Integer> {
-    List<ProjectRole> findByProject(Project project);
-
-    List<ProjectRole> findByProjectId(Integer projectId);
-
-    List<ProjectRole> findAllByNameInAndProject(List<String> roleNames,Project project);
-    ProjectRole findByNameAndProject(String roleName,Project project);
-}
Index: c/main/java/com/db/finki/www/build_board/repository/access_managment/RoleChannelPermissionsRepository.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/access_managment/RoleChannelPermissionsRepository.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,11 +1,0 @@
-package com.db.finki.www.build_board.repository.access_managment;
-
-import com.db.finki.www.build_board.entity.access_managment.ProjectRole;
-import com.db.finki.www.build_board.entity.view.RoleChannelPermissions;
-import org.springframework.data.jpa.repository.JpaRepository;
-
-import java.util.List;
-
-public interface RoleChannelPermissionsRepository extends JpaRepository<RoleChannelPermissions, Integer> {
-    List<RoleChannelPermissions> findByRole(ProjectRole role);
-}
Index: c/main/java/com/db/finki/www/build_board/repository/access_managment/UserProjectRoleRepository.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/access_managment/UserProjectRoleRepository.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,14 +1,0 @@
-package com.db.finki.www.build_board.repository.access_managment;
-
-import com.db.finki.www.build_board.entity.access_managment.UsersProjectRoles;
-import com.db.finki.www.build_board.entity.compositeId.UsersProjectRolesId;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-
-@Repository
-public interface UserProjectRoleRepository extends JpaRepository<UsersProjectRoles, UsersProjectRolesId> {
-    List<UsersProjectRoles> findByIdRoleProjectIdAndIdUserId(int projectId, int userId);
-    void deleteByIdRoleIdAndIdUserId(int roleId, int userId);
-}
Index: c/main/java/com/db/finki/www/build_board/repository/channel/ChannelRepository.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/channel/ChannelRepository.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,22 +1,0 @@
-package com.db.finki.www.build_board.repository.channel;
-
-import com.db.finki.www.build_board.entity.channel.Channel;
-import com.db.finki.www.build_board.entity.thread.Project;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-import java.util.UUID;
-
-@Repository
-public interface ChannelRepository extends JpaRepository<Channel, UUID> {
-    List<Channel> findAllByProjectIdOrderByNameAsc(Integer projectId);
-    List<Channel> findAllByDeveloperIdOrderByNameAsc(Integer developerId);
-    Channel findByProjectTitleAndNameOrderByNameAsc(String title, String name);
-
-    List<Channel> findByIdIn(List<UUID> ids);
-
-    void deleteByNameAndProjectId(String name, Integer projectId);
-
-    Channel findByNameAndProject(String name,Project project);
-}
Index: c/main/java/com/db/finki/www/build_board/repository/channel/MessageRepository.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/channel/MessageRepository.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,14 +1,0 @@
-package com.db.finki.www.build_board.repository.channel;
-
-import com.db.finki.www.build_board.entity.channel.Channel;
-import com.db.finki.www.build_board.entity.channel.Message;
-import com.db.finki.www.build_board.entity.compositeId.MessageId;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import java.time.LocalDateTime;
-import java.util.List;
-
-@Repository
-public interface MessageRepository extends JpaRepository<Message, MessageId> {
-    List<Message> findAllByChannelNameAndChannelProjectIdOrderBySentAtAsc(String channelName, Integer projectId);}
Index: c/main/java/com/db/finki/www/build_board/repository/request/FeedbackRepo.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/request/FeedbackRepo.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,9 +1,0 @@
-package com.db.finki.www.build_board.repository.request;
-
-import com.db.finki.www.build_board.entity.request.Feedback;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface FeedbackRepo extends JpaRepository<Feedback, Integer> {
-}
Index: c/main/java/com/db/finki/www/build_board/repository/request/ProjectRequestRepo.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/request/ProjectRequestRepo.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,34 +1,0 @@
-package com.db.finki.www.build_board.repository.request;
-
-import com.db.finki.www.build_board.entity.entity_enum.Status;
-import com.db.finki.www.build_board.entity.request.ProjectRequests;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.data.jpa.repository.Query;
-import org.springframework.data.repository.query.Param;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-
-@Repository
-public interface ProjectRequestRepo extends JpaRepository<ProjectRequests,Long> {
-    List<ProjectRequests> findByStatusAndCreatorOrderByCreatedAtDesc(Status status, BBUser forUser);
-    List<ProjectRequests> findByCreatorOrderByCreatedAtDesc(BBUser forUser);
-
-    @Query(value = """
-           select *
-           from project_request pr
-                    join submission s
-                         on s.id = pr.id
-           where (:latest is null or (s.submitted_by,s.created_at) IN ( select submitted_by,max(created_at) from submission pr group by submitted_by))
-             and pr.project_receives =:projectId
-             and (:status is null or s.status=:status)
-            """,
-            nativeQuery = true
-    )
-    List<ProjectRequests> getLatestRequestByProjectAndStatus(
-            @Param("projectId") Integer projectId,
-            @Param("status") String status,
-            @Param("latest") String forLatest
-    );
-}
Index: c/main/java/com/db/finki/www/build_board/repository/thread/BBThreadRepository.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/thread/BBThreadRepository.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,10 +1,0 @@
-package com.db.finki.www.build_board.repository.thread;
-
-import com.db.finki.www.build_board.entity.thread.BBThread;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface BBThreadRepository extends JpaRepository<BBThread, Long> {
-    BBThread findById(long id);
-}
Index: c/main/java/com/db/finki/www/build_board/repository/thread/DiscussionRepository.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/thread/DiscussionRepository.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,21 +1,0 @@
-package com.db.finki.www.build_board.repository.thread;
-
-import com.db.finki.www.build_board.entity.thread.discussion_thread.Discussion;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.data.jpa.repository.Modifying;
-import org.springframework.data.jpa.repository.Query;
-import org.springframework.data.repository.query.Param;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface DiscussionRepository extends JpaRepository<Discussion, Long> {
-    Discussion findDiscussionById(int discussionId);
-
-    @Modifying
-    @Query(
-            value = """
-                    delete from discussion_thread dt where id=:id
-                """, nativeQuery = true
-    )
-    void deleteById(@Param("id") long discussionId);
-}
Index: c/main/java/com/db/finki/www/build_board/repository/thread/EmbeddableRepo.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/thread/EmbeddableRepo.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,9 +1,0 @@
-package com.db.finki.www.build_board.repository.thread;
-
-import com.db.finki.www.build_board.entity.thread.EmbeddableThread;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-@Repository
-public interface EmbeddableRepo extends JpaRepository<EmbeddableThread,Long> {
-}
Index: c/main/java/com/db/finki/www/build_board/repository/thread/ProjectRepository.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/thread/ProjectRepository.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,30 +1,0 @@
-package com.db.finki.www.build_board.repository.thread;
-
-import com.db.finki.www.build_board.entity.thread.Project;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
-import org.springframework.data.jpa.repository.Modifying;
-import org.springframework.data.jpa.repository.Query;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-
-@Repository
-public interface ProjectRepository extends JpaRepository<Project, Long>, JpaSpecificationExecutor<Project> {
-    Project findByTitle(String title);
-    void deleteByTitle(String title);
-    List<Project> findAllByUserId(int userId);
-
-    @Modifying
-    @Query(nativeQuery = true,
-    value = "UPDATE developer_associated_with_project dap set ended_at=now() where dap" +
-            ".about_dev=:uid AND dap.in_project =:pid")
-    void removeUserFromProject(int pid,int uid);
-
-    @Modifying
-    @Query(nativeQuery = true,
-    value = "INSERT INTO developer_associated_with_project (in_project, about_dev, " +
-            "started_at, ended_at) VALUES (:pid,:uid,now(),null)")
-    void addUserToProject(int pid,int uid);
-
-}
Index: c/main/java/com/db/finki/www/build_board/repository/thread/TagRepository.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/thread/TagRepository.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,13 +1,0 @@
-package com.db.finki.www.build_board.repository.thread;
-
-import com.db.finki.www.build_board.entity.thread.Tag;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import java.util.Optional;
-
-@Repository
-public interface TagRepository extends JpaRepository<Tag, String> {
-    Optional<Tag> findByName(String name);
-    long deleteAllByName(String name); 
-}
Index: c/main/java/com/db/finki/www/build_board/repository/thread/TopicRepository.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/thread/TopicRepository.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,25 +1,0 @@
-package com.db.finki.www.build_board.repository.thread;
-
-import com.db.finki.www.build_board.entity.thread.Topic;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
-import org.springframework.data.jpa.repository.Modifying;
-import org.springframework.data.jpa.repository.Query;
-import org.springframework.data.repository.query.Param;
-import org.springframework.stereotype.Repository;
-
-
-@Repository
-public interface TopicRepository extends JpaRepository<Topic,Long>, JpaSpecificationExecutor<Topic> {
-    Topic findByTitle(String title);
-    void deleteByTitle(String title);
-    Topic findById(long id);
-
-    @Modifying
-    @Query(value="""
-            delete from topic_thread where id=:id
-            """,
-            nativeQuery = true
-    )
-    void deleteById(@Param("id") Long id); 
-}
Index: c/main/java/com/db/finki/www/build_board/repository/thread/VDiscussRepo.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/repository/thread/VDiscussRepo.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,13 +1,0 @@
-package com.db.finki.www.build_board.repository.thread;
-
-import com.db.finki.www.build_board.entity.thread.discussion_thread.VDiscussion;
-import org.springframework.data.jpa.repository.JpaRepository;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-
-@Repository
-public interface VDiscussRepo extends JpaRepository<VDiscussion,Long> {
-    List<VDiscussion> findVDiscussionByParentTopicIdOrderByCreatedAtDesc(Integer topicId);
-    VDiscussion findVDiscussionByDiscussionId(Integer discussionId);
-}
Index: c/main/java/com/db/finki/www/build_board/service/BlacklistedUserService.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/BlacklistedUserService.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,30 +1,0 @@
-package com.db.finki.www.build_board.service;
-
-import com.db.finki.www.build_board.entity.blacklisted_user.BlacklistedUser;
-import com.db.finki.www.build_board.repository.BlacklistedUserRepo;
-import org.springframework.stereotype.Service;
-
-import java.time.LocalDateTime;
-import java.util.List;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-@Service
-public class BlacklistedUserService {
-    private final BlacklistedUserRepo  blacklistedUserRepo;
-
-    public BlacklistedUserService(BlacklistedUserRepo blacklistedUserRepo) {this.blacklistedUserRepo = blacklistedUserRepo;}
-
-    public boolean isBlacklisted(long userId, long topicId) {
-        return blacklistedUserRepo.isUserInBlacklist(userId, topicId);
-    }
-
-    public void revoke(long topicId, int blacklistedUserId) {
-        blacklistedUserRepo.revoke(topicId,blacklistedUserId);
-    }
-
-    public Set<Integer> findForTopic(int topicId) {
-       return blacklistedUserRepo.findAllByTopicIdAndEndTimeIsNull(topicId).stream().map(b -> b.getRefersTo()
-               .getId()).collect(Collectors.toSet());
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/service/BlacklistedUserType.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/BlacklistedUserType.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,6 +1,0 @@
-package com.db.finki.www.build_board.service;
-
-public enum BlacklistedUserType {
-    CURRENT,
-    PREVIOUS
-}
Index: c/main/java/com/db/finki/www/build_board/service/ReportService.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/ReportService.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,137 +1,0 @@
-package com.db.finki.www.build_board.service;
-
-import com.db.finki.www.build_board.entity.blacklisted_user.BlacklistedUser;
-import com.db.finki.www.build_board.entity.entity_enum.FeedbackFor;
-import com.db.finki.www.build_board.entity.entity_enum.Status;
-import com.db.finki.www.build_board.entity.request.ProjectRequests;
-import com.db.finki.www.build_board.entity.request.Report;
-import com.db.finki.www.build_board.entity.thread.Project;
-import com.db.finki.www.build_board.entity.thread.Topic;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.entity.user_type.Moderator;
-import com.db.finki.www.build_board.repository.BlacklistedUserRepo;
-import com.db.finki.www.build_board.repository.ModeratorRepository;
-import com.db.finki.www.build_board.repository.ReportRepository;
-import com.db.finki.www.build_board.service.request.FeedbackService;
-import com.db.finki.www.build_board.service.thread.itf.TopicService;
-import org.apache.coyote.Request;
-import org.springframework.security.core.userdetails.UserDetailsService;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.time.LocalDateTime;
-import java.util.List;
-import java.util.Optional;
-
-@Service
-public class ReportService {
-    private final ReportRepository reportRepository;
-    private final TopicService topicService;
-    private final UserDetailsService userDetailsService;
-    private final FeedbackService feedbackService;
-    private final BlacklistedUserRepo blacklistedUserRepo;
-    private final ModeratorRepository moderatorRepository;
-
-
-    public ReportService(
-            ReportRepository reportRepository, TopicService topicService,
-            UserDetailsService userDetailsService, FeedbackService feedbackService,
-            BlacklistedUserRepo blacklistedUserRepo, ModeratorRepository moderatorRepository
-                        ) {
-        this.reportRepository = reportRepository;
-        this.topicService = topicService;
-        this.userDetailsService = userDetailsService;
-        this.feedbackService = feedbackService;
-        this.blacklistedUserRepo = blacklistedUserRepo;
-        this.moderatorRepository = moderatorRepository;
-    }
-
-    public void createReport(
-            long topicId, String reason, BBUser creator,
-            String reportingUsername
-                            ) {
-        Topic topic = topicService.getById(topicId);
-        BBUser reportedUser = (BBUser) userDetailsService.loadUserByUsername(reportingUsername);
-
-        if(blacklistedUserRepo.isUserInBlacklist(reportedUser.getId(), topicId)){
-            return;
-        }
-
-        reportRepository.save(
-                new Report(topic,
-                        creator,
-                        reason,
-                        reportedUser)
-                             );
-    }
-
-    public List<Report> getByStatusAndProjectAndLatest(
-            Status status, Integer topicId,
-            String isLatest
-                                                      ) {
-        return reportRepository.getLatestRequestByTopicAndStatus(
-                topicId,
-                status == null ? null : status.name(),
-                isLatest
-                                                                );
-    }
-
-    @Transactional
-    public void accept(long reqId, String feedbackDesc, BBUser moderatorAsAUser) {
-        Report reqForReqId =
-                reportRepository
-                        .findById(reqId)
-                        .orElseThrow(() -> new RuntimeException("The id " +
-                                "is invalid"));
-        String reason = reqForReqId.getDescription();
-        Moderator moderator =
-                moderatorRepository
-                        .findById(moderatorAsAUser.getId())
-                        .orElseThrow(() -> new RuntimeException("The user is not a moderator"));
-
-        reqForReqId.setStatus(Status.ACCEPTED);
-
-        feedbackService.create(
-                feedbackDesc,
-                moderator,
-                FeedbackFor.R,
-                reqForReqId
-                              );
-
-        blacklistedUserRepo.save(
-                new BlacklistedUser(
-                        reqForReqId.getTopic(),
-                        moderator,
-                        LocalDateTime.now(),
-                        reqForReqId.getUser(),
-                        reason
-                )
-                                );
-    }
-
-    @Transactional
-    public void deny(long reqId, String feedbackDesc, BBUser creator) {
-        Report report =
-                reportRepository
-                        .findById(reqId)
-                        .orElseThrow(() -> new RuntimeException("The " +
-                                "report doesn't exist"));
-        report.setStatus(Status.DENIED);
-
-        feedbackService.create(
-                feedbackDesc,
-                creator,
-                FeedbackFor.R,
-                report);
-
-        reportRepository.save(report);
-    }
-
-    public List<Report> getByStatusAndUser(Status status, BBUser byUser) {
-        return reportRepository.findAllBySendByUsernameAndStatus(byUser.getId(),
-                Optional
-                        .ofNullable(status)
-                        .map(Status::name)
-                        .orElse(null));
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/service/access_managment/AddRoleDTOEntities.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/access_managment/AddRoleDTOEntities.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,20 +1,0 @@
-package com.db.finki.www.build_board.service.access_managment;
-
-import com.db.finki.www.build_board.common.enums.ProjectResourcePermissionOverrideType;
-import com.db.finki.www.build_board.dto.PermissionResourceWrapper;
-import com.db.finki.www.build_board.entity.access_managment.Permission;
-import com.db.finki.www.build_board.entity.thread.Project;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.util.List;
-
-@Getter
-@Setter
-public class AddRoleDTOEntities {
-    String name;
-    Project project;
-    List<PermissionResourceWrapper> permissionsResourceWrappers;
-    List<Permission> globalPermissions;
-    ProjectResourcePermissionOverrideType projectResourcePermissionOverrideType;
-}
Index: c/main/java/com/db/finki/www/build_board/service/access_managment/AddRoleDTOEntitiesMapper.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/access_managment/AddRoleDTOEntitiesMapper.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,69 +1,0 @@
-package com.db.finki.www.build_board.service.access_managment;
-
-import com.db.finki.www.build_board.common.enums.ProjectResourcePermissionOverrideType;
-import com.db.finki.www.build_board.dto.AddRoleDTO;
-import com.db.finki.www.build_board.dto.PermissionResourceDTO;
-import com.db.finki.www.build_board.dto.PermissionResourceWrapper;
-import com.db.finki.www.build_board.entity.access_managment.Permission;
-import com.db.finki.www.build_board.entity.channel.Channel;
-import com.db.finki.www.build_board.entity.thread.Project;
-import com.db.finki.www.build_board.repository.channel.ChannelRepository;
-import com.db.finki.www.build_board.service.channel.ChannelService;
-import com.db.finki.www.build_board.service.thread.impl.ProjectService;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-
-@Service
-public class AddRoleDTOEntitiesMapper {
-    private final ProjectService projectService;
-    private final ChannelService channelService;
-
-    public AddRoleDTOEntitiesMapper(ProjectService projectService, ChannelService channelService) {
-        this.projectService = projectService;
-        this.channelService = channelService;
-    }
-
-    private Project findProject(String projectTitle){
-        return projectService.getByTitle(projectTitle) ;
-    }
-
-    private List<PermissionResourceWrapper> findPermissionResource(List<PermissionResourceDTO> resourceDTOS) {
-        List<UUID> channelResourceIds = resourceDTOS.stream()
-                .map(PermissionResourceDTO::getChannelId)
-                .toList();
-
-        List<Channel> channels = channelService.getAllByIds(channelResourceIds);
-
-        Map<UUID, Channel> channelMap = channels.stream()
-                .collect(Collectors.toMap(Channel::getId, Function.identity()));
-
-        return resourceDTOS.stream()
-                .map(dto -> new PermissionResourceWrapper(
-                        new Permission(dto.getPermissionName().toUpperCase()),
-                        channelMap.get(dto.getChannelId())
-                ))
-                .toList();
-    }
-
-
-    private List<Permission> findGlobalPermissions(List<String> global){
-        return global.stream().map(String::toUpperCase).map(Permission::new).toList();
-    }
-
-    public AddRoleDTOEntities map(AddRoleDTO dto) {
-        AddRoleDTOEntities dto2 = new AddRoleDTOEntities();
-
-        dto2.setName(dto.getName());
-        dto2.setProject(findProject(dto.getProjectTitle()));
-        dto2.setPermissionsResourceWrappers(findPermissionResource(dto.getPermissionResourceDTOS()));
-        dto2.setProjectResourcePermissionOverrideType(ProjectResourcePermissionOverrideType.valueOf(dto.getPermissionOverrideType()));
-        dto2.setGlobalPermissions(findGlobalPermissions(dto.getGlobalPermissions()));
-
-        return dto2;
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/service/access_managment/ProjectAccessManagementService.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/access_managment/ProjectAccessManagementService.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,194 +1,0 @@
-package com.db.finki.www.build_board.service.access_managment;
-
-import com.db.finki.www.build_board.dto.PermissionResourceWrapper;
-import com.db.finki.www.build_board.entity.access_managment.*;
-import com.db.finki.www.build_board.entity.channel.Channel;
-import com.db.finki.www.build_board.entity.compositeId.ProjectRolePermissionId;
-import com.db.finki.www.build_board.entity.compositeId.ProjectRolePermissionResourceOverrideId;
-import com.db.finki.www.build_board.entity.compositeId.UsersProjectRolesId;
-import com.db.finki.www.build_board.entity.thread.Project;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.repository.access_managment.ProjectRolePermissionResourceOverrideRepository;
-import com.db.finki.www.build_board.repository.access_managment.ProjectRoleRepository;
-import com.db.finki.www.build_board.repository.access_managment.ProjectRolePermissionRepository;
-import com.db.finki.www.build_board.repository.access_managment.UserProjectRoleRepository;
-import com.db.finki.www.build_board.service.channel.ChannelService;
-import jakarta.transaction.Transactional;
-import org.springframework.stereotype.Service;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-
-@Service
-public class ProjectAccessManagementService {
-
-    private final ProjectRoleRepository projectRoleRepository;
-    private final ProjectRolePermissionRepository projectRolePermissionRepository;
-    private final ProjectRolePermissionResourceOverrideRepository projectRolePermissionResourceOverrideRepository;
-    private final UserProjectRoleRepository userProjectRoleRepository;
-    private final ChannelService channelService;
-
-    public ProjectAccessManagementService(
-            ProjectRoleRepository projectRoleRepository,
-            ProjectRolePermissionRepository projectRolePermissionRepository,
-            ProjectRolePermissionResourceOverrideRepository projectRolePermissionResourceOverrideRepository, UserProjectRoleRepository userProjectRoleRepository, ChannelService channelService
-    ) {
-        this.projectRoleRepository = projectRoleRepository;
-        this.projectRolePermissionResourceOverrideRepository =
-                projectRolePermissionResourceOverrideRepository;
-        this.projectRolePermissionRepository = projectRolePermissionRepository;
-        this.userProjectRoleRepository = userProjectRoleRepository;
-        this.channelService = channelService;
-    }
-
-    public boolean hasPermissionToAccessResource(
-            int userId, String permission, UUID resourceId,
-            Project project
-    ) {
-        if(project.getUser().getId() == userId) return true;
-
-        if(resourceId == null){
-            return projectRolePermissionResourceOverrideRepository.hasGlobalPermission(permission,project.getId(),userId);
-        }else {
-            return projectRolePermissionResourceOverrideRepository.hasPermissionForResource(project.getId(), userId,permission,resourceId);
-        }
-
-
-    }
-
-    public List<ProjectRole> getRolesForDeveloperInProject(BBUser user, Project project) {
-        return userProjectRoleRepository.findByIdRoleProjectIdAndIdUserId(project.getId(), user.getId()).stream().map(UsersProjectRoles::getProjectRole).toList();
-    }
-
-    public List<ProjectRole> getRolesForMembersInProject(Project project) {
-        return projectRoleRepository.findByProject(project);
-    }
-
-    private List<ProjectRolePermission> mapGlobalsToProjectRolePermissions(
-            ProjectRole role,
-            List<Permission> permissions
-    ) {
-        return permissions
-                .stream()
-                .map(p -> new ProjectRolePermission(
-                        new ProjectRolePermissionId(p, role)
-                ))
-                .toList();
-    }
-
-    private List<ProjectRolePermission> mapPerResourceToProjectRolePermissions(
-            ProjectRole role,
-            List<PermissionResourceWrapper> permissions
-    ) {
-        return permissions
-                .stream()
-                .map(p -> new ProjectRolePermission(
-                        new ProjectRolePermissionId(
-                                p.getPermission(),
-                                role)
-                ))
-                .toList();
-    }
-
-    private List<ProjectRolePermissionResourceOverride> mapToResourceOverrides(
-            List<Channel> channels,
-            List<ProjectRolePermission> rolePermissions
-
-    ) {
-        List<ProjectRolePermissionResourceOverride> overrides = new ArrayList<>();
-
-
-        for (int i = 0; i < channels.size(); i++) {
-            overrides.add(
-                    new ProjectRolePermissionResourceOverride(
-                            new ProjectRolePermissionResourceOverrideId(
-                                    rolePermissions.get(i),
-                                    channels.get(i)
-                            )
-                    )
-            );
-        }
-
-        return overrides;
-    }
-
-    private List<Channel> getResources(List<PermissionResourceWrapper> rolePermissions) {
-        return rolePermissions.stream().map(PermissionResourceWrapper::getChannel).toList();
-    }
-
-
-    @Transactional
-    public void updateRole(Integer id, AddRoleDTOEntities addRoleDTO) {
-
-        ProjectRole existingRole = projectRoleRepository.findById(id).orElseThrow(() -> new IllegalArgumentException("bad role id"));
-        projectRolePermissionRepository.deleteAllByIdRole(existingRole);
-
-        existingRole.setName(addRoleDTO.getName());
-        existingRole.setOverrideType(addRoleDTO.getProjectResourcePermissionOverrideType().toString());
-
-        projectRoleRepository.save(existingRole);
-
-        List<ProjectRolePermission> newGlobalPermissions = mapGlobalsToProjectRolePermissions(existingRole, addRoleDTO.getGlobalPermissions());
-        List<ProjectRolePermission> newPerResourcePermissions = mapPerResourceToProjectRolePermissions(existingRole,addRoleDTO.getPermissionsResourceWrappers());
-        List<ProjectRolePermissionResourceOverride> resourceOverrides = mapToResourceOverrides(getResources(addRoleDTO.getPermissionsResourceWrappers()),newPerResourcePermissions);
-
-
-        projectRolePermissionRepository.saveAll(newGlobalPermissions);
-        projectRolePermissionRepository.saveAll(newPerResourcePermissions);
-        projectRolePermissionResourceOverrideRepository.saveAll(resourceOverrides);
-
-    }
-
-    @Transactional
-    public void addRole(AddRoleDTOEntities addRoleDTO) {
-        ProjectRole role = projectRoleRepository.save(
-                new ProjectRole(
-                        addRoleDTO.getProject(),
-                        addRoleDTO.getName(),
-                        addRoleDTO.getProjectResourcePermissionOverrideType().toString()
-                )
-        );
-
-        List<ProjectRolePermission> entities = mapPerResourceToProjectRolePermissions(role, addRoleDTO.getPermissionsResourceWrappers());
-        projectRolePermissionRepository.saveAll(mapGlobalsToProjectRolePermissions(role, addRoleDTO.getGlobalPermissions()));
-        projectRolePermissionRepository.saveAll(entities);
-        projectRolePermissionResourceOverrideRepository.saveAll(mapToResourceOverrides(
-                getResources(addRoleDTO.getPermissionsResourceWrappers()),
-                entities
-        ));
-    }
-
-    public void deleteRole(ProjectRole role) {
-        if(!role.getName().equals("Admin")) {
-            projectRoleRepository.deleteById(role.getId());
-        }
-    }
-
-    public void addRolesToUser(BBUser user, List<ProjectRole> roles) {
-        List<UsersProjectRoles> usersProjectRoles = roles.stream()
-                .map(role -> new UsersProjectRoles(new UsersProjectRolesId(role, user)))
-                .toList();
-
-        userProjectRoleRepository.saveAll(usersProjectRoles);
-
-
-    }
-
-
-    public void deleteRoleForUser(BBUser user, Project project, String roleName) {
-        ProjectRole role = projectRoleRepository.findByNameAndProject(roleName,project);
-        userProjectRoleRepository.deleteById(new UsersProjectRolesId(role, user));
-    }
-
-    public List<ProjectRolePermission> getRolePermissionsForRoleInProject(ProjectRole role) {
-        return projectRolePermissionRepository.findAllByIdRole(role);
-    }
-
-    public List<ProjectRolePermissionResourceOverride> getResourceOverridesForRole(ProjectRole role) {
-        return projectRolePermissionResourceOverrideRepository.findAllByIdProjectRolePermissionIdRole(role);
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/service/channel/ChannelService.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/channel/ChannelService.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,74 +1,0 @@
-package com.db.finki.www.build_board.service.channel;
-
-import com.db.finki.www.build_board.entity.access_managment.ProjectRole;
-import com.db.finki.www.build_board.entity.channel.Channel;
-import com.db.finki.www.build_board.entity.thread.Project;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.entity.user_type.Developer;
-import com.db.finki.www.build_board.entity.view.RoleChannelPermissions;
-import com.db.finki.www.build_board.repository.DeveloperRepository;
-import com.db.finki.www.build_board.repository.access_managment.RoleChannelPermissionsRepository;
-import com.db.finki.www.build_board.repository.access_managment.ProjectRolePermissionResourceOverrideRepository;
-import com.db.finki.www.build_board.repository.channel.ChannelRepository;
-import jakarta.transaction.Transactional;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-import java.util.UUID;
-
-@Service
-public class ChannelService {
-    private final ChannelRepository channelRepository;
-    private final DeveloperRepository developerRepository;
-    private final ProjectRolePermissionResourceOverrideRepository  projectRolePermissionResourceOverrideRepository;
-
-    private final String INVALID_INPUT_REGEX = "(^/|/$|[\\#?])";
-    private final RoleChannelPermissionsRepository roleChannelPermissionsRepository;
-
-    private boolean isInvalidInput(String input) {
-        return input.matches(INVALID_INPUT_REGEX);
-    }
-
-    public ChannelService(ChannelRepository channelRepository, DeveloperRepository developerRepository, ProjectRolePermissionResourceOverrideRepository projectRolePermissionResourceOverrideRepository, RoleChannelPermissionsRepository roleChannelPermissionsRepository) {
-        this.channelRepository = channelRepository;
-        this.developerRepository = developerRepository;
-        this.projectRolePermissionResourceOverrideRepository = projectRolePermissionResourceOverrideRepository;
-        this.roleChannelPermissionsRepository = roleChannelPermissionsRepository;
-    }
-
-    public List<Channel> getAllChannelsForProject(Project project) {
-        return channelRepository.findAllByProjectIdOrderByNameAsc(project.getId());
-    }
-
-    public List<RoleChannelPermissions> getChannelPermissionsForRole(ProjectRole role) {
-        return roleChannelPermissionsRepository.findByRole(role);
-    }
-
-
-    public Channel create(Project project, String channelName, String description, BBUser user){
-        if(channelRepository.findByProjectTitleAndNameOrderByNameAsc(project.getTitle(), channelName) != null) {
-            throw new IllegalArgumentException("Channel with title '" + channelName + "' already exists");
-        }
-
-        if(isInvalidInput(channelName)) {
-            throw new IllegalArgumentException("Channel name contains invalid characters");
-        }
-
-        Developer developer = developerRepository.findById(user.getId());
-        Channel channel = new Channel(channelName,project,description,developer);
-        return channelRepository.save(channel);
-    }
-    public Channel getByNameAndProject(String channelName, Project project){
-        return channelRepository.findByProjectTitleAndNameOrderByNameAsc(project.getTitle(), channelName);
-    }
-    @Transactional
-    public void deleteChannel(String channelName,Project project){
-        channelRepository.deleteByNameAndProjectId(channelName,project.getId());
-    }
-
-    public List<Channel> getAllByIds(List<UUID> ids){
-        return channelRepository.findByIdIn(ids);
-    }
-
-
-}
Index: c/main/java/com/db/finki/www/build_board/service/channel/MessageService.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/channel/MessageService.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,28 +1,0 @@
-package com.db.finki.www.build_board.service.channel;
-
-import com.db.finki.www.build_board.dto.MessageDTO;
-import com.db.finki.www.build_board.entity.channel.Message;
-import com.db.finki.www.build_board.mapper.MessageMapper;
-import com.db.finki.www.build_board.repository.channel.MessageRepository;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-@Service
-public class MessageService {
-    private final MessageRepository messageRepository;
-    private final MessageMapper messageMapper;
-    public MessageService(MessageRepository messageRepository, MessageMapper messageMapper) {
-        this.messageRepository = messageRepository;
-        this.messageMapper = messageMapper;
-    }
-
-    public List<Message> getAllMessagesForProjectChannel(Integer projectId,String channelName) {
-        return messageRepository.findAllByChannelNameAndChannelProjectIdOrderBySentAtAsc(channelName,projectId);
-    }
-    public Message addMessage(MessageDTO messageDTO) {
-        Message message = messageMapper.fromDTO(messageDTO);
-        return messageRepository.save(message);
-    }
-
-}
Index: c/main/java/com/db/finki/www/build_board/service/request/FeedbackService.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/request/FeedbackService.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,22 +1,0 @@
-package com.db.finki.www.build_board.service.request;
-
-import com.db.finki.www.build_board.entity.entity_enum.FeedbackFor;
-import com.db.finki.www.build_board.entity.request.Feedback;
-import com.db.finki.www.build_board.entity.request.Submission;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.repository.request.FeedbackRepo;
-import org.springframework.stereotype.Service;
-
-@Service
-public class FeedbackService {
-    private final FeedbackRepo feedbackRepo;
-
-    public FeedbackService(FeedbackRepo feedbackRepo) {this.feedbackRepo = feedbackRepo;}
-
-    public Feedback create(String description, BBUser creator, FeedbackFor feedbackFor, Submission submission) {
-        return feedbackRepo.save(new Feedback(feedbackFor, creator, description,submission));
-    }
-    public Feedback create(BBUser creator, FeedbackFor feedbackFor, Submission sub){
-        return feedbackRepo.save(new Feedback(feedbackFor, creator,sub));
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/service/request/ProjectRequestService.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/request/ProjectRequestService.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,69 +1,0 @@
-package com.db.finki.www.build_board.service.request;
-
-import com.db.finki.www.build_board.entity.entity_enum.FeedbackFor;
-import com.db.finki.www.build_board.entity.entity_enum.Status;
-import com.db.finki.www.build_board.entity.request.ProjectRequests;
-import com.db.finki.www.build_board.entity.thread.Project;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.repository.request.ProjectRequestRepo;
-import com.db.finki.www.build_board.service.thread.impl.ProjectService;
-import jakarta.transaction.Transactional;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-@Service
-public class ProjectRequestService {
-    private final ProjectRequestRepo prReqRepo;
-    private final FeedbackService feedbackService;
-    private final ProjectService projectService;
-
-
-    public ProjectRequestService(ProjectRequestRepo prReqRepo, FeedbackService feedbackService,ProjectService projectService) {
-        this.prReqRepo = prReqRepo;
-        this.feedbackService = feedbackService;
-        this.projectService = projectService;
-    }
-
-    private ProjectRequests getRequestById(Integer id) {
-        return prReqRepo.findById((long) id)
-                .get();
-    }
-
-    @Transactional
-    public void deny(Integer reqId, String desc, BBUser creator) {
-        ProjectRequests prReq = getRequestById(reqId);
-        prReq.setStatus(Status.DENIED);
-        feedbackService.create(desc,creator,FeedbackFor.P,prReq);
-        prReqRepo.save(prReq);
-    }
-
-    @Transactional
-    public void accept(BBUser creator, Integer reqId) {
-        ProjectRequests prReq = getRequestById(reqId);
-        prReq.setStatus(Status.ACCEPTED);
-
-        feedbackService.create(creator,FeedbackFor.P,prReq);
-        projectService.addDeveloperToProject(prReq.getProject(), prReq.getCreator());
-        prReqRepo.save(prReq);
-    }
-
-    public List<ProjectRequests> getByStatusAndProjectAndLatest(Status status, Project project, String isLatest) {
-        return prReqRepo.getLatestRequestByProjectAndStatus(
-                project.getId(),
-                status == null ? null : status.name(),
-                isLatest
-        );
-    }
-
-    public List<ProjectRequests> getByStatusAndUser(Status status, BBUser forUser) {
-        if (status == null) {
-            return prReqRepo.findByCreatorOrderByCreatedAtDesc(forUser);
-        }
-        return prReqRepo.findByStatusAndCreatorOrderByCreatedAtDesc(status, forUser);
-    }
-
-    public ProjectRequests createRequestFor(Project project, String reason, BBUser creator) {
-        return prReqRepo.save(new ProjectRequests(project, creator, reason));
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/service/thread/impl/DiscussionService.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/thread/impl/DiscussionService.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,78 +1,0 @@
-package com.db.finki.www.build_board.service.thread.impl;
-
-import com.db.finki.www.build_board.entity.thread.EmbeddableThread;
-import com.db.finki.www.build_board.entity.thread.discussion_thread.Discussion;
-import com.db.finki.www.build_board.entity.thread.discussion_thread.VDiscussion;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.repository.thread.DiscussionRepository;
-import com.db.finki.www.build_board.repository.thread.EmbeddableRepo;
-import com.db.finki.www.build_board.repository.thread.VDiscussRepo;
-import jakarta.transaction.Transactional;
-import org.springframework.stereotype.Service;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@Service
-public class DiscussionService {
-    private final VDiscussRepo vDiscussRepo;
-    private final DiscussionRepository discussionRepository;
-    private final EmbeddableRepo embeddableRepo;
-
-    public DiscussionService(VDiscussRepo vDiscussRepo, DiscussionRepository discussionRepository, EmbeddableRepo embeddableRepo) {
-        this.vDiscussRepo = vDiscussRepo;
-        this.discussionRepository = discussionRepository;
-        this.embeddableRepo = embeddableRepo;
-    }
-
-    public List<VDiscussion> getByTopic(int topicId){
-        List<VDiscussion> discussions = vDiscussRepo.findVDiscussionByParentTopicIdOrderByCreatedAtDesc(topicId);
-        List<VDiscussion> level0Discussions = new ArrayList<>(); 
-
-        for(VDiscussion dis : discussions){
-            if(dis.getDepth()==0){
-                level0Discussions.add(dis);
-            }else{
-                VDiscussion parent = vDiscussRepo.findById((long) dis.getDiscussion().getParent().getId()).get();
-                parent.getChildren().add(dis);
-            }
-        }
-
-        return level0Discussions; 
-    }
-
-    public VDiscussion getVDiscussionById(int discussionId){
-        return vDiscussRepo.findVDiscussionByDiscussionId(discussionId);
-    }
-    public Discussion getDiscussionById(int discussionId){
-        return discussionRepository.findDiscussionById(discussionId);
-    }
-
-    public List<VDiscussion> getAll(){
-        return vDiscussRepo.findAll();
-    }
-
-    @Transactional
-    public Discussion create(String content, int parentId, BBUser user){
-
-        EmbeddableThread parent = embeddableRepo.findById((long) parentId).get();
-
-        Discussion reply = new Discussion();
-        reply.setContent(content);
-        reply.setUser(user);
-        reply.setParent(parent);
-
-        return discussionRepository.save(reply);
-    }
-
-    public Discussion edit(int replyId, String content) {
-        Discussion reply = discussionRepository.findDiscussionById(replyId);
-        reply.setContent(content);
-        return discussionRepository.save(reply);
-    }
-
-    public void delete(int threadId) {
-        discussionRepository.deleteById((long) threadId);
-    }
-
-}
Index: c/main/java/com/db/finki/www/build_board/service/thread/impl/ProjectService.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/thread/impl/ProjectService.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,101 +1,0 @@
-package com.db.finki.www.build_board.service.thread.impl;
-
-import java.util.List;
-
-import com.db.finki.www.build_board.entity.thread.Tag;
-import com.db.finki.www.build_board.entity.thread.Topic;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.entity.thread.Project;
-import com.db.finki.www.build_board.repository.UserRepository;
-import com.db.finki.www.build_board.repository.thread.ProjectRepository;
-import com.db.finki.www.build_board.service.user.BBUserDetailsService;
-import com.db.finki.www.build_board.service.thread.itf.TagService;
-import com.db.finki.www.build_board.service.thread.itf.TopicService;
-import jakarta.transaction.Transactional;
-import org.springframework.stereotype.Service;
-
-//TODO: trgni gi comopose.yml i env
-@Service
-public class ProjectService {
-    private final ProjectRepository projectRepository;
-    private final TopicService topicService;
-    private final TagService tagService;
-    private final BBUserDetailsService userDetailsService;
-    private final UserRepository userRepository;
-
-    public ProjectService(ProjectRepository projectRepository, TopicServiceImpl topicService, TagServiceImpl tagService, BBUserDetailsService userDetailsService, UserRepository userRepository) {
-        this.projectRepository = projectRepository;
-        this.topicService = topicService;
-        this.tagService = tagService;
-        this.userDetailsService = userDetailsService;
-        this.userRepository = userRepository;
-    }
-
-    public List<Project> getAll(){
-        return projectRepository.findAll();
-    }
-
-    public void create(String title, String repoUrl, String description, BBUser user) {
-        title=title.strip();
-        projectRepository.save(
-                new Project(title, repoUrl, description, user)
-        );
-    }
-
-    public Project getByTitle(String title) {
-        return projectRepository.findByTitle(title);
-    }
-
-    public void createTopic(Project project, String title, String description, BBUser user) {
-        title=title.strip();
-        Topic topic = topicService.create(title, description, user, project);
-
-        project.getTopics().add(topic);
-
-        projectRepository.save(project);
-    }
-
-    public void addDeveloperToProject(Project project, BBUser user) {
-        projectRepository.addUserToProject(project.getId(),user.getId());
-    }
-
-    @Transactional
-    public void kickMember(Project project, int memberId) {
-        projectRepository.removeUserFromProject(project.getId(),memberId);
-    }
-    public List<BBUser> getAllDevelopersForProject(Project project) {
-        return userRepository.findAllActiveDevelopersForProject(project.getId());
-    }
-
-    public void addTag(Project project, String tagName, BBUser user) {
-        Tag tag = null ;
-        try{
-            tag=tagService.getByName(tagName);
-        }catch (IllegalArgumentException ignore){
-             tag=tagService.create(tagName,user);
-        }
-        project.getTags().add(tag);
-        projectRepository.save(project);
-    }
-
-    public Project update(Project project, String repoUrl, String description, String newTitle) {
-        newTitle=newTitle.strip();
-        project.setRepoUrl(repoUrl);
-        project.setDescription(description);
-        project.setTitle(newTitle);
-        return projectRepository.save(project);
-    }
-
-    public Project getById(Long id) {
-        return projectRepository.findById(id).orElseThrow(() -> new IllegalArgumentException("Project not found"));
-    }
-
-    public void delete(Project project) {
-        projectRepository.delete(project);
-    }
-
-    public void deleteTag(Project project, String tagName) {
-        project.getTags().remove(tagService.getByName(tagName));
-        projectRepository.save(project);
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/service/thread/impl/TagServiceImpl.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/thread/impl/TagServiceImpl.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,38 +1,0 @@
-package com.db.finki.www.build_board.service.thread.impl;
-
-import com.db.finki.www.build_board.entity.thread.Tag;
-import com.db.finki.www.build_board.entity.thread.Topic;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.repository.thread.TagRepository;
-import com.db.finki.www.build_board.service.thread.itf.TagService;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-@Service
-public class TagServiceImpl implements TagService {
-    private final TagRepository tagRepository;
-
-    public TagServiceImpl(TagRepository tagRepository) {
-        this.tagRepository = tagRepository;
-    }
-
-    @Override
-    public Tag getByName(String name) {
-        return tagRepository.findByName(name).orElseThrow(() -> new IllegalArgumentException("Tag not found"));
-    }
-
-    @Override
-    public List<Tag> getAll() {
-        return tagRepository.findAll();
-    }
-
-    public Tag create(String tagName, BBUser user) {
-        return tagRepository.save(new Tag(tagName, user));
-    }
-
-    @Override
-    public List<Tag> getAllNotUsed(Topic t) {
-        return tagRepository.findAll().stream().filter(tag -> !t.getTags().contains(tag)).toList();
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/service/thread/impl/TopicServiceImpl.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/thread/impl/TopicServiceImpl.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,142 +1,0 @@
-package com.db.finki.www.build_board.service.thread.impl;
-
-import com.db.finki.www.build_board.entity.blacklisted_user.BlacklistedUser;
-import com.db.finki.www.build_board.entity.thread.Project;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.entity.thread.BBThread;
-import com.db.finki.www.build_board.entity.thread.Tag;
-import com.db.finki.www.build_board.entity.thread.Topic;
-import com.db.finki.www.build_board.repository.thread.TagRepository;
-import com.db.finki.www.build_board.repository.thread.TopicRepository;
-import com.db.finki.www.build_board.service.BlacklistedUserType;
-import com.db.finki.www.build_board.service.thread.itf.TopicService;
-import jakarta.transaction.Transactional;
-import org.springframework.stereotype.Service;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-
-@Service
-public class TopicServiceImpl implements TopicService {
-    private final TopicRepository topicRepository;
-    private final TagRepository tagRepository;
-
-    public TopicServiceImpl(TopicRepository topicRepository, TagRepository tagRepository) {
-        this.topicRepository = topicRepository;
-        this.tagRepository = tagRepository;
-    }
-
-
-    @Override
-    public Topic create(String title, String description, BBUser user) {
-        Topic topic = new Topic();
-
-        topic.setTitle(title);
-        topic.setContent(description);
-        topic.setUser(user);
-
-        return topicRepository.save(topic);
-    }
-
-    public Topic create(String title, String description, BBUser user, Project parent) {
-        Topic topic = new Topic();
-
-        topic.setTitle(title);
-        topic.setContent(description);
-        topic.setUser(user);
-        topic.setParent(parent);
-
-        return topicRepository.save(topic);
-    }
-
-    @Override
-    public List<Topic> getAll() {
-        return topicRepository.findAll();
-    }
-
-    @Override
-    public Topic getByTitle(String title) {
-        return topicRepository.findByTitle(title);
-    }
-
-    @Override
-    public void deleteTopicById(Long id) {
-        topicRepository.deleteById(id);
-    }
-
-    @Override
-    public void deleteTopicByTitle(String title) {
-        topicRepository.deleteByTitle(title);
-    }
-
-    @Override
-    public Topic getById(Long id) {
-        return topicRepository
-                .findById(id)
-                .orElse(null);
-    }
-
-    @Override
-    @Transactional
-    public void addTagToTopic(Topic topic, String tagName, BBUser user) {
-        tagRepository
-                .findByName(tagName)
-                .ifPresentOrElse(tag -> {
-                            topic
-                                    .getTags()
-                                    .add(tag);
-                            tag
-                                    .getThreads()
-                                    .add(topic);
-                            topicRepository.save(topic);
-                            tagRepository.save(tag);
-                        },
-                        () -> {
-                            Tag tag = new Tag(tagName,
-                                    user);
-                            tagRepository.save(tag);
-                            topic
-                                    .getTags()
-                                    .add(tag);
-                            tag
-                                    .getThreads()
-                                    .add(topic);
-                            topicRepository.save(topic);
-                        });
-    }
-
-    @Override
-    public Topic edit(Topic t, String title, String description) {
-        t.setTitle(title);
-        t.setContent(description);
-        return topicRepository.save(t);
-    }
-
-    @Override
-    @Transactional
-    public Topic deleteTagFromTopic(long id, String tagName) {
-        Topic t = getById(id);
-        boolean removed = t
-                .getTags()
-                .removeIf(tag -> tag
-                        .getName()
-                        .equals(tagName));
-        if (!removed) throw new IllegalArgumentException("Tag not found");
-        return topicRepository.save(t);
-    }
-
-    public Map<BlacklistedUserType, List<BlacklistedUser>> getBlacklistedUsersForTopicById(long id) {
-        return topicRepository
-                .findById(id)
-                .getBlacklistedUsers()
-                .stream()
-                .collect(Collectors.groupingBy(
-                        b -> b.getEndTime() == null
-                                ? BlacklistedUserType.CURRENT
-                                : BlacklistedUserType.PREVIOUS
-                                              ));
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/service/thread/itf/TagService.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/thread/itf/TagService.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,14 +1,0 @@
-package com.db.finki.www.build_board.service.thread.itf;
-
-import com.db.finki.www.build_board.entity.thread.Tag;
-import com.db.finki.www.build_board.entity.thread.Topic;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-
-import java.util.List;
-
-public interface TagService {
-    Tag getByName(String name);
-    List<Tag> getAll();
-    List<Tag> getAllNotUsed(Topic t);
-    Tag create(String name, BBUser user);
-}
Index: c/main/java/com/db/finki/www/build_board/service/thread/itf/TopicService.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/thread/itf/TopicService.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,25 +1,0 @@
-package com.db.finki.www.build_board.service.thread.itf;
-
-import com.db.finki.www.build_board.entity.blacklisted_user.BlacklistedUser;
-import com.db.finki.www.build_board.entity.thread.Project;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.entity.thread.BBThread;
-import com.db.finki.www.build_board.entity.thread.Topic;
-import com.db.finki.www.build_board.service.BlacklistedUserType;
-
-import java.util.List;
-import java.util.Map;
-
-public interface TopicService {
-    Topic create(String title, String description, BBUser user);
-    Topic create(String title, String description, BBUser user, Project parent);
-    List<Topic> getAll();
-    Topic getByTitle(String title);
-    void deleteTopicById(Long id);
-    void deleteTopicByTitle(String title);
-    Topic getById(Long id);
-    void addTagToTopic(Topic topic, String tagName, BBUser user);
-    Topic edit(Topic t, String title, String description);
-    Topic deleteTagFromTopic(long id, String tagName);
-    Map<BlacklistedUserType,List<BlacklistedUser>> getBlacklistedUsersForTopicById(long id);
-}
Index: c/main/java/com/db/finki/www/build_board/service/user/AuthenticationSuccessHandlerImpl.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/user/AuthenticationSuccessHandlerImpl.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,37 +1,0 @@
-package com.db.finki.www.build_board.service.user;
-
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import jakarta.servlet.ServletException;
-import jakarta.servlet.http.HttpServletRequest;
-import jakarta.servlet.http.HttpServletResponse;
-import jakarta.servlet.http.HttpSession;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.web.authentication.AuthenticationSuccessHandler;
-import org.springframework.security.web.savedrequest.DefaultSavedRequest;
-import org.springframework.security.web.savedrequest.HttpSessionRequestCache;
-
-import java.io.IOException;
-import java.util.Objects;
-
-public class AuthenticationSuccessHandlerImpl implements AuthenticationSuccessHandler {
-    @Override
-    public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {
-        BBUser user = (BBUser) authentication.getPrincipal();
-        HttpSession session = request.getSession();
-        session.setAttribute("user", user);
-        session.setMaxInactiveInterval(1800);
-
-        String redirectUrl = getSavedRequestUrl(request);
-
-        System.out.println(redirectUrl + "REDIR");
-
-        response.sendRedirect(Objects.requireNonNullElse(redirectUrl, "/"));
-
-    }
-
-    private String getSavedRequestUrl(HttpServletRequest request) {
-        HttpSessionRequestCache requestCache = new HttpSessionRequestCache();
-        DefaultSavedRequest savedRequest = (DefaultSavedRequest) requestCache.getRequest(request, null);
-        return (savedRequest != null) ? savedRequest.getRedirectUrl() : null;
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/service/user/BBUserDetailsService.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/user/BBUserDetailsService.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,75 +1,0 @@
-package com.db.finki.www.build_board.service.user;
-
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.repository.UserRepository;
-import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.userdetails.UserDetails;
-import org.springframework.security.core.userdetails.UserDetailsService;
-import org.springframework.security.core.userdetails.UsernameNotFoundException;
-import org.springframework.security.crypto.password.PasswordEncoder;
-import org.springframework.stereotype.Service;
-
-@Service
-public class BBUserDetailsService implements UserDetailsService {
-    private final UserRepository userRepository;
-    private final PasswordEncoder passwordEncoder;
-
-    public BBUserDetailsService(UserRepository userRepository, PasswordEncoder passwordEncoder) {
-        this.userRepository = userRepository;
-        this.passwordEncoder = passwordEncoder;
-    }
-
-    @Override
-    public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
-        return userRepository.findByUsername(username)
-                             .orElseThrow(
-                                     () -> new UsernameNotFoundException("User not found with username: " + username));
-    }
-
-    public BBUser changeInfoForUserWithUsername(String oldUsername, String newUsername, String email, String name, String description, String password) {
-        oldUsername=oldUsername.strip();
-        newUsername=newUsername.strip();
-        email=email.strip();
-        password=password.strip();
-
-        BBUser user = (BBUser) loadUserByUsername(oldUsername);
-
-        user.setUsername(newUsername);
-        user.setEmail(email);
-        user.setName(name);
-        user.setDescription(description);
-
-        if (!password.isBlank() && !password.isEmpty()) {
-            user.setPassword(
-                    passwordEncoder.encode(password)
-            );
-        }
-
-        return userRepository.save(user);
-    }
-
-    public BBUser createUser(String username, String email, String name, String password, String description, String sex) {
-        password = passwordEncoder.encode(password);
-        sex = sex.equals("male") ? "m" : "f";
-        return userRepository.save(
-                new BBUser(
-                        username,
-                        email,
-                        name,
-                        password,
-                        description,
-                        sex
-                )
-        );
-    }
-
-    public Authentication registerUser(String username, String email, String name, String password, String description, String sex) {
-        BBUser user = createUser(username, email, name, password, description, sex);
-        return new UsernamePasswordAuthenticationToken(user,user.getPassword(),user.getAuthorities());
-    }
-
-    public BBUser loadUserById(int id) {
-        return userRepository.findById(id);
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/service/user/UserStatisticsService.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/user/UserStatisticsService.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,22 +1,0 @@
-package com.db.finki.www.build_board.service.user;
-
-import com.db.finki.www.build_board.entity.thread.Project;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.repository.UserRepository;
-import com.db.finki.www.build_board.repository.thread.ProjectRepository;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-@Service
-public class UserStatisticsService {
-    private final ProjectRepository projectRepository;
-
-    public UserStatisticsService(UserRepository userRepository, ProjectRepository projectRepository) {
-        this.projectRepository = projectRepository;
-    }
-
-    public List<Project> getAllActiveProjectsForUser(BBUser user) {
-        return projectRepository.findAllByUserId(user.getId());
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/service/util/FileUploadService.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/util/FileUploadService.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,53 +1,0 @@
-package com.db.finki.www.build_board.service.util;
-
-
-import jakarta.annotation.PostConstruct;
-import org.apache.tomcat.util.http.fileupload.FileUploadException;
-import org.springframework.stereotype.Service;
-import org.springframework.web.multipart.MultipartFile;
-
-import java.io.File;
-import java.io.IOException;
-
-@Service
-public class FileUploadService {
-
-    public static String USER_AVATAR_DIR = System.getProperty("user.dir") + File.separator + "/uploads/user-avatars";
-    public static long MAX_FILE_SIZE = 5 * 1024 * 1024;
-
-    public void uploadAvatar(MultipartFile file, long userId) throws IOException {
-        System.out.println(USER_AVATAR_DIR);
-
-        if(file.isEmpty()){
-            throw new FileUploadException("File is empty");
-        }
-
-        String contentType = file.getContentType();
-        if (!contentType.startsWith("image/")) {
-            throw new IOException("Only image files are allowed.");
-        }
-
-        if (file.getSize() > MAX_FILE_SIZE) {
-            throw new IOException("File size exceeds the limit.");
-        }
-
-
-        String fileName = "avatar-" + userId;
-        File saveFile = new File(USER_AVATAR_DIR + File.separator + fileName);
-
-        if (saveFile.exists()) {
-            saveFile.delete();
-        }
-
-        file.transferTo(saveFile);
-    }
-
-    @PostConstruct
-    public void initDirectories(){
-        File directory = new File(USER_AVATAR_DIR);
-        if (!directory.exists()) {
-            directory.mkdirs();
-        }
-    }
-
-}
Index: c/main/java/com/db/finki/www/build_board/service/util/NamedThreadService.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/util/NamedThreadService.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,32 +1,0 @@
-package com.db.finki.www.build_board.service.util;
-
-import com.db.finki.www.build_board.entity.view.NamedThread;
-import com.db.finki.www.build_board.repository.NamedThreadRepository;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-@Service
-public class NamedThreadService {
-    private final NamedThreadRepository namedThreadRepository;
-
-    public NamedThreadService(NamedThreadRepository namedThreadRepository) {
-        this.namedThreadRepository = namedThreadRepository;
-    }
-
-    public List<NamedThread> getAll(
-            String title,
-            String content,
-            String type,
-            List<String> tagList
-            ) {
-        String tag = tagList == null || tagList.isEmpty() ? null : String.join(",",tagList);
-
-        return namedThreadRepository.findAll(
-                title,
-                type,
-                content,
-                tag
-                                            ) ;
-    }
-}
Index: c/main/java/com/db/finki/www/build_board/service/util/ThreadService.java
===================================================================
--- src/main/java/com/db/finki/www/build_board/service/util/ThreadService.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,35 +1,0 @@
-package com.db.finki.www.build_board.service.util;
-
-import com.db.finki.www.build_board.entity.thread.BBThread;
-import com.db.finki.www.build_board.entity.user_type.BBUser;
-import com.db.finki.www.build_board.repository.UserRepository;
-import com.db.finki.www.build_board.repository.thread.BBThreadRepository;
-import org.springframework.stereotype.Service;
-
-import java.util.Set;
-
-@Service
-public class ThreadService {
-    private final BBThreadRepository bbThreadRepository;
-    private final UserRepository userRepository;
-
-    public ThreadService(BBThreadRepository bbThreadRepository, UserRepository userRepository) {
-        this.bbThreadRepository = bbThreadRepository;
-        this.userRepository = userRepository;
-    }
-
-    public BBThread rate(int threadId, int userId,boolean like){
-        BBThread thread = bbThreadRepository.findById(threadId);
-        BBUser user = userRepository.findById(userId);
-        if(like){
-            Set<BBUser> users = thread.getLikes();
-            if(!users.contains(user)){
-                thread.getLikes().add(user);
-            }
-
-        } else {
-            thread.getLikes().remove(user);
-        }
-        return bbThreadRepository.save(thread);
-    }
-}
Index: c/main/resources/application-local.properties
===================================================================
--- src/main/resources/application-local.properties	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,6 +1,0 @@
-spring.datasource.username=${POSTGRES_USER}
-spring.datasource.password=${POSTGRES_PASS}
-spring.datasource.url=jdbc:postgresql://localhost:${POSTGRES_PORT}/${POSTGRES_DB}
-
-spring.flyway.password=${POSTGRES_PASS}
-spring.flyway.user=${POSTGRES_USER}
Index: c/main/resources/application-remote.properties
===================================================================
--- src/main/resources/application-remote.properties	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,6 +1,0 @@
-spring.datasource.username=${REMOTE_USER}
-spring.datasource.password=${REMOTE_PASS}
-spring.datasource.url=jdbc:postgresql://localhost:${REMOTE_PORT}/${REMOTE_DB}
-
-spring.flyway.password=${REMOTE_PASS}
-spring.flyway.user=${REMOTE_USER}
Index: c/main/resources/application.properties
===================================================================
--- src/main/resources/application.properties	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,11 +1,0 @@
-spring.application.name=build_board
-spring.jpa.hibernate.ddl-auto=validate
-spring.jpa.show-sql=true
-
-avatar.upload-dir=/uploads/user-avatars
-
-logging.level.org.hibernate.SQL=DEBUG
-logging.level.org.hibernate.orm.jdbc.bind=TRACE
-logging.level.org.springframework.security=DEBUG
-
-spring.profiles.active=local
Index: c/main/resources/db/migration/V1__init_ddl.sql
===================================================================
--- src/main/resources/db/migration/V1__init_ddl.sql	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,239 +1,0 @@
-DROP TABLE IF EXISTS users CASCADE;
-DROP TABLE IF EXISTS moderator CASCADE;
-DROP TABLE IF EXISTS developer CASCADE;
-DROP TABLE IF EXISTS project_manager CASCADE;
-DROP TABLE IF EXISTS thread CASCADE;
-DROP TABLE IF EXISTS likes CASCADE;
-DROP TABLE IF EXISTS topic_thread_is_moderated_by_moderator CASCADE;
-DROP TABLE IF EXISTS tag CASCADE;
-DROP TABLE IF EXISTS tag_assigned_to_thread CASCADE;
-DROP TABLE IF EXISTS topic_thread CASCADE;
-DROP TABLE IF EXISTS topic_belongs_to_project CASCADE;
-DROP TABLE IF EXISTS blacklisted_user CASCADE;
-DROP TABLE IF EXISTS project_thread CASCADE;
-DROP TABLE IF EXISTS discussion_thread CASCADE;
-DROP TABLE IF EXISTS developer_associated_with_project CASCADE;
-DROP TABLE IF EXISTS permissions CASCADE;
-DROP TABLE IF EXISTS project_role CASCADE;
-DROP TABLE IF EXISTS project_role_is_assigned_to_developer CASCADE;
-DROP TABLE IF EXISTS role_permissions CASCADE;
-DROP TABLE IF EXISTS role_permissions_overrides CASCADE;
-DROP TABLE IF EXISTS project_request CASCADE;
-DROP TABLE IF EXISTS report CASCADE;
-DROP TABLE IF EXISTS channel CASCADE;
-DROP TABLE IF EXISTS messages CASCADE;
-DROP TABLE IF EXISTS threads_moderators CASCADE;
-DROP TYPE IF EXISTS status;
-DROP VIEW IF EXISTS v_topic_thread CASCADE;
-DROP VIEW IF EXISTS v_project_thread CASCADE;
-DROP VIEW IF EXISTS v_discussion_thread CASCADE;
-DROP VIEW IF EXISTS v_project_owner CASCADE;
-DROP VIEW IF EXISTS v_moderator CASCADE;
-drop function if exists fn_insert_project_manager CASCADE;
-drop function if exists fn_insert_topics_creator_as_moderator CASCADE;
-drop function if exists fn_validate_topic_title CASCADE;
-drop function if exists clean_tables CASCADE;
-drop function if exists clean_routines CASCADE;
-DROP TRIGGER IF EXISTS validate_same_parent ON discussion_thread CASCADE;
-drop table if exists topic_guidelines cascade;
-drop table if exists submission cascade;
-drop table if exists feedback;
-drop table if exists embeddable_thread;
-
-CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
-
-
----- DDL
-CREATE TABLE users
-(
-    id            SERIAL PRIMARY KEY,
-    username      VARCHAR(32) UNIQUE      NOT NULL,
-    email         varchar(60)             not null,
-    name          varchar(32)             not null,
-    is_activate   bool      DEFAULT true,
-    password      VARCHAR(72) NOT NULL,
-    description   VARCHAR(200),
-    registered_at TIMESTAMP DEFAULT NOW() NOT NULL,
-    sex           VARCHAR(1) NOT NULL
-);
-CREATE TABLE moderator
-(
-    id INT PRIMARY KEY REFERENCES users (id) on delete cascade
-);
-CREATE TABLE developer
-(
-    id INT PRIMARY KEY REFERENCES users (id) on delete cascade
-);
-CREATE TABLE project_manager
-(
-    id INT PRIMARY KEY REFERENCES users (id) on delete cascade
-);
-CREATE TABLE thread
-(
-    id         SERIAL PRIMARY KEY,
-    content    TEXT,
-    created_at timestamp DEFAULT NOW()   NOT NULL,
-    is_created_by    INT REFERENCES users (id) NOT NULL --IS_CREATED_BY TOTAL
-);
-CREATE TABLE project_thread
-(
-    title    VARCHAR(256) UNIQUE NOT NULL,
-    repo_url TEXT,
-    id       INT PRIMARY KEY REFERENCES thread (id) on delete cascade --INHERITANCE
-);
-create table embeddable_thread
-(
-    id int primary key references thread (id) on delete cascade
-);
-
-CREATE TABLE topic_thread
-(
-    title     VARCHAR(256) NOT NULL,
-    id        INT PRIMARY KEY REFERENCES embeddable_thread (id) on delete cascade, --INHERITANCE
-    referenced_by int REFERENCES project_thread (id) on delete CASCADE,                 --PARENT
-    UNIQUE (referenced_by, title)
-);
-create table topic_guidelines
-(
-    id          serial,
-    topic_id    int references topic_thread (id) on delete cascade,
-    description text,
-    PRIMARY KEY (id, topic_id)
-);
-CREATE TABLE discussion_thread
-(
-    id        INT PRIMARY KEY REFERENCES embeddable_thread (id) on delete cascade, --INHERITANCE,
-    contained_in int REFERENCES embeddable_thread (id) NOT NULL                       --on delete CASCADE ne tuku preku trigger PARENT TOTAL BIGINT
-);
-
-CREATE TABLE likes
-(
-    user_id   INT REFERENCES users (id) on delete cascade,
-    thread_id INT REFERENCES thread (id) on delete cascade,
-    PRIMARY KEY (user_id, thread_id)
-);
-CREATE TABLE topic_thread_is_moderated_by_moderator
-(
-    thread_id  INT REFERENCES topic_thread (id) ON DELETE CASCADE NOT NULL,
-    user_id    INT REFERENCES moderator (id) ON DELETE CASCADE NOT NULL,
-    started_at TIMESTAMP DEFAULT NOW() NOT NULL,
-    PRIMARY KEY (thread_id, user_id)
-);
-CREATE TABLE tag
-(
-    name       VARCHAR(64) PRIMARY KEY,
-    creator_id int REFERENCES users (id) on delete CASCADE not null
-);
-CREATE TABLE tag_assigned_to_thread
-(
-    thread_id INT REFERENCES thread (id) ON DELETE CASCADE,
-    tag_name  VARCHAR(64) REFERENCES tag (name) ON DELETE CASCADE,
-    PRIMARY KEY (thread_id, tag_name)
-);
-
-CREATE TABLE blacklisted_user
-(
-    id serial primary key,
-    blacklisted_from     INT REFERENCES topic_thread (id) ON DELETE CASCADE NOT NULL ,
-    refers_to      INT REFERENCES users (id) ON DELETE CASCADE NOT NULL,
-    blacklisted_by INT REFERENCES moderator (id) ON DELETE CASCADE NOT NULL,
-    start_date   TIMESTAMP NOT NULL,
-    end_date     TIMESTAMP,
-    reason       TEXT,
-    UNIQUE (refers_to, blacklisted_by, blacklisted_from, start_date)
-);
-CREATE TABLE developer_associated_with_project
-(
-    in_project   INT REFERENCES project_thread (id) on delete cascade NOT NULL,
-    about_dev INT REFERENCES developer (id) on delete cascade NOT NULL,
-    started_at   TIMESTAMP DEFAULT NOW() NOT NULL,
-    ended_at     TIMESTAMP,
-    PRIMARY KEY (in_project, about_dev, started_at)
-);
-CREATE TABLE channel
-(
-    id uuid primary key default uuid_generate_v4(),
-    name                VARCHAR(64) NOT NULL,
-    description         VARCHAR(200),
-    project_has          INT REFERENCES project_thread (id) ON DELETE CASCADE NOT NULL, --HAS
-    constructed_by        INT REFERENCES developer (id)                        NOT NULL, --CONSTRUCTS
-    UNIQUE (name,project_has)
-);
-CREATE TABLE permissions
-(
-    name VARCHAR(32) PRIMARY KEY
-);
-
-
-create table project_role
-(
-    id serial PRIMARY KEY ,
-    name       varchar(32) NOT NULL,
-    valid_in int references project_thread (id) ON DELETE CASCADE NOT NULL,
-    override_type varchar(20) check ( override_type in ('INCLUDE','EXCLUDE')) NOT NULL DEFAULT 'EXCLUDE'
-);
-
-CREATE TABLE role_permissions
-(
-    for_permission VARCHAR(32) NOT NULl,
-    for_role INT REFERENCES project_role(id) ON DELETE CASCADE NOT NULL,
-    FOREIGN KEY (for_permission) REFERENCES permissions(name),
-    PRIMARY KEY (for_permission, for_role)
-);
-
-CREATE TABLE role_permissions_overrides
-(
-    for_resource uuid references channel(id) on delete cascade ,
-    for_role_permission_permission_name VARCHAR(32) NOT NULL,
-    for_role_permission_role_id INT REFERENCES project_role(id) ON DELETE CASCADE NOT NULL,
-    FOREIGN KEY (for_role_permission_permission_name, for_role_permission_role_id) REFERENCES role_permissions(for_permission, for_role) ON DELETE CASCADE,
-    PRIMARY KEY (for_role_permission_role_id,for_role_permission_permission_name,for_resource)
-);
-
-CREATE TABLE project_role_is_assigned_to_developer
-(
-    user_id    INT REFERENCES developer (id) on delete cascade NOT NULL,
-    role_id    INT REFERENCES project_role(id) on delete cascade NOT NULL,
-    PRIMARY KEY (user_id, role_id)
-);
-
-
-create table submission
-(
-    id          serial primary key,
-    created_at  TIMESTAMP   default now() NOT NULL                                                    ,
-    description VARCHAR(200) NOT NULL,
-    status      varchar(32) default 'PENDING' CHECK (status IN ('ACCEPTED', 'DENIED', 'PENDING')) NOT NULL,
-    submitted_by  int REFERENCES users (id) NOT NULL
-);
-
-CREATE TABLE project_request
-(
-    id         int PRIMARY KEY REFERENCES submission (id),
-    project_receives INT REFERENCES project_thread (id) ON DELETE CASCADE NOT NULL --RECIEVES
-);
-
-create table feedback
-(
-    description     TEXT,
-    submission_type varchar(1) CHECK (submission_type IN ('P', 'R')) NOT NULL,
-    created_at      timestamp default now()   not null,
-    written_by      int references users (id) NOT NULL, --WRITTEN_BY
-    submitted_for   int PRIMARY KEY references submission (id) on delete cascade
-);
-
-CREATE TABLE report
-(
-    id          int PRIMARY KEY REFERENCES submission (id),
-    for_misconduct_in   INT REFERENCES topic_thread (id) on delete cascade NOT NULL, --FOR_MISCONDUCT
-    about INT REFERENCES users (id) on delete cascade        NOT NULL  --ABOUT
-);
-
-CREATE TABLE messages
-(
-    sent_at      TIMESTAMP NOT NULL,
-    content      VARCHAR(200) NOT NULL,
-    sent_by      INT REFERENCES developer (id) on delete no action NOT NULL,
-    sent_in   uuid references channel(id) ON DELETE CASCADE NOT NULL,
-    PRIMARY KEY (sent_in,sent_by,sent_at)
-);
Index: c/main/resources/db/migration/V2__views.sql
===================================================================
--- src/main/resources/db/migration/V2__views.sql	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,105 +1,0 @@
-CREATE OR REPLACE VIEW v_project_thread
-AS
-SELECT thread.id, content, is_created_by, title, repo_url
-FROM project_thread project
-         JOIN thread
-              ON project.id = thread.id;
-CREATE OR REPLACE VIEW v_topic_thread
-AS
-SELECT thread.id, content, is_created_by, title, topic.referenced_by
-FROM topic_thread topic
-         JOIN thread
-              ON topic.id = thread.id;
-CREATE OR REPLACE VIEW v_moderator
-AS
-SELECT users.id, username, is_activate, password, description, registered_at, sex
-FROM moderator
-         JOIN users ON moderator.id = users.id;
-
-create or replace view v_discussion_thread
-as
-with recursive
-    depth_table as
-        (select contained_in, id, 0 as depth
-         from discussion_thread
-         UNION ALL
-         select discuss.contained_in, dpth.id, dpth.depth + 1
-         from depth_table dpth
-                  join discussion_thread discuss
-                       on dpth.contained_in = discuss.id),
-    tmp as (select id, max(depth) as depth
-            from depth_table
-            group by id)
-select d.id as id, t.is_created_by as user_id, d.depth as depth, d1.contained_in as parent_id, t.created_at as "created_at"
-from tmp d
-         join depth_table d1
-              on d.id = d1.id and d1.depth = d.depth
-         join thread t
-              on t.id = d.id;
-
-
-CREATE OR REPLACE VIEW role_channel_permissions AS
-SELECT
-    c.id as channel_id,
-    c.name,
-    pr.id as role_id,
-    COALESCE(
-                    STRING_AGG(
-                    DISTINCT rp.for_permission, ',' ORDER BY rp.for_permission
-                              ) FILTER (
-                        WHERE
-                        (pr.override_type = 'INCLUDE' AND rpo.for_resource IS NOT NULL)
-                            OR
-                        (pr.override_type = 'EXCLUDE' AND rpo.for_resource IS NULL)
-                        ),
-                    ''
-    ) AS permissions
-FROM channel c
-         JOIN project_role pr
-              ON pr.valid_in = c.project_has
-         LEFT JOIN role_permissions rp
-                   ON rp.for_role = pr.id
-                       AND rp.for_permission IN ('READ','WRITE')
-         LEFT JOIN role_permissions_overrides rpo
-                   ON rpo.for_role_permission_role_id = pr.id
-                       AND rpo.for_role_permission_permission_name = rp.for_permission
-                       AND rpo.for_resource = c.id
-GROUP BY c.id, c.name,pr.id;
-
-create or replace view v_named_threads as
-WITH topics_projects AS (SELECT pr.id,
-                                pr.title,
-                                'projects'::text AS "type"
-                         FROM project_thread pr
-                         UNION
-                         SELECT topic_thread.id,
-                                topic_thread.title,
-                                'topics'::text AS "type"
-                         FROM topic_thread),
-     topics_projects_threads AS (SELECT t.id,
-                                        t.content,
-                                        tp.type,
-                                        tp.title,
-                                        u.username,
-                                        u.id        AS user_id,
-                                        t.created_at
-                                 FROM thread t
-                                          JOIN users u ON u.id = t.is_created_by
-                                          JOIN topics_projects tp ON tp.id = t.id)
-        ,
-     named_threads_tags as (select tt.thread_id           as "id",
-                                   array_agg(tt.tag_name) as "tags"
-                            from tag_assigned_to_thread tt
-                            where tt.thread_id in (select id from topics_projects_threads)
-                            group by tt.thread_id)
-SELECT tpt.id,
-       tpt.content,
-       tpt.title,
-       tpt.type,
-       tpt.username,
-       tpt.user_id,
-       tpt.created_at,
-       coalesce((select ntt.tags as "tags"
-                 from named_threads_tags ntt
-                 where ntt.id = tpt.id),'{}') as "tags"
-FROM topics_projects_threads tpt;
Index: c/main/resources/db/migration/V3__triggers_ddl.sql
===================================================================
--- src/main/resources/db/migration/V3__triggers_ddl.sql	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,297 +1,0 @@
-CREATE OR REPLACE FUNCTION fn_validate_topic_title()
-    RETURNS TRIGGER
-    LANGUAGE plpgsql
-AS
-$$
-BEGIN
-    IF new.title IN
-       (SELECT title
-        FROM topic_thread AS t
-        WHERE t.referenced_by = new.referenced_by
-           OR (t.referenced_by IS NULL AND new.referenced_by IS NULL)
-       )
-    THEN
-        RAISE EXCEPTION 'There already exists a topic with title % in parent topic with id %', new.title, new.referenced_by;
-    END IF;
-    RETURN new;
-END;
-$$;
-
-CREATE OR REPLACE FUNCTION check_if_user_exists_in(table_name text, field_name text, field_value text) RETURNS boolean
-    LANGUAGE plpgsql
-AS
-$$
-DECLARE
-    result BOOL;
-BEGIN
-    EXECUTE format('SELECT EXISTS (SELECT 1 FROM %I WHERE %I = %L)', table_name, field_name, field_value)
-        INTO result;
-    RETURN result;
-END;
-$$;
-
-CREATE OR REPLACE FUNCTION fn_insert_topics_creator_as_moderator()
-    RETURNS TRIGGER
-    LANGUAGE plpgsql
-AS
-$$
-DECLARE
-    v_user_id INT;
-BEGIN
-    SELECT v_topic_thread.is_created_by
-    INTO v_user_id
-    FROM v_topic_thread
-    WHERE v_topic_thread.id = NEW.id;
-
-    IF NOT check_if_user_exists_in('moderator', 'id', v_user_id::text) THEN
-        INSERT INTO moderator VALUES (v_user_id);
-    END IF;
-
-    INSERT INTO topic_thread_is_moderated_by_moderator(thread_id, user_id) VALUES (NEW.id, v_user_id);
-    RETURN NEW;
-END;
-$$;
-
-CREATE OR REPLACE FUNCTION fn_insert_project_manager()
-    RETURNS TRIGGER
-    LANGUAGE plpgsql
-AS
-$$
-DECLARE
-    usrId INT;
-    new_project_id INT;
-BEGIN
-    SELECT is_created_by, id
-    INTO usrId, new_project_id
-    FROM v_project_thread p
-    WHERE NEW.id = p.id;
-
-    IF NOT EXISTS(
-        SELECT 1
-        FROM developer_associated_with_project dawp
-        WHERE dawp.in_project = new_project_id
-          AND dawp.about_dev = usrId
-    ) THEN
-        INSERT INTO developer_associated_with_project(in_project, about_dev, started_at)
-        VALUES (new_project_id, usrId, NOW());
-    END IF;
-
-    IF NOT check_if_user_exists_in('project_manager', 'id', usrId::text) THEN
-        INSERT INTO project_manager VALUES (usrId);
-    END IF;
-
-    RETURN NEW;
-END;
-$$;
-
-CREATE OR REPLACE FUNCTION fn_remove_unused_tags()
-    RETURNS TRIGGER
-    LANGUAGE plpgsql
-AS
-$$
-BEGIN
-    IF NOT check_if_user_exists_in('tag_assigned_to_thread', 'tag_name', OLD.tag_name) THEN
-        DELETE FROM tag WHERE name = OLD.tag_name;
-    END IF;
-    RETURN OLD;
-END;
-$$;
-
-CREATE OR REPLACE FUNCTION fn_add_dev_if_not_exist()
-    RETURNS TRIGGER
-    LANGUAGE plpgsql
-AS
-$$
-BEGIN
-    IF NOT check_if_user_exists_in('developer', 'id', NEW.about_dev::text) THEN
-        INSERT INTO developer VALUES (NEW.about_dev);
-    END IF;
-    RETURN NEW;
-END;
-$$;
-
-CREATE OR REPLACE FUNCTION fn_insert_general_for_project()
-    RETURNS TRIGGER
-    LANGUAGE plpgsql
-AS
-$$
-DECLARE
-    developer_id INT;
-BEGIN
-    SELECT is_created_by
-    INTO developer_id
-    FROM thread t
-    WHERE t.id = NEW.id;
-
-    INSERT INTO channel(name, description, project_has, constructed_by)
-    VALUES ('General', 'General', NEW.id, developer_id);
-
-    RETURN NEW;
-END;
-$$;
-
-CREATE OR REPLACE FUNCTION fn_remove_orphan_moderator()
-    RETURNS TRIGGER
-    LANGUAGE plpgsql
-AS
-$$
-BEGIN
-    IF NOT EXISTS (
-        SELECT 1
-        FROM topic_thread_is_moderated_by_moderator t
-        WHERE t.user_id = OLD.user_id
-    ) THEN
-        DELETE FROM moderator WHERE id = OLD.user_id;
-    END IF;
-
-    IF NOT EXISTS (
-        SELECT 1
-        FROM topic_thread_is_moderated_by_moderator t
-        WHERE t.thread_id = OLD.thread_id
-    ) THEN
-        DELETE FROM discussion_thread WHERE contained_in = OLD.thread_id;
-        DELETE FROM topic_thread WHERE id = OLD.thread_id;
-    END IF;
-
-    RETURN OLD;
-END;
-$$;
-
-CREATE OR REPLACE FUNCTION fn_aa_rm_orphan_dics()
-    RETURNS TRIGGER
-    LANGUAGE plpgsql
-AS
-$$
-BEGIN
-    DELETE FROM discussion_thread dt
-    WHERE dt.contained_in = OLD.id;
-
-    DELETE FROM embeddable_thread
-    WHERE id = OLD.id;
-
-    DELETE FROM thread t
-    WHERE t.id = OLD.id;
-
-    RETURN OLD;
-END;
-$$;
-
-CREATE OR REPLACE FUNCTION fn_change_status_on_pending_reports()
-    RETURNS TRIGGER
-    LANGUAGE plpgsql
-AS
-$$
-BEGIN
-    RAISE NOTICE 'user_id: %, topic_id: %', NEW.refers_to, NEW.blacklisted_from;
-
-    UPDATE submission
-    SET status = 'ACCEPTED'
-    WHERE id IN (
-        SELECT id
-        FROM report r
-        WHERE r.about = NEW.refers_to
-          AND r.for_misconduct_in = NEW.blacklisted_from
-    );
-
-    RETURN NEW;
-END;
-$$;
-
-CREATE OR REPLACE FUNCTION fn_add_blacklisted_user()
-    RETURNS TRIGGER
-    LANGUAGE plpgsql
-AS
-$$
-BEGIN
-    IF NOT EXISTS (
-        SELECT 1
-        FROM blacklisted_user
-        WHERE blacklisted_from = NEW.blacklisted_from
-          AND refers_to = NEW.refers_to
-          AND end_date IS NULL
-    ) THEN
-        RETURN NEW;
-    END IF;
-    RETURN NULL;
-END;
-$$;
-
-CREATE OR REPLACE FUNCTION fn_delete_dangling_tags()
-    RETURNS TRIGGER
-    LANGUAGE plpgsql
-AS
-$$
-BEGIN
-    IF NOT EXISTS (
-        SELECT 1
-        FROM tag_assigned_to_thread
-        WHERE tag_name = OLD.tag_name
-        GROUP BY tag_name
-    ) THEN
-        DELETE FROM tag WHERE name = OLD.tag_name;
-    END IF;
-    RETURN OLD;
-END;
-$$;
-
-------------------------------------------------------------
-
-CREATE OR REPLACE TRIGGER tr_check_topic_name
-    BEFORE INSERT OR UPDATE
-    ON topic_thread
-    FOR EACH ROW
-EXECUTE FUNCTION fn_validate_topic_title();
-
-CREATE OR REPLACE TRIGGER tr_insert_topics_creator_as_moderator
-    AFTER INSERT
-    ON topic_thread
-    FOR EACH ROW
-EXECUTE FUNCTION fn_insert_topics_creator_as_moderator();
-
-CREATE OR REPLACE TRIGGER tr_remove_orphan_moderator
-    AFTER DELETE
-    ON topic_thread_is_moderated_by_moderator
-    FOR EACH ROW
-EXECUTE FUNCTION fn_remove_orphan_moderator();
-
-CREATE OR REPLACE TRIGGER tr_a_insert_project_manager
-    AFTER INSERT
-    ON project_thread
-    FOR EACH ROW
-EXECUTE FUNCTION fn_insert_project_manager();
-
-CREATE OR REPLACE TRIGGER tr_add_dev_if_not_exist
-    BEFORE INSERT
-    ON developer_associated_with_project
-    FOR EACH ROW
-EXECUTE FUNCTION fn_add_dev_if_not_exist();
-
-CREATE OR REPLACE TRIGGER tr_insert_general_for_project
-    AFTER INSERT
-    ON project_thread
-    FOR EACH ROW
-EXECUTE FUNCTION fn_insert_general_for_project();
-
-CREATE OR REPLACE TRIGGER tr_rm_orphan_disc
-    AFTER DELETE
-    ON discussion_thread
-    FOR EACH ROW
-EXECUTE FUNCTION fn_aa_rm_orphan_dics();
-
-CREATE OR REPLACE TRIGGER tr_add_blacklisted_user
-    BEFORE INSERT
-    ON blacklisted_user
-    FOR EACH ROW
-EXECUTE FUNCTION fn_add_blacklisted_user();
-
-CREATE OR REPLACE TRIGGER tr_change_status_on_pending_reports
-    AFTER INSERT
-    ON blacklisted_user
-    FOR EACH ROW
-EXECUTE FUNCTION fn_change_status_on_pending_reports();
-
-CREATE OR REPLACE TRIGGER tr_delete_dangling_tags
-    AFTER DELETE
-    ON tag_assigned_to_thread
-    FOR EACH ROW
-EXECUTE FUNCTION fn_delete_dangling_tags();
Index: c/main/resources/db/migration/V4__procedures.sql
===================================================================
--- src/main/resources/db/migration/V4__procedures.sql	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,75 +1,0 @@
-CREATE OR REPLACE PROCEDURE mark_denied_reports_older_than_1month()
-    LANGUAGE plpgsql
-AS $$
-DECLARE
-    older_reports RECORD;
-    user_id INT;
-BEGIN
-    FOR older_reports IN
-        SELECT
-            r.id AS submission_id,
-            r.for_misconduct_in AS topic
-        FROM report r
-                 JOIN submission s ON s.id = r.id
-        WHERE s.status = 'PENDING' AND now() - s.created_at >= INTERVAL '1 month'
-        LOOP
-            BEGIN
-                UPDATE submission
-                SET status = 'DENIED'
-                WHERE id = older_reports.submission_id;
-
-                SELECT t.is_created_by
-                INTO user_id
-                FROM thread t
-                WHERE t.id = older_reports.topic;
-
-                INSERT INTO feedback(description, submission_type, created_at, submitted_for, written_by)
-                VALUES (
-                           'Stale report. Closing due to inactivity.',
-                           'R',
-                           NOW(),
-                           older_reports.submission_id,
-                           user_id
-                       );
-            END;
-        END LOOP;
-END;
-$$;
-
-CREATE OR REPLACE PROCEDURE mark_denied_pr_requests_older_than_1month()
-    LANGUAGE plpgsql
-AS $$
-DECLARE
-    older_reports RECORD;
-    user_id INT;
-BEGIN
-    FOR older_reports IN
-        SELECT
-            pr.id AS submission_id,
-            pr.project_receives AS project_id
-        FROM project_request pr
-                 JOIN submission s ON s.id = pr.id
-        WHERE s.status = 'PENDING' AND now() - s.created_at >= INTERVAL '1 month'
-        LOOP
-            BEGIN
-                UPDATE submission
-                SET status = 'DENIED'
-                WHERE id = older_reports.submission_id;
-
-                SELECT t.is_created_by
-                INTO user_id
-                FROM thread t
-                WHERE t.id = older_reports.project_id;
-
-                INSERT INTO feedback(description, submission_type, created_at, submitted_for, written_by)
-                VALUES (
-                           'Stale report. Closing due to inactivity.',
-                           'P',
-                           NOW(),
-                           older_reports.submission_id,
-                           user_id
-                       );
-            END;
-        END LOOP;
-END;
-$$;
Index: c/main/resources/db/migration/V5__indexes.sql
===================================================================
--- src/main/resources/db/migration/V5__indexes.sql	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,1 +1,0 @@
-
Index: c/main/resources/db/migration/V6__add_test_data.sql
===================================================================
--- src/main/resources/db/migration/V6__add_test_data.sql	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,197 +1,0 @@
-INSERT INTO users (username, is_activate, password, description, registered_at, sex, name, email)
-VALUES
-    ('user1', true, '$2a$12$0f.x7aBM2wFBZBXoLPj0BObVsk.J1kXFYo5nb4niAWkI4hk5tHvDy', 'First user', NOW(), 'M','viki', 'viki@gmail.com'),
-    ('user2', true, '$2a$12$VkR0a47LDVM6aUqFcEJGSu9jhZCz.05tCoyiRicFObt4f2x2gijKa', 'Second user', NOW(), 'F','stefan', 'stefan@gmail.com'),
-    ('user3', true, '$2a$12$eSLdHHJ1KFgv.dOupmloXeItjrt2o1IB6ER6Nq7WYj9Jfr2bEwK2a', 'Third user', NOW(), 'M','darko', 'darko@gmail.com'),
-    ('user4', true, '$2a$12$dF5SXcNhMulgU3Qre3nh1e.aatRiJZsnfoBSqReGnXe9rIbHYVWhe', 'Fourth user', NOW(), 'F','andrej', 'andrej@gmail.com'),
-    ('user5', true, '$2a$12$zHrloz8WG2zo5S6MTf1C0ez1raMlmDJdB8OOa2I1S2pVy9oI76YTa', 'Fifth user', NOW(), 'M','ramche', 'ramche@gmail.com');
-
-
-INSERT INTO thread (content, is_created_by)
-VALUES
-    ('Main content for topic thread 1', 1), --1
-    ('Main content for topic thread 2', 2), --2
-    ('Discussion content for topic 1', 1), --3
-    ('Discussion content for topic 2', 2), --4
-    ('Project-specific thread content', 3), --5
-    ('Reply to topic 1', 4), -- 6
-    ('Further discussion on topic 2', 5), --7
-    ('Main content for topic thread', 1), --8
-    ('Project-specific thread content 2', 5); --9
-
-insert into embeddable_thread(id)
-values (1),(2),(3),(4),(6),(7),(8);
-
-
-INSERT INTO project_thread (id, title, repo_url)
-VALUES
-    (5, 'Project 1 Thread', 'http://github.com/project1'),
-    (9, 'Project 2 Thread', 'http://github.com/project1');
-
-INSERT INTO topic_thread (id, title, referenced_by)
-VALUES
-    (1, 'Topic 1' , 5),
-    (2, 'Topic 2', NULL),
-    (8, 'Topic 7' , NULL);
-
-insert into topic_guidelines(topic_id,description)
-values
-    (1,'Follow guidelines'),
-    (2,'Be respectful');
-
-INSERT INTO discussion_thread (id, contained_in)
-VALUES
-    (3, 1),
-    (4, 2),
-    (6, 1),
-    (7, 4);
-
-
-INSERT INTO likes (user_id, thread_id)
-VALUES
-    (1, 3),
-    (2, 4),
-    (3, 5),
-    (4, 6),
-    (5, 7);
-
--- blacklisted_user matches DDL, so skipped for now
-
-INSERT INTO permissions (name)
-VALUES
-    ('READ'),
-    ('WRITE'),
-    ('CREATE'),
-    ('DELETE');
-
-INSERT INTO project_role (name, valid_in, override_type)
-VALUES
-    ('Admin', 5,'EXCLUDE'),
-    ('Developer', 5,'INCLUDE');
-
-
-INSERT INTO project_role_is_assigned_to_developer (user_id, role_id)
-VALUES
-    (3, 1),
-    (5, 2);
-
-INSERT INTO role_permissions (for_permission, for_role)
-VALUES
-    ('READ', 1),
-    ('WRITE', 1),
-    ('CREATE', 1),
-    ('DELETE', 1);
-
-insert into submission(submitted_by, status, description)
-values
-    (1,'PENDING','Inappropriate content'),
-    (3,'DENIED','Spam content');
-
-INSERT INTO report (id, for_misconduct_in, about)
-VALUES
-    (1, 2, 1),
-    (2, 1, 3);
-
-
-INSERT INTO channel (name, description, project_has, constructed_by)
-VALUES
-    ('Updates', 'Project updates channel', 5, 3);
-
-
----------------- NOV TEST DATA
-
--- Add new users (already correct)
-INSERT INTO users (username, is_activate, password, description, registered_at, sex, name, email)
-VALUES
-    ('user6', true, '$2a$12$jB9g/.KP95fsYYOTy0pwZ.kFrwA/G2cMvPvFLzGtCk8jJ2qO3O.3u', 'Sixth user', NOW(), 'M', 'marko', 'marko@gmail.com'),
-    ('user7', true, '$2a$12$KRxRufuMscrlQOLKGw4fBehNLWaP7Zu.M964G2JedKVM4o4wTiJaG', 'Seventh user', NOW(), 'F', 'jana', 'jana@gmail.com'),
-    ('user8', true, '$2a$12$SCqlK.Rl72tFT0kIUNP6KuSy6BYzfdb9sKJPSWbIK8/uk7y8U7hgS', 'Eighth user', NOW(), 'M', 'nikola', 'nikola@gmail.com'),
-    ('user9', true, '$2a$12$LpDTYNb/i0cohkmszkx93ef9rkgFTNFQz/KqHEYIAE9MPOmlyXJ9m', 'Ninth user', NOW(), 'F', 'elena', 'elena@gmail.com'),
-    ('user10', true, '$2a$12$p/kZdDKCUCmXjWTsknss/.UaD4a8vxrTcfvc6mdkpHRRPqRZLLtr6', 'Tenth user', NOW(), 'M', 'petar', 'petar@gmail.com');
-
--- Add new developers (matches DDL)
-INSERT INTO developer (id)
-VALUES (6),(7),(8),(9),(10);
-
--- Add new threads
-INSERT INTO thread (content, is_created_by)
-VALUES
-    ('Main content for topic thread 3', 6), --10
-    ('Main content for topic thread 4', 7), --11
-    ('Discussion content for topic 3', 6), --12
-    ('Discussion content for topic 4', 7), --13
-    ('Project-specific thread content 3', 8), --14
-    ('Reply to topic 3', 9), --15
-    ('Further discussion on topic 4', 10), --16
-    ('Main content for topic thread 5', 6), --17
-    ('Project-specific thread content 4', 10); --18
-
--- Add embeddable_thread entries
-INSERT INTO embeddable_thread (id)
-VALUES (10),(11),(12),(13),(15),(16),(17);
-
--- New project_threads (matches DDL)
-INSERT INTO project_thread (id, title, repo_url)
-VALUES
-    (14, 'Project 3 Thread', 'http://github.com/project3'),
-    (18, 'Project 4 Thread', 'http://github.com/project4');
-
--- New topic_threads
-INSERT INTO topic_thread (id, title, referenced_by)
-VALUES
-    (10, 'Topic 3', 14),
-    (11, 'Topic 4', NULL),
-    (17, 'Topic 8', NULL);
-
--- Guidelines
-INSERT INTO topic_guidelines (topic_id, description)
-VALUES
-    (10, 'Stay on topic'),
-    (11, 'No personal attacks');
-
--- New discussion_threads
-INSERT INTO discussion_thread (id, contained_in)
-VALUES
-    (12, 10),
-    (13, 11),
-    (15, 10),
-    (16, 13);
-
--- Likes (matches DDL)
-INSERT INTO likes (user_id, thread_id)
-VALUES
-    (6, 12),
-    (7, 13),
-    (8, 14),
-    (9, 15),
-    (10, 16);
-
--- blacklisted_user (already matches DDL)
-
--- New submissions
-INSERT INTO submission (submitted_by, status, description)
-VALUES
-    (6, 'PENDING', 'Request for new feature'),
-    (7, 'ACCEPTED', 'Bug report');
-
--- Reports
-INSERT INTO report (id, for_misconduct_in, about)
-VALUES
-    (3, 10, 7),
-    (4, 11, 8);
-
--- Associate developers with projects
-INSERT INTO developer_associated_with_project (in_project, about_dev, started_at)
-VALUES
-    (14, 6, NOW()),
-    (14, 7, NOW()),
-    (18, 8, NOW()),
-    (18, 9, NOW());
-
--- Channels
-INSERT INTO channel (name, description, project_has, constructed_by)
-VALUES
-    ('General2', 'General discussion', 14, 6),
-    ('Bugs', 'Bug reports and fixes', 14, 7),
-    ('General2', 'General discussion', 18, 8),
-    ('Ideas', 'Feature ideas', 18, 9);
Index: c/main/resources/static/css/chat.css
===================================================================
--- src/main/resources/static/css/chat.css	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,174 +1,0 @@
-body {
-    background-color: #f8f9fa;
-    margin: 0;
-    padding: 0;
-}
-.chat-container {
-    width: 80%; /* Chat takes 80% of the screen width */
-    height: 85vh; /* Chat box height takes up 85% of the viewport */
-    max-width: 1200px; /* Max-width for large screens */
-    border-radius: 12px;
-    overflow: hidden;
-    box-shadow: 1px 4px 12px rgba(0, 0, 0, 0.6);
-    display: flex;
-    flex-direction: column;
-    position: relative;
-    padding: 0;
-}
-.chat-header {
-    background-color: #e9ecef;
-    padding: 25px;
-    text-align: center;
-}
-.chat-header h3{
-    padding-bottom: 1rem;
-    border-bottom: 1px solid rgba(0, 0, 0, 0.3);
-}
-.chat-messages {
-    background-color: #e9ecef;
-    height: calc(100% - 160px); /* Adjust the height based on header and input section */
-    overflow-y: auto;
-    padding: 20px;
-    display: flex;
-    flex-direction: column;
-    gap: 20px;
-}
-
-.input-container {
-    background-color: #ffffff; /* Light background for the input area */
-    padding: 15px;
-    display: flex;
-    gap: 10px;
-    align-items: center; /* Align items vertically */
-    border-top: 1px solid #e9ecef; /* Add a subtle border at the top */
-    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.1); /* Add a shadow to separate from messages */
-}
-
-#chat-message {
-    flex: 1; /* Allow the textarea to take up remaining space */
-    padding: 12px 16px; /* Add padding for better text alignment */
-    border: 1px solid #ced4da; /* Add a border */
-    border-radius: 8px; /* Rounded corners */
-    font-size: 14px; /* Adjust font size */
-    resize: none; /* Disable resizing */
-    outline: none; /* Remove default outline */
-    transition: border-color 0.3s ease; /* Smooth transition for focus */
-}
-
-#chat-message:focus {
-    border-color: #007bff; /* Highlight border on focus */
-    box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25); /* Add a subtle glow */
-}
-
-#send-message-button {
-    background-color: #2DA1E1FF; /* Primary button color */
-    color: white; /* Text color */
-    border: none; /* Remove default border */
-    padding: 10px 16px; /* Smaller padding for a compact look */
-    border-radius: 20px; /* More rounded corners for a pill-like shape */
-    font-size: 14px; /* Adjust font size */
-    cursor: pointer; /* Pointer cursor on hover */
-    transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease; /* Smooth transitions */
-    display: flex; /* Use flexbox for alignment */
-    align-items: center; /* Center content vertically */
-    justify-content: center; /* Center content horizontally */
-    width: auto; /* Let the button size adjust to its content */
-    min-width: 80px; /* Set a minimum width to avoid being too narrow */
-    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Subtle shadow for depth */
-}
-/*2DA1E1FF*/
-#send-message-button:hover {
-    background-color: #007dc2; /* Darker shade on hover */
-    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Slightly larger shadow on hover */
-}
-
-#send-message-button:active {
-    transform: scale(0.95); /* Slight scale-down effect on click */
-    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Reset shadow on click */
-}
-
-#send-message-button:focus {
-    outline: none; /* Remove default outline */
-    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.3); /* Add a focus ring */
-}
-.message-bubble {
-    width: 100%;
-    word-wrap: break-word;
-    padding: 12px 20px;
-    border-radius: 20px;
-    display: flex;
-    align-items: center;
-    gap: 1rem;
-}
-.message-info p{
-    margin: 0;
-}
-.message-bubble.outgoing {
-    background-color: #007bff;
-    color: white;
-    align-self: flex-end;
-}
-.message-bubble.incoming {
-    background-color: #e2e5ea;
-    color: black;
-    align-self: flex-start;
-}
-.input-container {
-    background-color: #f1f3f5;
-    padding: 15px;
-    display: flex;
-    gap: 10px;
-}
-.button{
-
-}
-.user-list {
-    background-color: #f1f3f5;
-    padding: 15px;
-    border-radius: 8px;
-    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
-    max-height: 40vh;
-    overflow-y: auto;
-}
-.channel-list {
-    background-color: #f1f3f5;
-    padding: 15px;
-    border-radius: 8px;
-    box-shadow: 2px 4px 8px rgba(3, 2, 2, 0.27);
-    width: 20%;
-    overflow-y: auto;
-}
-.user-item {
-    display: flex;
-    align-items: center;
-    gap: 12px;
-    padding: 12px 8px;
-    border-radius: 8px;
-}
-.user-item:hover {
-    background-color: #e9ecef;
-}
-
-.channel-item {
-    display: flex;
-    align-items: center;
-    gap: 12px;
-    padding: 12px 8px;
-    border-radius: 8px;
-    background-color: rgba(108, 111, 114, 0.07);
-    margin-top: 0.85rem;
-}
-.channel-item:hover {
-    transition: background-color 300ms;
-    background-color: rgba(129, 144, 178, 0.29);
-}
-
-.avatar {
-    width: 50px;
-    height: 50px;
-    display: inline-flex;
-    justify-content: center;
-    align-items: center;
-    border-radius: 50%;
-    color: white;
-}
Index: c/main/resources/static/css/icon.css
===================================================================
--- src/main/resources/static/css/icon.css	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,18 +1,0 @@
-.icon-small{
-    width: 3rem !important;
-    height: 3rem !important;
-    object-fit: cover;
-    vertical-align: middle;
-}
-.icon-medium{
-    width: 4rem;
-    height: 4rem;
-    object-fit: cover;
-    vertical-align: middle;
-}
-.icon-big{
-    width: 15rem;
-    height: 15rem;
-    object-fit: cover;
-    vertical-align: middle;
-}
Index: c/main/resources/static/js/modal_utils.js
===================================================================
--- src/main/resources/static/js/modal_utils.js	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,10 +1,0 @@
-const modalConts = []
-document.addEventListener("keydown", ev => {
-    if (ev.key !== 'Escape') return null;
-    modalConts.forEach(cont => {
-        if (cont.classList.contains("show")) {
-            const close = cont.querySelector(".btn-close")
-            close.click()
-        }
-    })
-})
Index: c/main/resources/static/project_imgs/im-kick-user.svg
===================================================================
--- src/main/resources/static/project_imgs/im-kick-user.svg	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,1 +1,0 @@
-<svg viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg"><g fill="#da4453" transform="translate(-421.714 -525.79)"><path d="m432.714 528.79a4 4 0 0 0 -4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0 -4-4m0 1a3 3 0 0 1 3 3 3 3 0 0 1 -3 3 3 3 0 0 1 -3-3 3 3 0 0 1 3-3m0 8a8 8 0 0 0 -7.927 7h1.007a7 7 0 0 1 6.92-6 7 7 0 0 1 1 .08v-1.009a8 8 0 0 0 -1-.07"/><circle cx="437.214" cy="541.291" r="3.5"/></g><path d="m13 15h5v1h-5z" fill="#fff"/></svg>
Index: c/main/resources/templates/blacklisted.html
===================================================================
--- src/main/resources/templates/blacklisted.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,31 +1,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <meta name="viewport"
-          content="width=device-width, initial-scale=1.0">
-    <title>
-        Add
-        Topic</title>
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css"
-          rel="stylesheet">
-    <style>
-        .error-bubble {
-            display: inline-block;
-            background-color: #dc3545; /* Bootstrap danger color */
-            color: white;
-            padding: 10px 15px;
-            border-radius: 20px;
-            font-weight: bold;
-            box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
-        }
-    </style>
-</head>
-<body>
-<div th:replace="/home_pages/home :: navigation"></div>
-<main class="d-flex vh-100 justify-content-center align-items-center">
-    <h1 class="text-center">
-        The moderators have blacklisted you from this site
-    </h1>
-</main>
-</body>
Index: c/main/resources/templates/channels/list-channels.html
===================================================================
--- src/main/resources/templates/channels/list-channels.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,14 +1,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <title>All Channels</title>
-</head>
-<body>
-<div >
-    <ul th:each="channel : ${channels}">
-        <li th:text="${channel.getName()}"></li>
-    </ul>
-</div>
-</body>
-</html>
Index: c/main/resources/templates/channels/show-channel.html
===================================================================
--- src/main/resources/templates/channels/show-channel.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,208 +1,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title>Channel</title>
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
-    <link href="/css/icon.css" rel="stylesheet">
-    <link href="/css/chat.css" rel="stylesheet">
-</head>
-<body>
-
-<div th:replace="~{/home_pages/home ::navigation}"></div>
-
-<main class="d-flex justify-content-between align-items-start vh-90 mt-5">
-
-    <div class="d-flex gap-1 flex-grow-1 h-100">
-        <!-- Channel List -->
-        <div class="channel-list border border-outline">
-            <h5 th:text="${channel.getProject().getTitle()}"></h5>
-            <hr>
-            <h6>Channels</h6>
-            <div th:each="channel : ${channel.getProject().getChannels()}" class="channel-item">
-                <a th:href="@{/projects/{projectName}/channels/{channelName} (projectName=${channel.getProject().getTitle()}, channelName=${channel.getName()})}"
-                   th:text="${channel.getName()}"
-                   class="nav-link"
-                >Channel Name</a>
-            </div>
-        </div>
-
-        <div class="container chat-container">
-            <!-- Header -->
-            <div class="chat-header">
-                <h3 class="mb-0" th:text="${channel.getName()}">Channel Name</h3>
-            </div>
-
-            <!-- Main Content (Messages Section) -->
-            <div id="messages-container" class="chat-messages">
-                <div class="message-bubble incoming" th:each="message : ${messages}">
-                    <div id="user-info">
-                        <img th:src="${message.getAvatarUrl()}" class="rounded-circle icon-small icon-small"
-                             alt="user-logo">
-                    </div>
-                    <div id="message-info" class="message-info">
-                        <small class="text-secondary fst-italic">
-                            <span th:text="${message.getSenderUsername()}">Username</span>
-                            <span th:text="${#temporals.format(message.getSentAt(), 'dd/MM/yyyy &bull; HH:mm')}">&nbsp;datum • vreme</span>
-                        </small>
-                        <p th:text="${message.getContent()}" class="lead text-break">Message Content</p>
-                    </div>
-
-                </div>
-                <!--                Tuka pocvat messages-->
-            </div>
-
-            <!-- Input Section -->
-            <div class="input-container">
-                <textarea id="chat-message" th:disabled="${!canWrite}" class="form-control h-fit-content" name="chatMessage"
-                          placeholder="Type your message..."></textarea>
-                <button id="send-message-button" th:disabled="${!canWrite}" class="btn btn-primary">Send</button>
-            </div>
-        </div>
-
-    </div>
-
-    <!-- User List -->
-    <div class="user-list me-3 border border-outline shadow">
-        <h5 style="text-align: center">Users</h5>
-        <hr>
-        <div th:each="developer : ${developers}" class="user-item">
-            <img th:src="${developer.getAvatarUrl()}" class="rounded-circle icon-small" alt="user-logo"
-                 style="width: 3rem;height: 3rem;">
-            <a class="text-break nav-link"
-               th:href="@{/{username}/profile(username=${developer.getUsername()})}"
-               th:text="${developer.getUsername()}"></a>
-        </div>
-    </div>
-</main>
-
-<div id="th-data" style="display: none"
-     th:data-project-id="${channel.getProject().getId()}"
-     th:data-channel-name="${channel.getName()}"
-     th:data-username="${session.user.getUsername()}"
-     th:data-project-name="${channel.getProject().getTitle()}"
-     th:data-avatar-url="${session.user.getAvatarUrl()}"
->
-</div>
-
-
-<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
-<!--
-    JSPM Generator Import Map
-    Edit URL: https://generator.jspm.io/#U2NgYGBkDM0rySzJSU1hcCguyc8t0AeTWcUO5noGega6SakliaYAYTzJAykA
-  -->
-<script type="importmap">
-    {
-      "imports": {
-        "@stomp/stompjs": "https://ga.jspm.io/npm:@stomp/stompjs@7.0.0/esm6/index.js"
-      }
-    }
-</script>
-
-<!-- ES Module Shims: Import maps polyfill for modules browsers without import maps support (all except Chrome 89+) -->
-<script
-        async
-        src="https://ga.jspm.io/npm:es-module-shims@1.5.1/dist/es-module-shims.js"
-        crossorigin="anonymous"
-></script>
-
-<script type="module">
-    import {Client} from '@stomp/stompjs';
-
-    let projectId = document.getElementById("th-data").getAttribute("data-project-id")
-    let channelName = document.getElementById("th-data").getAttribute("data-channel-name")
-    let username = document.getElementById("th-data").getAttribute("data-username")
-    let projectName = document.getElementById("th-data").getAttribute("data-project-name")
-    let avatarUrl = document.getElementById("th-data").getAttribute("data-avatar-url")
-
-    const messageJson = {
-        channelName: channelName,
-        content: "",
-        senderUsername: username,
-        sentAt: "",
-        projectId: projectId,
-        avatarUrl: avatarUrl
-    };
-
-    let cont = document.getElementById("messages-container");
-    cont.scrollTop = cont.scrollHeight;
-
-
-    const createChatMessage = (messageDto) => {
-
-        messageDto = JSON.parse(messageDto)
-
-        console.log("MESSAGE DTO CELO VO CRETEA: " + Object.keys(messageDto).map(key => `${key} : ` + messageDto[key]))
-
-
-        console.log("vleze create")
-        const newMessageDiv = document.createElement("div");
-        let sentAt = new Date(); // Current date and time
-        let formattedDate = `${String(sentAt.getDate()).padStart(2, '0')}/${String(sentAt.getMonth() + 1).padStart(2, '0')}/${sentAt.getFullYear()} • ${String(sentAt.getHours()).padStart(2, '0')}:${String(sentAt.getMinutes()).padStart(2, '0')}`;
-
-        console.log("avatar: " + messageDto.avatarUrl)
-
-        newMessageDiv.innerHTML =
-            `
-
-                    <div id="user-info">
-                        <img src="${messageDto.avatarUrl}" class="rounded-circle icon-small icon-small"
-                             alt="user-logo">
-                    </div>
-                    <div id="message-info" class="message-info">
-                        <small class="text-secondary fst-italic">
-                            <span>${messageDto.senderUsername}</span>
-                            <span>${formattedDate}</span>
-                        </small>
-                        <p class="lead text-break">${messageDto.content}</p>
-                    </div>
-
-
-        `
-
-        newMessageDiv.classList.add("message-bubble", "incoming");
-
-        cont.append(newMessageDiv);
-        newMessageDiv.scrollTo()
-    }
-
-    const client = new Client({
-        brokerURL: `ws://localhost:8080/channel-websocket?project=${projectName}&channelName=${channelName}`,
-        onConnect: () => {
-            client.subscribe(`/projects/${projectName}/channels/${channelName}`, message => {
-                    createChatMessage(message.body)
-                    console.log("MESSAGE RECIEVED: " + Object.keys(JSON.parse(message.body)));
-                    document.getElementById("chat-message").value = '';
-                    cont.scrollTop = cont.scrollHeight;
-                }
-            );
-        },
-    });
-    client.activate();
-
-
-    let sendButton = document.getElementById("send-message-button");
-
-    sendButton.addEventListener("click", () => {
-        let message = document.getElementById("chat-message").value;
-        let msgRegex = /^\s*$/;
-        if(message == null || message === '' || msgRegex.test(message)) return
-        messageJson.content = document.getElementById("chat-message").value;
-        client.publish({
-            destination: `/projects/${projectName}/channels/${channelName}`,
-            body: JSON.stringify(messageJson)
-        });
-    })
-
-    document.getElementById("chat-message").addEventListener("keydown", (event) => {
-        if(event.key === 'Enter' && !event.shiftKey){
-            event.preventDefault();
-            sendButton.click();
-        }
-    })
-
-
-</script>
-</body>
-</html>
Index: c/main/resources/templates/create-topic.html
===================================================================
--- src/main/resources/templates/create-topic.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,53 +1,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-  <meta charset="UTF-8">
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <title>Add Topic</title>
-  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
-  <style>
-    .error-bubble {
-        display: inline-block;
-        background-color: #dc3545; /* Bootstrap danger color */
-        color: white;
-        padding: 10px 15px;
-        border-radius: 20px;
-        font-weight: bold;
-        box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
-    }
-</style>
-</head>
-<body>
-<div th:replace="/home_pages/home :: navigation"></div>
-<main th:with="prefix=${project_title==null ? '' : '/projects'}" class="container mt-5">
-  <div class="card shadow-sm">
-    <div class="card-header bg-primary text-white">
-      <h4 class="mb-0">Add a New Topic</h4>
-    </div>
-    <div class="card-body">
-      <form th:action="@{{prfx}/topics/add(prfx=${prefix})}" method="post">
-        <div class="mb-3">
-          <label for="title" class="form-label">Title</label>
-          <input type="text" id="title" name="title" class="form-control" placeholder="Enter the topic title" required>
-        </div>
-        <div class="mb-3">
-          <label for="description" class="form-label">Description</label>
-          <textarea id="description" name="description" class="form-control" rows="3" placeholder="Write a short description" required></textarea>
-        </div>
-        <button type="submit" class="btn btn-primary w-100">Submit</button>
-        <input th:if="${!#strings.isEmpty(prefix)}" type="hidden" name="project_title" th:value="${project_title}"/>
-        <input type="hidden" name="username" th:value="${session.user.getUsername()}"/>
-      </form>
-    </div>
-  </div>
-  <div class=" w-100 d-flex justify-content-center align-items-center mt-3">
-    <div th:if="${errMsg!=null}" class="error-bubble">
-      <h5 class="text-center">Error</h5>
-      <p th:text="${errMsg}" class="mb-0"></p>
-    </div>
-  </div>
-</main>
-
-<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
-</body>
-</html>
Index: c/main/resources/templates/error_pages/error.html
===================================================================
--- src/main/resources/templates/error_pages/error.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,30 +1,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title>Error</title>
-    <link rel="stylesheet" href="/css/icon.css">
-    <!-- Bootstrap CSS -->
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
-</head>
-<body class="bg-light d-flex flex-column align-items-center justify-content-center" style="min-height: 100vh;">
-<img src="/favicon.ico" alt="logo" class="icon-big rounded-circle border border-info my-5">
-<div class="w-75 card shadow-lg text-center p-4">
-    <div class="card-body">
-        <h1 class="display-4 text-danger">Error</h1>
-        <hr>
-        <p class="d-flex flex-column justify-content-center align-items-center">
-            <span class="text-danger fs-3" th:text="${status}"></span>
-<!--            <span class="text-primary fs-5" th:text="${exception.getMessage()}"></span>-->
-        </p>
-        <hr>
-        <p th:text="${message}" class="text-muted">Description</p>
-        <a href="/" class="btn btn-primary mt-3">Back to Home</a>
-    </div>
-</div>
-
-<!-- Bootstrap JS -->
-<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
-</body>
-</html>
Index: c/main/resources/templates/fragments/chat_message.html
===================================================================
--- src/main/resources/templates/fragments/chat_message.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,10 +1,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <title></title>
-</head>
-<body>
-
-</body>
-</html>
Index: c/main/resources/templates/fragments/discussion.html
===================================================================
--- src/main/resources/templates/fragments/discussion.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,186 +1,0 @@
-<th:object
-        th:fragment="discussion(reply_cont, blacklisted, ownerId)"
-        th:each="reply : ${reply_cont}">
-    <div
-            class="card shadow-sm mt-4 d-flex"
-            th:style="'margin-left: ' + (${reply.depth + 1} * 5) + '%'"
-    >
-        <div class="card-header bg-light d-flex justify-content-between align-items-center"
-             th:id="${reply.getId() + '/' + reply.getUser().getUsername()}">
-            <div class="d-flex align-items-center w-100">
-                <img th:src="${reply.getAvatarUrl()}"
-                     alt="Profile Picture"
-                     id="profileImage"
-                     class="rounded-circle border border-1 border-info me-3"
-                     style="width: 3rem; height: 3rem; object-fit: cover; vertical-align: middle;">
-                <span th:text="${reply.getUser().getUsername()}">Reply Author</span>
-                <!--                <span th:text="${reply.}">Reply Time</span>-->
-                <span class="ms-auto text-muted d-flex align-items-center">
-                    <i class="bi bi-arrow-return-right me-2"></i>
-                     <strong th:text="'Replying to:  ' + ${reply.getDiscussion().getParent().getUser().getUsername()}"></strong>
-                </span>
-            </div>
-            <div th:if="${session.user != null && session.user.getId() == reply.getUser().getId()}"
-                 class="ms-5 d-flex align-items-center justify-content-between">
-
-                <div>
-                    <button class="btn  btn-warning btn-sm edit-reply-btn"
-                            th:attr="data-reply-id=${reply.getDiscussion().getId()}">
-                        Edit
-                    </button>
-                </div>
-
-                <div>
-                    <form th:action="@{/topics/{topic-id}/discussions/{discussionId}/delete(topic-id=${topic.getId()
-                    },discussionId=${reply.getId()})}"
-                          method="post">
-                        <input type="hidden"
-                               name="threadId"
-                               th:value="${reply.getDiscussion().getId()}"
-                               class="w-0">
-                        <button class="btn btn-danger btn-sm edit-delete-btn ms-2"
-                                th:attr="data-reply-id=${reply.getDiscussion().getId()}">
-                            Delete
-                        </button>
-                        <input th:if="${session.user!=null}"
-                               type="hidden"
-                               name="username"
-                               th:value="${session.user.username}"/>
-                    </form>
-                </div>
-            </div>
-            <div th:if="${session.user != null
-             and !session.user.getId().equals(reply.getDiscussion().getUser().getId())
-             and !blacklisted.contains(reply.getDiscussion().getUser().getId())
-             and !ownerId.equals(reply.getDiscussion().getUser().getId())}">
-                <button type="button"
-                        class="btn btn-danger btn-sm edit-delete-btn ms-2 report-btn"
-                        th:data-username="${reply.getDiscussion().getUser().getUsername()}"
-                        th:if="${!reply.getUser().getUsername().equals(session.user.getUsername())}"
-                        data-bs-toggle="modal"
-                        data-bs-target="#reportModal">
-                    Report
-                </button>
-            </div>
-        </div>
-
-        <!-- Reply content -->
-        <div class="card-body">
-            <div th:attr="data-reply-id=${reply.getDiscussion().getId()}"
-                 class="reply-content">
-                <p th:text="${reply.getDiscussion().getContent()}">
-                    Reply
-                    content
-                    goes
-                    here.</p>
-            </div>
-            <div class="d-none edit-reply"
-                 th:attr="data-reply-id=${reply.getDiscussion().getId()}">
-                <form th:action="@{/topics/{topic-id}/discussions/{replyId}/edit(topic-id=${topic.getId()},replyId=${reply.getId()})}"
-                      method="post">
-                    <input type="hidden"
-                           name="replyId"
-                           th:value="${reply.getDiscussion().getId()}">
-                    <textarea
-                            name="content"
-                            th:text="${reply.getDiscussion().getContent()}"
-                            class="form-control"
-                            rows="3"
-                            placeholder="Write your reply here"></textarea>
-
-                    <button type="submit"
-                            class="btn btn-sm btn-success mt-2">
-                        Save
-                        Changes
-                    </button>
-                    <button type="button"
-                            class="close-edit-btn btn btn-sm btn-danger mt-2"
-                            th:attr="data-reply-id=${reply.getDiscussion().getId()}">
-                        Cancel
-                    </button>
-                    <input th:if="${session.user!=null}"
-                           type="hidden"
-                           name="username"
-                           th:value="${session.user.username}"/>
-                </form>
-
-            </div>
-
-            <!-- Buttons Row -->
-            <div class="d-flex justify-content-between align-items-center mt-3 pt-3">
-                <div class="d-flex flex-row">
-                    <form th:action="@{/threads/{thread-id}/like(thread-id=${reply.getId()})}"
-                          method="post">
-                        <input name="topic-id"
-                               type="hidden"
-                               th:value="${topic.getId()}">
-                        <button th:if="${session.user!=null}"
-                                type="submit"
-                                class="btn btn-outline-success btn-sm me-2 like-button"
-                                th:attr="data-reply-id=${reply.getDiscussion().getId()}">
-                            👍
-                            Like
-                            (<span
-                                th:text="${reply.getDiscussion().getNumLikes()}">0</span>)
-                        </button>
-                    </form>
-                    <form th:action="@{/threads/{thread-id}/dislike(thread-id=${reply.getId()})}"
-                          method="post">
-                        <input type="hidden"
-                               name="topic-id"
-                               th:value="${topic.getId()}">
-                        <button th:if="${session.user!=null}"
-                                class="btn btn-outline-danger btn-sm dislike-button"
-                                th:attr="data-reply-id=${reply.getDiscussion().getId()}">
-                            👎
-                            Dislike
-                        </button>
-                    </form>
-                </div>
-                <div>
-                    <button th:if="${session.user!=null}"
-                            class="btn btn-info btn-sm reply-button"
-                            th:attr="data-reply-id=${reply.getDiscussion().getId()}">
-                        Reply
-                    </button>
-                </div>
-            </div>
-        </div>
-
-
-        <!-- Add Reply Card Hidden -->
-        <div th:attr="data-reply-id=${reply.getDiscussion().getId()}"
-             class="card-body d-none reply-body">
-            <form th:action="@{/topics/{topic-id}/discussions/add(topic-id=${topic.getId()})}"
-                  method="post">
-                <div class="mb-3">
-                    <label class="form-label">Your
-                        Reply</label>
-                    <textarea
-                            name="content"
-                            class="form-control"
-                            rows="3"
-                            placeholder="Write your reply here"
-                            required></textarea>
-                </div>
-                <div class="d-flex justify-content-between">
-                    <input type="hidden"
-                           th:value="${reply.getId()}"
-                           name="parentId">
-                    <button type="submit"
-                            class="btn btn-success w-10 ms-2">
-                        Post
-                        Reply
-                    </button>
-                    <div class="d-flex justify-content-end reply-cancel">
-                        <button class="btn btn-danger btn-sm reply-cancel w-10 me-2"
-                                th:attr="data-reply-id=${reply.getDiscussion().getId()}">
-                            Cancel
-                        </button>
-                    </div>
-                </div>
-            </form>
-        </div>
-    </div>
-    <div th:replace="~{/fragments/discussion :: discussion(reply_cont=${reply.getChildren()},blacklisted=${blacklisted},ownerId=${ownerId})}"></div>
-</th:object>
Index: c/main/resources/templates/fragments/user_fields.html
===================================================================
--- src/main/resources/templates/fragments/user_fields.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,31 +1,0 @@
-<form th:with="borderStyle=${canEdit ? 'border-secondary rounded' : 'border-0 pe-none'}" method="post"
-       class="d-flex gap-2 flex-grow-1 flex-column gap-2 list-group-flush " th:action="@{/{username}/profile/change(username=${username})}"
-       th:fragment="user_fields(username)">
-       <h5>Personal Details</h5>
-       <label class="fw-bold ">Username:
-              <input th:readonly="${!canEdit}" th:disabled="${!canEdit}" th:classappend="${borderStyle}" name="username"
-                     type="text" th:value="${user.getUsername()}" class="w-100 border  ps-2  list-group-item">
-       </label>
-       <label class="fw-bold ">Name:
-              <input th:readonly="${!canEdit}" th:disabled="${!canEdit}" th:classappend="${borderStyle}" name="name"
-                     type="text" th:value="${user.getName()}" class="border ps-2  w-100 list-group-item">
-       </label>
-       <label class="fw-bold ">Email:
-              <input th:readonly="${!canEdit}" th:disabled="${!canEdit}" th:classappend="${borderStyle}" name="email"
-                     type="text" th:value="${user.getEmail()}" class="border ps-2 w-100 list-group-item">
-       </label>
-       <label>
-              <span class="fw-bold d-block">Description</span>
-              <textarea name="description" th:readonly="${!canEdit}" th:disabled="${!canEdit}"
-                     th:classappend="${borderStyle}" class="border ps-2  w-100"
-                     th:text="${user.getDescription()}"></textarea>
-       </label>
-       <label th:if="${canEdit}" class="fw-bold ">Password:
-              <input name="password" placeholder="Leave empty if you don't want to change it" type="password"
-                     th:classappend="${borderStyle}" class="w-100 ps-2 list-group-item border ">
-       </label>
-       <input type="hidden" name="cur_user_username"
-              th:value="${session.user == null} ? '' : ${session.user.getUsername()}">
-       <button th:if="${canEdit}" class="btn btn-success btn-sm w-50 align-self-center">Save changes
-       </button>
-</form>
Index: c/main/resources/templates/home_pages/home.html
===================================================================
--- src/main/resources/templates/home_pages/home.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,295 +1,0 @@
-<!DOCTYPE html>
-<html lang="en"
-      xmlns="http://www.w3.org/1999/xhtml"
-      xmlns:th="http://www.thymeleaf.org">
-<head>
-    <meta charset="UTF-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title>Home Page</title>
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
-    <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css" rel="stylesheet">
-    <link href="/css/icon.css">
-
-    <style>
-        .search-container {
-            position: relative;
-        }
-
-        .search-input {
-            height: 50px;
-            border-radius: 30px;
-            padding-left: 35px;
-            border: none;
-            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
-        }
-
-        .search-icon {
-            position: absolute;
-            top: 50%;
-            left: 15px;
-            transform: translateY(-50%);
-            color: #888;
-        }
-
-        .content-max-width {
-            width: max-content;
-        }
-
-        .transition-card {
-            transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
-        }
-
-        .transition-card:hover {
-            transform: scale(1.02);
-            box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.2);
-        }
-
-        .thread-buttons-div {
-            margin-right: 12.8%;
-        }
-
-    </style>
-</head>
-<body>
-<nav th:fragment="navigation" class="navbar navbar-expand-lg navbar-light bg-light shadow-sm">
-    <div class="container">
-        <img src="/project_imgs/buildboard-logo.jpg" alt="logo"
-             class="rounded-circle border border-secondary me-5"
-             style="width: 4rem; height: 4rem; object-fit: contain; vertical-align: center;"
-        >
-        <a class="navbar-brand" href="/">BuildBoard</a>
-        <button class="navbar-toggler w-25" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav"
-                aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
-            <span class="navbar-toggler-icon"></span>
-        </button>
-        <div class="collapse navbar-collapse" id="navbarNav">
-            <ul class="navbar-nav justify-content-center d-flex align-items-center w-100">
-                <!-- Use mx-auto for centering the nav items -->
-                <li class="nav-item">
-                    <a class="nav-link" href="/">Home</a>
-                </li>
-                <li class="nav-item">
-                    <a class="nav-link" href="/about" th:href="@{/about}">About</a>
-                </li>
-                <li th:if="${session.user != null}" class="nav-item">
-                    <a class="nav-link" th:href="@{'/' + ${session.user.getUsername()} + '/profile'}">Profile</a>
-                </li>
-            </ul>
-            <div class="navbar-nav justify-content-center d-flex align-items-center w-25-md w-100-xs gap-3 mt-3 gap-l-0">
-                <div class="d-flex flex-row gap-3">
-                    <div class="nav-item d-flex align-items-center" th:if="${session.user != null}">
-                        <img th:src="${session.user.getAvatarUrl()}" alt="Profile Picture" id="profileImage"
-                             class="rounded-circle border border-1 border-info"
-                             style="width: 50px; height: 50px; object-fit: cover; vertical-align: middle;">
-                    </div>
-                    <div class="nav-item d-flex align-items-center" th:if="${session.user != null}">
-                        <span class="nav-link mb-0 me-1" th:text="${session.user.getUsername()}">Username</span>
-                        <span class="nav-link mb-0" th:text="| (${session.user!=null ? #strings.capitalize(
-                        session.user.getAuthority().get(0).getAuthority().substring(5).replace('_',' ').toLowerCase()) : ''})|"></span>
-                    </div>
-                </div>
-                <div class="nav-item d-flex align-items-center ms-xs-5 ms-0  mt-xs-5" th:if="${session.user != null}">
-                    <a href="/logout" class="content-max-width btn btn-outline-primary btn-sm text-nowrap ">Log out</a>
-                </div>
-                <!-- Display login button if user is not logged in -->
-                <div class="nav-item d-flex align-items-center mt-xs-5" th:if="${session.user == null}">
-                    <a href="/login" class="content-max-width btn btn-primary btn-sm ms-2 ms-xs-0">Log in</a>
-                </div>
-                <div class="nav-item d-flex align-items-center mt-xs-5" th:if="${session.user == null}">
-                    <a href="/register" class="content-max-width btn btn-primary btn-sm ms-2 ms-xs-0">Register</a>
-                </div>
-            </div>
-        </div>
-    </div>
-</nav>
-
-<div class="container mb-5">
-    <div class="row justify-content-center align-items-center pt-3">
-        <div class="col-md-8 pt-5">
-            <form action="/" method="get" class="row g-3 align-items-center">
-                <!-- Search Input and Button -->
-                <div class="col-auto flex-grow-1">
-                    <div class="input-group position-relative">
-        <span class="input-group-text bg-light border-0">
-            <i class="fas fa-search"></i>
-        </span>
-                        <input type="text" class="form-control" placeholder="Search..." name="query" id="search-input">
-                        <!-- Dropdown container -->
-                        <div>
-                            <div id="suggestions" class="dropdown-menu show position-absolute"
-                                 style="top: 100%; left: 0; z-index: 1000; display: none;">
-                            </div>
-                        </div>
-                    </div>
-                </div>
-                <div class="col-auto">
-                    <button type="submit" class="btn btn-primary">
-                        Search
-                    </button>
-                </div>
-
-
-                <!-- Filters -->
-                <div class="col-12 d-flex gap-2 flex-column">
-                    <div class="col-12 d-flex">
-                        <span class="me-2">Filters:</span>
-                        <div class="form-check me-3 d-flex align-items-center">
-                            <input class="form-check-input me-2" type="checkbox" id="filterTitle" name="filters"
-                                   value="title">
-                            <label class="form-check-label" for="filterTitle">Title</label>
-                        </div>
-                        <div class="form-check me-3 d-flex align-items-center">
-                            <input class="form-check-input me-2" type="checkbox" id="filterContent" name="filters"
-                                   value="content">
-                            <label class="form-check-label" for="filterContent">Content</label>
-                        </div>
-                    </div>
-                    <div class="form-group me-3 d-flex flex-row">
-                        <label for="filterType" class="me-2">Type:</label>
-                        <select class="form-select form-select-sm w-auto" id="filterType" name="type">
-                            <option value="all">All</option>
-                            <option value="topic">Topics</option>
-                            <option value="project">Projects</option>
-                        </select>
-                    </div>
-                    <div>
-                        <label for="filterType" class="me-2">Tags:</label>
-                        <select class="form-select form-select-sm w-auto" id="tags" name="tags">
-                            <option value=""></option>
-                            <option th:each="tag:${tags}" th:text="${tag.getName()}" th:value="${tag.getName()}"></option>
-                        </select>
-                    </div>
-                </div>
-
-            </form>
-        </div>
-    </div>
-</div>
-
-
-<!--<main class="container mt-4">-->
-<!--    <div class="d-flex justify-content-between align-items-center mb-3">-->
-<!--        <h1 class="h4">Threads</h1>-->
-<!--        <div th:if="${session.user!=null}">-->
-<!--            <a href="/topics/create" class="btn btn-success btn-sm">Create Topic</a>-->
-<!--            <a href="projects/create" class="btn btn-success btn-sm">Create Project</a>-->
-<!--        </div>-->
-<!--    </div>-->
-<!--    <div class="list-group">-->
-<!--        <div class="list-group-item" th:each="thread : ${threads}">-->
-<!--            <div class="d-flex w-100 justify-content-between">-->
-<!--                <div class="card shadow-sm mb-4">-->
-<!--                    <div class="card-header bg-primary text-white d-flex justify-content-between align-items-center">-->
-<!--                        <h3 th:text="${thread.getTitle()}">Topic Title</h3>-->
-<!--                    </div>-->
-<!--                </div>-->
-<!--&lt;!&ndash;                <h5 class="mb-1">&ndash;&gt;-->
-<!--&lt;!&ndash;                    &ndash;&gt;-->
-<!--&lt;!&ndash;                    <a th:href="@{/{type}/{id} (type=${thread.getTypeName()},id=${thread.getId()})}"&ndash;&gt;-->
-<!--&lt;!&ndash;                       th:text="${thread.getTitle()}" class="text-decoration-none"></a>&ndash;&gt;-->
-<!--&lt;!&ndash;                </h5>&ndash;&gt;-->
-<!--                &lt;!&ndash;                <small th:text="${thread.getFormattedDate()}">Date</small>&ndash;&gt;-->
-<!--            </div>-->
-<!--            &lt;!&ndash;            <p class="mb-1 text-muted" th:text="${thread.getDescription()}">Thread description here...</p>&ndash;&gt;-->
-<!--            &lt;!&ndash;            <small th:text="${thread.getAuthor()}">Posted by Author</small>&ndash;&gt;-->
-<!--        </div>-->
-<!--    </div>-->
-<!--</main>-->
-
-<main class="container mt-4">
-    <div class="d-flex justify-content-end align-items-center mb-3 thread-buttons-div">
-        <div th:if="${session.user != null}">
-            <a href="/topics/create" class="btn btn-success btn-sm">Create Topic</a>
-            <a href="/projects/create" class="btn btn-success btn-sm">Create Project</a>
-        </div>
-    </div>
-
-<!--    <p th:text="|Submitted on: ${#temporals.format(req.getCreatedAt(), 'dd/MM/yyyy  HH:mm')}|"></p>-->
-
-    <div class="d-flex justify-content-center">
-        <div class="list-group w-75">
-            <div class="list-group-item p-0 border-0" th:each="thread : ${threads}">
-                <!-- Make the entire card clickable -->
-                <a th:href="@{/{type}/{title}(title=${thread.getId()},type=${thread.getType()})}"
-                   class="text-decoration-none">
-                    <div class="card shadow-sm mb-4 border-0 transition-card">
-                        <div class="card-header bg-light p-3 d-flex justify-content-between align-items-center">
-                            <h4 th:text="${thread.getTitle()}" class="card-title mb-0 text-truncate"
-                                style="max-width: 70%;">Thread Title</h4>
-                            <div>
-                                <img alt="user-logo" class="rounded-circle border border-1 border-info"
-                                     style="width: 3em; height: 3em" th:src="${thread.getUsersAvatarUrl()}">
-                                <small class="fst-italic" th:text="${thread.getUsername()}"></small>
-                            </div>
-                        </div>
-                        <div class="card-body">
-                            <p th:text="${thread.getContent()}" class="card-text lead text-secondary fs-6 fw-bold text-truncate" style="max-width: 50%">Thread content goes
-                                here.</p>
-                        </div>
-                        <small  class="p-2 text-muted" th:text="${#temporals.format(thread.getCreatedAt(), 'dd/MM/yyyy &bull; HH:mm')}"></small>
-
-                    </div>
-                </a>
-            </div>
-        </div>
-    </div>
-</main>
-
-
-<!-- Tags (optional) -->
-<!--                <div th:if="${thread.getTags() != null}">-->
-<!--                    <h6>Tags:</h6>-->
-<!--                    <ul class="list-inline">-->
-<!--                        <li th:each="tag : ${thread.getTags()}" class="list-inline-item">-->
-<!--                            <span class="badge bg-info text-dark">-->
-<!--                                <span th:text="${tag.getName()}">Tag Name</span>-->
-<!--                            </span>-->
-<!--                        </li>-->
-<!--                    </ul>-->
-<!--                </div>-->
-
-
-<script th:inline="javascript">
-    let searchInput = document.getElementById("search-input");
-    let suggestionsContainer = document.getElementById("suggestions");
-    let tags = /*[[${tags}]]*/ []; // kolku e glupa sintaksava gospode boze
-    let tagNames = tags.map(tag => tag.name);
-    let suggestionHeader = document.getElementById("suggestion-header");
-
-    function renderSuggestions(suggestions) {
-        suggestionsContainer.innerHTML = "";
-        if (suggestions.length === 0) {
-            suggestionsContainer.style.display = "none";
-            return;
-        }
-        suggestionsContainer.style.display = "block";
-        suggestions.forEach(tagName => {
-            let suggestionItem = document.createElement("a");
-            suggestionItem.href = "#";
-            suggestionItem.classList.add("dropdown-item");
-            suggestionItem.textContent = tagName;
-            suggestionItem.addEventListener("click", (e) => {
-                e.preventDefault();
-                searchInput.value = tagName;
-                suggestionsContainer.style.display = "none";
-            });
-            suggestionsContainer.appendChild(suggestionItem);
-        });
-    }
-
-    searchInput.addEventListener("input", () => {
-        let value = searchInput.value.toLowerCase();
-        let filteredTags = tagNames.filter(tag => tag.toLowerCase().includes(value));
-        renderSuggestions(filteredTags);
-    });
-
-    document.addEventListener("click", (e) => {
-        if (!suggestionsContainer.contains(e.target) && e.target !== searchInput) {
-            suggestionsContainer.style.display = "none";
-        }
-    });
-</script>
-
-<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
-</body>
-</html>
Index: c/main/resources/templates/home_pages/login.html
===================================================================
--- src/main/resources/templates/home_pages/login.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,37 +1,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title>Login</title>
-    <!-- Bootstrap CSS -->
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
-</head>
-<body class="bg-light">
-
-<div class="container d-flex align-items-center justify-content-center vh-100">
-    <div class="card shadow-lg" style="width: 100%; max-width: 400px;">
-        <div class="card-body">
-            <h4 class="card-title text-center mb-4">Login</h4>
-            <form method="POST" action="/login">
-                <div class="mb-3">
-                    <label for="username" class="form-label">Username</label>
-                    <input type="text" class="form-control" id="username" name="username" placeholder="Enter your username" required>
-                </div>
-                <div class="mb-3">
-                    <label for="password" class="form-label">Password</label>
-                    <input type="password" class="form-control" id="password" name="password" placeholder="Enter your password" required>
-                </div>
-                <button type="submit" class="btn btn-primary w-100">Login</button>
-            </form>
-            <div class="mt-3 text-center">
-                <a href="/register" class="text-decoration-none">Don't have an account? Register</a>
-            </div>
-        </div>
-    </div>
-</div>
-
-<!-- Bootstrap JS and dependencies -->
-<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
-</body>
-</html>
Index: c/main/resources/templates/home_pages/private-profile.html
===================================================================
--- src/main/resources/templates/home_pages/private-profile.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,97 +1,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
-    <meta charset="UTF-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title>Profile</title>
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet">
-</head>
-
-<body class="bg-light">
-    <div th:replace="/home_pages/home :: navigation"></div>
-    <div class="container mt-5 w-50-xs w-75-md " style="width: max-content">
-        <!-- User Profile Card -->
-        <div class="card">
-            <div class="card-header bg-primary text-white">
-                <h4 class="mb-0">User Profile</h4>
-            </div>
-
-            <div class="card-body me-5 ms-5 pe-5 ps-5 d-flex flex-row gap-5 ">
-
-                <!-- Profile Picture -->
-                <div
-                    class="col-md-4 flex-grow-2 text-center d-flex justify-content-center align-items-center flex-column">
-                    <form method="post" th:action="@{/{username}/upload-avatar(username=${user.getUsername()})}"
-                        enctype="multipart/form-data">
-                        <img th:src="${user.getAvatarUrl()}" alt="Profile Picture" id="profileImage-input"
-                            class="rounded-circle border border-1 border-info mb-3"
-                            style="width: 150px; height: 150px; object-fit: cover;">
-                        <th:block th:if="${canEdit}">
-                            <input type="file" id="userImage" name="userImage" accept="image/*"
-                                class="form-control mb-2">
-                            <input type="hidden" th:value="${session.user == null ? '' : session.user.getUsername()}"
-                                name="cur_user_username">
-                            <button type="submit" class="btn btn-success btn-sm w-100">Upload Picture</button>
-                        </th:block>
-                    </form>
-                </div>
-                <!-- User Details -->
-                <div
-                    th:replace="fragments/user_fields :: user_fields(username=${user.getUsername()})">
-                </div>
-                <!--            <form method="post"-->
-                <!--                  class="d-flex gap-2 flex-grow-1 flex-column gap-2 list-group-flush "-->
-                <!--                  th:action="@{/{username}/profile/change(username=${user.getUsername()})}"-->
-                <!--            >-->
-                <!--                <h5>Personal Details</h5>-->
-                <!--                <label class="fw-bold ">Username:-->
-                <!--                    <input th:readonly="${!canEdit}"-->
-                <!--                           name="username" type="text" th:value="${user.getUsername()}"-->
-                <!--                           class="w-100 border border-secondary ps-2 rounded list-group-item">-->
-                <!--                </label>-->
-                <!--                <label class="fw-bold ">Name:-->
-                <!--                    <input name="name" th:readonly="${!canEdit}"-->
-                <!--                           type="text" th:value="${user.getName()}" class="border ps-2 border-secondary rounded w-100 list-group-item">-->
-                <!--                </label>-->
-                <!--                <label th:readonly="${!canEdit}"-->
-                <!--                       class="fw-bold ">Email:-->
-                <!--                    <input name="email" type="text" th:value="${user.getEmail()}" class="border ps-2 border-secondary rounded w-100 list-group-item">-->
-                <!--                </label>-->
-                <!--                <label>-->
-                <!--                    <span class="fw-bold d-block">Description</span>-->
-                <!--                    <textarea name="description" class="border border-secondary ps-2 rounded w-100" th:readonly="${!canEdit}"-->
-                <!--                              th:text="${user.getDescription()}"></textarea>-->
-                <!--                </label>-->
-                <!--                <label th:readonly="${!canEdit}"-->
-                <!--                       class="fw-bold ">Password:-->
-                <!--                    <input name="password"-->
-                <!--                           placeholder="Leave empty if you don't want to change it"-->
-                <!--                           type="text" class="w-100 ps-2 list-group-item border border-secondary rounded">-->
-                <!--                </label>-->
-                <!--                <input type="hidden" name="cur_user_username"-->
-                <!--                       th:value="${session.user == null} ? '' : ${session.user.getUsername()}">-->
-                <!--                <button th:if="${canEdit}" class="btn btn-success btn-sm w-50 align-self-center">Save changes-->
-                <!--                </button>-->
-                <!--            </form>-->
-
-                <script>
-                    const img = document.querySelector("#profileImage-input");
-                    console.log(img)
-                    document.querySelector('input[type="file"]').addEventListener("change", ev => {
-                        const [file] = ev.target.files
-                        console.log(file)
-                        if (file) {
-                            console.log(URL.createObjectURL(file))
-                            img.setAttribute("src", URL.createObjectURL(file));
-                        }
-                    })
-                </script>
-            </div>
-        </div>
-    </div>
-
-        <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js"></script>
-</body>
-
-</html>
Index: c/main/resources/templates/home_pages/project_description.html
===================================================================
--- src/main/resources/templates/home_pages/project_description.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,66 +1,0 @@
-<!doctype html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <meta name="viewport"
-          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
-    <meta http-equiv="X-UA-Compatible" content="ie=edge">
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
-    <title>About BuildBoard</title>
-</head>
-<body>
-<div th:replace="/home_pages/home :: navigation"></div>
-<section class="m-5 d-flex flex-column gap-5 justify-content-center align-items-center">
-    <header class="d-flex flex-row gap-2 align-items-center">
-        <img class="rounded-circle border border-1 border-info align-items-center"
-             style="width: 6rem; height: 6rem; object-fit: cover; vertical-align: middle;"
-             alt="Logo for BuildBoard project" src="/project_imgs/buildboard-logo.jpg"/>
-        <h1 class="d-inline">BuildBoard</h1>
-    </header>
-    <main class="d-flex flex-column gap-3 me-5 ms-5 pe-5 ps-5 align-items-center mt-5">
-        <h3>Purpose</h3>
-        <div>
-            <p class="ps-5 mb-0 pe-5 text-break text-wrap text-center">
-                In today's world, there is an endless number of resources and ways for someone to acquire knowledge. The
-                problem
-                does not lie in the abundance of available knowledge but in the guidance, specifically, how to achieve
-                the
-                desired outcome. Every solution to a problem has its own path to reach the goal. This project aims to
-                solve
-                the
-                issue of guidance by enabling software developers to guide and assist one another.
-            </p>
-            <p class="pe-5 ps-5 text-break text-wrap text-center">
-                Another issue being addressed is the problem of centralization. This issue is closely related to the
-                aforementioned one, as it is much easier to guide someone who wants to learn if all the necessary
-                resources
-                are
-                in one place. On our platform, this is reflected through various informative threads and discussion
-                threads.
-            </p>
-        </div>
-        <h3>BuildBoard</h3>
-        <p class="text-break text-wrap text-center ps-5 pe-5">BuildBoard is intended to be a social platform focused on
-            software
-            developers. The idea is to facilitate open discussions about technologies, approaches to problems, and more,
-            making it accessible to every software developer. Additionally, the application offers an integrated project
-            management system where multiple software developers can collaborate and build their own applications. The
-            goal is to create a single platform where people can talk, learn, and discuss software development while
-            also having the opportunity to explore real projects and connect with the developers behind them, whether
-            for consultation or collaboration purposes.</p>
-        <h3>Contact</h3>
-        <ul>
-            <li>
-                <span>Viktor Hristovski</span>
-                <a href="mailto:viktorhristovski629@gmail.com">viktorhristovski629@gmail.com</a>
-            </li>
-            <li>
-                <span>Stefan Toskovski</span>
-                <a href="mailto:stefantoska84@gmail.com">stefantoska84@gmail.com</a>
-            </li>
-        </ul>
-    </main>
-</section>
-</body>
-<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
-</html>
Index: c/main/resources/templates/home_pages/public-profile.html
===================================================================
--- src/main/resources/templates/home_pages/public-profile.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,135 +1,0 @@
-<!DOCTYPE html>
-<html lang="en">
-
-<head>
-  <meta charset="UTF-8">
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <title>Public Profile</title>
-  <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css" rel="stylesheet">
-  <style>
-    /* Custom styles for the public profile */
-    .profile-card {
-      border: none;
-      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
-      border-radius: 10px;
-      overflow: hidden;
-    }
-
-    .profile-header {
-      background: linear-gradient(135deg, #6a11cb, #2575fc);
-      color: white;
-      padding: 2rem;
-      text-align: center;
-      position: relative; /* For positioning the Edit link */
-    }
-
-    .profile-avatar {
-      width: 150px;
-      height: 150px;
-      object-fit: cover;
-      border: 4px solid white;
-      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
-    }
-
-    .profile-details {
-      padding: 2rem;
-      background: white;
-    }
-
-    .profile-details h5 {
-      color: #333;
-      font-weight: bold;
-    }
-
-    .profile-details p {
-      color: #666;
-      font-size: 1.1rem;
-    }
-
-    .profile-description {
-      background: #f8f9fa;
-      padding: 1.5rem;
-      border-radius: 8px;
-      margin-top: 1.5rem;
-    }
-
-    /* Edit link styling */
-    .edit-link {
-      position: absolute;
-      top: 1rem;
-      right: 1rem;
-      background: rgba(255, 255, 255, 0.2);
-      color: white;
-      padding: 0.5rem 1rem;
-      border-radius: 5px;
-      text-decoration: none;
-      transition: background 0.3s ease;
-    }
-
-    .edit-link:hover {
-      background: rgba(255, 255, 255, 0.3);
-      text-decoration: none;
-    }
-  </style>
-</head>
-
-<body class="bg-light">
-<!-- Navigation (replace with your navigation component) -->
-<div th:replace="/home_pages/home :: navigation"></div>
-
-<!-- Public Profile Section -->
-<div class="container mt-5">
-  <div class="row justify-content-center">
-    <div class="col-md-8">
-      <!-- Profile Card -->
-      <div class="card profile-card">
-        <!-- Profile Header -->
-        <div class="profile-header">
-          <!-- Edit Link (Top-Right Corner) -->
-          <a th:if="${session.user == user}" class="edit-link" th:href="@{/{username}/profile/edit (username=${user.getUsername()})}">Edit</a>
-
-          <!-- Profile Picture and Username -->
-          <img th:src="${user.getAvatarUrl()}" alt="Profile Picture" class="profile-avatar rounded-circle">
-          <h3 class="mt-3" th:text="${user.getUsername()}">Username</h3>
-        </div>
-
-        <!-- Profile Details -->
-        <div class="profile-details">
-          <div class="row">
-            <div class="col-md-12">
-              <!-- Username -->
-              <h5>Username</h5>
-              <p th:text="${user.getUsername()}">Username</p>
-
-              <!-- Description -->
-              <div class="profile-description">
-                <h5>About Me</h5>
-                <p th:text="${user.getDescription()} ?: 'No description provided.'">
-                  This is a sample description about the user. It can be a few lines long.
-                </p>
-              </div>
-              <div class="profile-description">
-                <h5>Projects worked in:</h5>
-              </div>
-              <a th:href="@{/{username}/project-requests(username=${username})}"
-                 class="btn btn-info btn-md me-2 mt-4">
-                View project requests
-              </a>
-              <a th:href="@{/{username}/reports(username=${username})}"
-                 class="btn btn-info btn-md mt-4">
-                View submitted reports
-              </a>
-            </div>
-            </div>
-          </div>
-        </div>
-      </div>
-    </div>
-  </div>
-</div>
-
-<!-- Bootstrap JS -->
-<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/js/bootstrap.bundle.min.js"></script>
-</body>
-
-</html>
Index: c/main/resources/templates/home_pages/register.html
===================================================================
--- src/main/resources/templates/home_pages/register.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,113 +1,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <title>Register new user</title>
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
-
-</head>
-<body>
-<div th:replace="/home_pages/home :: navigation"></div>
-<div class="container  mt-5" style="width: max-content; min-width: 45vw">
-    <div class="card">
-        <div class="card-header bg-primary text-white">
-            <h4 class="mb-0">Create new user</h4>
-        </div>
-
-        <form method="post"
-              class="d-flex me-5 mt-3 ms-5 mb-3 gap-2 flex-grow-1 flex-column gap-2 list-group-flush "
-              action="/register"
-              id="register-form"
-        >
-            <label class="fw-bold ">Username:
-                <input name="username" type="text" th:value="${user.getUsername()}"
-                       class="w-100 border border-secondary ps-2 rounded list-group-item">
-            </label>
-            <label class="fw-bold ">Name:
-                <input name="name" th:readonly="${!canEdit}"
-                       type="text" th:value="${user.getName()}"
-                       class="border ps-2 border-secondary rounded w-100 list-group-item">
-            </label>
-            <label
-                    class="fw-bold ">Email:
-                <input name="email" type="text" th:value="${user.getEmail()}"
-                       class="border ps-2 border-secondary rounded w-100 list-group-item">
-            </label>
-            <label>
-                <span class="fw-bold d-block">Description</span>
-                <textarea name="description" class="border border-secondary ps-2 rounded w-100"
-                          th:text="${user.getDescription()}"></textarea>
-            </label>
-            <label class="fw-bold ">Password:
-                <input name="password"
-                       id="password"
-                       placeholder="Enter a strong password"
-                       type="password" class="w-100 ps-2 list-group-item border border-secondary rounded">
-            </label>
-            <label class="fw-bold ">Confirm Password:
-                <input
-                        id="confirm-password"
-                        placeholder="Retype your password"
-                        type="password" class="w-100 ps-2 list-group-item border border-secondary rounded">
-            </label>
-            <div>
-                <label>Choose your gender:</label>
-                <label>
-                    <input name="sex" type="radio" value="male">Male
-                </label>
-                <label>
-                    <input name="sex" type="radio" value="female">Female
-                </label>
-            </div>
-            <button th:if="${canEdit}" class="btn btn-success btn-sm w-50 align-self-center">Register
-            </button>
-        </form>
-    </div>
-</div>
-<footer
-        class="w-100 d-flex justify-content-center">
-    <div class="bg-danger w-80 mt-5 rounded p-2" th:if="${duplicatedUsername != null}">
-        <p
-                th:text="|The username ${duplicatedUsername?: ''}  already exists|"
-                class="text-center text-body mb-0"></p>
-    </div>
-    <div id="error" class="fs-6 text-danger mt-3"></div>
-</footer>
-</body>
-
-<script>
-    let form = document.getElementById("register-form");
-    let errorDiv = document.getElementById("error");
-
-    form.addEventListener("submit", (event) => {
-        let hasError = false;
-        errorDiv.innerHTML = '';
-        errorDiv.style.display = 'none';
-
-        form.querySelectorAll("input").forEach(input => {
-            if (input.value === '') {
-                hasError = true;
-                let errorMessage = document.createElement('p');
-                errorMessage.innerText = `Field ${input.name || input.id} cannot be empty.`;
-                errorDiv.appendChild(errorMessage);
-            }
-        });
-
-        let passwd = document.getElementById("password").value;
-        let confirm = document.getElementById("confirm-password").value;
-
-        if (passwd !== confirm) {
-            hasError = true;
-            let errorMessage = document.createElement('p');
-            errorMessage.innerText = "Passwords do not match.";
-            errorDiv.appendChild(errorMessage);
-        }
-
-        if (hasError) {
-            event.preventDefault();
-            errorDiv.style.display = 'block';
-        }
-    });
-</script>
-<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
-</html>
Index: c/main/resources/templates/project_pages/edit-role.html
===================================================================
--- src/main/resources/templates/project_pages/edit-role.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,222 +1,0 @@
-<!DOCTYPE html>
-<html lang="en" xmlns:th="http://www.thymeleaf.org">
-<head>
-    <meta charset="UTF-8">
-    <title>Update Role</title>
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
-</head>
-<body th:attr="data-project-title=${role.getProject().getTitle()},data-role-id=${role.getId()}">
-
-<div th:replace="/home_pages/home :: navigation"></div>
-
-<!-- Update Role Modal (prefilled) -->
-<div class="modal fade show" id="updateRoleModal" tabindex="-1" aria-labelledby="updateRoleModalLabel" aria-modal="true" style="display: block;">
-    <div class="modal-dialog modal-lg">
-        <div class="modal-content">
-            <div class="modal-header">
-                <h5 class="modal-title">Update Role</h5>
-            </div>
-
-            <form th:action="@{/projects/{title}/roles/{id}/edit(title=${role.getProject().getTitle()}, id=${role.getId()})}"
-                  method="post"
-                  id="update-role-form">
-
-                <div class="modal-body">
-                    <!-- Role Name -->
-                    <div class="mb-3">
-                        <label for="updateRoleName" class="form-label">Role Name</label>
-                        <input type="text" class="form-control" id="updateRoleName" name="roleName"
-                               th:value="${role.getName()}" required>
-                    </div>
-
-                    <!-- Override Type -->
-                    <div class="mb-3">
-                        <label class="form-label">Override Type</label>
-                        <div class="form-check">
-                            <input class="form-check-input" type="radio" name="overrideType" id="includeType" value="INCLUDE"
-                                   th:checked="${overrideType == 'INCLUDE'}">
-                            <label class="form-check-label" for="includeType">INCLUDE</label>
-                        </div>
-                        <div class="form-check">
-                            <input class="form-check-input" type="radio" name="overrideType" id="excludeType" value="EXCLUDE"
-                                   th:checked="${overrideType == 'EXCLUDE'}">
-                            <label class="form-check-label" for="excludeType">EXCLUDE</label>
-                        </div>
-                    </div>
-
-                    <!-- Global Permissions -->
-                    <div class="mb-2 border p-2 rounded">
-                        <strong>Global Permissions</strong>
-                        <div class="d-flex flex-wrap gap-2 mt-1" th:each="permission : ${globalPermissions}">
-                            <div class="form-check">
-                                <input class="form-check-input"
-                                       type="checkbox"
-                                       th:id="'global-permission'"
-                                       th:name="'global-permission'"
-                                       th:value="${permission.toLowerCase()}"
-                                       th:checked="${selectedGlobalPermissions.contains(permission)}">
-                                <label class="form-check-label" th:for="'global-' + ${permission}"
-                                       th:text="${permission.toLowerCase() + ' channels'}">Permission</label>
-                            </div>
-                        </div>
-                    </div>
-
-                    <!-- Per-Resource Permissions -->
-                    <!-- Per-Resource Permissions -->
-                    <div class="mb-2 border p-2 rounded">
-                        <strong>Per-Resource Permissions</strong>
-                        <div class="mt-2" th:each="rcp : ${roleChannelPermissions}">
-                            <div class="mb-2">
-                                <strong th:text="${rcp.getChannelName()}">Channel Name</strong>
-                                <div class="d-flex flex-wrap gap-3 mt-1">
-                                    <!-- READ -->
-                                    <div class="form-check">
-                                        <input class="form-check-input perm-checkbox"
-                                               type="checkbox"
-                                               th:id="${'read-' + rcp.getChannelId()}"
-                                               name="per-resource-permission"
-                                               value="READ"
-                                               th:attr="data-resource-id=${rcp.getChannelId()}"
-                                               th:checked="${overrideType == 'INCLUDE' && rcp.getPermissions().contains('READ')
-                                               || overrideType == 'EXCLUDE' && !rcp.getPermissions().contains('READ')}">
-                                        <label class="form-check-label"
-                                               th:for="${'read-' + rcp.getChannelId()}">READ</label>
-                                    </div>
-                                    <!-- WRITE -->
-                                    <div class="form-check">
-                                        <input class="form-check-input perm-checkbox"
-                                               type="checkbox"
-                                               th:id="${'write-' + rcp.getChannelId()}"
-                                               name="per-resource-permission"
-                                               value="WRITE"
-                                               th:attr="data-resource-id=${rcp.getChannelId()}"
-                                               th:checked="${overrideType == 'INCLUDE' && rcp.getPermissions().contains('WRITE')
-                                               || overrideType == 'EXCLUDE' && !rcp.getPermissions().contains('WRITE') }">
-                                        <label class="form-check-label"
-                                               th:for="${'write-' + rcp.getChannelId()}">WRITE</label>
-                                    </div>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-
-
-                </div>
-
-                <!-- Submit -->
-                <div class="modal-footer d-flex justify-content-between">
-                    <span class="btn btn-secondary w-100 me-2" id="btn-cancel">Cancel</span>
-                    <button type="submit" id="update-role-modal-submit" class="btn btn-warning w-100">Update Role</button>
-                </div>
-
-
-            </form>
-        </div>
-    </div>
-</div>
-
-<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
-
-<!-- Script to show modal by default -->
-<script>
-    const getCheckedValues = (inputs) => {
-        const values = []
-        for(let i of inputs){
-            if(i.checked)
-                values.push(i.value)
-        }
-        return values
-    }
-
-    const processPerResourcePermissions = (inputs) => {
-        const values = []
-        for(let i of inputs){
-            if(i.checked){
-                values.push({
-                    name: i.value,
-                    resourceId: i.dataset.resourceId
-                })
-            }
-        }
-        return values
-    }
-
-    const getProjectTitle = () => {
-        return document.body.dataset.projectTitle
-    }
-    const getRoleId = () => {
-        return document.body.dataset.roleId
-    }
-
-
-    document.querySelector("#btn-cancel").addEventListener("click", ev => {
-        ev.preventDefault()
-
-        const pTitle = getProjectTitle()
-
-        window.location.replace(`/projects/${pTitle}/roles`)
-    })
-
-    document.getElementById('update-role-form').addEventListener('submit', async function(event) {
-        event.preventDefault()
-        const roleNameInput = document.querySelector("#updateRoleName")
-        const includeExcludeInput = document.querySelectorAll("input[name='overrideType']")
-        const globalPermissions = document.querySelectorAll("input[name='global-permission']")
-        const perResourcePermissions = document.querySelectorAll("input[name='per-resource-permission']")
-
-        const roleId = getRoleId()
-
-        const roleName = roleNameInput.value
-        const includeExcludeDecided = getCheckedValues(includeExcludeInput)[0]
-        const globalSelectedPermissions = getCheckedValues(globalPermissions)
-        const perResourceSelectedPermissions = processPerResourcePermissions(perResourcePermissions)
-        const projectTitle = getProjectTitle()
-
-        const response = await fetch(`/projects/${projectTitle}/roles/${roleId}/edit`, {
-            method: "POST",
-            headers: {
-                "Content-Type" : "application/json",
-            },
-            body: JSON.stringify({
-                name: roleName,
-                projectTitle: projectTitle,
-                permissionOverrideType: includeExcludeDecided,
-                globalPermissions: globalSelectedPermissions,
-                permissionResourceDTOS: perResourceSelectedPermissions.map(p => ({
-                    permissionName: p.name,
-                   channelId: p.resourceId
-                }))
-            }),
-            credentials: "include"
-        })
-
-        if(!response.ok)
-            throw new Error("Something went wrong")
-
-        window.location.replace(`/projects/${projectTitle}/roles`)
-    });
-
-    document.addEventListener("DOMContentLoaded", function() {
-        const modalEl = document.getElementById('updateRoleModal');
-        const modal = new bootstrap.Modal(modalEl, {
-            backdrop: 'static',
-            keyboard: false
-        });
-        modal.show();
-        const includeRadio = document.getElementById("includeType");
-        const excludeRadio = document.getElementById("excludeType");
-        const permCheckboxes = document.querySelectorAll(".perm-checkbox");
-
-        function updateCheckboxes() {
-            permCheckboxes.forEach(cb => cb.checked = !cb.checked);
-        }
-
-        includeRadio.addEventListener("change", updateCheckboxes);
-        excludeRadio.addEventListener("change", updateCheckboxes);
-
-
-    });
-</script>
-
-</body>
-</html>
Index: c/main/resources/templates/project_pages/members.html
===================================================================
--- src/main/resources/templates/project_pages/members.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,204 +1,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <title>Members</title>
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
-    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
-    <link rel="stylesheet" href="/css/icon.css">
-    <style>
-        body {
-            background-color: #f8f9fa; /* Light background for the whole page */
-        }
-
-        .icon-small {
-            opacity: 0.5; /* Default opacity (lower) */
-            transition: opacity 0.3s ease; /* Smooth transition */
-        }
-
-        div:hover .icon-small {
-            opacity: 1; /* Higher opacity on hover */
-        }
-
-        .container-header {
-            margin-top: 50px;
-            text-align: center;
-        }
-
-        #kick-user-button {
-            position: absolute;
-            top: 0;
-            left: 0;
-            width: 100%;
-            height: 100%;
-            opacity: 0;
-            cursor: pointer;
-        }
-
-        .btn-close-red {
-            filter: invert(28%) sepia(93%) saturate(7484%) hue-rotate(356deg) brightness(97%) contrast(122%);
-        }
-        .btn-close-red:hover {
-            filter: invert(19%) sepia(94%) saturate(6397%) hue-rotate(356deg) brightness(95%) contrast(126%);
-        }
-
-    </style>
-</head>
-<body th:attr="data-project-name=${project.getTitle()}">
-<div th:replace="/home_pages/home :: navigation"></div>
-
-<header class="container container-header mb-5">
-    <h1 class="text-primary" th:text="|${project.getTitle()} members|">Projects Tittles</h1>
-</header>
-<main class="d-flex justify-content-center align-content-center ">
-    <div class="list-group w-75">
-        <div class="list-group-item d-flex gap-2 justify-content-between align-items-center ps-4 pe-4"
-             th:each="memberWrapper : ${developers}">
-            <div class="d-flex flex-row align-items-center gap-3">
-                <img class="rounded-circle border border-1 border-info"
-                     style="width: 5em; height: 5em" th:src="${memberWrapper.getUser().getAvatarUrl()}">
-                <h5 class="mb-1 d-flex">
-                    <a th:href="@{/{username}/profile (username=${memberWrapper.getUser().getUsername()})}"
-                       th:text="${memberWrapper.getUser().getUsername()}"
-                       class="text-decoration-none"
-                    ></a>
-                </h5>
-                <div class="d-flex w-100">
-                    <form method="post"
-                          th:action="@{/projects/{projectName}/remove-role/{memberId}(projectName=${project.getTitle()}, memberId=${memberWrapper.getUser().getId()})}"
-                          class="d-inline"
-                          th:each="role : ${memberWrapper.getRoles()}">
-                        <input type="hidden" name="roleName" th:value="${role.getName()}"/>
-                        <span class="badge bg-primary me-1 d-flex align-items-center user-roles" th:attr="data-user=${memberWrapper.getUser().getId()}">
-        <span th:text="${role.getName()}"></span>
-        <button type="submit" class="btn-close btn-sm ms-2 btn-close-red" aria-label="Remove role"></button>
-    </span>
-                    </form>
-                </div>
-
-            </div>
-            <div class="d-flex align-items-center gap-5">
-
-                <button
-                        th:if="${session.user.getId() == project.getUser().getId()}"
-                        th:attr="data-mem-id=${memberWrapper.getUser().getId()},data-selected-user=${memberWrapper.getUser().getId()}"
-                        class="btn btn-success open-role-dialog"
-                        data-bs-toggle="modal"
-                        data-bs-target="#addRoleModal">
-                    Add Role
-                </button>
-
-                <h5 th:if="${memberWrapper.getUser().getId() != project.getUser().getId()}"
-                    class="fw-lighter mb-0 fst-italic">
-                    Developer</h5>
-                <h5 th:if="${memberWrapper.getUser().getId() == project.getUser().getId()}"
-                    class="fw-lighter mb-0 fst-italic">Owner</h5>
-                <div style="position: relative; display: inline-block;"
-                     th:if="${session.user.getId() == project.getUser().getId() && memberWrapper.getUser().getId() != project.getUser().getId()}"
-                     class="d-flex flex-row gap-1 align-items-center">
-                    <button
-                            th:attr="data-mem-id=${memberWrapper.getUser().getId()}"
-                            type="button" class="btn rounded open-kick-dialog"
-                            style="background-image: url('/project_imgs/im-kick-user.svg'); width: 3rem; height: 3rem; background-color: transparent"
-                            data-bs-toggle="modal"
-                            data-bs-target="#confirm"
-                    >
-                    </button>
-                </div>
-
-            </div>
-        </div>
-    </div>
-</main>
-<div class="modal fade "
-     id="confirm"
-     data-bs-backdrop="static"
-     data-bs-keyboard="false" tabindex="-1" aria-labelledby="confirm" aria-hidden="true">
-    <div class="modal-dialog">
-        <div class="modal-content">
-            <div class="modal-header">
-                <h1 class="modal-title fs-5" id="staticBackdropLabel">Are you sure</h1>
-                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
-            </div>
-            <div class="modal-body">
-                <form method="post"
-                      class="confirm-form d-flex justify-content-end"
-                      th:action="@{/project/{projectName}/members/{member-id}/kick(projectName=${project.getTitle()})}">
-                    <button class="btn btn-danger rounded" type="submit">Confirm</button>
-                </form>
-            </div>
-        </div>
-    </div>
-</div>
-<!-- Add Role Modal -->
-<div class="modal fade" id="addRoleModal" tabindex="-1" aria-labelledby="addRoleLabel" aria-hidden="true">
-    <div class="modal-dialog">
-        <div class="modal-content">
-            <div class="modal-header">
-                <h1 class="modal-title fs-5" id="addRoleLabel">Add Role(s)</h1>
-                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
-            </div>
-            <div class="modal-body">
-                <form method="post" id="add-role-modal">
-                    <div class="mb-3">
-                        <label class="form-label">Select Role(s)</label>
-                        <div class="border rounded p-2" style="max-height: 200px; overflow-y: auto;">
-                            <div class="form-check" th:each="role : ${projectRoles}">
-                                <input class="form-check-input"
-                                       type="checkbox"
-                                       name="roles"
-                                       th:value="${role.getName()}"
-                                       id="role_${role.getId().getName()}">
-                                <label class="form-check-label"
-                                       th:for="${'role_' + role.getName()}"
-                                       th:text="${role.getName()}"></label>
-                            </div>
-                        </div>
-                        <small class="text-muted">You can select multiple roles.</small>
-                    </div>
-
-                    <div class="d-flex justify-content-end">
-                        <button type="submit" class="btn btn-primary">Assign Role(s)</button>
-                    </div>
-                </form>
-            </div>
-        </div>
-    </div>
-</div>
-
-<script src="/js/modal_utils.js"></script>
-<script>
-    //data-user
-    const getUserRoles = (userId) =>
-        [...document.querySelectorAll(`span[data-user="${userId}"]`)].map(span => span.textContent.trim());
-
-    const setAvailableRoles = (appliedRoles) =>
-         [...document.querySelectorAll('input[name="roles"]')].filter(input => appliedRoles.includes(input.value)).forEach(input => input.parentElement.style.display = 'none')
-
-
-    document.body.addEventListener('click', (evt) => {
-        if (evt.target.classList.contains('open-role-dialog')) {
-            const projectName = document.body.dataset.projectName
-            const userId = evt.target.dataset.selectedUser
-            document.getElementById("add-role-modal").action = `/projects/${projectName}/add-role/${userId}`
-            setAvailableRoles(getUserRoles(userId))
-        }
-    })
-
-    modalConts.push(document.querySelector("#confirm"))
-
-    const projectTitle = document.body.dataset.projectName
-    const form = document.querySelector(".confirm-form")
-
-    document.addEventListener("click", ev => {
-        if (ev.target.classList.contains("open-kick-dialog")) {
-            const memberId = ev.target.dataset.memId
-            form.action = `/projects/${projectTitle}/members/${memberId}/kick`
-        }
-    })
-
-</script>
-
-<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
-</body>
-</html>
Index: c/main/resources/templates/project_pages/project-create.html
===================================================================
--- src/main/resources/templates/project_pages/project-create.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,63 +1,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title th:text="${isCreatingProject==null} ? 'Modify Project' : 'Add Project' ">Add project</title>
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
-    <style>
-         .error-bubble {
-        display: inline-block;
-        background-color: #dc3545; /* Bootstrap danger color */
-        color: white;
-        padding: 10px 15px;
-        border-radius: 20px;
-        font-weight: bold;
-        box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
-    }
-    </style>
-</head>
-<body>
-<div th:replace="/home_pages/home :: navigation"></div>
-<div class="w-100 d-flex justify-content-center align-items-center mt-3">
-    <div th:if="${errMsg!=null}" class="error-bubble">
-      <h5 class="text-center">Error</h5>
-      <p th:text="${errMsg}" class="mb-0"></p>
-    </div>
-  </div>
-<main class="container mt-5">
-    <div class="card shadow-sm">
-        <div class="card-header bg-primary text-white">
-            <h4
-                    th:text="${isCreatingProject==null} ? 'Modify project' : 'Create new project' "
-                    class="mb-0">Create new project</h4>
-        </div>
-        <div class="card-body">
-            <form th:action="${isCreatingProject==null} ? '/projects/' + ${project.getTitle()} + '/edit' : '/projects/add'" method="post">
-                <div class="mb-3">
-                    <label for="title" class="form-label">Title</label>
-                    <input type="text" id="title" name="title" th:value="${project.getTitle()}" class="form-control" placeholder="Enter projects title" required>
-                </div>
-                <div class="mb-3">
-                    <label for="repo_url" class="form-label">Repository url</label>
-                    <input type="text" id="repo_url" name="repo_url"
-                           th:value="${project.getRepoUrl()}"
-                           class="form-control" placeholder="Enter url to your repository">
-                </div>
-                <div class="mb-3">
-                    <label for="description" class="form-label">Description</label>
-                    <textarea id="description"
-                              th:text="${project.getDescription()}"
-                              placeholder="Write a short description"
-                              name="description" class="form-control" rows="3" ></textarea>
-                </div>
-                <button type="submit" class="btn btn-primary w-100">Submit</button>
-                <input th:if="${isCreatingProject==null}" type="hidden" name="username" th:value="${session.user.getUsername()}"/>
-            </form>
-        </div>
-    </div>
-</main>
-
-<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
-</body>
-</html>
Index: c/main/resources/templates/project_pages/project-roles.html
===================================================================
--- src/main/resources/templates/project_pages/project-roles.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,328 +1,0 @@
-<!DOCTYPE html>
-<html lang="en"
-      xmlns:th="http://www.thymeleaf.org">
-<head>
-    <meta charset="UTF-8">
-    <meta name="viewport"
-          content="width=device-width, initial-scale=1.0">
-    <title th:text="${project.getTitle()} + ' - Roles'">
-        Project
-        Roles</title>
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css"
-          rel="stylesheet">
-    <style>
-        .error-bubble {
-            display: inline-block;
-            background-color: #dc3545;
-            color: white;
-            padding: 10px 15px;
-            border-radius: 20px;
-            font-weight: bold;
-            box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
-        }
-
-        .badge {
-            background: #00e7ff80;
-        }
-
-        .role-card {
-            border-radius: 12px;
-            padding: 10px 15px;
-            margin-bottom: 10px;
-            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
-        }
-    </style>
-</head>
-<body th:attr="data-project-title=${project.getTitle()}">
-<div th:replace="/home_pages/home :: navigation"></div>
-
-<div class="container mt-4">
-    <div class="w-100 d-flex justify-content-center align-items-center mb-3">
-        <div th:if="${errMsg!=null}"
-             class="error-bubble">
-            <h5 class="text-center">
-                Error</h5>
-            <p th:text="${errMsg}"
-               class="mb-0"></p>
-        </div>
-    </div>
-
-    <main th:with="isManager=${session.user != null ? session.user.getId()==project.getUser().getId() : false }">
-        <div class="card shadow-sm mb-4">
-            <div class="card-header bg-primary text-white d-flex justify-content-between align-items-center">
-                <h3>
-                    Roles
-                    for
-                    <span th:text="${project.getTitle()}">Project Title</span>
-                </h3>
-                <div th:if="${isManager}">
-                    <button class="btn btn-success btn-sm"
-                            data-bs-toggle="modal"
-                            data-bs-target="#addRoleModal">
-                        Add
-                        Role
-                    </button>
-                </div>
-            </div>
-
-            <div class="card-body d-flex flex-column gap-3">
-                <div th:if="${developersRoles.isEmpty()}"
-                     class="text-center text-muted">
-                    No
-                    roles
-                    defined
-                    for
-                    this
-                    project
-                    yet.
-                </div>
-
-                <div th:each="role : ${developersRoles}"
-                     class="role-card d-flex justify-content-between align-items-center">
-                    <div>
-                        <h5 th:text="${role.getName()}">
-                            Role
-                            Name</h5>
-                        <!--                        <small th:text="'Members: ' + ${role.memberCount}">Members: 0</small>-->
-                    </div>
-                    <div class="d-flex gap-2">
-                        <button th:if="${isManager}"
-                                class="btn btn-warning btn-sm"
-                                data-bs-toggle="modal"
-                                th:data-bs-target="'#updateRoleModal-' + ${role.getId()}">
-                            <a th:href="@{/projects/{title}/roles/{id}/edit (title=${project.getTitle()},id=${role.getId()})}">Edit</a>
-                        </button>
-                        <form th:if="${isManager}"
-                              th:action="@{/projects/{projectTitle}/roles/{id}/delete (projectTitle=${project.getTitle()}, id=${role.getId()})}"
-                              method="post">
-                            <button type="submit"
-                                    class="btn btn-danger btn-sm">
-                                Delete
-                            </button>
-                        </form>
-                    </div>
-                </div>
-            </div>
-        </div>
-    </main>
-</div>
-
-<!-- Add Role Modal -->
-<div class="modal fade"
-     id="addRoleModal"
-     tabindex="-1"
-     aria-labelledby="addRoleModalLabel"
-     aria-hidden="true">
-    <div class="modal-dialog modal-lg">
-        <div class="modal-content">
-            <div class="modal-header">
-                <h5 class="modal-title">
-                    Add
-                    New
-                    Role</h5>
-                <button type="button"
-                        class="btn-close"
-                        data-bs-dismiss="modal"
-                        aria-label="Close"></button>
-            </div>
-            <form th:action="@{/projects/{title}/roles/add(title=${project.getTitle()})}"
-                  method="post"
-                  id="add-role-form">
-                <div class="modal-body">
-                    <!-- Role Name -->
-                    <div class="mb-3">
-                        <label for="roleName"
-                               class="form-label">Role
-                            Name</label>
-                        <input type="text"
-                               class="form-control"
-                               id="roleName"
-                               name="roleName"
-                               required>
-                    </div>
-
-                    <!-- Override Type -->
-                    <div class="mb-3">
-                        <label class="form-label">Override
-                            Type</label>
-                        <div class="form-check">
-                            <input class="form-check-input"
-                                   type="radio"
-                                   name="overrideType"
-                                   id="includeType"
-                                   value="INCLUDE"
-                                   checked>
-                            <label class="form-check-label"
-                                   for="includeType">INCLUDE</label>
-                        </div>
-                        <div class="form-check">
-                            <input class="form-check-input"
-                                   type="radio"
-                                   name="overrideType"
-                                   id="excludeType"
-                                   value="EXCLUDE">
-                            <label class="form-check-label"
-                                   for="excludeType">EXCLUDE</label>
-                        </div>
-                    </div>
-
-                    <!-- Permissions per Resource -->
-                    <!-- Permissions Section -->
-                    <div class="mb-3">
-                        <label class="form-label">Permissions</label>
-
-                        <!-- Global Permissions -->
-                        <div class="mb-2 border p-2 rounded">
-                            <strong>Global
-                                Permissions</strong>
-                            <div class="d-flex flex-wrap gap-2 mt-1"
-                                 th:each="permission : ${globalPermissions}">
-                                <div class="form-check">
-                                    <input class="form-check-input perm-checkbox"
-                                           type="checkbox"
-                                           th:id="${permission}"
-                                           th:name="'global-permission'"
-                                           th:value="${permission.toLowerCase()}">
-                                    <!--                                           th:checked="${permissionDefaultSelected.contains(permission.name)}">-->
-                                    <label class="form-check-label"
-                                           th:for="${permission}"
-                                           th:text="${permission.toLowerCase() + ' channels'}">Permission</label>
-                                </div>
-                            </div>
-                        </div>
-
-                        <!-- Per-Resource Permissions -->
-                        <div class="mb-2 border p-2 rounded">
-                            <strong>Per-Resource
-                                Permissions</strong>
-                            <div th:each="permission : ${perResourcePermissions}">
-                                <div class="mb-2">
-                                    <strong th:text="${permission}">Permission
-                                        Name</strong>
-                                    <div class="d-flex flex-wrap gap-2 mt-1"
-                                         th:each="channel : ${project.getChannels()}">
-                                        <div class="form-check">
-                                            <input class="form-check-input perm-checkbox"
-                                                   type="checkbox"
-                                                   th:id="${permission + '-' + channel.getId()}"
-                                                   name="per-resource-permission"
-                                                   th:value="${permission}"
-                                                   th:attr="data-resource-id=${channel.getId()}"
-                                                   th:checked="${overrideTypeDefault == 'EXCLUDE'}">
-                                            <label class="form-check-label"
-                                                   th:for="${permission + '-' + channel.getId()}"
-                                                   th:text="${channel.getName()}">Resource
-                                                Name</label>
-                                        </div>
-                                    </div>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-
-                </div>
-
-                <!-- Submit -->
-                <div class="modal-footer">
-                    <button type="submit"
-                            id="add-role-modal-submit"
-                            class="btn btn-success w-100">
-                        Add
-                        Role
-                    </button>
-                </div>
-            </form>
-        </div>
-    </div>
-</div>
-<script>
-    const getCheckedValues = (inputs) => {
-        const values = []
-        for (let i of inputs) {
-            if (i.checked)
-                values.push(i.value)
-        }
-        return values
-    }
-
-    const processPerResourcePermissions = (inputs) => {
-        const values = []
-        for (let i of inputs) {
-            if (i.checked) {
-                values.push({
-                    name: i.value,
-                    resourceId: i.dataset.resourceId
-                })
-            }
-        }
-        return values
-    }
-
-    const getProjectTitle = () => {
-        return document.body.dataset.projectTitle
-    }
-
-    document.getElementById('add-role-form').addEventListener('submit', async function (event) {
-        event.preventDefault()
-        const roleNameInput = document.querySelector("#roleName")
-        const includeExcludeInput = document.querySelectorAll("input[name='overrideType']")
-        const globalPermissions = document.querySelectorAll("input[name='global-permission']")
-        const perResourcePermissions = document.querySelectorAll("input[name='per-resource-permission']")
-
-        const roleName = roleNameInput.value
-        const includeExcludeDecided = getCheckedValues(includeExcludeInput)[0]
-        const globalSelectedPermissions = getCheckedValues(globalPermissions)
-        const perResourceSelectedPermissions = processPerResourcePermissions(perResourcePermissions)
-        const projectTitle = getProjectTitle()
-
-        const response = await fetch(`/projects/${projectTitle}/roles/add`, {
-            method: "POST",
-            headers: {
-                "Content-Type": "application/json",
-            },
-            body: JSON.stringify({
-                name: roleName,
-                projectTitle: projectTitle,
-                permissionOverrideType: includeExcludeDecided,
-                globalPermissions: globalSelectedPermissions,
-                permissionResourceDTOS: perResourceSelectedPermissions.map(p => ({
-                    permissionName: p.name,
-                    channelId: p.resourceId
-                }))
-            }),
-            credentials: "include"
-        })
-
-        if (!response.ok)
-            throw new Error("Something went wrong")
-
-        location.reload()
-    });
-
-
-    document.addEventListener("DOMContentLoaded", function () {
-        const includeRadio = document.getElementById("includeType");
-        const excludeRadio = document.getElementById("excludeType");
-        const permCheckboxes = document.querySelectorAll(".perm-checkbox");
-
-        function updateCheckboxes() {
-            permCheckboxes.forEach(cb => cb.checked = !cb.checked);
-        }
-
-        includeRadio.addEventListener("change", updateCheckboxes);
-        excludeRadio.addEventListener("change", updateCheckboxes);
-
-        const previousPage = document.referrer
-        const pattern = /\/roles\/\d+\/edit$/;
-
-        if (pattern.test(previousPage)) {
-            history.replaceState(null, "", window.location.href);
-        }
-
-    });
-</script>
-
-
-<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
-</body>
-</html>
Index: c/main/resources/templates/project_pages/requests/show-requests.html
===================================================================
--- src/main/resources/templates/project_pages/requests/show-requests.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,164 +1,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <title>Requests</title>
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
-</head>
-<body>
-<header>
-    <div th:replace="/home_pages/home :: navigation"></div>
-</header>
-<section class="d-flex mt-3 flex-column w-100 align-items-center mt-5">
-    <form method="get" th:action="@{/projects/{pr-title}/requests(pr-title=${project.getTitle()})}"
-          class="d-flex flex-row gap-2 align-items-center"
-          style="width:fit-content">
-        <label for="status-query">Filter by status:</label>
-        <select id="status-query" name="status" class="form-select form-select-sm w-auto">
-            <option
-                    th:each="st:${status}"
-                    th:text="${st}"
-                    th:value="${st}"
-            ></option>
-            <option value="" selected>All</option>
-        </select>
-        <label>
-            <input type="checkbox" th:checked="${isSearForLatestActive != null}" th:value="y" name="checkSearchLatest">
-            Show only latest request
-        </label>
-        <button class="btn btn-primary">Search</button>
-    </form>
-</section>
-<main class="d-flex justify-content-center mt-5 align-items-center flex-column ">
-    <div class="card shadow-sm mb-4 w-75"
-         th:each="req:${requests}"
-    >
-        <div class="card-header  text-white d-flex justify-content-between align-items-center"
-             th:with="st=${req.getStatus()}"
-             th:classappend="${st.name() == 'PENDING' ? 'bg-warning' : (st.name() == 'DENIED' ? 'bg-danger' : 'bg-info')}"
-        >
-            <h3 th:text="${req.getCreator().getUsername()}">Creator of request</h3>
-            <h3 class="fs-6 ">
-                <span>Status:</span>
-                <span
-                        th:text="${#strings.capitalize(req.getStatus().name().toLowerCase())}"></span>
-            </h3>
-        </div>
-        <div class="d-flex flex-column gap-3 justify-content-between card-body">
-            <div>
-                <h4>Description</h4>
-                <p th:text="${req.getDescription()}">Description of the project goes here.</p>
-                <p th:text="|Submitted on: ${#temporals.format(req.getCreatedAt(), 'dd/MM/yyyy HH:mm')}|"></p>
-            </div>
-            <div th:if="${req.getStatus().name().equals('PENDING') && session.user != null && session.user.getId() == project.getUser().getId()}"
-                 class="card-footer d-flex flex-row gap-3">
-                <form method="post"
-                      th:action="@{/projects/{pr-title}/requests/{req-id}/accept(pr-title=${req.getProject().getTitle()},req-id=${req.getId()})}">
-                    <button class="btn btn-success accept-btn footer-btn"
-                            th:attr="data-pr-title=${project.getTitle()}, data-req-id=${req.getId()}"
-                    >
-                        Accept
-                    </button>
-                </form>
-                <button type="button" class="btn btn-danger deny-btn footer-btn"
-                        th:attr="data-pr-title=${project.getTitle()}, data-req-id=${req.getId()}"
-                        data-bs-toggle="modal"
-                        data-bs-target="#modal"
-                >
-                    Deny
-                </button>
-            </div>
-            <div class="card-footer"
-                 th:if="${req.getFeedback() != null}"
-            >
-                <button type="button"
-                        class="btn-feedback-open btn btn-success">View feedback
-                </button>
-                <div th:if="${req.getFeedback()!=null && req.getFeedback().getDescription()!=null}"
-                     th:with="feed=${req.getFeedback()}"
-                     class="feedback d-flex flex-column gap-2 invisible" style="height: 0">
-                    <h5>Feedback</h5>
-                    <p th:text="${feed==null ? '' : (feed.getDescription() == null ? '' : feed.getDescription()) }"></p>
-                    <p>
-                        <span>Submitted at:</span>
-                        <span th:text="${feed != null ? #temporals.format(feed.getCreatedAt(), 'dd/MM/yyyy  HH:mm')  : ''}"></span>
-                    <div class="w-100 d-flex justify-content-end">
-                        <button type="button" class="btn-feedback-close btn-danger btn">Close</button>
-                    </div>
-                </div>
-                <p th:if="${req.getFeedback() != null && req.getFeedback().getDescription()==null}"
-                   th:text="|Accepted on: ${#temporals.format(req.getFeedback().getCreatedAt(), 'dd/MM/yyyy  HH:mm')}|"></p>
-            </div>
-        </div>
-        <div class="modal fade"
-             id="modal"
-             data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel"
-             aria-hidden="true"
-        >
-            <form method="post" id="modal-form">
-                <div class="modal-dialog">
-                    <div class="modal-content">
-                        <div class="modal-header">
-                            <h1 class="modal-title fs-5" id="staticBackdropLabel2">Feedback</h1>
-                            <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
-                        </div>
-                        <div class="modal-body d-flex flex-column gap-2">
-                            <label>Description</label>
-                            <textarea id="feedback-desc2"
-                                      style="height: 20vh"
-                                      class="w-100 border border-rounded"
-                                      name="feedback-desc"></textarea>
-                        </div>
-                        <div class="modal-footer">
-                            <button class="btn btn-success">Submit</button>
-                        </div>
-                    </div>
-                </div>
-            </form>
-        </div>
-    </div>
-</main>
-<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
-<script src="/js/modal_utils.js"></script>
-<script>
-    document.querySelectorAll(".modal").forEach(modal => modalConts.push(modal))
-    const formModal = document.querySelector("#modal-form")
-    document.addEventListener("click", ev => {
-        console.log(ev.target.type)
-        if (ev.target == null || ev.target.type !== 'button') return;
-        if (ev.target.classList.contains("footer-btn")) {
-            const btn = ev.target
-            const projectTitle = btn.dataset.prTitle
-            const reqId = btn.dataset.reqId
-            if (btn.classList.contains("deny-btn")) {
-                formModal.action = `/projects/${projectTitle}/requests/${reqId}/deny`
-            }
-        } else if (ev.target.classList.contains("btn-feedback-open")) {
-            const btn = ev.target
-            const feedbackCont = btn.nextElementSibling
-
-            btn.classList.add('invisible')
-            btn.style.width = '0'
-            btn.style.height = '0'
-
-            feedbackCont.style.height = 'max-content';
-            feedbackCont.classList.remove('invisible')
-
-        } else if (ev.target.classList.contains("btn-feedback-close")) {
-            const closeBtn = ev.target
-            const feedbackCont = closeBtn.parentElement.parentElement
-            const btn = feedbackCont.previousElementSibling
-
-            console.log(feedbackCont)
-
-            btn.classList.remove('invisible')
-            btn.style.width = 'max-content'
-            btn.style.height = 'max-content'
-
-            feedbackCont.style.height = '0';
-            feedbackCont.classList.add('invisible')
-        }
-    })
-</script>
-</body>
-</html>
Index: c/main/resources/templates/project_pages/requests/show-user-requests.html
===================================================================
--- src/main/resources/templates/project_pages/requests/show-user-requests.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,103 +1,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <title>Users Requests</title>
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
-</head>
-<body>
-<header>
-    <div th:replace="/home_pages/home :: navigation"></div>
-</header>
-<section class="d-flex mt-3 flex-column w-100 align-items-center mt-5">
-    <form method="get" th:action="@{/{username}/project-requests(username=${user.getUsername()})}"
-          class="d-flex flex-row gap-2 align-items-center"
-          style="width:fit-content">
-        <label for="status-query">Filter by status:</label>
-        <select id="status-query" name="status" class="form-select form-select-sm w-auto">
-            <option
-                    th:each="st:${status}"
-                    th:text="${st}"
-                    th:value="${st}"
-            ></option>
-            <option value="">All</option>
-        </select>
-        <button class="btn btn-primary">Search</button>
-    </form>
-</section>
-<main class="d-flex justify-content-center mt-5 align-items-center flex-column ">
-    <div class="card shadow-sm mb-4 w-75"
-         th:each="req:${requests}">
-        <div class="card-header  text-white d-flex justify-content-between align-items-center"
-             th:with="st=${req.getStatus()}"
-             th:classappend="${st.name() == 'PENDING' ? 'bg-warning' : (st.name() == 'DENIED' ? 'bg-danger' : 'bg-info')}"
-        >
-            <h3 th:text="${req.getCreator().getUsername()}">Creator of request</h3>
-            <h3 class="fs-6 ">
-                <span>Status:</span>
-                <span
-                        th:text="${#strings.capitalize(req.getStatus().name().toLowerCase())}"></span>
-            </h3>
-        </div>
-        <div class="d-flex flex-column gap-3 justify-content-between card-body">
-            <div>
-                <h4>Description</h4>
-                <p th:text="${req.getDescription()}">Description of the project goes here.</p>
-                <p th:text="|Submitted on: ${#temporals.format(req.getCreatedAt(), 'dd/MM/yyyy  HH:mm')}|"></p>
-            </div>
-        </div>
-        <div class="card-footer" th:if="${req.getStatus().name().equals('DENIED')}">
-            <button type="button"
-                    class="btn-feedback-open btn btn-success">View feedback
-            </button>
-            <div th:with="feed=${req.getFeedback()}"
-                 class="feedback d-flex flex-column gap-2 invisible" style="height: 0">
-                <h5>Feedback</h5>
-                <p th:text="${feed==null ? '' : (feed.getDescription()!=null ? feed.getDescription() : '')}"></p>
-                <p>
-                    <span>Submitted at:</span>
-                    <span th:text="${feed != null ?  feed.getCreatedAt() : ''}"></span>
-                <div class="w-100 d-flex justify-content-end">
-                    <button type="button" class="btn-feedback-close btn-danger btn">Close</button>
-                </div>
-            </div>
-        </div>
-    </div>
-</main>
-<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
-<script src="/js/modal_utils.js"></script>
-<script>
-    document.querySelectorAll(".modal").forEach(modal => modalConts.push(modal))
-    const formModal = document.querySelector("#modal-form")
-    document.addEventListener("click", ev => {
-        console.log(ev.target.type)
-        if (ev.target == null || ev.target.type !== 'button') return;
-        if (ev.target.classList.contains("btn-feedback-open")) {
-            const btn = ev.target
-            const feedbackCont = btn.nextElementSibling
-
-            btn.classList.add('invisible')
-            btn.style.width = '0'
-            btn.style.height = '0'
-
-            feedbackCont.style.height = 'max-content';
-            feedbackCont.classList.remove('invisible')
-
-        } else if (ev.target.classList.contains("btn-feedback-close")) {
-            const closeBtn = ev.target
-            const feedbackCont = closeBtn.parentElement.parentElement
-            const btn = feedbackCont.previousElementSibling
-
-            console.log(feedbackCont)
-
-            btn.classList.remove('invisible')
-            btn.style.width = 'max-content'
-            btn.style.height = 'max-content'
-
-            feedbackCont.style.height = '0';
-            feedbackCont.classList.add('invisible')
-        }
-    })
-</script>
-</body>
-</html>
Index: c/main/resources/templates/project_pages/show-project.html
===================================================================
--- src/main/resources/templates/project_pages/show-project.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,282 +1,0 @@
-<!DOCTYPE html>
-<html lang="en" xmlns:th="http://www.thymeleaf.org">
-<head>
-    <meta charset="UTF-8">
-    <meta name="viewport" content="width=device-width, initial-scale=1.0">
-    <title th:text="${project.getTitle()}"></title>
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
-    <style>
-        .error-bubble {
-       display: inline-block;
-       background-color: #dc3545; /* Bootstrap danger color */
-       color: white;
-       padding: 10px 15px;
-       border-radius: 20px;
-       font-weight: bold;
-       box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
-   }
-        .badge{
-            background: #00e7ff80;
-        }
-   </style>
-</head>
-<body>
-<div th:replace="/home_pages/home :: navigation"></div>
-<div class="w-100 d-flex justify-content-center align-items-center mt-3">
-    <div th:if="${errMsg!=null}" class="error-bubble">
-      <h5 class="text-center">Error</h5>
-      <p th:text="${errMsg}" class="mb-0"></p>
-    </div>
-  </div>
-
-<main th:with="isManager=${session.user != null ?  session.user.getId()==project.getUser().getId() : false }"
-      class="container mt-5">
-    <div class="card shadow-sm mb-4">
-        <div class="card-header bg-primary text-white d-flex justify-content-between align-items-center">
-            <h3 th:text="${project.getTitle()}">Project Title</h3>
-            <div class="d-flex flex-row gap-2 align-items-center">
-                <div th:if="${isManager}">
-                    <button
-                            class="btn btn-success btn-sm" data-bs-toggle="modal" data-bs-target="#addTagModal">Add Tag
-                    </button>
-                    <a class="text-decoration-none text-reset p-2 border-success border rounded bg-success"
-                       th:href="@{/projects/{pr_title}/topics/add(pr_title=${project.getTitle()})}">Add Topic</a>
-                    <a class="text-decoration-none text-reset p-2 border-success border rounded bg-secondary"
-                       th:href="@{/projects/{pr_title}/edit(pr_title=${project.getTitle()})}">Modify project</a>
-                    <a class="text-decoration-none text-reset p-2 border border-success rounded bg-success"
-                       th:href="@{/projects/{pr_title}/requests(pr_title=${project.getTitle()})}">View project
-                        requests</a>
-                    <a class="text-decoration-none text-reset p-2 border border-success rounded bg-success"
-                       th:href="@{/projects/{pr_title}/roles(pr_title=${project.getTitle()})}">Roles</a>
-
-                </div>
-                <a class="text-decoration-none text-reset p-2 border border-success rounded bg-secondary"
-                   th:href="@{/projects/{pr_title}/members(pr_title=${project.getTitle()})}">Show members</a>
-                <button th:if="${session.user != null && !project.getUser().equals(session.user)
-                 && !developers.contains(session.user)}"
-                        class="text-decoration-none text-reset p-2 border border-success rounded bg-success"
-                        th:attr="data-pr-title=${project.getTitle()}"
-                        data-bs-toggle="modal"
-                        data-bs-target="#modal"
-                >
-                    Send request
-                </button>
-            </div>
-        </div>
-        <div class="d-flex flex-column gap-3 justify-content-between card-body">
-            <div>
-                <h4>Description</h4>
-                <p th:text="${project.getContent()}">Description of the project goes here.</p>
-            </div>
-            <div th:with="hasRepoUrl=${!#strings.isEmpty(project.getRepoUrl())}">
-                <h4>Repository</h4>
-                <a th:if="${hasRepoUrl}" th:href="${project.repoUrl}" th:text="${project.getRepoUrl()}"></a>
-                <span th:if="!${hasRepoUrl}">There's no provided url for this project</span>
-            </div>
-            <div th:if="${!project.getTags().isEmpty()}">
-                <ul class="list-inline">
-                    <li th:each="tag : ${project.getTags()}"
-                        class="list-inline-item badge bg-info text-dark d-inline-flex align-items-center">
-                        <span th:text="${tag.getName()}">Tag Name</span>
-                        <form th:if="${session.user!=null && session.user.equals(project.getUser())}"
-                              th:action="@{/projects/{projectTitle}/tags/{tagName}/delete (projectTitle=${project.getTitle()}, tagName=${tag.getName()})}"
-                              method="post" style="margin-left: 5px;">
-                            <button type="submit" class="btn btn-sm btn-link text-danger p-0 ms-1"
-                                    style="line-height: 1;">
-                                &times;
-                            </button>
-                            <input th:if="${session.user!=null}" type="hidden" name="username"
-                                   th:value="${session.user.getUsername()}">
-                        </form>
-                    </li>
-                </ul>
-            </div>
-            <div class="d-flex flex-row justify-content-between">
-                <div th:if="${!project.getTopics().isEmpty()}" class="w-75 d-flex flex-column align-items-center mx-auto">
-                    <h4>Topics:</h4>
-                    <div class="list-group w-75">
-                        <div class="list-group-item w-100" th:each="topic : ${project.getTopics()}">
-                            <div class="d-flex">
-                                <h5 class="mb-1">
-                                    <a th:href="@{/topics/{id} (id=${topic.getId()})}"
-                                       th:text="${topic.getTitle()}" class="text-decoration-none"></a>
-                                </h5>
-                                <!--                <small th:text="${thread.getFormattedDate()}">Date</small>-->
-                            </div>
-                            <!--            <p class="mb-1 text-muted" th:text="${thread.getDescription()}">Thread description here...</p>-->
-                            <!--            <small th:text="${thread.getAuthor()}">Posted by Author</small>-->
-                        </div>
-                    </div>
-                </div>
-
-                <div th:if="${developers.contains(session.user)}" class="w-75 d-flex flex-column align-items-center mx-auto">
-                    <h4>Channels:</h4>
-                    <div class="list-group w-75">
-                        <div class="list-group-item w-100" th:each="channel : ${project.getChannels()}">
-                            <form method="post" th:action="@{/projects/{projectName}/channels/{channelName}/delete (projectName=${project.getTitle()},channelName=${channel.getName()})}">
-                                <div class="d-flex justify-content-between">
-                                    <h5 class="mb-1">
-                                        <a th:href="@{/projects/{projectName}/channels/{name} (name=${channel.getName()},projectName=${project.getTitle()})}"
-                                           th:text="${channel.getName()}" class="text-decoration-none"></a>
-                                    </h5>
-                                    <div th:if="${channel.getDeveloper().getId() == session.user.getId() || project.getUser() == session.user}">
-                                        <button class="btn btn-sm btn-outline-danger">Delete</button>
-                                    </div>
-                                </div>
-                            </form>
-                        </div>
-                        <button th:if="${canCreateChannel}" class="btn btn-success btn-sm w-25 mt-2 mx-auto" data-bs-toggle="modal"
-                                data-bs-target="#addChannelModal">
-                            Add Channel
-                        </button>
-                    </div>
-                </div>
-
-            </div>
-            <div class="d-flex justify-content-between align-items-center mt-3 pt-3">
-                <div class="d-flex flex-row">
-                    <form th:action="'/threads/' + ${project.getId()} + '/like'" method="post">
-                        <button th:if="${session.user!=null}"
-                                type="submit" class="btn btn-outline-success btn-sm me-2 like-button">
-                            <!--                                th:attr="data-reply-id=${reply.getDiscussion().getId()}">-->
-                            👍 Like (<span th:text="${project.getNumLikes()}">0</span>)
-                        </button>
-                    </form>
-                    <form th:action="'/threads/' + ${project.getId()} + '/dislike'" method="post">
-                        <button th:if="${session.user!=null}"
-                                class="btn btn-outline-danger btn-sm dislike-button">
-                            <!--                                th:attr="data-reply-id=${reply.getDiscussion().getId()}">-->
-                            👎 Dislike
-                        </button>
-                    </form>
-                </div>
-            </div>
-        </div>
-        <div th:if="${isManager}" class="card-footer d-flex justify-content-between">
-            <form th:action="@{/projects/{title}/delete (title=${project.getTitle()})}" method="post"
-                  style="display:inline;">
-                <button type="submit" class="btn btn-danger btn-sm">Delete Project</button>
-                <input th:if="${session.user!=null}" type="hidden" name="username"
-                       th:value="${session.user.getUsername()}">
-            </form>
-        </div>
-    </div>
-
-</main>
-
-<section id="errors" class="container bg bg-danger border border-dark w-50" th:if="${error != null}">
-    <p class="fw-bold fs-6" th:text="'Error: ' + ${error}"></p>
-</section>
-
-<div class="modal fade"
-     id="modal"
-     data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel"
-     aria-hidden="true"
->
-    <form method="post" id="modal-form" th:action="@{/projects/{pr-tittle}/requests/create(pr-tittle=${project.getTitle()})}">
-        <div class="modal-dialog">
-            <div class="modal-content">
-                <div class="modal-header">
-                    <h1 class="modal-title fs-5" id="staticBackdropLabel2">Request</h1>
-                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
-                </div>
-                <div class="modal-body d-flex flex-column gap-2">
-                    <label>Reason</label>
-                    <textarea id="reason-desc"
-                              style="height: 20vh"
-                              class="w-100 border border-rounded"
-                              name="reason-desc"></textarea>
-                </div>
-                <div class="modal-footer">
-                    <button class="btn btn-success">Submit</button>
-                </div>
-            </div>
-        </div>
-    </form>
-</div>
-<!-- Add Tag Modal -->
-<div class="modal fade" id="addTagModal" tabindex="-1" aria-labelledby="addTagModalLabel" aria-hidden="true">
-    <div class="modal-dialog">
-        <div class="modal-content">
-            <div class="modal-header">
-                <h5 class="modal-title" id="addTagModalLabel">Add a Tag</h5>
-                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
-            </div>
-            <div class="modal-body">
-                <form th:action="@{/projects/{title}/tags/add(title=${project.getTitle()})}" method="post"
-                      id="addTagForm">
-                    <div class="mb-3">
-                        <label for="existingTags" class="form-label">Tag Name</label>
-                        <select id="existingTags" class="form-select mb-3" name="tagName">
-                            <option value="" selected disabled>Select an existing tag</option>
-                            <option th:each="tag : ${tags}" th:if="${!project.getTags().contains(tag)}"
-                                    th:value="${tag.getName()}" th:text="${tag.getName()}">
-                                Example Tag
-                            </option>
-                            <option value="custom">Enter a custom tag...</option>
-                        </select>
-                        <input type="text" id="customTag" class="form-control d-none"
-                               placeholder="Enter custom tag name"/>
-                        <input th:if="${session.user!=null}" type="hidden" name="username"
-                               th:value="${session.user.getUsername()}">
-                    </div>
-                    <button type="submit" class="btn btn-primary w-100">Add Tag</button>
-                </form>
-            </div>
-        </div>
-    </div>
-</div>
-<script src="/js/modal_utils.js"></script>
-<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
-
-<div class="modal fade" id="addChannelModal" tabindex="-1" aria-labelledby="addChannelModalLabel" aria-hidden="true">
-    <div class="modal-dialog">
-        <div class="modal-content">
-            <div class="modal-header">
-                <h5 class="modal-title" id="addChannelModalLabel">Create a channel</h5>
-                <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
-            </div>
-            <div class="modal-body">
-                <form th:action="@{/projects/{title}/channels/add(title=${project.getTitle()})}" method="post"
-                      id="addChannelForm">
-
-                    <div class="mb-3 d-flex flex-column justify-content-center">
-                        <input class="form-control" type="text" id="channelName" name="channelName"
-                               placeholder="Enter channel name"/>
-                        <textarea class="form-control mt-2" id="channelDescription" name="channelDescription" cols="30"
-                                  rows="10" placeholder="What is this channel about.."></textarea>
-                    </div>
-                    <button type="submit" class="btn btn-primary w-100">Create Channel</button>
-                </form>
-            </div>
-        </div>
-    </div>
-</div>
-
-<script>
-    document.addEventListener("DOMContentLoaded", function () {
-        const existingTags = document.getElementById("existingTags");
-        const customTagInput = document.getElementById("customTag");
-
-        existingTags.addEventListener("change", function () {
-            if (this.value === "custom") {
-                customTagInput.classList.remove("d-none");
-                customTagInput.required = true;
-                customTagInput.name = "tagName";
-                existingTags.name = "";
-            } else {
-                customTagInput.classList.add("d-none");
-                customTagInput.required = false;
-                customTagInput.name = "";
-                existingTags.name = "tagName";
-                customTagInput.value = "";
-            }
-        });
-    });
-    modalConts.push(document.querySelector(".modal"))
-</script>
-
-
-<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
-</body>
-</html>
Index: c/main/resources/templates/show-blacklisted-users.html
===================================================================
--- src/main/resources/templates/show-blacklisted-users.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,145 +1,0 @@
-<!DOCTYPE html>
-<head>
-    <meta charset="UTF-8">
-    <title>
-        Reports</title>
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css"
-          rel="stylesheet">
-</head>
-<body>
-<header>
-    <div th:replace="/home_pages/home :: navigation"></div>
-</header>
-<main class="d-flex align-items-center mt-5 flex-column">
-    <div class="list-group w-75">
-        <h1 class="text-center">
-            Latest</h1>
-        <div class="row fs-4"
-             th:if="${!#lists.isEmpty(current)}">
-            <div class="col"></div>
-            <div class="col-auto "
-                 style="width: 7em">
-                <span>Start time</span>
-            </div>
-        </div>
-        <div class="list-group-item d-flex gap-2 justify-content-between align-items-center ps-4 pe-4 flex-wrap"
-             th:each="blacklisted : ${current}">
-            <div class="w-100 d-flex flex-row justify-content-between">
-                <div class="d-flex flex-row align-items-center gap-3">
-                    <img class="rounded-circle border border-1 border-info"
-                         style="width: 5em; height: 5em"
-                         th:src="${blacklisted.getRefersTo().getAvatarUrl()}">
-                    <h5 class="mb-1 d-flex">
-                        <a th:href="@{/{username}/profile (username=${blacklisted.getRefersTo().getUsername()})}"
-                           th:text="${blacklisted.getRefersTo().getUsername()}"
-                           class="text-decoration-none"
-                        ></a>
-                        </a>
-                    </h5>
-                </div>
-                <div class="d-flex gap-3 align-items-center">
-                    <p style="cursor: pointer;"
-                       class="show-reason text-decoration-underline mb-0"
-                       th:if="${!blacklisted.getReason().isBlank()}">
-                        Reason</p>
-                    <form method="post"
-                          th:action="@{/topics/{id}/blacklisted/{userId}(
-          id=${blacklisted.topic.getId()},
-          userId=${blacklisted.getRefersTo().getId()}
-      )}">
-                        <button class="btn btn-outline-danger btn-sm px-3">
-                            <i class="bi bi-x-circle me-1"></i>
-                            Revoke
-                        </button>
-                    </form>
-                    <p class="mb-0"
-                       th:text="${#temporals.format(blacklisted.getStartTime(), 'dd MMM yyyy')}"
-                       style="width: 7em">
-                        Start
-                        time</p>
-                </div>
-            </div>
-            <div th:if="${!blacklisted.getReason().isBlank()}"
-                 style="display: none"
-                 class="reason w-100 mt-3">
-                <h3>
-                    Reason:</h3>
-                <p th:text="${blacklisted.getReason()}"></p>
-            </div>
-        </div>
-    </div>
-    <div class="mt-2 w-75">
-        <h1 class="text-center mb-0 mt-2">
-            Previous</h1>
-        <div class="list-group w-full">
-            <div class="d-flex fs-4 justify-content-end">
-                <span style="margin-right: 1em">Start time</span>
-                <span style="margin-right: 2em">End time</span>
-            </div>
-            <div class="list-group-item d-flex gap-2 justify-content-between align-items-center ps-4 pe-4 flex-wrap"
-                 th:each="prev : ${previous}">
-                <div class="w-100 d-flex flex-row justify-content-between">
-                    <div class="d-flex flex-row align-items-center gap-3 ">
-                        <img class="rounded-circle border border-1 border-info"
-                             style="width: 5em; height: 5em"
-                             th:src="${prev.getRefersTo().getAvatarUrl()}">
-                        <h5 class="mb-1 d-flex">
-                            <a th:href="@{/{username}/profile (username=${prev.getRefersTo().getUsername()})}"
-                               th:text="${prev.getRefersTo().getUsername()}"
-                               class="text-decoration-none"
-                            ></a>
-                        </h5>
-                    </div>
-                    <div class="d-flex gap-3 align-items-center">
-                        <p style="cursor: pointer"
-                           class="show-reason text-decoration-underline mb-0"
-                           th:if="${!prev.getReason().isBlank()}">
-                            Reason</p>
-                        <p class="mb-0"
-                           style="width: 7em"
-                           th:text="${#temporals.format(prev.getStartTime(), 'dd MMM yyyy')}">
-                            Start
-                            time</p>
-                        <p class="mb-0"
-                           style="width: 7em"
-                           th:text="${#temporals.format(prev.getEndTime(), 'dd MMM yyyy')}">
-                            End
-                            time</p>
-                    </div>
-                </div>
-                <div th:if="${!prev.getReason().isBlank()}"
-                     style="display: none"
-                     class="reason w-100 mt-3">
-                    <h3>
-                        Reason:</h3>
-                    <p th:text="${prev.getReason()}"></p>
-                </div>
-            </div>
-        </div>
-    </div>
-</main>
-<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
-<script>
-    document.addEventListener("click", ev => {
-        const target = ev.target
-        if (target == null) return
-        else if (target.classList.contains("show-reason")) {
-            target.classList.remove("show-reason")
-
-            const feedbackContainer = target.parentElement.parentElement.parentElement.querySelector('.reason')
-            feedbackContainer.style.display = 'block'
-
-            target.innerText = 'Less'
-            target.classList.add("show-less")
-        } else if (target.classList.contains("show-less")) {
-            target.classList.remove("show-less")
-
-            const feedbackContainer = target.parentElement.parentElement.parentElement.querySelector('.reason')
-            feedbackContainer.style.display = 'none'
-
-            target.innerText = 'Reason'
-            target.classList.add("show-reason")
-        }
-    })
-</script>
-</body>
Index: c/main/resources/templates/show-reports.html
===================================================================
--- src/main/resources/templates/show-reports.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,221 +1,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <title>
-        Requests</title>
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css"
-          rel="stylesheet">
-</head>
-<body>
-<header>
-    <div th:replace="/home_pages/home :: navigation"></div>
-</header>
-<section
-        class="d-flex mt-3 flex-column w-100 align-items-center mt-5">
-    <form method="get"
-          th:action="@{/topics/{id}/reports(id=${topic.getId()})}"
-          class="d-flex flex-row gap-2 align-items-center"
-          style="width:fit-content">
-        <label for="status-query">Filter
-            by
-            status:</label>
-        <select id="status-query"
-                name="status"
-                class="form-select form-select-sm w-auto">
-            <option
-                    th:each="st:${status}"
-                    th:text="${st}"
-                    th:value="${st}"
-            ></option>
-            <option value=""
-                    selected>
-                All
-            </option>
-        </select>
-        <label>
-            <input type="checkbox"
-                   th:checked="${isSearForLatestActive != null}"
-                   th:value="y"
-                   name="checkSearchLatest">
-            Show
-            only
-            latest
-            request
-        </label>
-        <button class="btn btn-primary">
-            Search
-        </button>
-    </form>
-</section>
-<main class="d-flex justify-content-center mt-5 align-items-center flex-column ">
-    <div class="card shadow-sm mb-4 w-75"
-         th:each="req:${reports}"
-    >
-        <div class="card-header  text-white d-flex justify-content-between align-items-center"
-             th:with="st=${req.getStatus()}"
-             th:classappend="${st.name() == 'PENDING' ? 'bg-warning' : (st.name() == 'DENIED' ? 'bg-danger' : 'bg-info')}"
-        >
-            <h3 th:text="|About ${req.getUser().getUsername()}|">
-                Creator
-                of
-                request</h3>
-            <h3 class="fs-6 ">
-                <span>Status:</span>
-                <span
-                        th:text="${#strings.capitalize(req.getStatus().name().toLowerCase())}"></span>
-            </h3>
-        </div>
-        <div class="d-flex flex-column gap-3 justify-content-between card-body">
-            <div>
-                <h4>
-                    Description</h4>
-                <p th:text="${req.getDescription()}">
-                    Description
-                    of
-                    the
-                    project
-                    goes
-                    here.</p>
-                <p th:text="|Submitted on: ${#temporals.format(req.getCreatedAt(), 'dd/MM/yyyy HH:mm')}|"></p>
-                <p>
-                    <span>Created by:</span>
-                    <span class="fw-bold"
-                          th:text="${req.getCreator().getUsername()}">Created by</span>
-                </p>
-            </div>
-            <!--            Tuka moderator -->
-            <!--                        th:attr="data-pr-title=${project.getTitle()}, data-req-id=${req.getId()}"-->
-
-            <div th:if="${req.getStatus().name().equals('PENDING') &&  session.user != null && session.user.getId() == topic.getUser().getId()}"
-                 class="card-footer d-flex flex-row gap-3">
-                <button type="button"
-                        class="btn btn-success accept-btn footer-btn"
-                        th:attr="data-topic-id=${req.getTopic().getId()}, data-req-id=${req.getId()}"
-                        data-bs-toggle="modal"
-                        data-bs-target="#modal"
-                >
-                    Accept
-                </button>
-                <button type="button"
-                        class="btn btn-danger deny-btn footer-btn"
-                        th:attr="data-topic-id=${req.getTopic().getId()}, data-req-id=${req.getId()}"
-                        data-bs-toggle="modal"
-                        data-bs-target="#modal"
-                >
-                    Deny
-                </button>
-            </div>
-            <div class="card-footer" th:if="${req.getFeedback() != null}">
-                <button type="button"
-                        class="btn-feedback-open btn btn-success">
-                    View
-                    feedback
-                </button>
-                <div th:if="${req.getFeedback()!=null && req.getFeedback().getDescription()!=null}"
-                     th:with="feed=${req.getFeedback()}"
-                     class="feedback d-flex flex-column gap-2 invisible"
-                     style="height: 0">
-                    <h5>
-                        Feedback</h5>
-                    <p th:text="${feed==null ? '' : (feed.getDescription() == null ? '' : feed.getDescription()) }"></p>
-                    <p>
-                        <span>Submitted at:</span>
-                        <span th:text="${feed != null ? #temporals.format(feed.getCreatedAt(), 'dd/MM/yyyy  HH:mm')  : ''}"></span>
-                    <div class="w-100 d-flex justify-content-end">
-                        <button type="button"
-                                class="btn-feedback-close btn-danger btn">
-                            Close
-                        </button>
-                    </div>
-                </div>
-                <p th:if="${req.getFeedback() != null && req.getFeedback().getDescription()==null}"
-                   th:text="|Accepted on: ${#temporals.format(req.getFeedback().getCreatedAt(), 'dd/MM/yyyy  HH:mm')}|"></p>
-            </div>
-        </div>
-        <div class="modal fade"
-             id="modal"
-             data-bs-backdrop="static"
-             data-bs-keyboard="false"
-             tabindex="-1"
-             aria-labelledby="staticBackdropLabel"
-             aria-hidden="true"
-        >
-            <form method="post"
-                  id="modal-form">
-                <div class="modal-dialog">
-                    <div class="modal-content">
-                        <div class="modal-header">
-                            <h1 class="modal-title fs-5"
-                                id="staticBackdropLabel2">
-                                Feedback</h1>
-                            <button type="button"
-                                    class="btn-close"
-                                    data-bs-dismiss="modal"
-                                    aria-label="Close"></button>
-                        </div>
-                        <div class="modal-body d-flex flex-column gap-2">
-                            <label>Description</label>
-                            <textarea
-                                    id="feedback-desc2"
-                                    style="height: 20vh"
-                                    class="w-100 border border-rounded"
-                                    name="feedback-desc"></textarea>
-                        </div>
-                        <div class="modal-footer">
-                            <button class="btn btn-success">
-                                Submit
-                            </button>
-                        </div>
-                    </div>
-                </div>
-            </form>
-        </div>
-    </div>
-</main>
-<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
-<script src="/js/modal_utils.js"></script>
-<script>
-    document.querySelectorAll(".modal").forEach(modal => modalConts.push(modal))
-    const formModal = document.querySelector("#modal-form")
-    document.addEventListener("click", ev => {
-        if (ev.target == null || ev.target.type !== 'button') return;
-        console.log(ev.target.classList)
-        if (ev.target.classList.contains("footer-btn")) {
-            const btn = ev.target
-            const topicId = btn.dataset.topicId
-            const reqId = btn.dataset.reqId
-            if (btn.classList.contains("deny-btn")) {
-                formModal.action = `/topics/${topicId}/reports/${reqId}/deny`
-            }else if(btn.classList.contains("accept-btn")){
-                formModal.action =`/topics/${topicId}/reports/${reqId}/accept`
-            }
-        } else if (ev.target.classList.contains("btn-feedback-open")) {
-            const btn = ev.target
-            const feedbackCont = btn.nextElementSibling
-
-            btn.classList.add('invisible')
-            btn.style.width = '0'
-            btn.style.height = '0'
-
-            feedbackCont.style.height = 'max-content';
-            feedbackCont.classList.remove('invisible')
-
-        } else if (ev.target.classList.contains("btn-feedback-close")) {
-            const closeBtn = ev.target
-            const feedbackCont = closeBtn.parentElement.parentElement
-            const btn = feedbackCont.previousElementSibling
-
-            console.log(feedbackCont)
-
-            btn.classList.remove('invisible')
-            btn.style.width = 'max-content'
-            btn.style.height = 'max-content'
-
-            feedbackCont.style.height = '0';
-            feedbackCont.classList.add('invisible')
-        }
-    })
-</script>
-</body>
-</html>
Index: c/main/resources/templates/show-topic.html
===================================================================
--- src/main/resources/templates/show-topic.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,530 +1,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <meta name="viewport"
-          content="width=device-width, initial-scale=1.0">
-    <title th:text="${topic.getTitle()}"></title>
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css"
-          rel="stylesheet">
-
-    <style>
-        .edit-reply-btn {
-            font-size: 12px;
-            padding: 2px 8px;
-            height: auto;
-            line-height: 1.2;
-        }
-
-        .edit-delete-btn {
-            font-size: 12px;
-            padding: 2px 8px;
-            height: auto;
-            line-height: 1.2;
-        }
-
-        .error-bubble {
-            display: inline-block;
-            background-color: #dc3545; /* Bootstrap danger color */
-            color: white;
-            padding: 10px 15px;
-            border-radius: 20px;
-            font-weight: bold;
-            box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
-        }
-
-        .badge {
-            background: #00e7ff80
-        }
-    </style>
-</head>
-<body th:attr="data-topic-id=${topic.getId()}">
-<div th:replace="/home_pages/home :: navigation"></div>
-<div class="mt-3 w-100 d-flex justify-content-center align-items-center">
-    <div th:if="${errMsg!=null}"
-         class="error-bubble">
-        <h5 class="text-center">
-            Error</h5>
-        <p th:text="${errMsg}"
-           class="mb-0"></p>
-    </div>
-</div>
-<main class="mb-5 container mt-5">
-    <!-- Topic Title and Description -->
-    <div class="card shadow-sm mb-4">
-        <div class="card-header bg-primary text-white d-flex justify-content-between align-items-center">
-            <h3 th:text="${topic.getTitle()}">
-                Topic
-                Title</h3>
-            <!-- Add Tag Button -->
-            <div>
-                <button th:if="${session.user!=null && session.user.equals(topic.getUser())}"
-                        class="btn btn-info btn-sm"
-                        data-bs-toggle="modal"
-                        data-bs-target="#addTagModal">
-                    Add
-                    Tag
-                </button>
-                <button
-                        class="btn btn-info btn-sm"
-                        data-bs-toggle="modal"
-                        data-bs-target="#show-guidelines">
-                    Show
-                    guidelines
-                </button>
-                <!--                Moderator check -->
-                <a th:if="${session.user != null && session.user.id == topic.getUser().getId()}"
-                   th:href="@{/topics/{id}/reports(id=${topic.getId()})}"
-                   class="btn btn-info btn-sm">
-                    Show
-                    reports
-                </a>
-                <a th:if="${session.user != null && session.user.id == topic.getUser().getId()}"
-                   th:href="@{/topics/{id}/blacklisted(id=${topic.getId()})}"
-                   class="btn btn-info btn-sm">
-                    Show blacklisted users
-                </a>
-            </div>
-        </div>
-
-        <div class="card-body d-flex flex-column justify-content-between">
-            <!-- Top Section: Description + Tags -->
-            <div class="d-flex justify-content-between">
-                <p th:text="${topic.getContent()}">
-                    Description
-                    of
-                    the
-                    topic
-                    goes
-                    here.</p>
-                <!-- Tags Section -->
-                <div>
-                    <ul class="list-inline text-end">
-                        <li th:each="tag : ${topic.getTags()}"
-                            class="list-inline-item">
-                        <span class="badge text-dark d-inline-flex align-items-center">
-                            <span th:text="${tag.getName()}">Tag Name</span>
-                            <form th:if="${session.user!=null && session.user.equals(topic.getUser())}"
-                                  th:action="@{/topics/{topicId}/tags/{tag-name}/delete (topicId=${topic.getId()}, tag-name=${tag.getName()})}"
-                                  method="post"
-                                  class="d-inline">
-                                <input type="hidden" name="username" th:value="${session.user != null ? session.user.getUsername() : null}">
-                                <button type="submit"
-                                        class="btn btn-sm btn-link text-danger p-0 ms-1"
-                                        style="line-height: 1;">
-                                    &times;
-                                </button>
-                            </form>
-                        </span>
-                        </li>
-                    </ul>
-                </div>
-            </div>
-
-            <!-- Bottom Section: Reply + Like/Dislike Buttons -->
-            <div class="d-flex justify-content-between align-items-center mt-3 pt-3">
-                <!-- Reply Button -->
-                <div class="d-flex justify-content-end">
-                    <button th:if="${session.user != null}"
-                            class="btn btn-info btn-sm reply-button"
-                            th:attr="data-reply-id=${topic.getId()}">
-                        Reply
-                    </button>
-                </div>
-
-                <!-- Like & Dislike Buttons -->
-                <div class="d-flex flex-row">
-                    <form th:action="@{/threads/{thread-id}/like(thread-id=${topic.getId()})}"
-                          method="post">
-                        <input type="hidden"
-                               name="topic-id"
-                               th:value="${topic.getId()}">
-                        <button th:if="${session.user!=null}"
-                                type="submit"
-                                class="btn btn-outline-success btn-sm me-2 like-button">
-                            👍
-                            Like
-                            (<span
-                                th:text="${topic.getNumLikes()}">0</span>)
-                        </button>
-                    </form>
-                    <form th:action="@{/threads/{thread-id}/dislike(thread-id=${topic.getId()})}"
-                          method="post">
-                        <input type="hidden"
-                               name="topic-id"
-                               th:value="${topic.getId()}">
-                        <button th:if="${session.user!=null}"
-                                class="btn btn-outline-danger btn-sm dislike-button">
-                            👎
-                            Dislike
-                        </button>
-                    </form>
-                </div>
-            </div>
-            <div th:attr="data-reply-id=${topic.getId()}"
-                 class="card-body d-none reply-body">
-                <form th:action="@{/topics/{topic-id}/discussions/add(topic-id=${topic.getId()})}"
-                      method="post">
-                    <div class="mb-3">
-                        <label class="form-label">Your
-                            Reply</label>
-                        <textarea
-                                name="content"
-                                class="form-control"
-                                rows="3"
-                                placeholder="Write your reply here"
-                                required></textarea>
-                    </div>
-                    <div class="d-flex justify-content-between">
-                        <input type="hidden"
-                               th:value="${topic.getId()}"
-                               name="parentId">
-                        <button type="submit"
-                                class="btn btn-success w-10 ms-2">
-                            Post
-                            Reply
-                        </button>
-                        <div class="d-flex justify-content-end reply-cancel">
-                            <button class="btn btn-danger btn-sm reply-cancel w-10 me-2"
-                                    th:attr="data-reply-id=${topic.getId()}">
-                                Cancel
-                            </button>
-                        </div>
-                    </div>
-                </form>
-            </div>
-        </div>
-    </div>
-
-    <!-- Edit and Delete Buttons for Topic -->
-    <div th:if="${session.user != null && session.user.getId() == topic.getUser().getId()}"
-         class="card-footer d-flex justify-content-between">
-        <div>
-            <button class="btn btn-warning btn-sm"
-                    data-bs-toggle="modal"
-                    data-bs-target="#editTopicModal">
-                Edit
-                Topic
-            </button>
-            <form th:action="@{/topics/{id}/delete (id=${topic.getId()})}"
-                  method="post"
-                  style="display:inline;">
-                <input type="hidden"
-                       name="id"
-                       th:value="${topic.getId()}"/>
-                <button type="submit"
-                        class="btn btn-danger btn-sm">
-                    Delete
-                    Topic
-                </button>
-                <input th:if="${session.user!=null}"
-                       type="hidden"
-                       name="username"
-                       th:value="${session.user.username}"/>
-            </form>
-        </div>
-    </div>
-    <!--    DO TUKA E TOPIC-->
-
-    <!-- Replies Section -->
-    <div th:replace="~{/fragments/discussion :: discussion(reply_cont=${replies},blacklisted=${blacklisted},ownerId=${topic.getUser().getId()})}"></div>
-
-    <!--    Report modal -->
-    <div class="modal fade"
-         id="reportModal"
-         tabindex="-1"
-         aria-labelledby="reportModal"
-         aria-hidden="true"
-    >
-        <div class="modal-dialog">
-            <div class="modal-content">
-                <form id="reporting-form"
-                      method="post"
-                      th:action="@{/topics/{id}/report(id=${topic.getId()})}">
-                    <div class="modal-header">
-                        <h5 class="modal-title">
-                            Report
-                            User</h5>
-                        <button type="button"
-                                class="btn-close"
-                                data-bs-dismiss="modal"></button>
-                    </div>
-                    <div class="modal-body">
-                        <input type="hidden"
-                               name="report-username"
-                               id="reportUsername">
-                        <label for="reason"
-                               class="form-label">Reason</label>
-                        <textarea
-                                id="reason"
-                                name="reason"
-                                class="form-control"
-                                rows="3"
-                                placeholder="Enter reason for reporting..."
-                                required></textarea>
-                    </div>
-                    <div class="modal-footer">
-                        <button type="button"
-                                class="btn btn-secondary"
-                                data-bs-dismiss="modal">
-                            Cancel
-                        </button>
-                        <button type="submit"
-                                class="btn btn-danger">
-                            Submit
-                            Report
-                        </button>
-                    </div>
-                </form>
-            </div>
-        </div>
-    </div>
-</main>
-
-<!-- Add Tag Modal -->
-<div class="modal fade"
-     id="addTagModal"
-     tabindex="-1"
-     aria-labelledby="show-guidelines"
-     aria-hidden="true">
-    <div class="modal-dialog">
-        <div class="modal-content">
-            <div class="modal-header">
-                <h5
-                        class="modal-title"
-                        id="addTagModalLabel">
-                    Add
-                    a
-                    Tag</h5>
-                <button type="button"
-                        class="btn-close"
-                        data-bs-dismiss="modal"
-                        aria-label="Close"></button>
-            </div>
-            <div class="modal-body">
-                <form th:action="@{/topics/{id}/tags/add (id=${topic.getId()})}"
-                      method="post"
-                      id="addTagForm">
-                    <div class="mb-3">
-                        <label class="form-label">Tag
-                            Name</label>
-                        <select id="existingTags"
-                                class="form-select mb-3"
-                                name="tagName">
-                            <option value=""
-                                    selected
-                                    disabled>
-                                Select
-                                an
-                                existing
-                                tag
-                            </option>
-                            <option th:each="tag : ${tags}"
-                                    th:value="${tag.getName()}"
-                                    th:text="${tag.getName()}">
-                                Example
-                                Tag
-                            </option>
-                            <option value="custom">
-                                Enter
-                                a
-                                custom
-                                tag...
-                            </option>
-                        </select>
-                        <input type="text"
-                               id="customTag"
-                               class="form-control d-none"
-                               placeholder="Enter custom tag name"/>
-                    </div>
-                    <button type="submit"
-                            class="btn btn-primary w-100">
-                        Add
-                        Tag
-                    </button>
-                    <input th:if="${session.user!=null}"
-                           type="hidden"
-                           name="username"
-                           th:value="${session.user.username}"/>
-                </form>
-            </div>
-        </div>
-    </div>
-</div>
-
-<!-- Edit Topic Modal -->
-<div class="modal fade"
-     id="editTopicModal"
-     tabindex="-1"
-     aria-labelledby="editTopicModalLabel"
-     aria-hidden="true">
-    <div class="modal-dialog">
-        <div class="modal-content">
-            <div class="modal-header">
-                <h5 class="modal-title"
-                    id="editTopicModalLabel">
-                    Edit
-                    Topic</h5>
-                <button type="button"
-                        class="btn-close"
-                        data-bs-dismiss="modal"
-                        aria-label="Close"></button>
-            </div>
-            <div class="modal-body">
-                <form th:action="@{/topics/{id}/edit (id=${topic.getId()})}"
-                      method="post">
-                    <div class="mb-3">
-                        <label for="topicTitle"
-                               class="form-label">Title</label>
-                        <input type="text"
-                               id="topicTitle"
-                               name="title"
-                               class="form-control"
-                               th:value="${topic.getTitle()}"
-                               required>
-                    </div>
-                    <div class="mb-3">
-                        <label for="topicContent"
-                               class="form-label">Content</label>
-                        <textarea
-                                id="topicContent"
-                                name="content"
-                                class="form-control"
-                                rows="5"
-                                th:text="${topic.getContent()}"
-                                required></textarea>
-                    </div>
-                    <button type="submit"
-                            class="btn btn-primary w-100">
-                        Save
-                        Changes
-                    </button>
-                    <input th:if="${session.user!=null}"
-                           type="hidden"
-                           name="username"
-                           th:value="${session.user.username}"/>
-                </form>
-            </div>
-        </div>
-    </div>
-</div>
-
-<!-- Show guidelines modal -->
-<div class="modal fade"
-     id="show-guidelines"
-     tabindex="-1"
-     aria-labelledby="addTagModalLabel"
-     aria-hidden="true">
-    <div class="modal-dialog modal-dialog-centered">
-        <div class="modal-content">
-
-            <div class="modal-header">
-                <h5 class="modal-title"
-                    id="show-guidelines-label">
-                    Guidelines</h5>
-                <button type="button"
-                        class="btn-close"
-                        data-bs-dismiss="modal"
-                        aria-label="Close"></button>
-            </div>
-
-            <div class="modal-body">
-                <p th:text="|The guidelines for ${topic.getTitle()}|"></p>
-                <ul th:each="guideline:${topic.getGuidelines()}">
-                    <li th:text="${guideline.getDescription()}"></li>
-                </ul>
-            </div>
-
-            <div class="modal-footer">
-                <button type="button"
-                        class="btn btn-secondary btn-sm"
-                        data-bs-dismiss="modal">
-                    Close
-                </button>
-            </div>
-
-        </div>
-    </div>
-</div>
-
-
-<script>
-
-    window.addEventListener("beforeunload", function () {
-        sessionStorage.setItem("scrollPosition", window.scrollY);
-    });
-
-    window.onload = function () {
-        const savedScrollPosition = sessionStorage.getItem("scrollPosition");
-
-        if (savedScrollPosition) {
-            window.scrollTo(0, savedScrollPosition);
-            sessionStorage.removeItem("scrollPosition");
-        }
-    };
-
-
-    document.addEventListener("DOMContentLoaded", function () {
-        const existingTags = document.getElementById("existingTags");
-        const customTagInput = document.getElementById("customTag");
-        existingTags.addEventListener("change", function () {
-            if (this.value === "custom") {
-                customTagInput.classList.remove("d-none");
-                customTagInput.required = true;
-                customTagInput.name = "tagName";
-                existingTags.name = "";
-            } else {
-                customTagInput.classList.add("d-none");
-                customTagInput.required = false;
-                customTagInput.name = "";
-                existingTags.name = "tagName";
-                customTagInput.value = "";
-            }
-        });
-    });
-
-    function editClasses(element, rmCls, addCls) {
-        if (rmCls !== '') {
-            element.classList.remove(rmCls);
-        }
-        if (addCls !== '')
-            element.classList.add(addCls);
-    }
-
-
-    document.querySelector("main").addEventListener("click", ev => {
-        const target = ev.target;
-        if (target.classList.contains("reply-button")) {
-            const id = target.dataset.replyId
-            const dialog = document.querySelector(`.reply-body[data-reply-id="${id}"]`)
-            editClasses(dialog, 'd-none', 'd-block')
-            editClasses(target, '', 'd-none')
-        } else if (target.classList.contains("reply-cancel")) {
-            const id = target.dataset.replyId
-            const dialog = document.querySelector(`.reply-body[data-reply-id="${id}"]`)
-            const replyBtn = document.querySelector(`.reply-button[data-reply-id="${id}"]`)
-            editClasses(dialog, 'd-block', 'd-none')
-            editClasses(replyBtn, 'd-none', 'd-block')
-        } else if (target.classList.contains("edit-reply-btn")) {
-            const id = target.dataset.replyId;
-            const editBox = document.querySelector(`.edit-reply[data-reply-id="${id}"]`)
-            const contentBox = document.querySelector(`.reply-content[data-reply-id="${id}"]`)
-            editClasses(editBox, 'd-none', 'd-block')
-            contentBox.classList.add("d-none")
-        } else if (target.classList.contains("close-edit-btn")) {
-            const id = target.dataset.replyId;
-            const editBox = document.querySelector(`.edit-reply[data-reply-id="${id}"]`)
-            const contentBox = document.querySelector(`.reply-content[data-reply-id="${id}"]`)
-            editClasses(editBox, 'd-block', 'd-none')
-            contentBox.classList.remove("d-none")
-        } else if (target.classList.contains("report-btn")) {
-            const userForReporting = target.dataset.username
-            const userForReportingInput = document.querySelector('#reportUsername')
-            userForReportingInput.value = userForReporting
-        }
-    })
-</script>
-
-<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
-</body>
-</html>
Index: c/main/resources/templates/show-user-reports.html
===================================================================
--- src/main/resources/templates/show-user-reports.html	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,104 +1,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-    <meta charset="UTF-8">
-    <title>Users Requests</title>
-    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
-</head>
-<body>
-<header>
-    <div th:replace="/home_pages/home :: navigation"></div>
-</header>
-<section class="d-flex mt-3 flex-column w-100 align-items-center mt-5">
-    <form method="get" th:action="@{/{username}/reports(username=${user.getUsername()})}"
-          class="d-flex flex-row gap-2 align-items-center"
-          style="width:fit-content">
-        <label for="status-query">Filter by status:</label>
-        <select id="status-query" name="status" class="form-select form-select-sm w-auto">
-            <option
-                    th:each="st:${status}"
-                    th:text="${st}"
-                    th:value="${st}"
-            ></option>
-            <option value="">All</option>
-        </select>
-        <button class="btn btn-primary">Search</button>
-    </form>
-</section>
-<main class="d-flex justify-content-center mt-5 align-items-center flex-column ">
-    <div class="card shadow-sm mb-4 w-75"
-         th:each="req:${requests}">
-        <div class="card-header  text-white d-flex justify-content-between align-items-center"
-             th:with="st=${req.getStatus()}"
-             th:classappend="${st.name() == 'PENDING' ? 'bg-warning' : (st.name() == 'DENIED' ? 'bg-danger' : 'bg-info')}"
-        >
-            <h3 th:text="${req.getCreator().getUsername()}">Creator of request</h3>
-            <h3 class="fs-6 ">
-                <span>Status:</span>
-                <span
-                        th:text="${#strings.capitalize(req.getStatus().name().toLowerCase())}"></span>
-            </h3>
-        </div>
-        <div class="d-flex flex-column gap-3 justify-content-between card-body">
-            <div>
-                <h4>Description</h4>
-                <p th:text="${req.getDescription()}">Description of the project goes here.</p>
-                <p th:text="|Submitted on: ${#temporals.format(req.getCreatedAt(), 'dd/MM/yyyy  HH:mm')}|"></p>
-            </div>
-        </div>
-        <div class="card-footer" th:if="${req.getFeedback() != null}">
-            <button type="button"
-                    class="btn-feedback-open btn btn-success">View feedback
-            </button>
-            <div
-                    th:with="feed=${req.getFeedback()}"
-                    class="feedback d-flex flex-column gap-2 invisible" style="height: 0">
-                <h5>Feedback</h5>
-                <p th:text="${feed==null ? '' : (feed.getDescription()!=null ? feed.getDescription() : '')}"></p>
-                <p>
-                    <span>Submitted at:</span>
-                    <span th:text="${feed != null ?  feed.getCreatedAt() : ''}"></span>
-                <div class="w-100 d-flex justify-content-end">
-                    <button type="button" class="btn-feedback-close btn-danger btn">Close</button>
-                </div>
-            </div>
-        </div>
-    </div>
-</main>
-<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
-<script src="/js/modal_utils.js"></script>
-<script>
-    document.querySelectorAll(".modal").forEach(modal => modalConts.push(modal))
-    const formModal = document.querySelector("#modal-form")
-    document.addEventListener("click", ev => {
-        console.log(ev.target.type)
-        if (ev.target == null || ev.target.type !== 'button') return;
-        if (ev.target.classList.contains("btn-feedback-open")) {
-            const btn = ev.target
-            const feedbackCont = btn.nextElementSibling
-
-            btn.classList.add('invisible')
-            btn.style.width = '0'
-            btn.style.height = '0'
-
-            feedbackCont.style.height = 'max-content';
-            feedbackCont.classList.remove('invisible')
-
-        } else if (ev.target.classList.contains("btn-feedback-close")) {
-            const closeBtn = ev.target
-            const feedbackCont = closeBtn.parentElement.parentElement
-            const btn = feedbackCont.previousElementSibling
-
-            console.log(feedbackCont)
-
-            btn.classList.remove('invisible')
-            btn.style.width = 'max-content'
-            btn.style.height = 'max-content'
-
-            feedbackCont.style.height = '0';
-            feedbackCont.classList.add('invisible')
-        }
-    })
-</script>
-</body>
-</html>
Index: c/test/java/com/db/finki/www/build_board/DemoApplicationTests.java
===================================================================
--- src/test/java/com/db/finki/www/build_board/DemoApplicationTests.java	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,13 +1,0 @@
-package com.db.finki.www.build_board;
-
-import org.junit.jupiter.api.Test;
-import org.springframework.boot.test.context.SpringBootTest;
-
-@SpringBootTest
-class DemoApplicationTests {
-
-	@Test
-	void contextLoads() {
-	}
-
-}
Index: nnel-skripta-linux/tunnel/tunnel_scripta.sh
===================================================================
--- tunnel-skripta-linux/tunnel/tunnel_scripta.sh	(revision 34f579826d1475c146faa6836b4ebb85f9647846)
+++ 	(revision )
@@ -1,15 +1,0 @@
-#!/bin/bash
-echo "PRED DA JA STARTUVATE SKRIPTATA TREBA VO NEA DA GI STAVITE"
-echo "VASHETO KORISNICHKO IME I LOZINKA ZA TUNELOT."
-echo "PO STARTUVANJETO, BAZATA KJE BIDE DOSTAPNA NA PORTA LOCALHOST:9999"
-echo "AKO SAKATE DA SLUSHA NA DRUGA PORTA, SMENETE JA SKRIPTATA SOODVETNO"
-echo "AKO SAKATE DA STOPIRATE (CTRL+C)"
-read -p "Press any key to continue ..."
-
-ssh -v -2 -C -N -L 9999:localhost:5432 t_buildboard@194.149.135.130
-
-echo "VRSKATA TREBA DA STOI OTVORENA SE DODEKA IMATE PRISTAP DO SERVEROT"
-echo "OVAA PORAKA KAZHUVA DEKA TUNELOT VEKJE SE ZATVORIL"
-echo "AKO TOA SE SLUCHILO SAMO OD SEBE, IMATE PROBLEM SO VOSPOSTAVUVANJE"
-echo "NA VRSKATA DO SERVEROT (BLOKADA) ILI VI SE POGRESHNI PARAMETRITE"
-read -p "Press any key to continue ..."
