<mxfile host="app.diagrams.net" agent="architecture-diagram" version="24.0.0">
  <diagram name="Execution Event Log &amp; State Projection" id="12-event-log-and-projections">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1720" pageHeight="1160" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="_st1" value="Decide" 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="200" y="60" width="340" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_st2" value="Append" 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="570" y="60" width="340" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_st3" value="Project" 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="940" y="60" width="340" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_st4" value="Serve" 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="1310" y="60" width="340" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_box5" value="" style="rounded=1;arcSize=3;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#c9d3de;verticalAlign=top;align=left;spacingLeft=12;spacingTop=6;fontSize=11;fontStyle=2;fontColor=#5b6b7d;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="90" width="1630" height="110" as="geometry" />
        </mxCell>
        <mxCell id="_lh6" value="Command path" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=11;fontStyle=1;fontColor=#42536a;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="60" y="130" width="130" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.e_orch" value="&lt;b&gt;Orchestration Service&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;validates transition&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="240" y="110" width="250" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico7" 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+gvaeTAAAByklEQVRoge3YvY9NQRjH8c9aItbLJlTipSca4qUgXhLRiU7jXxCtiEqiFX8BjU5oFP4A26kkW+mWCAkauS6W2FWMTY6zNznmhbEy3+Qk986ZZ37P786cO88cGo1GoyZTve9ncBjrBuJe4T6+FcpjP85h40C/D3iId5NuXsZyxPWoQOJwBIsRui8wO2mgp5EGlrGjgIFbCboXVoK7S2VLgnhKTIkxtq58WJ8pvhfTibGv8SVTP9vAk4zYk5jL1B/8t/nnaQZqk/sMnMebxNjnmdrINzAvbCzV6C6hcaUcUnQ/Tmq8In5HPJ4g3ucovkZovtQpJfrF3FkcmtBO2DGv9+7N4dTPgXM4IBRzGwb6jfAAb1OF7ln9i1xMHawGu4T115/SmVoJxdYxI2GaT3faZvFJgbLgb7EJC36dhRF2VswpmktWPwt3qmYUyZSwZLoGvgunqzXDMSzhM65hd9100riLEzUTmLRhxTAtLJ3NuC1sakP11XvcwONM7aLcFFeCjLG9hHCp88DByP4z2FdCuJSBlHGKaK/5E1kzUJtmoDbNQG1KGViI7L+UEPNH2YNnfq+MWMTVUsK5xVyfbYaPqWPhNUqj0Wj8B/wA3nShnzCqca0AAAAASUVORK5CYII=;" vertex="1" parent="n.e_orch">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.e_batch" value="&lt;b&gt;Transactional batch&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;state + event + outbox&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="610" y="110" width="250" height="70" 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.e_batch">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_box9" value="" style="rounded=1;arcSize=3;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#c9d3de;verticalAlign=top;align=left;spacingLeft=12;spacingTop=6;fontSize=11;fontStyle=2;fontColor=#5b6b7d;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="220" width="1630" height="110" as="geometry" />
        </mxCell>
        <mxCell id="_lh10" value="Event log" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=11;fontStyle=1;fontColor=#42536a;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="60" y="260" width="130" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.e_log" value="&lt;b&gt;execution-events&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;gapless seq per execution&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="610" y="240" width="250" height="70" 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,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.e_log">
          <mxGeometry x="12" y="29" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.e_feed" value="&lt;b&gt;Change feed processor&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;ordered · at-least-once&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="980" y="240" width="250" height="70" 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,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAABIUlEQVRoge2WTWrCUBRGjz+F0g04aVyBQhchdAfdRbfQPXSoky5AKM6KCxEpHThwBUoHRVJ1EC2P16b3vUG8z3gPXHgJN3A+CMkHhnHZNLzrDLjSEPmDb2AJbEMfeAZ2ic1rTOJZAsL+fErSTefsv04pIDo1pYXUsQDauAFyNYtyRKe2cx4BT949TbbAUFvCMAzjf0L6Tx/oVC0SwRJ4D10eUHyPtVupOzlwdxSUqkSP9Fpqi8ILkAOkJv+LWpW5s6T2Ab5OYhHPj5dUncfAPXBbqU4cH8CbtoRhGEaB23U6wANwo+TiswEmwCL0gSn6VdmfuSTt/omz0KQnpCst1L4LJY8F0MYNsFazKGclLbh1+vEw15XpxJEDL9oShmFUzB4YGqve0UGgewAAAABJRU5ErkJggg==;" vertex="1" parent="n.e_feed">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_box13" value="" style="rounded=1;arcSize=3;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#c9d3de;verticalAlign=top;align=left;spacingLeft=12;spacingTop=6;fontSize=11;fontStyle=2;fontColor=#5b6b7d;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="340" width="1630" height="230" as="geometry" />
        </mxCell>
        <mxCell id="_lh14" value="Projectors" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=11;fontStyle=1;fontColor=#42536a;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="60" y="440" width="130" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.e_ps" value="&lt;b&gt;Status projector&lt;/b&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="980" y="360" width="250" height="50" as="geometry" />
        </mxCell>
        <mxCell id="_ico15" 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.e_ps">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.e_pt" value="&lt;b&gt;Timeline projector&lt;/b&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="980" y="430" width="250" height="50" 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,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.e_pt">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.e_pm" value="&lt;b&gt;Metrics projector&lt;/b&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="980" y="490" width="250" height="50" 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+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.e_pm">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_box18" value="" style="rounded=1;arcSize=3;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#c9d3de;verticalAlign=top;align=left;spacingLeft=12;spacingTop=6;fontSize=11;fontStyle=2;fontColor=#5b6b7d;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="580" width="1630" height="270" as="geometry" />
        </mxCell>
        <mxCell id="_lh19" value="Read models" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=11;fontStyle=1;fontColor=#42536a;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="60" y="710" width="130" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.e_rs" value="&lt;b&gt;Execution status doc&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;p95 &lt; 40 ms read&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="1350" y="600" width="250" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico20" 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.e_rs">
          <mxGeometry x="12" y="29" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.e_rt" value="&lt;b&gt;SSE status stream&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="1350" y="690" width="250" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico21" 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.e_rt">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.e_rf" value="&lt;b&gt;SQL fact tables&lt;/b&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="1350" y="770" width="250" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico22" 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.e_rf">
          <mxGeometry x="12" y="29" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_box23" value="" style="rounded=1;arcSize=3;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#c9d3de;verticalAlign=top;align=left;spacingLeft=12;spacingTop=6;fontSize=11;fontStyle=2;fontColor=#5b6b7d;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="870" width="1630" height="110" as="geometry" />
        </mxCell>
        <mxCell id="_lh24" value="Recovery" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=11;fontStyle=1;fontColor=#42536a;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="60" y="920" width="130" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.e_replay" value="&lt;b&gt;Replay from sequence&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;operator initiated&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="980" y="890" width="250" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico25" 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+gvaeTAAADjklEQVRoge3ZTYhWVRgH8N9Mb45pavPWqg+IQhINouiDvnBhZJsW46Io6AOCFiEEFZK1qHZFCm2iVQTVQok+oKLIKDe5sJLCJJUQysgMJWeMHD+aaXHmZa7vnPvx3vfcGRfzh7O4h+c8z/9/73POPec5zGNuMdCQ3wvQxtDU8zH8jcnUgVIJuAl3406swuURm3+xH9/ha3wmiEqGAWzBD7i1gv0ybMA+4c322sbxHu5IJeDqjPMx3JZjN4RnMVqTeKxtx/X9CljZ5TQm4kbsTUg8285gExakEtAt4gmcbIh8tu0Un0NRZCfxSuyJ2BzHh3i4gr/f8Tl+xl84PEXqYizHLViNJSV+DmLtlJ/KiH2BKu0kXhdyuMqqthD348cSv4eEedmogHdwZS9BMhjEI/itwP8vGG5CwAk8VpN4N9r4siDWxyr+r3oR8HhFchcJKVOGFt4oiPdoagGj8v8TcBf+ML08vo/zS+IPYGtOvMPCy0gmoEzEnoj9g2UEsAjf58R7IbWAIhHHIrYbKgiAFTgdGX8Ui7uNBys6zcNSYd2/uU8/WezFm5H+Nka6O7MC/qsZcAlerDk2Dy8JK103ZqRhVsAB7KgRbByf1hhXhEP4KNK/2vQZA2H56uA0bhfS4rwegp0QRKTGB3igq2+RsKH8ptPRMhNjDZCpg+05/atkBPQ7iZvEESGVurE8+3AuC4BfI33t7MNsChgqN5mBfyJ9Z23FZ1PA83iyxzGx09mp7MNsf4HX8JZQdqmCdqTveDJGBdimeAuySzilFWFQKMV0j93YDOWz0cJmTEQIdNqmEh835IxblzVqKoXO4GncJ/+Tl1Uf1ub076xLqi5WmLm9HlV+3v3JzLe/rzmaxbgQbwspNYp7SuxHxNPn5QY5VsIlyleglvzi2bWNskuEp8TJfzGXpKpijfhpbFKofJ/TuEY4NsbIb0kVZBjrhZNRbCteF2vkkz+CS1MEuUKolHUcf6v/SdUScj4vbSZwb58xEGo2uyIBxvGqHqrJGYwIxduiLcdz/RLvoF0S6JSQpw/J/9yDwvZgo/hPqrttTkW+gx0Vgnban9iNr4T7sN3C2bnK2AkJ33wWw3i3BxF12lGJcr4I60xfXKRsW3FZ0+Q7WIpnhJuUfolvM4c/qQXCxP1E9RyfFHaVrwglkr6Q8qZ+obDKXIerhI3bYmGNHxNuYvYL+/mDCePOYx794H9Cbh1a4up+xQAAAABJRU5ErkJggg==;" vertex="1" parent="n.e_replay">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.e_rebuilt" value="&lt;b&gt;Rebuilt projection&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;swap on catch-up&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="1350" y="890" width="250" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico26" 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.e_rebuilt">
          <mxGeometry x="12" y="29" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_e27" value="one write" 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=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.e_orch" target="n.e_batch">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_e28" value="append" 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=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.e_batch" target="n.e_log">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_e29" value="change feed" 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.e_log" target="n.e_feed">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_e30" value="" 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=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.e_feed" target="n.e_ps">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_e31" value="" 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=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.e_ps" target="n.e_rs">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1110" y="420" />
              <mxPoint x="1290" y="420" />
              <mxPoint x="1290" y="570" />
              <mxPoint x="1480" y="570" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e32" value="" 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=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.e_pt" target="n.e_rt">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1110" y="570" />
              <mxPoint x="1290" y="570" />
              <mxPoint x="1290" y="680" />
              <mxPoint x="1480" y="680" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e33" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;dashed=1;dashPattern=1 4;endArrow=block;endFill=1;strokeColor=#9673a6;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=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.e_pm" target="n.e_rf">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1110" y="590" />
              <mxPoint x="1290" y="590" />
              <mxPoint x="1290" y="770" />
              <mxPoint x="1480" y="770" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e34" value="rebuild" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;dashed=1;dashPattern=1 4;endArrow=block;endFill=1;strokeColor=#9673a6;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.e_replay" target="n.e_rebuilt">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="title" value="Execution Event Log &amp; State Projection" 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="1630" 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="1630" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg35" value="" style="rounded=1;arcSize=30;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
          <mxGeometry x="40" y="1060" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg36" 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="70" y="1060" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg37" value="" style="rounded=1;arcSize=30;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
          <mxGeometry x="200" y="1060" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg38" 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="230" y="1060" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg39" value="" style="rounded=1;arcSize=30;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
          <mxGeometry x="320" y="1060" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg40" 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="350" y="1060" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg41" value="" style="html=1;endArrow=none;strokeColor=#5a6570;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="480" y="1070" as="sourcePoint" />
            <mxPoint x="500" y="1070" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg42" 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="510" y="1060" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg43" value="" style="html=1;endArrow=none;dashed=1;strokeColor=#d79b00;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="600" y="1070" as="sourcePoint" />
            <mxPoint x="620" y="1070" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg44" 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="630" y="1060" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg45" value="" style="html=1;endArrow=none;dashed=1;dashPattern=1 4;strokeColor=#9673a6;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="730" y="1070" as="sourcePoint" />
            <mxPoint x="750" y="1070" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg46" value="batch" 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="760" y="1060" width="40" height="20" as="geometry" />
        </mxCell>
        <mxCell id="note" value="This is event sourcing used for recovery and audit, not for reads. Current state is materialised in the same write as the event, so no read path depends on replaying the log — but every projection can be thrown away and rebuilt." 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="1090" width="1630" 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="1110" width="1630" height="10" as="geometry" />
        </mxCell>
        <mxCell id="foot" value="v 1.0   ·   owner Data &amp; AI Global Practice   ·   date 2026-08" 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="1120" width="1630" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
