<mxfile host="app.diagrams.net" agent="architecture-diagram" version="24.0.0">
  <diagram name="Leaderboard &amp; Counting Service — Integration Surface" id="09-integration-surface">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1500" pageHeight="700" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="_h1" value="Who calls in" 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="450" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.be" value="&lt;b&gt;Product backend&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;server-to-server&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="70" y="140" width="390" height="70" 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,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABmJLR0QA/wD/AP+gvaeTAAAFpklEQVR4nO3dX2hTVxwH8O/vZjWJTfq01c4/4J8KhUFlHdKhON9GC02hldCVsT0NX4a++DTZQ0CYyFAQh2Jgj+JKhUjqtI9alME6nfqQUVhrSrI13RgM05g0NPfsrZts2nPueu9Nvd/PY/I7+R04X9LL7Tk3ABEREREREREREREREREREb1qxMmYwcHBDwEcVUr1AGhd5zmRmQqA+wAuT0xMXAWgTAYbBSCZTIZqtdoVACMm48gzVyORyEfj4+MN3QGWyadXq9XPwcVvZqPVavUzkwHa3wDJZDJaq9V+AxAznhZ5qVwul9tv375d0ynW/gZYXl7eDy7+RhBvbW3dr1usHQCl1BvO5kNesyyrXbtWt1BEjK4XyD8ma8VFDTgGIOAYgIB7ze8J0N82bdqEvXv3IhaLYXFxEfl83vWeDEATsCwLIyMjGBoaQiQSWX29WCwinU7j4cOH7vV27ZNJi4jgxIkTGB0dfW7xAWD79u1IpVI4ePCga/0ZAJ8dPnwYhw4deuH7lmXh2LFjaGtrc6U/A+Czvr6+NWs2b9780pD8HwyAz3bv3q1Vt2fPHlf6MwAbhFJG/+bXxgD4bHZ2Vqtubm7Olf4MgM8mJyfXrKlUKpiamnKlPwPgs6mpqZcurm3buHDhAsrlsiv9eSPIZ0opnDt3DoVCAcPDw4hGo6vvFQoFpNNpPHr0yLX+DEATsG0bY2NjyGQy6OzsXL0VPD8/73pvBqCJ1Ot15HI5T3vyGiDgGICAYwACzmRTqO3mRGj9mKyVyabQ351Nh3ywqFuoHYBwODwNwJ27EbSenpbL5R90i7UDMD4+XhWRL53NiTx0RvdUEGB4ERgOh78AcNV4SuQJEbkSiUTOGI1x0ieRSIwCOArgHfC4mN/KAO6LyOVsNjsGw+PhREREREREREREFARObgUDAIaHh9+s1+tvW5bFJ4X6SCm11Gg0frx582bJyXjjAAwMDGwDcFFEEk7GkytsAFkR+TSbzf5qMtBoAQcGBraJyHcAdpiMI88URORdkxCY7gm8CC5+M9sB4CuTAdrfAIODg1uVUkWTMeQLu9FobNO9JjDZFLoPXPyNwBKRfdrFuoUiwo0fG0QoFNJ+ngzPBQQcAxBwDEDAMQABx+PhTcKyLPT29qK7u3v1+QD37t3DkydPXO3LADSBjo4OnDx5Ejt37nzu9WQyicnJSaTTaTQa2r8DZYQB8FksFsOpU6ewZcuWf70nIujv7wcAXLp0yZX+vAbw2dDQ0H8u/j/19fVh165drvRnAHx24MCBNWtERKvOCQbAZ+3ter/vtNa3hFMMgM8qlYpW3dLSkiv9GQCfPX78WKvOrWcFMgA+u3btGlZWVl5aMzs7i+npaVf6MwA+y+fzOH/+/AtDsLCwgNOnT8O23XlEE+8DNIE7d+5gfn4eR44cQXd3N+LxOEqlEu7evYvr16/j2bNnrvVmAJpEPp/H2bNnPe/LPwEBxwAEHAMQcAxAwJnsCq67ORFaPyZrZbIr2N2dCbRubNvW+yUqmO3zl0QikQPQZT4l8lBuYmLiLd1ik2sAJSLHAbizNYXWQ0MpddxkQMikeGZmZq6rq+snAO8DiKxVT576E8DHN27c+NZkkKOjXolE4nUR+UAp1QM+KtZvS0qp+y0tLd9kMpk//J4MERERERERERERNSOjW8H9/f3hlpaWXtu22y3L4hPDmoht2yoUCi3W6/Xvb926taw7TnsRU6mU9eDBg08AbHU0Q/LKLz09PV+nUimtgwTa/w2Mx+M7ROQ95/Mij7SVSqWfZ2ZmnuoUm+wHiDucEHnMtm0+J5D0MAABxwAEHAMQcDwX8Apy5VxANBotKqWqzqZEXlFKVaPRaFG3Xvs+QC6XW+ns7CyKSAeAVhHhncAmopSyAZQAZLg5lIiIiIiIiIiIiIiIiIiIKNj+AhMImhS9jO76AAAAAElFTkSuQmCC;" vertex="1" parent="n.be">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.cl" value="&lt;b&gt;Product client&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;member token&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="70" y="240" width="390" height="70" 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+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.cl">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.tcon" value="&lt;b&gt;Tenant console&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="70" y="340" width="390" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico4" 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.tcon">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.tscon" value="&lt;b&gt;Trust &amp; safety console&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="70" y="430" width="390" height="70" 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+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.tscon">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_h6" value="Leaderboard &amp; Counting Service" 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="530" y="60" width="450" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_box7" value="" style="rounded=1;arcSize=3;whiteSpace=wrap;html=1;fillColor=none;strokeColor=#6c8ebf;dashed=1;dashPattern=8 8;verticalAlign=top;align=left;spacingLeft=12;spacingTop=6;fontSize=11;fontStyle=2;fontColor=#5b7fa6;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="530" y="80" width="450" height="490" as="geometry" />
        </mxCell>
        <mxCell id="n.core" value="&lt;b&gt;Counting API&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;accept, dedup, log&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="560" y="140" width="390" 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,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;" vertex="1" parent="n.core">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.read" value="&lt;b&gt;Query API&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;top-N, rank, percentile&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="560" y="240" width="390" height="70" 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,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;" vertex="1" parent="n.read">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.cfg" value="&lt;b&gt;Config API&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;versioned definitions&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="560" y="340" width="390" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico10" 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.cfg">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.ops" value="&lt;b&gt;Operations API&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;freeze, retract, rebuild&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;fontColor=#3a2b44;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="560" y="430" width="390" 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,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAAHwklEQVR4nO2ab3AUZx3Hv79n99LAJZS23MV2Smc6OjpUoGnTXCyhdRJCtLU4YyGMKFTApnXGF1rHUYdz9ByqgzO+gTdWWuwYrXVEGAm1kj+bpE0xyF0s2IFRsdIWLEnOSKVcEu529+cLWtjdu9tn77Ib+uK+bzL7e57v73n2l+f57HO3B1RUUUUVVVRRQTGDslrobj6Em0vyJSDSLU0NY+0rokHNzS+JYg2cgNA1tZuYR3VVPa0PKA96ScgdHUp6uFFjYaaEkXszvSr2DQbIvyn7q6ITu9RXtUSQedISOhlq0z8uSzjW0tAkhDhiH4V7SeHNkZ7Rc+VPNRgVXQFV1dkxADlL6I5cn7pSllClqrMATFuQqZ1z4ni6tXFNuRMNSkULQPfhPIAD1hgTdcoSLhoY+TeAvvyEiDChO90W6xprXx4uY66BqGgBAACEp+2X3MGHcKMsKRM/XbSNeZMwqpITbffc5XmWAcq1AGqr3kfM/7SE5uXU0EZZ0qhecwDA28V70BIwjUy0xr7NCck/IWC5Dk4EZqJnbTHwV2RJaWhIB/ALSbfrQLzjP8ONPenVd90in2owklZfVfSfww7DJTlNXSHzMeEZOGEIHMnrB7Sxqb6aXhV7SJYzCEkLQC0YA+GgNcZMj8l8df3JfwHQ7MkoxUwPA5h0dI8y+GC6Ldb19pqG+fJp+ydv+4/zYLieh3GD3Ed2GDJvMsJGDwwsBdCT1515kzpFqYnVjfWe5uWDPBVAfUXvZfAbltC83IwchpH/Gb8HYD38XK9mxProUHIsoiUfAPB1BrJ2Fy2BiSNzBUhPA1ACJjHtscWIpWcCGh3NEfiX9iA6L/8BR7XkTiGoGcA/HNY5A6TnCquGvgd2GC7L9av3ynwm824AbAmtGG+J3fn+RaTvaOrSlFoPYJfTy0AbG+qxIE+QngtAn8Y5AC/aYixfBXUDo68zMGjzCd5qvV48MjId1ZJfY8JaBv5rHxgRJhwYX9X4syAAWdIeI7af8Jjo815gKJB3Mnyk0M3U9Sf3qwrqAQw5hybgsSAAWVIBlMPGHxn0piU0L5cNfVHmW3Tj9H4AE5bQQmVaWVeo7029yTMRLdmK4oD09QRZ2gpIwCRi+8mQWXomoL0nskTossXM4j4HIE85mqtBvCM93HjID0CWXEVV6HsAGJbQsmxf6BMyn2maT8EKQ0LzWPs9S908kb6jKX2+WRCQAFazoR6b7Qmy5AJQC87CAUNBpicYAnjJ5jPoUZnvloOjU5cByesKAhLcPRtAlrWPyPFxl0EbeBAL5T5ywvBLXide15/apyqoB9uLiPcAqUyJpPXx6lVlFUCZNF5k0FuW0LycEfqCzLfohszvwEhbQguVDK31Ou5NvckzkfsLA5KAO0hwySfI8lbAehjE7PyY/LjUt/dElsl+MiQSUoja+idgRrXkTgVYCTdAfqrB0zfZZT9KVFV/BnYYLs8OhJqkA5pwnAx55bmWRumXrU4t0pJJmqlqYGB3gebVrAtPgCy7AO/B8JAtmSmHYWQw9XcwXrbGFAGpr2Cuw4ffrdOSjxN4A4B3HM1RBnePt8USbjlmdZggwbbqM6iDWf4OgBzfNQLomM08IlrqNzrr9QC9kjcU8/fHWxs+XMyrzmbglvQaMc3Klesw5WpbfnBBAYZ0N9+W+15QpkJXvxi+/tL5OmiLZzMVbGz9E0A6FXrVsebM84sx0Pl6Id+sVsAUK1+2Xn9Ime5LJNxvHgAyVeEt1uuF2fPds5lH65MXN4CM4wA1W+PEjHvHh/qfeKpzqJi37BXQ9KuHbzWAB6yx07kFcZmvZfuFjxHjk9bYWwtu/245c2j+cbq2Wq/+CQP5TxLChAmx9Ye7HvqDW46yC2Ao4lHg6vpn4PjRDftSMh8J0Qn7On1Z21Z7slj/Ymp9cioGnZ9j8EfyGhm9OdDm4XhY+iqurAJ0/LZDOW2atmVMoJ9KfQmumkTmEZuPCz7GXMZmZfJU5puAuR1AyNE8Q8B3tHh4F4i4kN+pshjwBpsPArjNErqo6Nc9L/NNqpm1ACLWkKGH93kdt23H9G2TpzIDAHbAefOEEwQ0afGanV5vHiizACbn7blf/3njcxdkPhZ5vq6hBM14GXPVj95dZxrGMQD3O9MSeHc4G45p8Zq/esllVclboBD8BOc91/NUCH5s8J5i/d/XFdAVehdBmGCmrQPxGlfQuankAvgJv8Hv1Z5w8/gFOjeVVIC5gp/foHNTSQyYC/gFATo3lVSAoOEXFOjc5HkLBAm/oEHnJs8FCAp+bqAjoCfLtGW2oHOTpwL4Cj9cXjWeQLfNH9C5yRMDfITfO/Nz4f1zDTo3eSqAj/B7NqNe/Mxcg85N0i3gJ/wANIPoibzOjDEmbB6I1+b9aCJoSQvgI/wAIJbXD+jJUrCgc5NrAfyEXwHNGejc5MoAH+Fn1xyDzk2uBfARfleargXo3FR0Cyzv+lyUyoBf+/bp23U2nPC7pqBzU9EVUF2FmwEoltBfvMDPUHK3wgk/xgs5wcsH4zUfqJsHXApw9G93voarr8FniOlbXhIa2doRXH0NPsXMXx2Ihz87vK027ea7VnJ/i5NIiLs/+tpSVsW5V9fv9XwDiQSLl6ozy4RpntW2LXD+KrSiiiqqqKKKPiD6Pw/dwEKqN6rBAAAAAElFTkSuQmCC;" vertex="1" parent="n.ops">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_h12" value="What it depends on and feeds" 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="1010" y="60" width="450" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.ip" value="&lt;b&gt;Identity Platform&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;member tokens&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="1040" y="90" width="390" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico13" 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.ip">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.dirr" value="&lt;b&gt;Member directory&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;display names&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="1040" y="190" width="390" height="70" 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+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.dirr">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.nt" value="&lt;b&gt;Notification service&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="1040" y="290" width="390" height="70" 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+gvaeTAAACNUlEQVRoge3Zu2sVQRTH8U8SRZP4wifBRyx8xCIISgrTWaiFhYiN/4JiayFYaSmKRbD1b7BTrEUDIsRCxUZQEEF8gvhC1mK5GHPXODPZ2b2EfOE0ew97fr+7w5nZsyyxOBnAedzDLRxsV048F1HMik/Y3qqiSJ7420CBMzkK9ee4KdZXXNuYo1DdBvoxgcGK38awpeZ6tTGCq3ije+nMjl94gNPyPf0oluMSvppfeFU8xaHmJf9hK6bFC58dP3GhaeGUa7mq06TGlSbFr8RMjeI7ca4pA9cziC/wDeO5xY8pO0kOAwVu5zZwM6P4TmQ7Nw1Ka5exMZXLwLEGxBd4FiMqZjdsatPZiw2hyTEGRuK1JBNcK8bApgQhqWwOTYwxsDZBSCprQhNjDKxKEJLKcGhijIHVCUJSCa4VaqAPO9K0JDEamhhqYJuIx1oDe0ITQw0cSBSSSvBxItTA0UQhqYxid0hiiIFlOLEgOWmcqutGJzVzBpobL5QTvgUxgMctGSjUMAybOyJsOt5bQPs+rpwatGmgwEMJm+gEvvSA+E7cVTaTYOocmdQVZ6uEVrXRddgX47YhJqsuVhn4iJd5tSQxE5N8GO+0v2w6cUc5UOuibx4Tw9iPoRjnGXiF50oji4/5nkAsQ1gRmPtZOeHrKa4JX9M76ypa51eSR4F5b5XruucYxmv///cvtyUwhCP47t/i76v+ANhTTOr+APIDN2R4r66zC81lHLuUE+1pfMhYa4nW+A0kOPlf42nd+gAAAABJRU5ErkJggg==;" vertex="1" parent="n.nt">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.rw" value="&lt;b&gt;Reward service&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="1040" y="380" width="390" height="70" 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.rw">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.whh" value="&lt;b&gt;Analytics warehouse&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="1040" y="480" width="390" height="70" 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,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;" vertex="1" parent="n.whh">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_e18" value="events:batch" 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.2;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.be" target="n.core">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="490" y="180" />
              <mxPoint x="490" y="150" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e19" value="events (signed)" 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.4;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.cl" target="n.core">
          <mxGeometry relative="1" x="-0.1" as="geometry">
            <Array as="points">
              <mxPoint x="510" y="280" />
              <mxPoint x="510" y="170" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e20" value="counters" 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.6;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.tcon" target="n.core">
          <mxGeometry relative="1" x="-0.7" as="geometry">
            <Array as="points">
              <mxPoint x="520" y="380" />
              <mxPoint x="520" y="180" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e21" value="retract, freeze" 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.8;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.tscon" target="n.core">
          <mxGeometry relative="1" x="-0.7" as="geometry">
            <Array as="points">
              <mxPoint x="540" y="470" />
              <mxPoint x="540" y="200" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e22" value="verify" 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.167;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.core" target="n.ip">
          <mxGeometry relative="1" x="-0.6" as="geometry">
            <Array as="points">
              <mxPoint x="980" y="150" />
              <mxPoint x="980" y="130" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e23" value="resolve" 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.333;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.core" target="n.dirr">
          <mxGeometry relative="1" x="0.7" as="geometry">
            <Array as="points">
              <mxPoint x="990" y="160" />
              <mxPoint x="990" y="230" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e24" value="rank changes" 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.core" target="n.nt">
          <mxGeometry relative="1" x="0.7" as="geometry">
            <Array as="points">
              <mxPoint x="1000" y="180" />
              <mxPoint x="1000" y="330" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e25" value="standings" 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.667;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.core" target="n.rw">
          <mxGeometry relative="1" x="-0.8" as="geometry">
            <Array as="points">
              <mxPoint x="1010" y="190" />
              <mxPoint x="1010" y="420" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e26" value="export" 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.833;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.core" target="n.whh">
          <mxGeometry relative="1" x="-0.3" as="geometry">
            <Array as="points">
              <mxPoint x="1020" y="200" />
              <mxPoint x="1020" y="520" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="title" value="Leaderboard &amp; Counting Service — Integration Surface" 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="1410" 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="1410" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg27" value="" style="rounded=1;arcSize=30;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
          <mxGeometry x="40" y="600" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg28" 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="600" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg29" value="" style="rounded=1;arcSize=30;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
          <mxGeometry x="200" y="600" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg30" 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="230" y="600" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg31" value="" style="rounded=1;arcSize=30;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
          <mxGeometry x="360" y="600" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg32" value="Security / platform" 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="390" y="600" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg33" value="" style="html=1;endArrow=none;strokeColor=#5a6570;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="530" y="610" as="sourcePoint" />
            <mxPoint x="550" y="610" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg34" 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="550" y="600" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg35" value="" style="html=1;endArrow=none;dashed=1;strokeColor=#d79b00;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="650" y="610" as="sourcePoint" />
            <mxPoint x="670" y="610" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg36" 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="680" y="600" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg37" 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="780" y="610" as="sourcePoint" />
            <mxPoint x="800" y="610" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg38" 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="810" y="600" width="40" height="20" as="geometry" />
        </mxCell>
        <mxCell id="note" value="Four surfaces, deliberately separate: counting, reading, configuring and operating. The client write path is narrower than the backend path by design — it can only write counters declared client-writable. Workload identity authorises every service-to-service call and is omitted here for clarity." 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="630" width="1410" 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="650" width="1410" 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="660" width="1410" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
