1
0
mirror of https://github.com/vichan-devel/vichan.git synced 2024-11-23 23:20:57 +01:00

[timeline] Actually wait, it's even more complicated than that.

This commit is contained in:
Fredrick Brennan 2023-03-29 21:00:24 -04:00
parent fc00b08c80
commit db68297f58
4 changed files with 366 additions and 276 deletions

9
static/doc/Makefile Normal file
View File

@ -0,0 +1,9 @@
%.png: *.gv
dot -Tpng $< -v -o $@
%.svg: *.gv
dot -Tsvg $< -v -o $@
.PHONY: all
all:
make timeline.svg timeline.png

View File

@ -1,87 +1,86 @@
digraph {
graph [overlap=false];
subgraph main {
node [fontname="sans-serif",
shape=box,
style="rounded,filled"
];
tb [label=<Tinyboard<BR/><B><FONT POINT-SIZE="9">(@savetheinternet)</FONT></B><BR/>20102014>];
ponychan [label=<ponychan.net<BR/><B><FONT POINT-SIZE="9">(???)</FONT></B><BR/>20122015 (as MLPchan)<BR/>2015>];
tb -> ponychan;
fourchon [label=<proprietary 4chon.net fork<BR/><B><FONT POINT-SIZE="9">(@savetheinternet)</FONT></B><BR/>20102014>];
tb -> fourchon;
vichan [color=gold,
label=<vichan<BR/><B><FONT POINT-SIZE="9">(@czaks)</FONT></B><BR/>2012>];
tb -> vichan;
vichannet [label=<Production vichan.net software<BR/><B><FONT POINT-SIZE="9">(Polish-language imageboard)<BR/>(@czaks)</FONT></B><BR/>2012>];
tb -> vichannet;
fourchon -> tb;
vichan -> tb;
vichan -> vichannet;
leftypol [label=<leftypol.org<BR/><B>(@discomrade <I>et al.</I>)</B><BR/>≈2016>];
vichan -> leftypol;
inf [label=<infinity<BR/><B><FONT POINT-SIZE="9">(@copypaste /<BR/>★コピペ)</FONT></B><BR/>20132017>];
vichan -> inf;
infco [label=<Production 8chan.co fork<BR/><B><FONT POINT-SIZE="9">(@copypaste /<BR/>★コピペ)</FONT></B><BR/>20132016>];
vichan -> infco;
lc [label=<lainchan<BR/>2016>];
vichan -> lc;
npf [label=<NPFchan<BR/>20172019>];
vichan -> npf;
kuz [label=<KolymaNET<BR/>d/b/a soyjak.party<BR/>~2020>];
vichan -> kuz;
vichannet -> vichan:nw;
leftypol -> vichan [style=dashed];
inf -> tb [style=dotted];
inf -> vichan;
infpl [label=<Production 8ch.pl fork<BR/><B><FONT POINT-SIZE="9">(@czaks)</FONT></B><BR/>20142016>];
inf -> infpl;
oib [label=<OpenIB<BR/>~20172019>];
inf -> oib;
infco -> vichan [rank=min];
infco -> inf;
infpl -> vichan [style=dotted];
infpl -> inf;
e8ch [label=<Proprietary 8chan software<BR/>~20172019>];
oib -> e8ch;
e8kun [label=<Proprietary 8kun software<BR/>~2019>];
e8ch -> e8kun;
kuz -> vichan;
}
subgraph B {
subgraph title {
TITLE [fontname="sans-serif",
fontsize=16,
label=<<FONT POINT-SIZE="24"><FONT FACE="monospace">vichan</FONT>&nbsp;Timeline</FONT><BR/>…as of 20230329>,
shape=box,
width=10];
}
subgraph sig {
graph [rank=sink];
SIG [label=<<FONT FACE="serif">by kopipe</FONT>>,
labelloc=b,
shape=none];
}
tb;
vichan;
tb -> vichan [arrowhead=0,
penwidth=0,
weight=max];
infco;
vichan -> infco [arrowhead=0,
penwidth=0,
weight=max];
kuz;
infco -> kuz [arrowhead=0,
penwidth=0,
weight=max];
kuz -> SIG [arrowhead=0,
penwidth=0,
weight=max];
TITLE -> tb [arrowhead=0,
penwidth=0,
weight=max];
TITLE -> SIG [arrowhead=0,
penwidth=0];
}
graph [ranksep=1,
overlap=false];
fontname="sans-serif";
subgraph main {
node [fontname="sans-serif",
shape=box,
style="rounded,filled"
];
fourchon [label=<Proprietary 4chon.net fork<BR/><B><FONT POINT-SIZE="9">(@savetheinternet)</FONT></B><BR/>20102014>];
fourchon -> tb;
tb [label=<Tinyboard<BR/><B><FONT POINT-SIZE="9">(@savetheinternet)</FONT></B><BR/>20102014>];
tb -> fourchon;
ponychan [label=<Proprietary ponychan.net fork<BR/><B><FONT POINT-SIZE="9">(???)</FONT></B><BR/>20122015 (as MLPchan)<BR/>2015>];
tb -> ponychan;
wiz [label=<Proprietary Wizardchan fork<BR/><B><FONT POINT-SIZE="9">(@mrpacific)</FONT></B><BR/>20112012>];
tb -> wiz;
wizk [label=<Production Wizardchan fork<BR/><B><FONT POINT-SIZE="9">(@copypaste)</FONT></B><BR/>20122013>];
wiz -> wizk;
wizk -> tb;
wizk -> vichan;
vichan -> wizk;
wizana [label=<Proprietary Wizardchan fork №2<BR/><B><FONT POINT-SIZE="9">(@anachronos)</FONT></B><BR/>2013≈2016>];
wizk -> wizana;
wizchan [label=<Proprietary wizchan fork<BR/><B><FONT POINT-SIZE="9">(too many to count)</FONT></B><BR/>2016>];
wizana -> wizchan;
vichan [color=gold,
label=<vichan<BR/><B><FONT POINT-SIZE="9">(@czaks)</FONT></B><BR/>2012>];
tb -> vichan;
vichannet [label=<Production vichan.net software<BR/><B><FONT POINT-SIZE="9">(Polish-language imageboard)<BR/>(@czaks)</FONT></B><BR/>2012>];
tb -> vichannet;
vichan -> tb;
vichan -> vichannet;
leftypol [label=<leftypol.org<BR/><B><FONT POINT-SIZE="9">(@discomrade&nbsp;<I>et al.</I>)</FONT></B><BR/>≈2016>];
vichan -> leftypol;
inf [label=<infinity<BR/><B><FONT POINT-SIZE="9">(@copypaste /<BR/>★コピペ)</FONT></B><BR/>20132017>];
vichan -> inf;
infco [label=<Production 8chan.co fork<BR/><B><FONT POINT-SIZE="9">(@copypaste /<BR/>★コピペ)</FONT></B><BR/>20132016>];
vichan -> infco;
lc [label=<lainchan<BR/><B><FONT POINT-SIZE="9">(@appleman1234)</FONT></B><BR/>2016>];
vichan -> lc;
npf [label=<NPFchan<BR/><B><FONT POINT-SIZE="9">(@fallenPineapple)</FONT></B><BR/>20172019>];
vichan -> npf;
kuz [label=<Proprietary KolymaNET fork<BR/><B><FONT POINT-SIZE="9">(@kuz)</FONT></B><BR/>d/b/a soyjak.party<BR/>≈2020>];
vichan -> kuz;
vichannet -> vichan:nw;
leftypol -> vichan [style=dashed];
inf -> tb [style=dotted];
inf -> vichan;
infpl [label=<Production 8ch.pl fork<BR/><B><FONT POINT-SIZE="9">(@czaks)</FONT></B><BR/>20142016>];
inf -> infpl;
oib [label=<OpenIB<BR/><B><FONT POINT-SIZE="9">(@kormiku)</FONT></B><BR/>≈20172019>];
inf -> oib;
infco -> vichan [rank=min];
infco -> inf;
infpl -> vichan [style=dotted];
infpl -> inf;
e8ch [label=<Proprietary 8chan software<BR/><B><FONT POINT-SIZE="9">(@kormiku)</FONT></B><BR/>≈20172019>];
oib -> e8ch;
e8kun [label=<Proprietary 8kun software<BR/>≈2019≈2022&nbsp;<B><FONT POINT-SIZE="9">(@kormiku)</FONT></B><BR/>2022&nbsp;<B><FONT POINT-SIZE="9">(Jim Watkins)</FONT></B>>];
e8ch -> e8kun;
kuz -> vichan;
}
subgraph B {
subgraph title {
TITLE [fontname="sans-serif",
fontsize=16,
label=<<FONT POINT-SIZE="24"><FONT FACE="monospace">vichan</FONT>&nbsp;Timeline</FONT><BR/>…as of 20230329>,
shape=box,
width=10];
}
subgraph sig {
graph [rank=sink];
SIG [label=<<FONT FACE="serif">by ★コピペ</FONT>>,
labelloc=b,
shape=none];
}
{
TITLE -> fourchon -> tb -> vichan -> infco -> kuz -> SIG [arrowhead=0,
penwidth=0,
weight=max];
}
}
}
// vim: ts=2 sw=2 et

