<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="drawio" version="21.4.0" agent="Muxiva architecture">
  <diagram id="muxiva-system" name="Muxiva System Architecture">
    <mxGraphModel dx="1880" dy="1480" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1900" pageHeight="1500" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />

        <mxCell id="2" value="MUXIVA · Real-time Multimodal Agent Runtime&#xa;Vendor-neutral Rust Core · Typed Graph · Multi-language Nodes · Full-duplex Client Transport" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#0B1020;strokeColor=#33D6FF;strokeWidth=2;fontColor=#FFFFFF;fontSize=20;fontStyle=1;align=left;spacingLeft=24;shadow=1;" vertex="1" parent="1">
          <mxGeometry x="40" y="20" width="1800" height="80" as="geometry" />
        </mxCell>

        <mxCell id="10" value="1 · Product &amp; Developer Surfaces" style="swimlane;startSize=34;container=1;pointerEvents=0;rounded=1;html=1;fontStyle=1;fontSize=14;fillColor=#EAF3FF;swimlaneFillColor=#F8FBFF;strokeColor=#6C8EBF;strokeWidth=2;" vertex="1" parent="1">
          <mxGeometry x="40" y="130" width="1800" height="220" as="geometry" />
        </mxCell>
        <mxCell id="11" value="Developer" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;fontStyle=1;fontSize=13;" vertex="1" parent="10">
          <mxGeometry x="30" y="60" width="110" height="90" as="geometry" />
        </mxCell>
        <mxCell id="12" value="muxiva CLI&#xa;init · validate · run · doctor" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;strokeWidth=2;fontSize=13;fontStyle=1;" vertex="1" parent="10">
          <mxGeometry x="190" y="55" width="240" height="85" as="geometry" />
        </mxCell>
        <mxCell id="13" value="Muxiva Studio&#xa;visual Graph · Node Lab&#xa;Connections · local observability" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;strokeWidth=2;fontSize=13;fontStyle=1;" vertex="1" parent="10">
          <mxGeometry x="470" y="45" width="280" height="105" as="geometry" />
        </mxCell>
        <mxCell id="14" value="SDKs&#xa;Rust · C++ · Python · TypeScript" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;strokeWidth=2;fontSize=13;fontStyle=1;" vertex="1" parent="10">
          <mxGeometry x="790" y="55" width="280" height="85" as="geometry" />
        </mxCell>
        <mxCell id="15" value="End User" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;fillColor=#D5E8D4;strokeColor=#82B366;fontStyle=1;fontSize=13;" vertex="1" parent="10">
          <mxGeometry x="1180" y="60" width="110" height="90" as="geometry" />
        </mxCell>
        <mxCell id="16" value="Project Web / Voice Room&#xa;Agora Web SDK&#xa;microphone · speaker · chat · barge-in UI" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#D5E8D4;strokeColor=#82B366;strokeWidth=2;fontSize=13;fontStyle=1;" vertex="1" parent="10">
          <mxGeometry x="1340" y="45" width="400" height="105" as="geometry" />
        </mxCell>
        <mxCell id="17" value="Independent client · no Runtime lifecycle API · no NotificationBus polling" style="text;whiteSpace=wrap;html=1;align=center;verticalAlign=middle;fontColor=#3A6B46;fontSize=11;fontStyle=2;" vertex="1" parent="10">
          <mxGeometry x="1340" y="160" width="400" height="25" as="geometry" />
        </mxCell>

        <mxCell id="20" value="2 · Definition, Discovery &amp; Configuration" style="swimlane;startSize=34;container=1;pointerEvents=0;rounded=1;html=1;fontStyle=1;fontSize=14;fillColor=#FFF0DF;swimlaneFillColor=#FFFAF4;strokeColor=#D79B00;strokeWidth=2;" vertex="1" parent="1">
          <mxGeometry x="40" y="380" width="1800" height="180" as="geometry" />
        </mxCell>
        <mxCell id="21" value="Graph v1&#xa;Node · Port · Edge · Queue Policy&#xa;static typed DAG" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE6CC;strokeColor=#D79B00;strokeWidth=2;fontSize=13;fontStyle=1;" vertex="1" parent="20">
          <mxGeometry x="180" y="50" width="320" height="90" as="geometry" />
        </mxCell>
        <mxCell id="22" value="Node Manifest&#xa;factory version · capability&#xa;config + exact I/O schemas" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE6CC;strokeColor=#D79B00;strokeWidth=2;fontSize=13;fontStyle=1;" vertex="1" parent="20">
          <mxGeometry x="570" y="50" width="320" height="90" as="geometry" />
        </mxCell>
        <mxCell id="23" value="Registry &amp; Discovery&#xa;built-in · official · project Nodes&#xa;exact Factory selection" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFE6CC;strokeColor=#D79B00;strokeWidth=2;fontSize=13;fontStyle=1;" vertex="1" parent="20">
          <mxGeometry x="960" y="50" width="340" height="90" as="geometry" />
        </mxCell>
        <mxCell id="24" value="Connections &amp; Secrets&#xa;project .env (local, gitignored)&#xa;production secret/token service" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E1D5E7;strokeColor=#9673A6;strokeWidth=2;fontSize=13;fontStyle=1;" vertex="1" parent="20">
          <mxGeometry x="1380" y="50" width="340" height="90" as="geometry" />
        </mxCell>

        <mxCell id="30" value="3 · Vendor-neutral Rust Runtime Core" style="swimlane;startSize=34;container=1;pointerEvents=0;rounded=1;html=1;fontStyle=1;fontSize=14;fillColor=#EAE6FF;swimlaneFillColor=#FAF9FF;strokeColor=#7367B4;strokeWidth=2;" vertex="1" parent="1">
          <mxGeometry x="40" y="590" width="1800" height="260" as="geometry" />
        </mxCell>
        <mxCell id="31" value="Graph Compiler&#xa;schema · topology · port compatibility&#xa;preflight before Node creation" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E1D5E7;strokeColor=#9673A6;strokeWidth=2;fontSize=13;fontStyle=1;" vertex="1" parent="30">
          <mxGeometry x="120" y="60" width="340" height="100" as="geometry" />
        </mxCell>
        <mxCell id="32" value="Concurrent Graph Runtime&#xa;prepare → process / on_signal → finish / abort&#xa;scheduling · lifecycle · bounded shutdown" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#6B5FC7;strokeColor=#43369A;strokeWidth=3;fontColor=#FFFFFF;fontSize=14;fontStyle=1;shadow=1;" vertex="1" parent="30">
          <mxGeometry x="530" y="50" width="420" height="120" as="geometry" />
        </mxCell>
        <mxCell id="33" value="Data Plane&#xa;Audio · Video · Text · Byte Frames&#xa;typed Ports · bounded Edge queues · backpressure" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;strokeWidth=2;fontSize=13;fontStyle=1;" vertex="1" parent="30">
          <mxGeometry x="1020" y="50" width="340" height="120" as="geometry" />
        </mxCell>
        <mxCell id="34" value="Control &amp; Observability&#xa;Signal: opaque, adjacent Edge routing&#xa;NotificationBus: process-local observers only" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF2CC;strokeColor=#D6B656;strokeWidth=2;fontSize=13;fontStyle=1;" vertex="1" parent="30">
          <mxGeometry x="1430" y="50" width="330" height="120" as="geometry" />
        </mxCell>
        <mxCell id="35" value="Solid blue = typed Frame / lifecycle    ·    Dashed magenta = Signal control    ·    Dotted gray = local NotificationBus telemetry" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#B8B8B8;fontColor=#555555;fontSize=11;align=center;" vertex="1" parent="30">
          <mxGeometry x="530" y="195" width="1230" height="40" as="geometry" />
        </mxCell>

        <mxCell id="40" value="4 · Unified Node Extension Layer" style="swimlane;startSize=34;container=1;pointerEvents=0;rounded=1;html=1;fontStyle=1;fontSize=14;fillColor=#E5F5EC;swimlaneFillColor=#F8FDF9;strokeColor=#4A9B68;strokeWidth=2;" vertex="1" parent="1">
          <mxGeometry x="40" y="880" width="1800" height="220" as="geometry" />
        </mxCell>
        <mxCell id="41" value="Rust Built-in Nodes&#xa;resampler · VAD · cancellation gate&#xa;client-event encoder · utilities" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#D5E8D4;strokeColor=#82B366;strokeWidth=2;fontSize=13;fontStyle=1;" vertex="1" parent="40">
          <mxGeometry x="80" y="55" width="360" height="110" as="geometry" />
        </mxCell>
        <mxCell id="42" value="Python Node Host&#xa;Qwen Realtime · ASR · LLM · TTS&#xa;ctx.emit · emit_signal · publish_notification" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFF2CC;strokeColor=#D6B656;strokeWidth=2;fontSize=13;fontStyle=1;" vertex="1" parent="40">
          <mxGeometry x="500" y="55" width="360" height="110" as="geometry" />
        </mxCell>
        <mxCell id="43" value="C++ ABI Node Packs&#xa;Agora audio/data Source + Sink&#xa;one shared RTC Engine + Bot UID" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#DAE8FC;strokeColor=#6C8EBF;strokeWidth=2;fontSize=13;fontStyle=1;" vertex="1" parent="40">
          <mxGeometry x="920" y="55" width="360" height="110" as="geometry" />
        </mxCell>
        <mxCell id="44" value="Project / TypeScript Nodes&#xa;.muxiva/nodes · Node-API Worker&#xa;same Factory + Frame contract" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F8CECC;strokeColor=#B85450;strokeWidth=2;fontSize=13;fontStyle=1;" vertex="1" parent="40">
          <mxGeometry x="1340" y="55" width="360" height="110" as="geometry" />
        </mxCell>

        <mxCell id="50" value="5 · External Services &amp; Production Boundary" style="swimlane;startSize=34;container=1;pointerEvents=0;rounded=1;html=1;fontStyle=1;fontSize=14;fillColor=#F0F0F0;swimlaneFillColor=#FAFAFA;strokeColor=#666666;strokeWidth=2;" vertex="1" parent="1">
          <mxGeometry x="40" y="1130" width="1800" height="190" as="geometry" />
        </mxCell>
        <mxCell id="51" value="Alibaba Cloud Model Studio&#xa;Qwen realtime / ASR / LLM / TTS APIs&#xa;server-side credentials only" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;fillColor=#F5F5F5;strokeColor=#666666;strokeWidth=2;fontSize=13;fontStyle=1;" vertex="1" parent="50">
          <mxGeometry x="500" y="55" width="360" height="95" as="geometry" />
        </mxCell>
        <mxCell id="52" value="Agora RTC Network&#xa;full-duplex audio + reliable ordered data&#xa;Browser UID ↔ Muxiva Bot UID" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;fillColor=#F5F5F5;strokeColor=#666666;strokeWidth=2;fontSize=13;fontStyle=1;" vertex="1" parent="50">
          <mxGeometry x="920" y="55" width="360" height="95" as="geometry" />
        </mxCell>
        <mxCell id="53" value="Application Backend / Token Service&#xa;authentication · short-lived RTC tokens&#xa;one Runtime process = one Agent RTC session" style="rounded=1;whiteSpace=wrap;html=1;dashed=1;fillColor=#F5F5F5;strokeColor=#666666;strokeWidth=2;fontSize=13;fontStyle=1;" vertex="1" parent="50">
          <mxGeometry x="1340" y="55" width="400" height="95" as="geometry" />
        </mxCell>

        <mxCell id="100" value="uses" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=blockThin;endFill=1;strokeColor=#6C8EBF;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=1;exitY=0.25;entryX=0;entryY=0.5;" edge="1" parent="1" source="11" target="12">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="103" value="speaks / listens" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=blockThin;endFill=1;strokeColor=#82B366;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" edge="1" parent="1" source="15" target="16">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>

        <mxCell id="104" value="Graph v1" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=blockThin;endFill=1;strokeColor=#6C8EBF;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=0.5;exitY=1;entryX=0.25;entryY=0;" edge="1" parent="1" source="12" target="21">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="105" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=blockThin;endFill=1;strokeColor=#6C8EBF;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=0.4;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="13" target="21">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="106" value="Registry" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=blockThin;endFill=1;strokeColor=#6C8EBF;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=0.65;exitY=1;entryX=0.25;entryY=0;" edge="1" parent="1" source="13" target="23">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="107" value="Manifest / Factory" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=blockThin;endFill=1;strokeColor=#6C8EBF;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=0.5;exitY=1;entryX=0.75;entryY=0;" edge="1" parent="1" source="14" target="22">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="108" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=blockThin;endFill=1;strokeColor=#9673A6;dashed=1;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=0.5;exitY=1;entryX=0.75;entryY=0;" edge="1" parent="1" source="16" target="24">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>

        <mxCell id="109" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=blockThin;endFill=1;strokeColor=#9673A6;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=0.5;exitY=1;entryX=0.3;entryY=0;" edge="1" parent="1" source="21" target="31">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="110" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=blockThin;endFill=1;strokeColor=#9673A6;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=0.5;exitY=1;entryX=0.55;entryY=0;" edge="1" parent="1" source="22" target="31">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="111" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=blockThin;endFill=1;strokeColor=#9673A6;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=0.5;exitY=1;entryX=0.8;entryY=0;" edge="1" parent="1" source="23" target="31">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="112" value="inject at Node creation" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=blockThin;endFill=1;strokeColor=#9673A6;dashed=1;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=0.5;exitY=1;entryX=0.85;entryY=0;" edge="1" parent="1" source="24" target="32">
          <mxGeometry relative="1" as="geometry">
            <Array as="points"><mxPoint x="1560" y="575" /><mxPoint x="930" y="575" /></Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="113" value="materialized Graph" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=blockThin;endFill=1;strokeColor=#43369A;strokeWidth=2;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=1;exitY=0.5;entryX=0;entryY=0.5;" edge="1" parent="1" source="31" target="32">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="114" value="owns queues + scheduling" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=blockThin;endFill=1;strokeColor=#6C8EBF;strokeWidth=2;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=1;exitY=0.35;entryX=0;entryY=0.35;" edge="1" parent="1" source="32" target="33">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="115" value="routes Signal / publishes Notification" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=blockThin;endFill=1;strokeColor=#C04AA4;dashed=1;strokeWidth=2;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=1;exitY=0.7;entryX=0;entryY=0.7;" edge="1" parent="1" source="32" target="34">
          <mxGeometry relative="1" as="geometry">
            <Array as="points"><mxPoint x="990" y="780" /><mxPoint x="1430" y="780" /></Array>
          </mxGeometry>
        </mxCell>

        <mxCell id="116" value="Node lifecycle + NodeContext" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=blockThin;endFill=1;strokeColor=#43369A;strokeWidth=2;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=0.15;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="32" target="41">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="117" value="hosted callbacks" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=blockThin;endFill=1;strokeColor=#43369A;strokeWidth=2;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=0.4;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="32" target="42">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="118" value="versioned C ABI" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=blockThin;endFill=1;strokeColor=#43369A;strokeWidth=2;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=0.65;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="32" target="43">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="119" value="Factory Host" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=blockThin;endFill=1;strokeColor=#43369A;strokeWidth=2;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=0.9;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="32" target="44">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="120" value="speech.started / cancellation" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=blockThin;endFill=1;strokeColor=#C04AA4;dashed=1;strokeWidth=2;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=0.25;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="34" target="42">
          <mxGeometry relative="1" as="geometry">
            <Array as="points"><mxPoint x="1510" y="860" /><mxPoint x="720" y="860" /></Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="121" value="clear stale playback" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=blockThin;endFill=1;strokeColor=#C04AA4;dashed=1;strokeWidth=2;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=0.75;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="34" target="43">
          <mxGeometry relative="1" as="geometry">
            <Array as="points"><mxPoint x="1680" y="870" /><mxPoint x="1140" y="870" /></Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="122" value="NotificationBus: logs + Studio only" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=open;endFill=0;strokeColor=#777777;dashed=1;dashPattern=2 4;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=1;exitY=0.2;entryX=1;entryY=0.65;" edge="1" parent="1" source="34" target="13">
          <mxGeometry relative="1" as="geometry">
            <Array as="points"><mxPoint x="1820" y="665" /><mxPoint x="1820" y="360" /><mxPoint x="790" y="360" /></Array>
          </mxGeometry>
        </mxCell>

        <mxCell id="123" value="WebSocket / HTTP model streams" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;startArrow=blockThin;startFill=1;endArrow=blockThin;endFill=1;strokeColor=#D6B656;strokeWidth=2;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="42" target="51">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="124" value="PCM audio + client Event bytes" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;startArrow=blockThin;startFill=1;endArrow=blockThin;endFill=1;strokeColor=#6C8EBF;strokeWidth=2;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=0.5;exitY=1;entryX=0.5;entryY=0;" edge="1" parent="1" source="43" target="52">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="125" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;startArrow=blockThin;startFill=1;endArrow=blockThin;endFill=1;strokeColor=#2D9CDB;strokeWidth=3;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=1;exitY=0.75;entryX=1;entryY=1;" edge="1" parent="1" source="16" target="52">
          <mxGeometry relative="1" as="geometry">
            <Array as="points"><mxPoint x="1860" y="300" /><mxPoint x="1860" y="1310" /><mxPoint x="1320" y="1310" /></Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="126" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=blockThin;endFill=1;strokeColor=#9673A6;dashed=1;strokeWidth=2;labelBackgroundColor=#FFFFFF;fontSize=11;exitX=0.85;exitY=1;entryX=1;entryY=0.5;" edge="1" parent="1" source="16" target="53">
          <mxGeometry relative="1" as="geometry">
            <Array as="points"><mxPoint x="1820" y="370" /><mxPoint x="1820" y="1230" /></Array>
          </mxGeometry>
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
