<?xml version='1.0' encoding='utf-8'?>
<mxfile host="app.diagrams.net" version="26.0.0">
  <diagram id="comment-architecture" name="Comment Architecture">
    <mxGraphModel dx="1800" dy="1200" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1800" pageHeight="1200" math="0" shadow="0" background="#ffffff">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="browser-panel" value="" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#f5f9fc;strokeColor=#6e8ca8;strokeWidth=1.5;dashed=1;dashPattern=6 4;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="60" y="20" width="820" height="260" />
        </mxCell>
        <mxCell id="service-panel" value="" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#f4fbf5;strokeColor=#57956d;strokeWidth=1.5;dashed=1;dashPattern=6 4;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="980" y="20" width="760" height="260" />
        </mxCell>
        <mxCell id="legend" value="" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#ffffff;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="20" y="335" width="1760" height="62" />
        </mxCell>
        <mxCell id="moderation-panel" value="" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#eef8fd;strokeColor=#63afcf;strokeWidth=1.5;dashed=1;dashPattern=6 4;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="20" y="425" width="860" height="720" />
        </mxCell>
        <mxCell id="translation-panel" value="" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#effaf3;strokeColor=#62b58a;strokeWidth=1.5;dashed=1;dashPattern=6 4;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="900" y="425" width="880" height="720" />
        </mxCell>
        <mxCell id="cell-1" value="Hugo site / Browser" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=25;fontColor=#20262b;fontStyle=1;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="320" y="28" width="500" height="40" />
        </mxCell>
        <mxCell id="cell-2" value="Independent Vercel service" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=25;fontColor=#20262b;fontStyle=1;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1080" y="28" width="580" height="40" />
        </mxCell>
        <mxCell id="article-en" value="" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;shape=note;size=16;fillColor=#ffffff;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="105" y="85" width="55" height="72" />
        </mxCell>
        <mxCell id="article-zh" value="" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;shape=note;size=16;fillColor=#ffffff;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="105" y="185" width="55" height="72" />
        </mxCell>
        <mxCell id="cell-3" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=none;endFill=1;" edge="1" parent="1">
          <mxGeometry as="geometry" relative="1">
            <mxPoint as="sourcePoint" x="115" y="100" />
            <mxPoint as="targetPoint" x="143" y="100" />
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=none;endFill=1;" edge="1" parent="1">
          <mxGeometry as="geometry" relative="1">
            <mxPoint as="sourcePoint" x="115" y="110" />
            <mxPoint as="targetPoint" x="143" y="110" />
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=none;endFill=1;" edge="1" parent="1">
          <mxGeometry as="geometry" relative="1">
            <mxPoint as="sourcePoint" x="115" y="120" />
            <mxPoint as="targetPoint" x="143" y="120" />
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=none;endFill=1;" edge="1" parent="1">
          <mxGeometry as="geometry" relative="1">
            <mxPoint as="sourcePoint" x="115" y="130" />
            <mxPoint as="targetPoint" x="143" y="130" />
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-7" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=none;endFill=1;" edge="1" parent="1">
          <mxGeometry as="geometry" relative="1">
            <mxPoint as="sourcePoint" x="115" y="200" />
            <mxPoint as="targetPoint" x="143" y="200" />
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-8" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=none;endFill=1;" edge="1" parent="1">
          <mxGeometry as="geometry" relative="1">
            <mxPoint as="sourcePoint" x="115" y="210" />
            <mxPoint as="targetPoint" x="143" y="210" />
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-9" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=none;endFill=1;" edge="1" parent="1">
          <mxGeometry as="geometry" relative="1">
            <mxPoint as="sourcePoint" x="115" y="220" />
            <mxPoint as="targetPoint" x="143" y="220" />
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=none;endFill=1;" edge="1" parent="1">
          <mxGeometry as="geometry" relative="1">
            <mxPoint as="sourcePoint" x="115" y="230" />
            <mxPoint as="targetPoint" x="143" y="230" />
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-11" value="English article" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=23;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="180" y="100" width="210" height="36" />
        </mxCell>
        <mxCell id="cell-12" value="Chinese article" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=23;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="180" y="200" width="210" height="36" />
        </mxCell>
        <mxCell id="shared" value="Shared&#10;thread path" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#ffffff;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="430" y="130" width="160" height="80" />
        </mxCell>
        <mxCell id="client" value="Waline client&#10;Lazy loaded" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#e4f2fc;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="660" y="130" width="180" height="80" />
        </mxCell>
        <mxCell id="api" value="Waline API&#10;Independent Vercel service" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#e5f5e5;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1020" y="115" width="310" height="95" />
        </mxCell>
        <mxCell id="database" value="Neon PostgreSQL&#10;&#10;wl_comment&#10;wl_moderation&#10;wl_translation" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=22;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;shape=cylinder;boundedLbl=1;backgroundOutline=1;fillColor=#ffffff;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1450" y="80" width="250" height="170" />
        </mxCell>
        <mxCell id="cell-13" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="shared">
          <mxGeometry as="geometry" relative="1">
            <mxPoint as="sourcePoint" x="388" y="118" />
            <Array as="points">
              <mxPoint x="410" y="118" />
              <mxPoint x="410" y="170" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-14" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" target="shared">
          <mxGeometry as="geometry" relative="1">
            <mxPoint as="sourcePoint" x="388" y="218" />
            <Array as="points">
              <mxPoint x="410" y="218" />
              <mxPoint x="410" y="170" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;exitX=1.0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="shared" target="client">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="cell-16" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;startArrow=block;startFill=1;exitX=1.0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="client" target="api">
          <mxGeometry as="geometry" relative="1">
            <Array as="points">
              <mxPoint x="930" y="170" />
              <mxPoint x="930" y="162.5" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-17" value="HTTPS" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=20;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="865" y="125" width="110" height="30" />
        </mxCell>
        <mxCell id="cell-18" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;startArrow=block;startFill=1;exitX=1.0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="api" target="database">
          <mxGeometry as="geometry" relative="1">
            <Array as="points">
              <mxPoint x="1390" y="162.5" />
              <mxPoint x="1390" y="165" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="port-b" value="(b) Moderation" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=18;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#e4f2fc;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1025" y="235" width="145" height="30" />
        </mxCell>
        <mxCell id="port-c" value="(c) Translation" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=18;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#e5f5e5;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1190" y="235" width="145" height="30" />
        </mxCell>
        <mxCell id="cell-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;exitX=0.25;exitY=1.0;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="api" target="port-b">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="cell-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;exitX=0.782258064516129;exitY=1.0;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="api" target="port-c">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="cell-21" value="(a) Framework overview" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=26;fontColor=#20262b;fontStyle=1;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="560" y="285" width="680" height="40" />
        </mxCell>
        <mxCell id="cell-22" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;" edge="1" parent="1">
          <mxGeometry as="geometry" relative="1">
            <mxPoint as="sourcePoint" x="50" y="366" />
            <mxPoint as="targetPoint" x="135" y="366" />
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-23" value="Request / persistence" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=20;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="145" y="345" width="235" height="42" />
        </mxCell>
        <mxCell id="cell-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;dashed=1;dashPattern=7 5;" edge="1" parent="1">
          <mxGeometry as="geometry" relative="1">
            <mxPoint as="sourcePoint" x="415" y="366" />
            <mxPoint as="targetPoint" x="510" y="366" />
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-25" value="Background task" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=20;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="520" y="345" width="190" height="42" />
        </mxCell>
        <mxCell id="cell-26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;dashed=1;dashPattern=2 3;" edge="1" parent="1">
          <mxGeometry as="geometry" relative="1">
            <mxPoint as="sourcePoint" x="745" y="366" />
            <mxPoint as="targetPoint" x="840" y="366" />
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-27" value="Private management" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=20;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="850" y="345" width="220" height="42" />
        </mxCell>
        <mxCell id="legend-approved" value="" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#d9efcc;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1150" y="350" width="38" height="32" />
        </mxCell>
        <mxCell id="cell-28" value="Approved" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=20;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1195" y="345" width="140" height="42" />
        </mxCell>
        <mxCell id="legend-waiting" value="" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#fff0c9;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1370" y="350" width="38" height="32" />
        </mxCell>
        <mxCell id="cell-29" value="Waiting" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=20;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1415" y="345" width="140" height="42" />
        </mxCell>
        <mxCell id="legend-spam" value="" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#f5d6d6;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1580" y="350" width="38" height="32" />
        </mxCell>
        <mxCell id="cell-30" value="Spam" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=20;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1625" y="345" width="140" height="42" />
        </mxCell>
        <mxCell id="new-comment" value="" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;shape=note;size=16;fillColor=#ffffff;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="60" y="460" width="60" height="78" />
        </mxCell>
        <mxCell id="cell-31" value="New comment&#10;c, thread" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=19;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="32" y="542" width="120" height="55" />
        </mxCell>
        <mxCell id="turnstile" value="Turnstile&#10;verification" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#ffffff;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="200" y="465" width="170" height="70" />
        </mxCell>
        <mxCell id="clef" value="Clef moderation&#10;New non-admin comments only" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#ffffff;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="490" y="460" width="325" height="80" />
        </mxCell>
        <mxCell id="cell-32" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;exitX=1.0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="new-comment" target="turnstile">
          <mxGeometry as="geometry" relative="1">
            <Array as="points">
              <mxPoint x="160" y="499" />
              <mxPoint x="160" y="500" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-33" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;exitX=1.0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="turnstile" target="clef">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="decision" value="Policy decision" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#ffffff;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="520" y="575" width="265" height="54" />
        </mxCell>
        <mxCell id="audit" value="Decision audit&#10;wl_moderation" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#ffffff;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="520" y="660" width="265" height="66" />
        </mxCell>
        <mxCell id="cell-34" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;exitX=0.5;exitY=1.0;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="clef" target="decision">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="cell-35" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;exitX=0.5;exitY=1.0;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="decision" target="audit">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="cell-36" value="Audit before&#10;auto-approval" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=18;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="285" y="705" width="220" height="54" />
        </mxCell>
        <mxCell id="cell-37" value="Timeout / uncertainty → waiting&#10;Waiting → manual review" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=20;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="65" y="635" width="330" height="70" />
        </mxCell>
        <mxCell id="approved" value="approved" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=23;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#d9efcc;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="315" y="820" width="135" height="56" />
        </mxCell>
        <mxCell id="waiting" value="waiting" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=23;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#fff0c9;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="535" y="820" width="135" height="56" />
        </mxCell>
        <mxCell id="spam" value="spam" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=23;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#f5d6d6;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="725" y="820" width="125" height="56" />
        </mxCell>
        <mxCell id="cell-38" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;exitX=0.5;exitY=1.0;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="audit" target="approved">
          <mxGeometry as="geometry" relative="1">
            <Array as="points">
              <mxPoint x="652.5" y="775" />
              <mxPoint x="382.5" y="775" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;exitX=0.5;exitY=1.0;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="audit" target="waiting">
          <mxGeometry as="geometry" relative="1">
            <Array as="points">
              <mxPoint x="652.5" y="790" />
              <mxPoint x="602.5" y="790" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-40" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;exitX=0.5;exitY=1.0;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="audit" target="spam">
          <mxGeometry as="geometry" relative="1">
            <Array as="points">
              <mxPoint x="652.5" y="775" />
              <mxPoint x="787.5" y="775" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-41" value="Audit failure → waiting" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=18;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="55" y="745" width="230" height="35" />
        </mxCell>
        <mxCell id="admin" value="Admin /ui" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#ffffff;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="55" y="820" width="170" height="56" />
        </mxCell>
        <mxCell id="cell-42" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;exitX=1.0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="admin" target="approved">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="cell-43" value="Approve" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=19;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="225" y="785" width="90" height="30" />
        </mxCell>
        <mxCell id="persist" value="Persist comment&#10;wl_comment" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#ffffff;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="505" y="930" width="230" height="64" />
        </mxCell>
        <mxCell id="cell-44" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;exitX=0.5;exitY=1.0;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="approved" target="persist">
          <mxGeometry as="geometry" relative="1">
            <Array as="points">
              <mxPoint x="382.5" y="905" />
              <mxPoint x="620" y="905" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-45" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;exitX=0.5;exitY=1.0;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="waiting" target="persist">
          <mxGeometry as="geometry" relative="1">
            <Array as="points">
              <mxPoint x="602.5" y="905" />
              <mxPoint x="620" y="905" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-46" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;exitX=0.5;exitY=1.0;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="spam" target="persist">
          <mxGeometry as="geometry" relative="1">
            <Array as="points">
              <mxPoint x="787.5" y="905" />
              <mxPoint x="620" y="905" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="same-browser" value="Same browser&#10;Private capability" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#f6fbff;strokeColor=#20262b;strokeWidth=1.5;dashed=1;dashPattern=6 4;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="55" y="1050" width="210" height="70" />
        </mxCell>
        <mxCell id="conditional" value="Conditional SQL" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#ffffff;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="385" y="1060" width="190" height="50" />
        </mxCell>
        <mxCell id="edit-waiting" value="waiting" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=23;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#fff0c9;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="700" y="1060" width="135" height="50" />
        </mxCell>
        <mxCell id="cell-47" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;dashed=1;dashPattern=2 3;exitX=0.5;exitY=1.0;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="persist" target="same-browser">
          <mxGeometry as="geometry" relative="1">
            <Array as="points">
              <mxPoint x="620" y="1020" />
              <mxPoint x="160" y="1020" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-48" value="POST token" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=18;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="340" y="1021" width="150" height="28" />
        </mxCell>
        <mxCell id="cell-49" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;dashed=1;dashPattern=2 3;exitX=1.0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="same-browser" target="conditional">
          <mxGeometry as="geometry" relative="1">
            <Array as="points">
              <mxPoint x="325" y="1085" />
              <mxPoint x="325" y="1085" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-50" value="Guest edit" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=18;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="265" y="1045" width="120" height="30" />
        </mxCell>
        <mxCell id="cell-51" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;exitX=1.0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="conditional" target="edit-waiting">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="cell-52" value="Stale edit: 409; preserve draft" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=17;fontColor=#20262b;fontStyle=2;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="365" y="1110" width="300" height="32" />
        </mxCell>
        <mxCell id="cell-53" value="(b) Comment submission and review" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=26;fontColor=#20262b;fontStyle=1;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="45" y="1150" width="810" height="45" />
        </mxCell>
        <mxCell id="cell-54" value="Asynchronous translation after an approved save" style="html=0;whiteSpace=wrap;align=left;verticalAlign=middle;fontFamily=Times New Roman;fontSize=23;fontColor=#20262b;fontStyle=1;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="915" y="435" width="830" height="45" />
        </mxCell>
        <mxCell id="approved-save" value="Approved&#10;save" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=20;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#ffffff;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="925" y="545" width="100" height="80" />
        </mxCell>
        <mxCell id="adapter" value="Translation adapter&#10;Vercel background task" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=19;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#ffffff;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1090" y="535" width="185" height="100" />
        </mxCell>
        <mxCell id="qwen" value="Qwen translation&#10;Cloudflare Workers AI" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=19;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#ffffff;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1310" y="535" width="190" height="100" />
        </mxCell>
        <mxCell id="en" value="EN" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;shape=note;size=16;fillColor=#ffffff;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1530" y="515" width="52" height="62" />
        </mxCell>
        <mxCell id="zh" value="ZH" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;shape=note;size=16;fillColor=#ffffff;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1530" y="615" width="52" height="62" />
        </mxCell>
        <mxCell id="cache" value="Translation&#10;cache&#10;&#10;wl_translation" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=19;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;shape=cylinder;boundedLbl=1;backgroundOutline=1;fillColor=#ffffff;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1610" y="530" width="145" height="145" />
        </mxCell>
        <mxCell id="cell-55" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;dashed=1;dashPattern=7 5;exitX=1.0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="approved-save" target="adapter">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="cell-56" value="waitUntil" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=16;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1020" y="546" width="75" height="29" />
        </mxCell>
        <mxCell id="cell-57" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;exitX=1.0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="adapter" target="qwen">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="cell-58" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;exitX=1.0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="qwen" target="en">
          <mxGeometry as="geometry" relative="1">
            <Array as="points">
              <mxPoint x="1515" y="585" />
              <mxPoint x="1515" y="546" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-59" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;exitX=1.0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="qwen" target="zh">
          <mxGeometry as="geometry" relative="1">
            <Array as="points">
              <mxPoint x="1515" y="585" />
              <mxPoint x="1515" y="646" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-60" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;exitX=1.0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="en" target="cache">
          <mxGeometry as="geometry" relative="1">
            <Array as="points">
              <mxPoint x="1595" y="546" />
              <mxPoint x="1595" y="602.5" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-61" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;exitX=1.0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="zh" target="cache">
          <mxGeometry as="geometry" relative="1">
            <Array as="points">
              <mxPoint x="1595" y="646" />
              <mxPoint x="1595" y="602.5" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-62" value="Failure keeps the original" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=18;fontColor=#20262b;fontStyle=2;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1040" y="660" width="300" height="34" />
        </mxCell>
        <mxCell id="cell-63" value="k = SHA256(text, lang, model, render config, policy)" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=19;fontColor=#20262b;fontStyle=2;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1010" y="706" width="700" height="40" />
        </mxCell>
        <mxCell id="cell-64" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=none;endFill=1;dashed=1;dashPattern=7 5;" edge="1" parent="1">
          <mxGeometry as="geometry" relative="1">
            <mxPoint as="sourcePoint" x="915" y="765" />
            <mxPoint as="targetPoint" x="1765" y="765" />
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-65" value="Public read path with cached delivery" style="html=0;whiteSpace=wrap;align=left;verticalAlign=middle;fontFamily=Times New Roman;fontSize=23;fontColor=#20262b;fontStyle=1;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="915" y="775" width="800" height="45" />
        </mxCell>
        <mxCell id="public-get" value="Public&#10;GET" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#ffffff;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="925" y="875" width="100" height="80" />
        </mxCell>
        <mxCell id="read-approved" value="Approved&#10;comments" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#ffffff;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1070" y="875" width="120" height="80" />
        </mxCell>
        <mxCell id="lookup" value="Cache&#10;lookup" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=21;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#ffffff;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1235" y="875" width="110" height="80" />
        </mxCell>
        <mxCell id="response" value="Response&#10;&#10;Original +&#10;cached translation" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=20;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#ffffff;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1390" y="855" width="175" height="120" />
        </mxCell>
        <mxCell id="toggle" value="Local toggle&#10;No extra request" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=19;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;rounded=1;arcSize=7;fillColor=#ffffff;strokeColor=#20262b;strokeWidth=1.5;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1610" y="875" width="145" height="80" />
        </mxCell>
        <mxCell id="cell-66" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;exitX=1.0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="public-get" target="read-approved">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="cell-67" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;exitX=1.0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="read-approved" target="lookup">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="cell-68" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;exitX=1.0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="lookup" target="response">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="cell-69" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;exitX=1.0;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="response" target="toggle">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="cell-70" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=0;strokeColor=#20262b;strokeWidth=1.5;endArrow=block;endFill=1;startArrow=block;startFill=1;exitX=0.5;exitY=0.0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="lookup" target="cache">
          <mxGeometry as="geometry" relative="1">
            <Array as="points">
              <mxPoint x="1290" y="835" />
              <mxPoint x="1745" y="835" />
              <mxPoint x="1745" y="790" />
              <mxPoint x="1682.5" y="790" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="cell-71" value="Cache miss: original" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=20;fontColor=#20262b;fontStyle=0;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1150" y="980" width="300" height="38" />
        </mxCell>
        <mxCell id="cell-72" value="Public reads never invoke AI" style="html=0;whiteSpace=wrap;align=left;verticalAlign=middle;fontFamily=Times New Roman;fontSize=22;fontColor=#20262b;fontStyle=2;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="955" y="1075" width="570" height="40" />
        </mxCell>
        <mxCell id="cell-73" value="(c) Asynchronous translation and cached delivery" style="html=0;whiteSpace=wrap;align=center;verticalAlign=middle;fontFamily=Times New Roman;fontSize=26;fontColor=#20262b;fontStyle=1;spacing=6;shadow=0;text;strokeColor=none;fillColor=none;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="900" y="1150" width="880" height="45" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>