BIN
static/doc/timeline.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 KiB

View File

@ -4,329 +4,411 @@
<!-- Generated by graphviz version 7.1.0 (0)
-->
<!-- Pages: 1 -->
<svg width="1345pt" height="713pt"
viewBox="0.00 0.00 1344.50 713.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 709)">
<polygon fill="white" stroke="none" points="-4,4 -4,-709 1340.5,-709 1340.5,4 -4,4"/>
<!-- tb -->
<g id="node1" class="node">
<title>tb</title>
<path fill="lightgrey" stroke="black" d="M529,-621C529,-621 454,-621 454,-621 448,-621 442,-615 442,-609 442,-609 442,-588 442,-588 442,-582 448,-576 454,-576 454,-576 529,-576 529,-576 535,-576 541,-582 541,-588 541,-588 541,-609 541,-609 541,-615 535,-621 529,-621"/>
<text text-anchor="start" x="459.5" y="-606.8" font-family="sans-serif" font-size="14.00">Tinyboard</text>
<text text-anchor="start" x="450" y="-596.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@savetheinternet)</text>
<text text-anchor="start" x="454" y="-583.8" font-family="sans-serif" font-size="14.00">20102014</text>
</g>
<!-- ponychan -->
<g id="node2" class="node">
<title>ponychan</title>
<path fill="lightgrey" stroke="black" d="M165,-540C165,-540 12,-540 12,-540 6,-540 0,-534 0,-528 0,-528 0,-493 0,-493 0,-487 6,-481 12,-481 12,-481 165,-481 165,-481 171,-481 177,-487 177,-493 177,-493 177,-528 177,-528 177,-534 171,-540 165,-540"/>
<text text-anchor="start" x="45.5" y="-525.8" font-family="sans-serif" font-size="14.00">ponychan.net</text>
<text text-anchor="start" x="78.5" y="-515.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(???)</text>
<text text-anchor="start" x="8" y="-502.8" font-family="sans-serif" font-size="14.00">20122015 (as MLPchan)</text>
<text text-anchor="start" x="67.5" y="-488.8" font-family="sans-serif" font-size="14.00">2015</text>
</g>
<!-- tb&#45;&gt;ponychan -->
<g id="edge1" class="edge">
<title>tb&#45;&gt;ponychan</title>
<path fill="none" stroke="black" d="M441.53,-589.6C383.11,-580.04 283.34,-562.65 188.3,-540.34"/>
<polygon fill="black" stroke="black" points="189.35,-536.99 178.81,-538.09 187.73,-543.8 189.35,-536.99"/>
</g>
<svg width="1055pt" height="1259pt"
viewBox="0.00 0.00 1054.50 1259.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1255)">
<polygon fill="white" stroke="none" points="-4,4 -4,-1255 1050.5,-1255 1050.5,4 -4,4"/>
<!-- fourchon -->
<g id="node3" class="node">
<g id="node1" class="node">
<title>fourchon</title>
<path fill="lightgrey" stroke="black" d="M365.5,-533C365.5,-533 207.5,-533 207.5,-533 201.5,-533 195.5,-527 195.5,-521 195.5,-521 195.5,-500 195.5,-500 195.5,-494 201.5,-488 207.5,-488 207.5,-488 365.5,-488 365.5,-488 371.5,-488 377.5,-494 377.5,-500 377.5,-500 377.5,-521 377.5,-521 377.5,-527 371.5,-533 365.5,-533"/>
<text text-anchor="start" x="203.5" y="-518.8" font-family="sans-serif" font-size="14.00">proprietary 4chon.net fork</text>
<text text-anchor="start" x="245" y="-508.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@savetheinternet)</text>
<text text-anchor="start" x="249" y="-495.8" font-family="sans-serif" font-size="14.00">20102014</text>
<path fill="lightgrey" stroke="black" d="M564,-1131C564,-1131 406,-1131 406,-1131 400,-1131 394,-1125 394,-1119 394,-1119 394,-1098 394,-1098 394,-1092 400,-1086 406,-1086 406,-1086 564,-1086 564,-1086 570,-1086 576,-1092 576,-1098 576,-1098 576,-1119 576,-1119 576,-1125 570,-1131 564,-1131"/>
<text text-anchor="start" x="402" y="-1116.8" font-family="sans-serif" font-size="14.00">Proprietary 4chon.net fork</text>
<text text-anchor="start" x="443.5" y="-1106.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@savetheinternet)</text>
<text text-anchor="start" x="447.5" y="-1093.8" font-family="sans-serif" font-size="14.00">20102014</text>
</g>
<!-- tb -->
<g id="node2" class="node">
<title>tb</title>
<path fill="lightgrey" stroke="black" d="M522.5,-1014C522.5,-1014 447.5,-1014 447.5,-1014 441.5,-1014 435.5,-1008 435.5,-1002 435.5,-1002 435.5,-981 435.5,-981 435.5,-975 441.5,-969 447.5,-969 447.5,-969 522.5,-969 522.5,-969 528.5,-969 534.5,-975 534.5,-981 534.5,-981 534.5,-1002 534.5,-1002 534.5,-1008 528.5,-1014 522.5,-1014"/>
<text text-anchor="start" x="453" y="-999.8" font-family="sans-serif" font-size="14.00">Tinyboard</text>
<text text-anchor="start" x="443.5" y="-989.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@savetheinternet)</text>
<text text-anchor="start" x="447.5" y="-976.8" font-family="sans-serif" font-size="14.00">20102014</text>
</g>
<!-- fourchon&#45;&gt;tb -->
<g id="edge1" class="edge">
<title>fourchon&#45;&gt;tb</title>
<path fill="none" stroke="black" d="M474.13,-1085.6C471.22,-1068.65 470.73,-1044.91 472.64,-1025.64"/>
<polygon fill="black" stroke="black" points="476.1,-1026.19 473.94,-1015.82 469.16,-1025.27 476.1,-1026.19"/>
</g>
<!-- fourchon&#45;&gt;tb -->
<g id="edge35" class="edge">
<title>fourchon&#45;&gt;tb</title>
<path fill="none" stroke="black" stroke-width="0" d="M495.87,-1085.6C499.38,-1065.14 499.38,-1034.76 495.86,-1014.32"/>
</g>
<!-- tb&#45;&gt;fourchon -->
<g id="edge2" class="edge">
<title>tb&#45;&gt;fourchon</title>
<path fill="none" stroke="black" d="M441.6,-578.95C411.74,-566.92 373.78,-551.08 342.86,-537.77"/>
<polygon fill="black" stroke="black" points="344.62,-534.72 334.05,-533.97 341.84,-541.15 344.62,-534.72"/>
<path fill="none" stroke="black" d="M485,-1014.32C485,-1031.24 485,-1054.99 485,-1074.27"/>
<polygon fill="black" stroke="black" points="481.5,-1074.09 485,-1084.09 488.5,-1074.09 481.5,-1074.09"/>
</g>
<!-- ponychan -->
<g id="node3" class="node">
<title>ponychan</title>
<path fill="lightgrey" stroke="black" d="M196.5,-897C196.5,-897 17.5,-897 17.5,-897 11.5,-897 5.5,-891 5.5,-885 5.5,-885 5.5,-850 5.5,-850 5.5,-844 11.5,-838 17.5,-838 17.5,-838 196.5,-838 196.5,-838 202.5,-838 208.5,-844 208.5,-850 208.5,-850 208.5,-885 208.5,-885 208.5,-891 202.5,-897 196.5,-897"/>
<text text-anchor="start" x="13.5" y="-882.8" font-family="sans-serif" font-size="14.00">Proprietary ponychan.net fork</text>
<text text-anchor="start" x="97" y="-872.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(???)</text>
<text text-anchor="start" x="26.5" y="-859.8" font-family="sans-serif" font-size="14.00">20122015 (as MLPchan)</text>
<text text-anchor="start" x="86" y="-845.8" font-family="sans-serif" font-size="14.00">2015</text>
</g>
<!-- tb&#45;&gt;ponychan -->
<g id="edge3" class="edge">
<title>tb&#45;&gt;ponychan</title>
<path fill="none" stroke="black" d="M435.19,-974.43C377.49,-955.8 280.94,-924.64 207.46,-900.92"/>
<polygon fill="black" stroke="black" points="208.82,-897.69 198.23,-897.94 206.67,-904.35 208.82,-897.69"/>
</g>
<!-- wiz -->
<g id="node4" class="node">
<title>wiz</title>
<path fill="lightgrey" stroke="black" d="M214.5,-766C214.5,-766 45.5,-766 45.5,-766 39.5,-766 33.5,-760 33.5,-754 33.5,-754 33.5,-733 33.5,-733 33.5,-727 39.5,-721 45.5,-721 45.5,-721 214.5,-721 214.5,-721 220.5,-721 226.5,-727 226.5,-733 226.5,-733 226.5,-754 226.5,-754 226.5,-760 220.5,-766 214.5,-766"/>
<text text-anchor="start" x="41.5" y="-751.8" font-family="sans-serif" font-size="14.00">Proprietary Wizardchan fork</text>
<text text-anchor="start" x="102.5" y="-741.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@mrpacific)</text>
<text text-anchor="start" x="92.5" y="-728.8" font-family="sans-serif" font-size="14.00">20112012</text>
</g>
<!-- tb&#45;&gt;wiz -->
<g id="edge4" class="edge">
<title>tb&#45;&gt;wiz</title>
<path fill="none" stroke="black" d="M435.19,-978.03C386.97,-964.14 313.65,-938.1 261,-897 235.21,-876.87 237.95,-863.12 217,-838 198.53,-815.85 176.37,-792.07 159.03,-774.03"/>
<polygon fill="black" stroke="black" points="161.96,-772.02 152.49,-767.27 156.92,-776.89 161.96,-772.02"/>
</g>
<!-- vichan -->
<g id="node4" class="node">
<g id="node6" class="node">
<title>vichan</title>
<path fill="gold" stroke="gold" d="M821.5,-533C821.5,-533 787.5,-533 787.5,-533 781.5,-533 775.5,-527 775.5,-521 775.5,-521 775.5,-500 775.5,-500 775.5,-494 781.5,-488 787.5,-488 787.5,-488 821.5,-488 821.5,-488 827.5,-488 833.5,-494 833.5,-500 833.5,-500 833.5,-521 833.5,-521 833.5,-527 827.5,-533 821.5,-533"/>
<text text-anchor="start" x="783.5" y="-518.8" font-family="sans-serif" font-size="14.00">vichan</text>
<text text-anchor="start" x="785" y="-508.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@czaks)</text>
<text text-anchor="start" x="783.5" y="-495.8" font-family="sans-serif" font-size="14.00">2012</text>
<path fill="gold" stroke="gold" d="M578,-766C578,-766 544,-766 544,-766 538,-766 532,-760 532,-754 532,-754 532,-733 532,-733 532,-727 538,-721 544,-721 544,-721 578,-721 578,-721 584,-721 590,-727 590,-733 590,-733 590,-754 590,-754 590,-760 584,-766 578,-766"/>
<text text-anchor="start" x="540" y="-751.8" font-family="sans-serif" font-size="14.00">vichan</text>
<text text-anchor="start" x="541.5" y="-741.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@czaks)</text>
<text text-anchor="start" x="540" y="-728.8" font-family="sans-serif" font-size="14.00">2012</text>
</g>
<!-- tb&#45;&gt;vichan -->
<g id="edge3" class="edge">
<g id="edge11" class="edge">
<title>tb&#45;&gt;vichan</title>
<path fill="none" stroke="black" d="M541.28,-580.82C603.07,-562.72 706.49,-534.52 763.84,-520.31"/>
<polygon fill="black" stroke="black" points="764.65,-523.72 773.54,-517.94 762.99,-516.92 764.65,-523.72"/>
<path fill="none" stroke="black" d="M480.92,-968.58C485.81,-949.86 497.79,-922.07 506,-897 519.33,-856.3 530.24,-808.08 540.85,-776.93"/>
<polygon fill="black" stroke="black" points="544.08,-778.28 544.22,-767.69 537.5,-775.88 544.08,-778.28"/>
</g>
<!-- tb&#45;&gt;vichan -->
<g id="edge27" class="edge">
<g id="edge36" class="edge">
<title>tb&#45;&gt;vichan</title>
<path fill="none" stroke="black" stroke-width="0" d="M541.18,-586.43C607.29,-569.78 721.09,-538.5 775.1,-522.12"/>
<path fill="none" stroke="black" stroke-width="0" d="M509.68,-968.58C521.81,-949.86 533.79,-922.07 542,-897 556.97,-851.3 568.89,-796.13 568.94,-766.27"/>
</g>
<!-- vichannet -->
<g id="node5" class="node">
<g id="node9" class="node">
<title>vichannet</title>
<path fill="lightgrey" stroke="black" d="M585.5,-445C585.5,-445 397.5,-445 397.5,-445 391.5,-445 385.5,-439 385.5,-433 385.5,-433 385.5,-403 385.5,-403 385.5,-397 391.5,-391 397.5,-391 397.5,-391 585.5,-391 585.5,-391 591.5,-391 597.5,-397 597.5,-403 597.5,-403 597.5,-433 597.5,-433 597.5,-439 591.5,-445 585.5,-445"/>
<text text-anchor="start" x="393.5" y="-430.8" font-family="sans-serif" font-size="14.00">Production vichan.net software</text>
<text text-anchor="start" x="426.5" y="-420.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(Polish&#45;language imageboard)</text>
<text text-anchor="start" x="472" y="-411.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@czaks)</text>
<text text-anchor="start" x="470.5" y="-398.8" font-family="sans-serif" font-size="14.00">2012</text>
<path fill="lightgrey" stroke="black" d="M503,-894.5C503,-894.5 315,-894.5 315,-894.5 309,-894.5 303,-888.5 303,-882.5 303,-882.5 303,-852.5 303,-852.5 303,-846.5 309,-840.5 315,-840.5 315,-840.5 503,-840.5 503,-840.5 509,-840.5 515,-846.5 515,-852.5 515,-852.5 515,-882.5 515,-882.5 515,-888.5 509,-894.5 503,-894.5"/>
<text text-anchor="start" x="311" y="-880.3" font-family="sans-serif" font-size="14.00">Production vichan.net software</text>
<text text-anchor="start" x="344" y="-870.3" font-family="sans-serif" font-weight="bold" font-size="9.00">(Polish&#45;language imageboard)</text>
<text text-anchor="start" x="389.5" y="-861.3" font-family="sans-serif" font-weight="bold" font-size="9.00">(@czaks)</text>
<text text-anchor="start" x="388" y="-848.3" font-family="sans-serif" font-size="14.00">2012</text>
</g>
<!-- tb&#45;&gt;vichannet -->
<g id="edge4" class="edge">
<g id="edge12" class="edge">
<title>tb&#45;&gt;vichannet</title>
<path fill="none" stroke="black" d="M491.5,-575.61C491.5,-545.96 491.5,-492.59 491.5,-456.48"/>
<polygon fill="black" stroke="black" points="495,-456.94 491.5,-446.94 488,-456.94 495,-456.94"/>
<path fill="none" stroke="black" d="M471.41,-968.69C460.28,-950.82 444.3,-925.17 431.3,-904.3"/>
<polygon fill="black" stroke="black" points="434.44,-902.71 426.18,-896.08 428.5,-906.41 434.44,-902.71"/>
</g>
<!-- fourchon&#45;&gt;tb -->
<!-- wizk -->
<g id="node5" class="node">
<title>wizk</title>
<path fill="lightgrey" stroke="black" d="M192.5,-644.5C192.5,-644.5 25.5,-644.5 25.5,-644.5 19.5,-644.5 13.5,-638.5 13.5,-632.5 13.5,-632.5 13.5,-611.5 13.5,-611.5 13.5,-605.5 19.5,-599.5 25.5,-599.5 25.5,-599.5 192.5,-599.5 192.5,-599.5 198.5,-599.5 204.5,-605.5 204.5,-611.5 204.5,-611.5 204.5,-632.5 204.5,-632.5 204.5,-638.5 198.5,-644.5 192.5,-644.5"/>
<text text-anchor="start" x="21.5" y="-630.3" font-family="sans-serif" font-size="14.00">Production Wizardchan fork</text>
<text text-anchor="start" x="80" y="-620.3" font-family="sans-serif" font-weight="bold" font-size="9.00">(@copypaste)</text>
<text text-anchor="start" x="71.5" y="-607.3" font-family="sans-serif" font-size="14.00">20122013</text>
</g>
<!-- wiz&#45;&gt;wizk -->
<g id="edge5" class="edge">
<title>fourchon&#45;&gt;tb</title>
<path fill="none" stroke="black" d="M344.63,-533.38C372.89,-544.85 406.68,-558.98 434.75,-571.06"/>
<polygon fill="black" stroke="black" points="433.25,-574.22 443.82,-574.98 436.03,-567.8 433.25,-574.22"/>
<title>wiz&#45;&gt;wizk</title>
<path fill="none" stroke="black" d="M126.15,-720.58C122.97,-702.47 118.4,-676.49 114.78,-655.89"/>
<polygon fill="black" stroke="black" points="118.27,-655.51 113.09,-646.27 111.37,-656.72 118.27,-655.51"/>
</g>
<!-- wizk&#45;&gt;tb -->
<g id="edge6" class="edge">
<title>wizk&#45;&gt;tb</title>
<path fill="none" stroke="black" d="M148.17,-644.89C175.97,-662.25 212.24,-688.89 235,-721 282.71,-788.31 239.63,-834.95 294,-897 328.17,-936 382.34,-960.35 424.27,-974.39"/>
<polygon fill="black" stroke="black" points="423.17,-977.71 433.76,-977.44 425.31,-971.04 423.17,-977.71"/>
</g>
<!-- wizk&#45;&gt;vichan -->
<g id="edge7" class="edge">
<title>wizk&#45;&gt;vichan</title>
<path fill="none" stroke="black" d="M197.39,-644.95C295.12,-670.22 448.2,-710.79 520.6,-730.7"/>
<polygon fill="black" stroke="black" points="519.47,-734.02 530.04,-733.31 521.34,-727.27 519.47,-734.02"/>
</g>
<!-- wizana -->
<g id="node7" class="node">
<title>wizana</title>
<path fill="lightgrey" stroke="black" d="M206,-516C206,-516 12,-516 12,-516 6,-516 0,-510 0,-504 0,-504 0,-483 0,-483 0,-477 6,-471 12,-471 12,-471 206,-471 206,-471 212,-471 218,-477 218,-483 218,-483 218,-504 218,-504 218,-510 212,-516 206,-516"/>
<text text-anchor="start" x="8" y="-501.8" font-family="sans-serif" font-size="14.00">Proprietary Wizardchan fork №2</text>
<text text-anchor="start" x="77" y="-491.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@anachronos)</text>
<text text-anchor="start" x="67.5" y="-478.8" font-family="sans-serif" font-size="14.00">2013≈2016</text>
</g>
<!-- wizk&#45;&gt;wizana -->
<g id="edge9" class="edge">
<title>wizk&#45;&gt;wizana</title>
<path fill="none" stroke="black" d="M109,-599.25C109,-579.61 109,-550.41 109,-527.83"/>
<polygon fill="black" stroke="black" points="112.5,-527.9 109,-517.9 105.5,-527.9 112.5,-527.9"/>
</g>
<!-- vichan&#45;&gt;tb -->
<g id="edge6" class="edge">
<g id="edge13" class="edge">
<title>vichan&#45;&gt;tb</title>
<path fill="none" stroke="black" d="M775.41,-519.49C724.77,-533.41 619.44,-562.35 552.29,-580.8"/>
<polygon fill="black" stroke="black" points="551.62,-577.35 542.9,-583.38 553.47,-584.1 551.62,-577.35"/>
<path fill="none" stroke="black" d="M556.84,-766.27C550.89,-796.13 538.97,-851.3 524,-897 517.2,-917.76 507.81,-940.39 499.96,-958.18"/>
<polygon fill="black" stroke="black" points="496.81,-956.64 495.92,-967.2 503.2,-959.5 496.81,-956.64"/>
</g>
<!-- vichan&#45;&gt;wizk -->
<g id="edge8" class="edge">
<title>vichan&#45;&gt;wizk</title>
<path fill="none" stroke="black" d="M531.72,-735.65C465.16,-718.99 300.79,-675.74 197.7,-647.93"/>
<polygon fill="black" stroke="black" points="198.71,-644.58 188.14,-645.35 196.88,-651.34 198.71,-644.58"/>
</g>
<!-- vichan&#45;&gt;vichannet -->
<g id="edge7" class="edge">
<g id="edge14" class="edge">
<title>vichan&#45;&gt;vichannet</title>
<path fill="none" stroke="black" d="M775.05,-500.99C733.91,-489.09 657.15,-466.9 593.87,-448.6"/>
<polygon fill="black" stroke="black" points="595.06,-445.3 584.48,-445.88 593.12,-452.02 595.06,-445.3"/>
<path fill="none" stroke="black" d="M533.67,-766.44C510.56,-784.98 477.1,-811.84 450.65,-833.07"/>
<polygon fill="black" stroke="black" points="448.77,-830.09 443.16,-839.08 453.15,-835.55 448.77,-830.09"/>
</g>
<!-- leftypol -->
<g id="node6" class="node">
<g id="node10" class="node">
<title>leftypol</title>
<path fill="lightgrey" stroke="black" d="M755.5,-443C755.5,-443 627.5,-443 627.5,-443 621.5,-443 615.5,-437 615.5,-431 615.5,-431 615.5,-405 615.5,-405 615.5,-399 621.5,-393 627.5,-393 627.5,-393 755.5,-393 755.5,-393 761.5,-393 767.5,-399 767.5,-405 767.5,-405 767.5,-431 767.5,-431 767.5,-437 761.5,-443 755.5,-443"/>
<text text-anchor="start" x="656" y="-428.8" font-family="sans-serif" font-size="14.00">leftypol.org</text>
<text text-anchor="start" x="623.5" y="-414.8" font-family="sans-serif" font-weight="bold" font-size="14.00">(@discomrade </text>
<text text-anchor="start" x="720.5" y="-414.8" font-family="sans-serif" font-weight="bold" font-style="italic" font-size="14.00">et al.</text>
<text text-anchor="start" x="754.5" y="-414.8" font-family="sans-serif" font-weight="bold" font-size="14.00">)</text>
<text text-anchor="start" x="666.5" y="-400.8" font-family="sans-serif" font-size="14.00">≈2016</text>
<path fill="lightgrey" stroke="black" d="M602,-644.5C602,-644.5 520,-644.5 520,-644.5 514,-644.5 508,-638.5 508,-632.5 508,-632.5 508,-611.5 508,-611.5 508,-605.5 514,-599.5 520,-599.5 520,-599.5 602,-599.5 602,-599.5 608,-599.5 614,-605.5 614,-611.5 614,-611.5 614,-632.5 614,-632.5 614,-638.5 608,-644.5 602,-644.5"/>
<text text-anchor="start" x="525.5" y="-630.3" font-family="sans-serif" font-size="14.00">leftypol.org</text>
<text text-anchor="start" x="516" y="-620.3" font-family="sans-serif" font-weight="bold" font-size="9.00">(@discomrade </text>
<text text-anchor="start" x="580" y="-620.3" font-family="sans-serif" font-weight="bold" font-style="italic" font-size="9.00">et al.</text>
<text text-anchor="start" x="602" y="-620.3" font-family="sans-serif" font-weight="bold" font-size="9.00">)</text>
<text text-anchor="start" x="536" y="-607.3" font-family="sans-serif" font-size="14.00">≈2016</text>
</g>
<!-- vichan&#45;&gt;leftypol -->
<g id="edge8" class="edge">
<g id="edge15" class="edge">
<title>vichan&#45;&gt;leftypol</title>
<path fill="none" stroke="black" d="M775.2,-490.53C759.65,-478.98 740.59,-463.94 724.53,-450.64"/>
<polygon fill="black" stroke="black" points="727.04,-448.17 717.13,-444.43 722.54,-453.54 727.04,-448.17"/>
<path fill="none" stroke="black" d="M555.64,-720.58C554.09,-702.56 553.84,-676.73 554.88,-656.17"/>
<polygon fill="black" stroke="black" points="558.37,-656.5 555.55,-646.29 551.38,-656.03 558.37,-656.5"/>
</g>
<!-- inf -->
<g id="node7" class="node">
<g id="node11" class="node">
<title>inf</title>
<path fill="lightgrey" stroke="black" d="M838,-355C838,-355 771,-355 771,-355 765,-355 759,-349 759,-343 759,-343 759,-313 759,-313 759,-307 765,-301 771,-301 771,-301 838,-301 838,-301 844,-301 850,-307 850,-313 850,-313 850,-343 850,-343 850,-349 844,-355 838,-355"/>
<text text-anchor="start" x="782" y="-340.8" font-family="sans-serif" font-size="14.00">infinity</text>
<text text-anchor="start" x="773.5" y="-330.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@copypaste /</text>
<text text-anchor="start" x="785" y="-321.8" font-family="sans-serif" font-weight="bold" font-size="9.00">★コピペ)</text>
<text text-anchor="start" x="767" y="-308.8" font-family="sans-serif" font-size="14.00">20132017</text>
<path fill="lightgrey" stroke="black" d="M914.5,-520.5C914.5,-520.5 847.5,-520.5 847.5,-520.5 841.5,-520.5 835.5,-514.5 835.5,-508.5 835.5,-508.5 835.5,-478.5 835.5,-478.5 835.5,-472.5 841.5,-466.5 847.5,-466.5 847.5,-466.5 914.5,-466.5 914.5,-466.5 920.5,-466.5 926.5,-472.5 926.5,-478.5 926.5,-478.5 926.5,-508.5 926.5,-508.5 926.5,-514.5 920.5,-520.5 914.5,-520.5"/>
<text text-anchor="start" x="858.5" y="-506.3" font-family="sans-serif" font-size="14.00">infinity</text>
<text text-anchor="start" x="850" y="-496.3" font-family="sans-serif" font-weight="bold" font-size="9.00">(@copypaste /</text>
<text text-anchor="start" x="861.5" y="-487.3" font-family="sans-serif" font-weight="bold" font-size="9.00">★コピペ)</text>
<text text-anchor="start" x="843.5" y="-474.3" font-family="sans-serif" font-size="14.00">20132017</text>
</g>
<!-- vichan&#45;&gt;inf -->
<g id="edge9" class="edge">
<g id="edge16" class="edge">
<title>vichan&#45;&gt;inf</title>
<path fill="none" stroke="black" d="M799.92,-487.73C797.42,-457.69 797.08,-403.11 798.9,-366.45"/>
<polygon fill="black" stroke="black" points="802.38,-366.93 799.48,-356.74 795.39,-366.52 802.38,-366.93"/>
<path fill="none" stroke="black" d="M590.14,-742.24C648.09,-739.78 777.13,-725.23 844,-649 871.98,-617.1 876.29,-566.88 877.39,-532.41"/>
<polygon fill="black" stroke="black" points="880.89,-532.52 877.64,-522.44 873.89,-532.35 880.89,-532.52"/>
</g>
<!-- infco -->
<g id="node8" class="node">
<g id="node12" class="node">
<title>infco</title>
<path fill="lightgrey" stroke="black" d="M1003,-445C1003,-445 854,-445 854,-445 848,-445 842,-439 842,-433 842,-433 842,-403 842,-403 842,-397 848,-391 854,-391 854,-391 1003,-391 1003,-391 1009,-391 1015,-397 1015,-403 1015,-403 1015,-433 1015,-433 1015,-439 1009,-445 1003,-445"/>
<text text-anchor="start" x="850" y="-430.8" font-family="sans-serif" font-size="14.00">Production 8chan.co fork</text>
<text text-anchor="start" x="897.5" y="-420.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@copypaste /</text>
<text text-anchor="start" x="909" y="-411.8" font-family="sans-serif" font-weight="bold" font-size="9.00">★コピペ)</text>
<text text-anchor="start" x="891" y="-398.8" font-family="sans-serif" font-size="14.00">20132016</text>
<path fill="lightgrey" stroke="black" d="M831.5,-649C831.5,-649 682.5,-649 682.5,-649 676.5,-649 670.5,-643 670.5,-637 670.5,-637 670.5,-607 670.5,-607 670.5,-601 676.5,-595 682.5,-595 682.5,-595 831.5,-595 831.5,-595 837.5,-595 843.5,-601 843.5,-607 843.5,-607 843.5,-637 843.5,-637 843.5,-643 837.5,-649 831.5,-649"/>
<text text-anchor="start" x="678.5" y="-634.8" font-family="sans-serif" font-size="14.00">Production 8chan.co fork</text>
<text text-anchor="start" x="726" y="-624.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@copypaste /</text>
<text text-anchor="start" x="737.5" y="-615.8" font-family="sans-serif" font-weight="bold" font-size="9.00">★コピペ)</text>
<text text-anchor="start" x="719.5" y="-602.8" font-family="sans-serif" font-size="14.00">20132016</text>
</g>
<!-- vichan&#45;&gt;infco -->
<g id="edge10" class="edge">
<g id="edge17" class="edge">
<title>vichan&#45;&gt;infco</title>
<path fill="none" stroke="black" d="M822.76,-487.59C835.87,-476.72 853.74,-463.38 871.16,-451.36"/>
<polygon fill="black" stroke="black" points="872.65,-454.58 878.95,-446.06 868.72,-448.79 872.65,-454.58"/>
<path fill="none" stroke="black" d="M586.22,-720.58C613.29,-702.15 656.45,-675.56 692.77,-654.79"/>
<polygon fill="black" stroke="black" points="694.04,-658.09 701.02,-650.11 690.59,-652 694.04,-658.09"/>
</g>
<!-- vichan&#45;&gt;infco -->
<g id="edge28" class="edge">
<g id="edge37" class="edge">
<title>vichan&#45;&gt;infco</title>
<path fill="none" stroke="black" stroke-width="0" d="M834,-495.36C855.79,-482.04 884.36,-461.74 904.7,-445.42"/>
<path fill="none" stroke="black" stroke-width="0" d="M590.28,-729.94C626.76,-710.94 687.49,-674.47 725.04,-649.45"/>
</g>
<!-- lc -->
<g id="node9" class="node">
<g id="node13" class="node">
<title>lc</title>
<path fill="lightgrey" stroke="black" d="M1187,-437C1187,-437 1140,-437 1140,-437 1134,-437 1128,-431 1128,-425 1128,-425 1128,-411 1128,-411 1128,-405 1134,-399 1140,-399 1140,-399 1187,-399 1187,-399 1193,-399 1199,-405 1199,-411 1199,-411 1199,-425 1199,-425 1199,-431 1193,-437 1187,-437"/>
<text text-anchor="start" x="1136" y="-421.8" font-family="sans-serif" font-size="14.00">lainchan</text>
<text text-anchor="start" x="1142.5" y="-406.8" font-family="sans-serif" font-size="14.00">2016</text>
<path fill="lightgrey" stroke="black" d="M305.5,-644.5C305.5,-644.5 234.5,-644.5 234.5,-644.5 228.5,-644.5 222.5,-638.5 222.5,-632.5 222.5,-632.5 222.5,-611.5 222.5,-611.5 222.5,-605.5 228.5,-599.5 234.5,-599.5 234.5,-599.5 305.5,-599.5 305.5,-599.5 311.5,-599.5 317.5,-605.5 317.5,-611.5 317.5,-611.5 317.5,-632.5 317.5,-632.5 317.5,-638.5 311.5,-644.5 305.5,-644.5"/>
<text text-anchor="start" x="242.5" y="-630.3" font-family="sans-serif" font-size="14.00">lainchan</text>
<text text-anchor="start" x="230.5" y="-620.3" font-family="sans-serif" font-weight="bold" font-size="9.00">(@appleman1234)</text>
<text text-anchor="start" x="249" y="-607.3" font-family="sans-serif" font-size="14.00">2016</text>
</g>
<!-- vichan&#45;&gt;lc -->
<g id="edge11" class="edge">
<g id="edge18" class="edge">
<title>vichan&#45;&gt;lc</title>
<path fill="none" stroke="black" d="M833.76,-506.11C889.49,-499.05 1014.14,-480.44 1113.5,-445 1115.99,-444.11 1118.51,-443.12 1121.02,-442.06"/>
<polygon fill="black" stroke="black" points="1122.24,-445.35 1129.89,-438.02 1119.34,-438.99 1122.24,-445.35"/>
<path fill="none" stroke="black" d="M531.63,-731.28C488.94,-714.87 407.08,-682.97 327.68,-649.22"/>
<polygon fill="black" stroke="black" points="329.47,-646.18 318.9,-645.47 326.73,-652.61 329.47,-646.18"/>
</g>
<!-- npf -->
<g id="node10" class="node">
<g id="node14" class="node">
<title>npf</title>
<path fill="lightgrey" stroke="black" d="M1296,-437C1296,-437 1229,-437 1229,-437 1223,-437 1217,-431 1217,-425 1217,-425 1217,-411 1217,-411 1217,-405 1223,-399 1229,-399 1229,-399 1296,-399 1296,-399 1302,-399 1308,-405 1308,-411 1308,-411 1308,-425 1308,-425 1308,-431 1302,-437 1296,-437"/>
<text text-anchor="start" x="1234" y="-421.8" font-family="sans-serif" font-size="14.00">NPFchan</text>
<text text-anchor="start" x="1225" y="-406.8" font-family="sans-serif" font-size="14.00">20172019</text>
<path fill="lightgrey" stroke="black" d="M422,-644.5C422,-644.5 348,-644.5 348,-644.5 342,-644.5 336,-638.5 336,-632.5 336,-632.5 336,-611.5 336,-611.5 336,-605.5 342,-599.5 348,-599.5 348,-599.5 422,-599.5 422,-599.5 428,-599.5 434,-605.5 434,-611.5 434,-611.5 434,-632.5 434,-632.5 434,-638.5 428,-644.5 422,-644.5"/>
<text text-anchor="start" x="356.5" y="-630.3" font-family="sans-serif" font-size="14.00">NPFchan</text>
<text text-anchor="start" x="344" y="-620.3" font-family="sans-serif" font-weight="bold" font-size="9.00">(@fallenPineapple)</text>
<text text-anchor="start" x="347.5" y="-607.3" font-family="sans-serif" font-size="14.00">20172019</text>
</g>
<!-- vichan&#45;&gt;npf -->
<g id="edge12" class="edge">
<g id="edge19" class="edge">
<title>vichan&#45;&gt;npf</title>
<path fill="none" stroke="black" d="M833.82,-507.74C901.33,-503.06 1072.43,-487.62 1208.5,-445 1211.42,-444.08 1214.39,-443.03 1217.35,-441.89"/>
<polygon fill="black" stroke="black" points="1218.69,-445.13 1226.56,-438.03 1215.98,-438.67 1218.69,-445.13"/>
<path fill="none" stroke="black" d="M531.54,-722.5C502.77,-702.97 458.73,-673.06 426.44,-651.13"/>
<polygon fill="black" stroke="black" points="428.73,-648.46 418.49,-645.74 424.8,-654.25 428.73,-648.46"/>
</g>
<!-- kuz -->
<g id="node11" class="node">
<g id="node15" class="node">
<title>kuz</title>
<path fill="lightgrey" stroke="black" d="M1191,-354.5C1191,-354.5 1084,-354.5 1084,-354.5 1078,-354.5 1072,-348.5 1072,-342.5 1072,-342.5 1072,-313.5 1072,-313.5 1072,-307.5 1078,-301.5 1084,-301.5 1084,-301.5 1191,-301.5 1191,-301.5 1197,-301.5 1203,-307.5 1203,-313.5 1203,-313.5 1203,-342.5 1203,-342.5 1203,-348.5 1197,-354.5 1191,-354.5"/>
<text text-anchor="start" x="1101" y="-339.3" font-family="sans-serif" font-size="14.00">KolymaNET</text>
<text text-anchor="start" x="1080" y="-324.3" font-family="sans-serif" font-size="14.00">d/b/a soyjak.party</text>
<text text-anchor="start" x="1112.5" y="-309.3" font-family="sans-serif" font-size="14.00">~2020</text>
<path fill="lightgrey" stroke="black" d="M554,-523C554,-523 388,-523 388,-523 382,-523 376,-517 376,-511 376,-511 376,-476 376,-476 376,-470 382,-464 388,-464 388,-464 554,-464 554,-464 560,-464 566,-470 566,-476 566,-476 566,-511 566,-511 566,-517 560,-523 554,-523"/>
<text text-anchor="start" x="384" y="-508.8" font-family="sans-serif" font-size="14.00">Proprietary KolymaNET fork</text>
<text text-anchor="start" x="456" y="-498.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@kuz)</text>
<text text-anchor="start" x="413.5" y="-485.8" font-family="sans-serif" font-size="14.00">d/b/a soyjak.party</text>
<text text-anchor="start" x="446" y="-471.8" font-family="sans-serif" font-size="14.00">≈2020</text>
</g>
<!-- vichan&#45;&gt;kuz -->
<g id="edge13" class="edge">
<g id="edge20" class="edge">
<title>vichan&#45;&gt;kuz</title>
<path fill="none" stroke="black" d="M833.77,-508.21C882.58,-504.72 981.17,-491.89 1048.5,-445 1077.39,-424.88 1099.08,-390.73 1114.13,-364.68"/>
<polygon fill="black" stroke="black" points="1117.11,-366.52 1119.03,-356.1 1111.03,-363.05 1117.11,-366.52"/>
<path fill="none" stroke="black" d="M535.37,-720.53C519.54,-702.45 500.68,-675.56 490,-649 475.05,-611.83 468.04,-566.43 466.48,-534.49"/>
<polygon fill="black" stroke="black" points="469.99,-534.77 466.19,-524.88 462.99,-534.98 469.99,-534.77"/>
</g>
<!-- wizchan -->
<g id="node8" class="node">
<title>wizchan</title>
<path fill="lightgrey" stroke="black" d="M181.5,-392C181.5,-392 36.5,-392 36.5,-392 30.5,-392 24.5,-386 24.5,-380 24.5,-380 24.5,-359 24.5,-359 24.5,-353 30.5,-347 36.5,-347 36.5,-347 181.5,-347 181.5,-347 187.5,-347 193.5,-353 193.5,-359 193.5,-359 193.5,-380 193.5,-380 193.5,-386 187.5,-392 181.5,-392"/>
<text text-anchor="start" x="32.5" y="-377.8" font-family="sans-serif" font-size="14.00">Proprietary wizchan fork</text>
<text text-anchor="start" x="67" y="-367.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(too many to count)</text>
<text text-anchor="start" x="88" y="-354.8" font-family="sans-serif" font-size="14.00">2016</text>
</g>
<!-- wizana&#45;&gt;wizchan -->
<g id="edge10" class="edge">
<title>wizana&#45;&gt;wizchan</title>
<path fill="none" stroke="black" d="M109,-470.69C109,-452.04 109,-424.91 109,-403.59"/>
<polygon fill="black" stroke="black" points="112.5,-403.64 109,-393.64 105.5,-403.64 112.5,-403.64"/>
</g>
<!-- vichannet&#45;&gt;vichan -->
<g id="edge14" class="edge">
<g id="edge21" class="edge">
<title>vichannet&#45;&gt;vichan:nw</title>
<path fill="none" stroke="black" d="M531.54,-445.38C595.84,-486.25 719.57,-558.43 765.92,-540.59"/>
<polygon fill="black" stroke="black" points="767.66,-543.63 774.22,-535.31 763.91,-537.72 767.66,-543.63"/>
<path fill="none" stroke="black" d="M445.06,-840.11C467.99,-822.68 498.1,-798.59 523.82,-774"/>
<polygon fill="black" stroke="black" points="526.21,-776.55 530.92,-767.06 521.32,-771.54 526.21,-776.55"/>
</g>
<!-- leftypol&#45;&gt;vichan -->
<g id="edge15" class="edge">
<g id="edge22" class="edge">
<title>leftypol&#45;&gt;vichan</title>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M727.84,-443.25C742.92,-454.68 760.16,-468.4 774.51,-480.39"/>
<polygon fill="black" stroke="black" points="771.97,-482.83 781.87,-486.62 776.49,-477.49 771.97,-482.83"/>
<path fill="none" stroke="black" stroke-dasharray="5,2" d="M566.35,-644.78C567.91,-662.76 568.16,-688.58 567.13,-709.17"/>
<polygon fill="black" stroke="black" points="563.64,-708.86 566.46,-719.07 570.62,-709.33 563.64,-708.86"/>
</g>
<!-- inf&#45;&gt;tb -->
<g id="edge16" class="edge">
<g id="edge23" class="edge">
<title>inf&#45;&gt;tb</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M758.7,-328.45C658.64,-328.34 425.58,-334.3 376.5,-391 360.79,-409.15 368.88,-422.24 376.5,-445 392.79,-493.65 431.4,-539.2 459.39,-567.63"/>
<polygon fill="black" stroke="black" points="456.71,-569.89 466.27,-574.46 461.65,-564.93 456.71,-569.89"/>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M889.26,-520.79C897.75,-552.72 907.25,-607.46 888,-649 815.9,-804.59 634.12,-915.09 541.35,-963.35"/>
<polygon fill="black" stroke="black" points="539.94,-960.14 532.65,-967.82 543.14,-966.36 539.94,-960.14"/>
</g>
<!-- inf&#45;&gt;vichan -->
<g id="edge17" class="edge">
<g id="edge24" class="edge">
<title>inf&#45;&gt;vichan</title>
<path fill="none" stroke="black" d="M809.43,-355.23C811.7,-387.23 811.85,-441.37 809.87,-476.26"/>
<polygon fill="black" stroke="black" points="806.38,-476 809.19,-486.22 813.36,-476.48 806.38,-476"/>
<path fill="none" stroke="black" d="M890.02,-520.92C894.97,-554.78 893.28,-613.34 862,-649 795.41,-724.91 667.18,-739.66 601.56,-742.21"/>
<polygon fill="black" stroke="black" points="601.46,-738.71 591.57,-742.51 601.68,-745.71 601.46,-738.71"/>
</g>
<!-- infpl -->
<g id="node12" class="node">
<g id="node16" class="node">
<title>infpl</title>
<path fill="lightgrey" stroke="black" d="M943,-265C943,-265 812,-265 812,-265 806,-265 800,-259 800,-253 800,-253 800,-232 800,-232 800,-226 806,-220 812,-220 812,-220 943,-220 943,-220 949,-220 955,-226 955,-232 955,-232 955,-253 955,-253 955,-259 949,-265 943,-265"/>
<text text-anchor="start" x="808" y="-250.8" font-family="sans-serif" font-size="14.00">Production 8ch.pl fork</text>
<text text-anchor="start" x="858" y="-240.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@czaks)</text>
<text text-anchor="start" x="840" y="-227.8" font-family="sans-serif" font-size="14.00">20142016</text>
<path fill="lightgrey" stroke="black" d="M873.5,-392C873.5,-392 742.5,-392 742.5,-392 736.5,-392 730.5,-386 730.5,-380 730.5,-380 730.5,-359 730.5,-359 730.5,-353 736.5,-347 742.5,-347 742.5,-347 873.5,-347 873.5,-347 879.5,-347 885.5,-353 885.5,-359 885.5,-359 885.5,-380 885.5,-380 885.5,-386 879.5,-392 873.5,-392"/>
<text text-anchor="start" x="738.5" y="-377.8" font-family="sans-serif" font-size="14.00">Production 8ch.pl fork</text>
<text text-anchor="start" x="788.5" y="-367.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@czaks)</text>
<text text-anchor="start" x="770.5" y="-354.8" font-family="sans-serif" font-size="14.00">20142016</text>
</g>
<!-- inf&#45;&gt;infpl -->
<g id="edge18" class="edge">
<g id="edge25" class="edge">
<title>inf&#45;&gt;infpl</title>
<path fill="none" stroke="black" d="M821.27,-300.58C828.31,-291.96 836.67,-282.33 844.79,-273.47"/>
<polygon fill="black" stroke="black" points="847.15,-276.08 851.42,-266.38 842.03,-271.3 847.15,-276.08"/>
<path fill="none" stroke="black" d="M859.48,-466.03C847.02,-447.37 831.9,-422.3 821.14,-402.52"/>
<polygon fill="black" stroke="black" points="824.28,-400.97 816.51,-393.77 818.09,-404.25 824.28,-400.97"/>
</g>
<!-- oib -->
<g id="node13" class="node">
<g id="node17" class="node">
<title>oib</title>
<path fill="lightgrey" stroke="black" d="M770,-261.5C770,-261.5 695,-261.5 695,-261.5 689,-261.5 683,-255.5 683,-249.5 683,-249.5 683,-235.5 683,-235.5 683,-229.5 689,-223.5 695,-223.5 695,-223.5 770,-223.5 770,-223.5 776,-223.5 782,-229.5 782,-235.5 782,-235.5 782,-249.5 782,-249.5 782,-255.5 776,-261.5 770,-261.5"/>
<text text-anchor="start" x="708" y="-246.3" font-family="sans-serif" font-size="14.00">OpenIB</text>
<text text-anchor="start" x="691" y="-231.3" font-family="sans-serif" font-size="14.00">~20172019</text>
<path fill="lightgrey" stroke="black" d="M990.5,-392C990.5,-392 915.5,-392 915.5,-392 909.5,-392 903.5,-386 903.5,-380 903.5,-380 903.5,-359 903.5,-359 903.5,-353 909.5,-347 915.5,-347 915.5,-347 990.5,-347 990.5,-347 996.5,-347 1002.5,-353 1002.5,-359 1002.5,-359 1002.5,-380 1002.5,-380 1002.5,-386 996.5,-392 990.5,-392"/>
<text text-anchor="start" x="928.5" y="-377.8" font-family="sans-serif" font-size="14.00">OpenIB</text>
<text text-anchor="start" x="928" y="-367.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@kormiku)</text>
<text text-anchor="start" x="911.5" y="-354.8" font-family="sans-serif" font-size="14.00">≈20172019</text>
</g>
<!-- inf&#45;&gt;oib -->
<g id="edge19" class="edge">
<g id="edge26" class="edge">
<title>inf&#45;&gt;oib</title>
<path fill="none" stroke="black" d="M781.72,-300.58C773.39,-290.92 763.97,-279.99 755.61,-270.3"/>
<polygon fill="black" stroke="black" points="758.47,-268.26 749.29,-262.97 753.17,-272.83 758.47,-268.26"/>
<path fill="none" stroke="black" d="M896.62,-466.03C907.68,-447.29 922.57,-422.07 934.26,-402.25"/>
<polygon fill="black" stroke="black" points="937.22,-404.13 939.28,-393.74 931.19,-400.57 937.22,-404.13"/>
</g>
<!-- infco&#45;&gt;vichan -->
<g id="edge20" class="edge">
<g id="edge27" class="edge">
<title>infco&#45;&gt;vichan</title>
<path fill="none" stroke="black" d="M892.23,-445.47C876.71,-456.8 858.58,-470.03 842.84,-481.52"/>
<polygon fill="black" stroke="black" points="841.12,-478.44 835.11,-487.16 845.25,-484.09 841.12,-478.44"/>
<path fill="none" stroke="black" d="M713.64,-649.43C679.68,-670.14 632.85,-698.69 600.04,-718.7"/>
<polygon fill="black" stroke="black" points="598.35,-715.63 591.64,-723.82 602,-721.6 598.35,-715.63"/>
</g>
<!-- infco&#45;&gt;inf -->
<g id="edge21" class="edge">
<g id="edge28" class="edge">
<title>infco&#45;&gt;inf</title>
<path fill="none" stroke="black" d="M891.3,-390.6C878.54,-381.55 864.12,-371.31 850.74,-361.81"/>
<polygon fill="black" stroke="black" points="853.09,-359.19 842.91,-356.26 849.04,-364.9 853.09,-359.19"/>
<path fill="none" stroke="black" d="M782.69,-594.79C801.48,-575.62 827.14,-549.45 847.53,-528.65"/>
<polygon fill="black" stroke="black" points="849.78,-531.35 854.28,-521.76 844.78,-526.45 849.78,-531.35"/>
</g>
<!-- infco&#45;&gt;kuz -->
<g id="edge29" class="edge">
<g id="edge38" class="edge">
<title>infco&#45;&gt;kuz</title>
<path fill="none" stroke="black" stroke-width="0" d="M991.21,-390.6C1018.02,-379.31 1049.23,-366.17 1075.92,-354.93"/>
<path fill="none" stroke="black" stroke-width="0" d="M697.39,-594.64C650.41,-573.85 584.96,-544.91 536.52,-523.48"/>
</g>
<!-- kuz&#45;&gt;vichan -->
<g id="edge26" class="edge">
<g id="edge33" class="edge">
<title>kuz&#45;&gt;vichan</title>
<path fill="none" stroke="black" d="M1133.13,-354.78C1122.71,-381.41 1099.22,-422.21 1066.5,-445 999.1,-491.94 900.36,-504.75 845.22,-508.22"/>
<polygon fill="black" stroke="black" points="845.12,-504.72 835.33,-508.76 845.5,-511.71 845.12,-504.72"/>
<path fill="none" stroke="black" d="M479.33,-523.37C484.44,-555.15 491.22,-607.27 508,-649 517.01,-671.41 531.85,-694.06 543.72,-711.44"/>
<polygon fill="black" stroke="black" points="540.56,-713.02 549.1,-719.28 546.33,-709.06 540.56,-713.02"/>
</g>
<!-- SIG -->
<g id="node17" class="node">
<g id="node21" class="node">
<title>SIG</title>
<text text-anchor="start" x="1253.5" y="-2.8" font-family="serif" font-size="14.00">by kopipe</text>
<text text-anchor="start" x="433.5" y="-2.8" font-family="serif" font-size="14.00">by ★コピペ</text>
</g>
<!-- kuz&#45;&gt;SIG -->
<g id="edge30" class="edge">
<g id="edge39" class="edge">
<title>kuz&#45;&gt;SIG</title>
<path fill="none" stroke="black" stroke-width="0" d="M1150.08,-301.01C1179.82,-239.51 1253.86,-86.47 1278.43,-35.68"/>
<path fill="none" stroke="black" stroke-width="0" d="M471,-463.59C471,-374.44 471,-105.57 471,-35.73"/>
</g>
<!-- infpl&#45;&gt;vichan -->
<g id="edge22" class="edge">
<g id="edge29" class="edge">
<title>infpl&#45;&gt;vichan</title>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M914.36,-265.4C972.23,-302.54 1073.04,-380.19 1024.5,-445 1002.96,-473.76 902.36,-494.04 844.94,-503.49"/>
<polygon fill="black" stroke="black" points="844.54,-500.01 835.22,-505.05 845.65,-506.92 844.54,-500.01"/>
<path fill="none" stroke="black" stroke-dasharray="1,5" d="M793.64,-392.12C751.9,-454.99 630.44,-637.92 581.65,-711.4"/>
<polygon fill="black" stroke="black" points="578.98,-709.09 576.37,-719.36 584.81,-712.96 578.98,-709.09"/>
</g>
<!-- infpl&#45;&gt;inf -->
<g id="edge23" class="edge">
<g id="edge30" class="edge">
<title>infpl&#45;&gt;inf</title>
<path fill="none" stroke="black" d="M864.47,-265.28C857.91,-273.54 849.7,-283.18 841.46,-292.35"/>
<polygon fill="black" stroke="black" points="839.12,-289.72 834.95,-299.46 844.28,-294.45 839.12,-289.72"/>
<path fill="none" stroke="black" d="M826.45,-392.44C838.54,-410.1 853.92,-435.29 865.39,-455.98"/>
<polygon fill="black" stroke="black" points="862.27,-457.58 870.12,-464.7 868.43,-454.24 862.27,-457.58"/>
</g>
<!-- e8ch -->
<g id="node14" class="node">
<g id="node18" class="node">
<title>e8ch</title>
<path fill="lightgrey" stroke="black" d="M814,-184C814,-184 651,-184 651,-184 645,-184 639,-178 639,-172 639,-172 639,-158 639,-158 639,-152 645,-146 651,-146 651,-146 814,-146 814,-146 820,-146 826,-152 826,-158 826,-158 826,-172 826,-172 826,-178 820,-184 814,-184"/>
<text text-anchor="start" x="647" y="-168.8" font-family="sans-serif" font-size="14.00">Proprietary 8chan software</text>
<text text-anchor="start" x="691" y="-153.8" font-family="sans-serif" font-size="14.00">~20172019</text>
<path fill="lightgrey" stroke="black" d="M1034.5,-275C1034.5,-275 871.5,-275 871.5,-275 865.5,-275 859.5,-269 859.5,-263 859.5,-263 859.5,-242 859.5,-242 859.5,-236 865.5,-230 871.5,-230 871.5,-230 1034.5,-230 1034.5,-230 1040.5,-230 1046.5,-236 1046.5,-242 1046.5,-242 1046.5,-263 1046.5,-263 1046.5,-269 1040.5,-275 1034.5,-275"/>
<text text-anchor="start" x="867.5" y="-260.8" font-family="sans-serif" font-size="14.00">Proprietary 8chan software</text>
<text text-anchor="start" x="928" y="-250.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@kormiku)</text>
<text text-anchor="start" x="911.5" y="-237.8" font-family="sans-serif" font-size="14.00">≈20172019</text>
</g>
<!-- oib&#45;&gt;e8ch -->
<g id="edge24" class="edge">
<g id="edge31" class="edge">
<title>oib&#45;&gt;e8ch</title>
<path fill="none" stroke="black" d="M732.5,-223.22C732.5,-214.94 732.5,-204.93 732.5,-195.62"/>
<polygon fill="black" stroke="black" points="736,-195.88 732.5,-185.88 729,-195.88 736,-195.88"/>
<path fill="none" stroke="black" d="M953,-346.6C953,-329.65 953,-305.91 953,-286.64"/>
<polygon fill="black" stroke="black" points="956.5,-286.83 953,-276.83 949.5,-286.83 956.5,-286.83"/>
</g>
<!-- e8kun -->
<g id="node15" class="node">
<g id="node19" class="node">
<title>e8kun</title>
<path fill="lightgrey" stroke="black" d="M810.5,-110C810.5,-110 654.5,-110 654.5,-110 648.5,-110 642.5,-104 642.5,-98 642.5,-98 642.5,-84 642.5,-84 642.5,-78 648.5,-72 654.5,-72 654.5,-72 810.5,-72 810.5,-72 816.5,-72 822.5,-78 822.5,-84 822.5,-84 822.5,-98 822.5,-98 822.5,-104 816.5,-110 810.5,-110"/>
<text text-anchor="start" x="650.5" y="-94.8" font-family="sans-serif" font-size="14.00">Proprietary 8kun software</text>
<text text-anchor="start" x="707.5" y="-79.8" font-family="sans-serif" font-size="14.00">~2019</text>
<path fill="lightgrey" stroke="black" d="M1031,-158C1031,-158 875,-158 875,-158 869,-158 863,-152 863,-146 863,-146 863,-120 863,-120 863,-114 869,-108 875,-108 875,-108 1031,-108 1031,-108 1037,-108 1043,-114 1043,-120 1043,-120 1043,-146 1043,-146 1043,-152 1037,-158 1031,-158"/>
<text text-anchor="start" x="871" y="-143.8" font-family="sans-serif" font-size="14.00">Proprietary 8kun software</text>
<text text-anchor="start" x="881" y="-129.8" font-family="sans-serif" font-size="14.00">≈2019≈2022 </text>
<text text-anchor="start" x="975" y="-129.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(@kormiku)</text>
<text text-anchor="start" x="901" y="-115.8" font-family="sans-serif" font-size="14.00">2022 </text>
<text text-anchor="start" x="946" y="-115.8" font-family="sans-serif" font-weight="bold" font-size="9.00">(Jim Watkins)</text>
</g>
<!-- e8ch&#45;&gt;e8kun -->
<g id="edge25" class="edge">
<g id="edge32" class="edge">
<title>e8ch&#45;&gt;e8kun</title>
<path fill="none" stroke="black" d="M732.5,-145.83C732.5,-138.55 732.5,-129.98 732.5,-121.83"/>
<polygon fill="black" stroke="black" points="736,-121.93 732.5,-111.93 729,-121.93 736,-121.93"/>
<path fill="none" stroke="black" d="M953,-229.67C953,-212.78 953,-189.03 953,-169.42"/>
<polygon fill="black" stroke="black" points="956.5,-169.65 953,-159.65 949.5,-169.65 956.5,-169.65"/>
</g>
<!-- TITLE -->
<g id="node16" class="node">
<g id="node20" class="node">
<title>TITLE</title>
<polygon fill="none" stroke="black" points="1273.5,-705 553.5,-705 553.5,-657 1273.5,-657 1273.5,-705"/>
<text text-anchor="start" x="820.5" y="-682.8" font-family="monospace" font-size="24.00">vichan</text>
<text text-anchor="start" x="906.5" y="-682.8" font-family="sans-serif" font-size="24.00"> Timeline</text>
<text text-anchor="start" x="849" y="-665.2" font-family="sans-serif" font-size="16.00">…as of 20230329</text>
<polygon fill="none" stroke="black" points="845,-1251 125,-1251 125,-1203 845,-1203 845,-1251"/>
<text text-anchor="start" x="392" y="-1228.8" font-family="monospace" font-size="24.00">vichan</text>
<text text-anchor="start" x="478" y="-1228.8" font-family="sans-serif" font-size="24.00"> Timeline</text>
<text text-anchor="start" x="420.5" y="-1211.2" font-family="sans-serif" font-size="16.00">…as of 20230329</text>
</g>
<!-- TITLE&#45;&gt;tb -->
<g id="edge31" class="edge">
<title>TITLE&#45;&gt;tb</title>
<path fill="none" stroke="black" stroke-width="0" d="M790.59,-656.55C707.5,-640.7 602.19,-620.62 541.27,-608.99"/>
</g>
<!-- TITLE&#45;&gt;SIG -->
<g id="edge32" class="edge">
<title>TITLE&#45;&gt;SIG</title>
<path fill="none" stroke="black" stroke-width="0" d="M1033.3,-656.56C1158.37,-628.56 1336.5,-577.16 1336.5,-511.5 1336.5,-511.5 1336.5,-511.5 1336.5,-164 1336.5,-115.27 1310.95,-62.11 1296.38,-35.76"/>
<!-- TITLE&#45;&gt;fourchon -->
<g id="edge34" class="edge">
<title>TITLE&#45;&gt;fourchon</title>
<path fill="none" stroke="black" stroke-width="0" d="M485,-1202.7C485,-1181.85 485,-1151.52 485,-1131.18"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 27 KiB