<mxfile host="app.diagrams.net" agent="architecture-diagram" version="24.0.0">
  <diagram name="High-Level Architecture — Edit Path and Fan-Out" id="02-high-level-architecture">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1350" pageHeight="470" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="_st1" value="Clients" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="60" width="170" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.cweb" value="&lt;b&gt;Web editor&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;local replica&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#8c8c8c;fontColor=#333333;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="40" y="90" width="170" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico2" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAB40lEQVRoge3Yz6sOURzH8dfjXlfuQkoW6ooiIUk2imRna+kvYCMLUlIsWNhYKFtZKUp3y80/YGOHKD+6RCGJErnyazF3MsbM85z73HnmTDnv+tQ0c2bm8znnzJyZL4lEIpH4n+k1dJ21mMJKfMFjvG7o2iNjChfwFL8q9ARnsTqWwTrGcE7W01XGy/qEo5ob7UWxAjPCjJd1DRPtW/7DOG4bznyuqyKOxPkAgyE6jD24IXtOPmMWV7B9VObX4WtDAb73OfYDZ4xglC41ZD5UJ5s038PLlgPMYUOIuSUBbTbJ3vltMoFDIQ1DArRtPmdvSKOQALFW0kXfdxlO4IV253+uOyEmx2v2b8U0tgTHbZ57w564Ex/E6fWynuE4loeaX4VXHTBe1kNsCwlwuQNm6/RuUIg1+NYBo/30SGk6FV+jB7G0X8IOsBlH6g5Oi9/DIZotmi6OQKwVd6Gsl33e4O8AUf+WFsjGfKMYoPNVhAKT+UYxwIMIRoblTdXO3eI/oCGakxUX/qGHux0wOEg3q8zn7JP9l8Y2Waef2NUvAJzqgNE6XRxknmwqnZ5PG9twUdfVf/5Xsh/3O2D8I46pKbUMqr+MzQc5gB2y1Xqy7xnN8BbPcUtWknzfwj0TiUQikWif37lJeEKjXHZHAAAAAElFTkSuQmCC;" vertex="1" parent="n.cweb">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.cmob" value="&lt;b&gt;Mobile viewer&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#8c8c8c;fontColor=#333333;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="40" y="210" width="170" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico3" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAB40lEQVRoge3Yz6sOURzH8dfjXlfuQkoW6ooiIUk2imRna+kvYCMLUlIsWNhYKFtZKUp3y80/YGOHKD+6RCGJErnyazF3MsbM85z73HnmTDnv+tQ0c2bm8znnzJyZL4lEIpH4n+k1dJ21mMJKfMFjvG7o2iNjChfwFL8q9ARnsTqWwTrGcE7W01XGy/qEo5ob7UWxAjPCjJd1DRPtW/7DOG4bznyuqyKOxPkAgyE6jD24IXtOPmMWV7B9VObX4WtDAb73OfYDZ4xglC41ZD5UJ5s038PLlgPMYUOIuSUBbTbJ3vltMoFDIQ1DArRtPmdvSKOQALFW0kXfdxlO4IV253+uOyEmx2v2b8U0tgTHbZ57w564Ex/E6fWynuE4loeaX4VXHTBe1kNsCwlwuQNm6/RuUIg1+NYBo/30SGk6FV+jB7G0X8IOsBlH6g5Oi9/DIZotmi6OQKwVd6Gsl33e4O8AUf+WFsjGfKMYoPNVhAKT+UYxwIMIRoblTdXO3eI/oCGakxUX/qGHux0wOEg3q8zn7JP9l8Y2Waef2NUvAJzqgNE6XRxknmwqnZ5PG9twUdfVf/5Xsh/3O2D8I46pKbUMqr+MzQc5gB2y1Xqy7xnN8BbPcUtWknzfwj0TiUQikWif37lJeEKjXHZHAAAAAElFTkSuQmCC;" vertex="1" parent="n.cmob">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st4" value="Edge &amp; admission" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="260" y="60" width="180" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.afd" value="&lt;b&gt;Front Door + WAF&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#4a3200;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="260" y="90" width="180" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico5" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAABzklEQVRoge3XsYsUMRjG4efURgQbQQ4OxSu2EEEEwVo7Qey8VlGxFnv/BnsFCy0Ee7sDRXsrUQQREexszgOFc3HXIg7sjJPc3TK7k4H8IEXyzYT3JfnyJRQKhUKhznEc6FvEPBzBa0zxEaN+5eyf64L4qn2zBxM5LdWxRn8Nb3A69VNOBtpYxUsJE7kbYBcTh1rGjuLgIhVFOJyIrWITl/Ap9tF5fFZPpNxaMrE3MxC4l/ZV2CWo58BazFlmnMTFqjNr4OfSpczHb7yvOrMGHgtLlDMT3BFyFaw0PjinvxJ+BTcS8Qlu4uly5Oyfe+KJ+0fE3BAK2QS38KQtmLuBpHjaK3Ff7DT6ne75q/iAt7jQxYQtrOOHsOfHwvW6Ezb+TVgl1LuuJm7hFG7jbFcTNsVPDafguSZUveaRNggDMfGDMJASn52B5lViA8+kj9cpvixMUZotPMLDtuBl/ydsjm0i3NlQr8T35VXYYqzgTNWZNfB9+VrmZtw2uC68OfveIru1bTOvx2YSj/BK+nk5xoNEfJHs4LlwrYkykl6JrI7RGCkTgzBA3MRgDNBuYrtXRXPQNPGiXzl1mqdQjBO4i1/CCbS1MEWFQqFQWCZ/AdclH6RcD+9yAAAAAElFTkSuQmCC;" vertex="1" parent="n.afd">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.adm" value="&lt;b&gt;Admission service&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;authn, capability&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#1a2b45;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="260" y="210" width="180" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico6" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAACpUlEQVRoge3YTYhNYRzH8Y+3iLzkbZoSdhJZkI1YUWzYWbCxJCU1ZShlpVhQKIoFG28pKxaKDUnyUtTQZJCExZSJEYMMFs+cXMe5955z7jn3jppf/evWfc7/+f6e5/+8nMOIWqsxJeWdhA3YhMUYQG9JfRWqZTiJfvyKxRPsxuyW0VXRHAGsx7/QSfED17ER41rACyYMAVwZAkoDnhTvhRlb2izwWiXSaJRWYvOxDy9yQOWZnW+4jPUaKLFGS+QBdmIGFuGgsAuVXmLTcUS+EnmDA1hQJff4oUG5mnNQ7mNdLfjJeJQx6QDOY61sZ0o7dqErY38/saVa0r0ZEt3BVkzLAF1Ny3EcfSn77sOUpEQ36zz4FkexpADoJI0XFu4lfK/DsjopwdOEhgO4INReWdeOJEUl9iSB6Rc2Rw1H10n0CS/RjcEySKuoF8/wOstDSTMQxaA/x//YIkljahcOs1c1WP6agbQG4mvhIOYWBD0aa6Sr/UIMRFF5KcuzPqYJh93zjP0WZqAyeoSpn5UCPLpPfWmgv8INRPEV57Aqljsa7ax9DDbbQGV0oQOn8Tnjs++wHwtbaSBP3Pb3i87EegbK3BLT6oOwAx0TDq5MaqWBhziFs8KCzqVmG+jHRZzA4yISNtPAGewQFnRhqncXKlLdCoanuQZK0YiBVuu/NzAcDrJqasOeeo0qDXwsjyWT2tCJbcJVIkkfoh+VJXSrRKg0asNh4RW2Q3X4r7iX9Mds4R20rItaZx3wtDfWvbVGYR6uNclAVvA+bMeoWgYirRC+i5ZhYKbwTp0WvH+ofa6PaCtxoyADh2Qf8X2Ymgc8rjJmpJQRb6WRUsHLNNJU8LgaMdJS8LiyGBlW4HHVMjKsweNaKXyW78Zd4atdIdvhiEZUsH4D+zfN9JHFLwAAAAAASUVORK5CYII=;" vertex="1" parent="n.adm">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st7" value="Session tier" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="490" y="60" width="170" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.router" value="&lt;b&gt;Session router&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;lease + epoch&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#1a2b45;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="490" y="90" width="170" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico8" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAACpUlEQVRoge3YTYhNYRzH8Y+3iLzkbZoSdhJZkI1YUWzYWbCxJCU1ZShlpVhQKIoFG28pKxaKDUnyUtTQZJCExZSJEYMMFs+cXMe5955z7jn3jppf/evWfc7/+f6e5/+8nMOIWqsxJeWdhA3YhMUYQG9JfRWqZTiJfvyKxRPsxuyW0VXRHAGsx7/QSfED17ER41rACyYMAVwZAkoDnhTvhRlb2izwWiXSaJRWYvOxDy9yQOWZnW+4jPUaKLFGS+QBdmIGFuGgsAuVXmLTcUS+EnmDA1hQJff4oUG5mnNQ7mNdLfjJeJQx6QDOY61sZ0o7dqErY38/saVa0r0ZEt3BVkzLAF1Ny3EcfSn77sOUpEQ36zz4FkexpADoJI0XFu4lfK/DsjopwdOEhgO4INReWdeOJEUl9iSB6Rc2Rw1H10n0CS/RjcEySKuoF8/wOstDSTMQxaA/x//YIkljahcOs1c1WP6agbQG4mvhIOYWBD0aa6Sr/UIMRFF5KcuzPqYJh93zjP0WZqAyeoSpn5UCPLpPfWmgv8INRPEV57Aqljsa7ax9DDbbQGV0oQOn8Tnjs++wHwtbaSBP3Pb3i87EegbK3BLT6oOwAx0TDq5MaqWBhziFs8KCzqVmG+jHRZzA4yISNtPAGewQFnRhqncXKlLdCoanuQZK0YiBVuu/NzAcDrJqasOeeo0qDXwsjyWT2tCJbcJVIkkfoh+VJXSrRKg0asNh4RW2Q3X4r7iX9Mds4R20rItaZx3wtDfWvbVGYR6uNclAVvA+bMeoWgYirRC+i5ZhYKbwTp0WvH+ofa6PaCtxoyADh2Qf8X2Ymgc8rjJmpJQRb6WRUsHLNNJU8LgaMdJS8LiyGBlW4HHVMjKsweNaKXyW78Zd4atdIdvhiEZUsH4D+zfN9JHFLwAAAAAASUVORK5CYII=;" vertex="1" parent="n.router">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.host" value="&lt;b&gt;Session host&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;the sequencer&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#1a2b45;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="490" y="210" width="170" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico9" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAACpUlEQVRoge3YTYhNYRzH8Y+3iLzkbZoSdhJZkI1YUWzYWbCxJCU1ZShlpVhQKIoFG28pKxaKDUnyUtTQZJCExZSJEYMMFs+cXMe5955z7jn3jppf/evWfc7/+f6e5/+8nMOIWqsxJeWdhA3YhMUYQG9JfRWqZTiJfvyKxRPsxuyW0VXRHAGsx7/QSfED17ER41rACyYMAVwZAkoDnhTvhRlb2izwWiXSaJRWYvOxDy9yQOWZnW+4jPUaKLFGS+QBdmIGFuGgsAuVXmLTcUS+EnmDA1hQJff4oUG5mnNQ7mNdLfjJeJQx6QDOY61sZ0o7dqErY38/saVa0r0ZEt3BVkzLAF1Ny3EcfSn77sOUpEQ36zz4FkexpADoJI0XFu4lfK/DsjopwdOEhgO4INReWdeOJEUl9iSB6Rc2Rw1H10n0CS/RjcEySKuoF8/wOstDSTMQxaA/x//YIkljahcOs1c1WP6agbQG4mvhIOYWBD0aa6Sr/UIMRFF5KcuzPqYJh93zjP0WZqAyeoSpn5UCPLpPfWmgv8INRPEV57Aqljsa7ax9DDbbQGV0oQOn8Tnjs++wHwtbaSBP3Pb3i87EegbK3BLT6oOwAx0TDq5MaqWBhziFs8KCzqVmG+jHRZzA4yISNtPAGewQFnRhqncXKlLdCoanuQZK0YiBVuu/NzAcDrJqasOeeo0qDXwsjyWT2tCJbcJVIkkfoh+VJXSrRKg0asNh4RW2Q3X4r7iX9Mds4R20rItaZx3wtDfWvbVGYR6uNclAVvA+bMeoWgYirRC+i5ZhYKbwTp0WvH+ofa6PaCtxoyADh2Qf8X2Ymgc8rjJmpJQRb6WRUsHLNNJU8LgaMdJS8LiyGBlW4HHVMjKsweNaKXyW78Zd4atdIdvhiEZUsH4D+zfN9JHFLwAAAAAASUVORK5CYII=;" vertex="1" parent="n.host">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st10" value="Record" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="700" y="60" width="170" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.oplog" value="&lt;b&gt;Operation log&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;Cosmos DB&lt;/font&gt;" style="shape=cylinder3;boundedLbl=1;backgroundOutline=1;size=11;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#1e3a1e;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="700" y="90" width="170" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico11" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,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;" vertex="1" parent="n.oplog">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.lease" value="&lt;b&gt;Lease &amp; epoch&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;Cosmos DB&lt;/font&gt;" style="shape=cylinder3;boundedLbl=1;backgroundOutline=1;size=11;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#1e3a1e;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="700" y="210" width="170" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico12" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAYAAABxLuKEAAAABmJLR0QA/wD/AP+gvaeTAAAKS0lEQVR4nO2beYxV1R3HP+fct8zGDrIpM6OoDEOlqMhQFUFocax1o4gYSVkUNSZobW0jNkIlLlgFRaUhRmxq1BSrbbViU4xCDBJREgsilBEEGZaBGYbZmLed8+sfszBveG/m3ffujKaZb3Iy9757z/f3O9/7O/sZxXeAhWsO55wKZk1RqBKgBCgE+jQnPxAFDgHfiJLPETb1q+33wfOLVLi7fFTdZQjg9rUnLxZl71QwmyYR3KAGeE1r89yffzFoTxe4F4duEebWtVXn+JR6SmCWBzaNEl4O4//dm/N7HffCv0TocmFuW3viHuBpIMdbZlWBkvmvz+u/3lveZvauIAWY+8o3WWHpvRqY11U2AKuUWvz6vP7LvSbuEmFKV0mwT+6J94CpXcHfHgp58o0FAx/yltNjzFwnjq478RdghtfcHUHg1+sWDHjGKz7tFVELVG3VMhGZISJ0Z0Jk+cyXKq/2rBxeEQHMWFs5QVs2A046+QMORExGLhwIK/nBOwsG1WXEgocRs3CN+DHyihVxrAhuklLCPRMdVt8cYNr52lXedik/YMSTtsYzYY7pqllWKLICbhLAHZf5uPQcB6Vg9jgfpaMcVxxtk0Hdd9Mfj56VaXk8E0as/ZXbLwzCXSV+SvLja97MsT6mph85OcbRCzItjy/djDPXSSBSXTHOoicAkyz80E1+rWDhxAAl+Wd+GwXMucSPFdhQlkajI8wDnnCfMd4HVyhdU3GeFu6maeA2IB2jWsE9EwNcUdBxGy3Anz6P8u89MfdGjBn93r3DdqXjH7iImKkvlA8IaP8KLLfbDKqgVnB3SeeiQNNXm3tpU+S4FUe0MwnoWmF+8uLRWUrxvEUGIemaAqXg7pIgVxam3psrYP54P1bElTgijEvDxVZ0Ksz01Ud+K8KTkoEg0FTAOy4LcNW57oc4LXmthQ1lqYmjlBS4NtTOZmKIqKmrj6xUou7LxECLkYUTAky/0J8Rjwg8vznMxn2diyOwXymZ0xA227Y8cE6jW1tJhZny4uFfKlEr3BImMnDnhADXZihKC6zAc5vDbEpBnGZEBTZr1JqT/sFvbbtLRVPJlFCYq5879COr1Uaalhkzwo3FfuZfGsyUJg5WYMmGEP854rq3OoSo+zcuGvrXzl48Q5jSVWXBBnJ3AwVurSZCr6BicF7iwLxpTICrCpM3c2/uiLC3yiZ8trPCUN2YdsP3dpjgvE8XDahN9sIZXtWRexeSWcPVFjUhoSaU+NneKtOhMB98HeXgycTCZIib/SpUcOWqI9d8vGhowuXRuPHIJWsO54iVhzKYxLlK0klXJ11p38rFxpoPJ794LC+R7bjP5T9lbjKoIS7VTxudVYS2E80uwphQNPISTbsWcYiLGCNyvRGhu1Jnhe4WP6zcOn5F+S1JhRm5qixoRV2T7nQ/ndRZMEi3+SLLJi+VuNrTepMbC4w0Ir078dVTdNbGGGmKmm7ABSfzymcBr7X80CqMjUm+6tZ9yRQihpZ1m26AyC0kEkZEj7CZzBDTQOdtTFPqJvz4oj8czd3+4JAGaCOMURKku75OMxzdsb3TK33dgmxRjWOAT6FtxBh7TLqgKjkaLhygGdlfU9hXkd9XMzBHMSgH+uR0PON4+foglQ2G4w3CoTrLNyeFfdWWL49Z6iPe+4qRfNoLE0Pt9ipisnwwucDH5HzNuCGa3MBpxQ1QJQ7lyuGUaEZ0wHNA+dG5DoU5MYrPOj2yMAJ7qixbyi3ry2IcrfcoqkQNa7lsFSYYbtjZGMgOAVnp8mb7YM5YPzOLfK1iNKLYKkF2E2C/+KnAhwEQ+CkRRpD8yMur0pvDtkmQXmLJJ8pIFeUiFaZoYIyigZq5Y31sKTe8sDXCgZrMBBKhsuU6rvLkP7Z3PVCaDumQPMXqa7MY3qupIKfQ/F3y+ESyiCVZ3bjEF+OGQOI6YYGVjdnUJKnfBUT5uapjZPMqQswKyz6O8K+v01gfboYoueLbxSM3Q7spgUG9rUTSEuapaadFAXjW9uXbTlYttsV8bIult1GxHz8rpT8PUcXZKoZPKx6ZFGR3pWVfdVoTTwlEKWu5ifMqGqh7wxfKfRqXp520hvP6uWu5bcxgjMHEzOm4FVqvtdZon4PjOKgkAyyFoNs8chQU9lN8fSKtKvXp3qUjj7XcxAlT8eDYhiG/L3sWxRI3jFbgrQMxZhWejpD79Un+YXPZTDaN4SihUyEioTDRcIRoJIKkOjtU4PP5CQQD+LMCZGVnEcjO4gId5WZdzzBOV50DtZat9Sat0bJSrGt7f0Ycx7LMMzrk3AEMT5lU4NVQjPBeuK3Qj09DDpbZuo6fSR0fiI/PxHLAGCLG4qr3E7DWoqxhoI0yWizXUE+hjq8u244ZVlRFabSdT04ToEGs7424MiV6a+DSPdcJvJPseXsoDfmT/DiOZohoSoOKaUMdegXOzG6ACnHYF1WciArVRoiIot6CRcjVioCCXloY4FMM9cG5PkswwajcCnx2zLC+xvKFFoyxHN8Vpf6oO2VE8ciJJRcsiytTspf7LdmzHOQ3qRArBwonBXAcjXYctOMQQDEqZhnjF8b2VhT0Vvh15iPIigbLjhrYEYKdSlPtCNZYrDEYY6n4Kkr9UVeN7/7c2pzR5SvjdxKSdgnVX52/uPfoPSMQbu2MOdHIPuYodgX8/Ndx+JvRONWKsyKWwbEYfRH6aUsfLeQ5TY1mlhb8WlHX3GQ0GKg1UCOak6I4rjVHA34aHTB+i9UGayyY+L1twdX8qs7RckN7UaCjDbc3lald+tGcXDsspJC5HdKn4Ig4muN5Pqp0FlprlFYordGq6TruXRHECtZaRGzrdSIh2sPF/CqmRG6rfrRoe6KHHQ8ilk6JNcC87Id37UDxOJBwH6Sb554dQppX5jrBcdFqVmhZ0UfJXkhpc77xsaIVRjHeIpuSn3X5fsBCQv9aE7JJRMaHHh2VVBRwcdohsqxoBzDZWbyzVAkPoJhKc+P9PdIFmzxivhBRD5snRqd0YNr1eNw8Xvw+8D4PfzEc47tBKy5H1DigyC1XV0CalkNPIRxCcVBQG7C8y/LinW54PFmBmfjJwexIJHaqbXetHd2m+27zV+uMGt+Wbtka03rf9vdIyNy7ffp5qzMtk+fnfL9rOH6S7Hu6w/+dMF6hR5gk6BEmCXqESYIeYZKgR5gk6BEmCXqESYIeYZKgR5gk6BEmCXqESYIeYZKgR5gk6BEmCXqESQJPhKktrzWktInSDZDU/rukM3gizM5biiMK/ukFVyroYD22xmjT4ep/qvCsKkXC2bNRvOcVXxo4ooXS7VPOL/eCzDNhtk8f0rD1ivzrRNSNwBaveFNAJUqewBcetXVygWd2u+zI8+VbjxT7fL4ZyudMcxxdoh3H79UugbV2v4mZD601608EK9/dWVzs+RnObjkLPvHgwey8hv7FyuEiRzlF2lHDlVZna60GK+X0UVoFgL7N/tSJSEys1FlrKxF7WKwcMdaWSczuCIfDX24cO8CT6tIR/ge27CY8KY2l7AAAAABJRU5ErkJggg==;" vertex="1" parent="n.lease">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st13" value="Fan-out" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="920" y="60" width="170" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.pubsub" value="&lt;b&gt;Web PubSub&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;presence, viewers&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#4a3200;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="920" y="150" width="170" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico14" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAABzklEQVRoge3XsYsUMRjG4efURgQbQQ4OxSu2EEEEwVo7Qey8VlGxFnv/BnsFCy0Ee7sDRXsrUQQREexszgOFc3HXIg7sjJPc3TK7k4H8IEXyzYT3JfnyJRQKhUKhznEc6FvEPBzBa0zxEaN+5eyf64L4qn2zBxM5LdWxRn8Nb3A69VNOBtpYxUsJE7kbYBcTh1rGjuLgIhVFOJyIrWITl/Ap9tF5fFZPpNxaMrE3MxC4l/ZV2CWo58BazFlmnMTFqjNr4OfSpczHb7yvOrMGHgtLlDMT3BFyFaw0PjinvxJ+BTcS8Qlu4uly5Oyfe+KJ+0fE3BAK2QS38KQtmLuBpHjaK3Ff7DT6ne75q/iAt7jQxYQtrOOHsOfHwvW6Ezb+TVgl1LuuJm7hFG7jbFcTNsVPDafguSZUveaRNggDMfGDMJASn52B5lViA8+kj9cpvixMUZotPMLDtuBl/ydsjm0i3NlQr8T35VXYYqzgTNWZNfB9+VrmZtw2uC68OfveIru1bTOvx2YSj/BK+nk5xoNEfJHs4LlwrYkykl6JrI7RGCkTgzBA3MRgDNBuYrtXRXPQNPGiXzl1mqdQjBO4i1/CCbS1MEWFQqFQWCZ/AdclH6RcD+9yAAAAAElFTkSuQmCC;" vertex="1" parent="n.pubsub">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st15" value="Derived &amp; assets" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="1140" y="60" width="170" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.ckpt" value="&lt;b&gt;Checkpoints&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;Blob Storage&lt;/font&gt;" style="shape=cylinder3;boundedLbl=1;backgroundOutline=1;size=11;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#1e3a1e;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1140" y="90" width="170" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico16" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAYAAABxLuKEAAAABmJLR0QA/wD/AP+gvaeTAAADQElEQVR4nO2bTWsTQRjH/zNJKwl9oRRERATx5SKI4MHai1/AT+BdD3rXgx+g4F1Bv4DfQNCjoKk3RXqJPRWsilZrhPbQzTwe4u5Ok053XnYzG/L8IHR2s/PfJ/8+8+zMpAUYhmEYhmEmE6EfPLyxuQpBKwJyJlZAcaBEKKyvrV94m57JjHmw+vmegHgSJ7B6QKD7j99dfAoAMj0pgLvxQqoHAvJO2s6MAcmFKNHUCcJi2pTHXTfNsDEG2BgDbIwBNsYAG2OAjTHAxhhopo25pdmNvlLfYgYTm4aUO2k7M+barZNXBHA2Tkj1gIAtvBy0eSgZYGMMsDEGmsWXDLh0vYFzVxsQDlb2D4APrxP82FIAANkALt9sojXvFuR+D9h4k0D1B8ftRYFT5yVkw0GEgN9fCTtflNXl1h9z+Yx0MgUAGjPA0ul8k/BEWzibAgCthUHf7HheuJkCAAJoLxZflsJDyQAbY4CNMZAXX4Wh7wxKgv6/htsxdIr6ae81DedLhYZ++mqE6rj4efhxPSnOjEEjM4aoGleIcm2igN82UR4jEYjcxz3B/nNqxhQF5hzHSN9QjWAdsu+bD6Uqh1Fdim/a1wLrjPGFUEHGwPOhVNuMKUMrRNOv+HrcyJKyM8bXaD17i9Ayxqb6eswAyxgDIzoOY8KkUUCeMe63sYsF4SOgbB0bpmuCVxSDNiDyjLHbv/EKJLQ2DOuQp0mFI+nItVKFxXcSF0uVz3xHZqwl6YTEY8NkZswYNA49riurvekiMkQDhxeRXjVGi+Uo9MnI+NdKMXV8MkaNaa1USq2Cn07R/fW3Kp/g6dqxE8alr/2eb1lTVl/G4cxR8xgKveEx96pio6ripZLDItKX4eJQykTGV8dnEVk0wfMIY1i7rAmed0B+GVMs6kWdakwVS4KtTwlmWzMQDlsy/YSw3e1n2vt/Cb+2FVrzbl+A7vcU9nqU6fR+KswtC7c/MiBg97sqP2O6nQTdTuIQySgqAT6+OgjSAIC9XcLm+7BYihjL1uYkom1UsTM6esb0YgZSBwTwJ21n5YtAz7OqPaUvAj3TTMp58ai3SpArRJiqfxYVAgdQsnN7rd2JHQvDMAzDMEwo/wAFuQyS0451NQAAAABJRU5ErkJggg==;" vertex="1" parent="n.ckpt">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.assets" value="&lt;b&gt;Assets&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;content-addressed&lt;/font&gt;" style="shape=cylinder3;boundedLbl=1;backgroundOutline=1;size=11;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#1e3a1e;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1140" y="210" width="170" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico17" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAADIUlEQVRoge3aTWwVVRjG8V9LkW+kwYDY6kLxC5QNJEIMECEGNSa6MCaGHStXrtyqxI0xJLCCDTGBBRuCiSQuTIgxhAUsABP5SAQlCFhlYaB82AqNdfFO06E9U+5M7+29rf0nbyY9M3Pmee85M/Ocd8o0zaVtHOfOwoosuvBEFp2YjTnZMf9kx9/AAK7jGv7ErziHK1VFlEmgE5vwOtbjOXRUvfAIbuI0vscRnMK/9ei4TQg+KH7JwQmKK/hMjGxlVuCHCRSdir/xqZiKpXgFt5osPh9HxH01ihkFbSfwWNmsG8jT6MexkTvaEwcvFU+TVmN1qjGVQKqtFUjqalWxNTMlE7gt7vxWo7fMwV9p/qMzH31YWyaBDuxrAeGD+AtvlRGfZzOON0n4HezG4qri86zCTpxvsOi7+A4fYmFVsV3Yj2UF+7vxAb7At7ikmtG7IVznfnyM1xTYBbyNHakdKTvdjavixjmAPfixoOM8S8RbfEnW76Jc//1Zf/1iHfB79vdYzMF7+AhrcBjv1qBDt9G/1gV8iS1YUEsnFVmObTgkplNewzepE8YagSIGREIXcBG/ZNurYmHSl108da1FmCsWR89msTzbvihGsIjkCFRZUXUYXkqORa9IZpaYDkXze1zUa0mY4tEsGsqU9EKTilQCdakGNICkrlQC19HTWC2VOF3m4LWGbXUrROGifixewtEmC+/D9irih2jDG/ga9yZQ+DV8jieriF6A5xPti/E+9uJn8Uaul+BbYrQ/wTqjyz3tCqoSRVbikjBxu/BbQaJzxdt4ZXbO49l2vmEj1+lBI3dXPCT+EA+Ky/gp2w4mrtGON0WZsUcFMzcgTNRWE/BWzfGyKClezGlJmrmHWYkZeCeL+zgpqmMnDRu5O+MU2yXM3At4FRvwVK0nl/FCM8X8XDeivUckc1lMlV4xVfrE3J4pptVCYermibLlM8KJziuhYRT1MHNDHzY21qGv0kxJLzSpmJIJTJcWGxDTpcVmCP9/lBarfKnvFh+6VwnPMvSl/pGS/dwUpvEszogy43Fh+mpmPP9qMJJ6lxanmRT8B1M0bJ9FjBNdAAAAAElFTkSuQmCC;" vertex="1" parent="n.assets">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_spine18" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="220" y="190" as="sourcePoint" />
            <mxPoint x="250" y="190" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine19" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="450" y="190" as="sourcePoint" />
            <mxPoint x="480" y="190" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine20" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="670" y="190" as="sourcePoint" />
            <mxPoint x="690" y="190" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine21" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="880" y="190" as="sourcePoint" />
            <mxPoint x="910" y="190" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine22" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1100" y="190" as="sourcePoint" />
            <mxPoint x="1130" y="190" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_e23" value="checkpoint" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;dashed=1;endArrow=open;endFill=0;strokeColor=#d79b00;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.host" target="n.ckpt">
          <mxGeometry relative="1" x="0.2" as="geometry">
            <Array as="points">
              <mxPoint x="900" y="260" />
              <mxPoint x="900" y="140" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e24" value="presence" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;dashed=1;endArrow=open;endFill=0;strokeColor=#d79b00;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.host" target="n.pubsub">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="580" y="330" />
              <mxPoint x="1010" y="330" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e25" value="pre-signed PUT" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.cweb" target="n.assets">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="130" y="350" />
              <mxPoint x="1230" y="350" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="title" value="High-Level Architecture — Edit Path and Fan-Out" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=20;fontStyle=1;fontColor=#16202c;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="20" width="1260" height="30" as="geometry" />
        </mxCell>
        <mxCell id="rule" value="" style="line;strokeWidth=1;html=1;strokeColor=#c9d3de;" vertex="1" parent="1">
          <mxGeometry x="40" y="50" width="1260" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg26" value="" style="rounded=1;arcSize=30;html=1;fillColor=#f5f5f5;strokeColor=#8c8c8c;" vertex="1" parent="1">
          <mxGeometry x="40" y="380" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg27" value="External / third party" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="70" y="370" width="130" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg28" value="" style="rounded=1;arcSize=30;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
          <mxGeometry x="230" y="380" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg29" value="Interface / broker" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="250" y="370" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg30" value="" style="rounded=1;arcSize=30;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
          <mxGeometry x="380" y="380" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg31" value="Application we own" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="410" y="370" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg32" value="" style="rounded=1;arcSize=30;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
          <mxGeometry x="540" y="380" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg33" value="Data store" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="570" y="370" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg34" value="" style="html=1;endArrow=none;dashed=1;strokeColor=#d79b00;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="660" y="380" as="sourcePoint" />
            <mxPoint x="680" y="380" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg35" value="event / async" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="690" y="370" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg36" value="" style="html=1;endArrow=none;strokeColor=#5a6570;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="790" y="380" as="sourcePoint" />
            <mxPoint x="810" y="380" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg37" value="synchronous" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="820" y="370" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="note" value="Editor sockets terminate on the session host; viewers and presence leave through managed fan-out." style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="400" width="1260" height="20" as="geometry" />
        </mxCell>
        <mxCell id="foot-rule" value="" style="line;strokeWidth=1;html=1;strokeColor=#e3e9ef;" vertex="1" parent="1">
          <mxGeometry x="40" y="420" width="1260" height="10" as="geometry" />
        </mxCell>
        <mxCell id="foot" value="v 1.0   ·   owner Platform Architecture   ·   date 2026-10" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=9;fontColor=#9aa7b4;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="440" width="1260" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
