<mxfile host="app.diagrams.net" agent="architecture-diagram" version="24.0.0">
  <diagram name="Token Reservation and Reconciliation" id="13-token-reservation-and-reconciliation">
    <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="820" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="n.r_est" value="&lt;b&gt;Estimate&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;5 000 in + 2 000 out&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="660" y="100" width="190" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico1" 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+gvaeTAAACMUlEQVRoge2ZPU8UURSGnwVBwRBdNvKREFETrcSGZoOFFXQEEoyJNrQYK0pLO1tp/AVCawP8AhI10cJAYeFuCBhJKPiIDW5WLWYTZmfPgXsYZ+9sdp7kFvfsO7Pvycy5M/cMZPgld8ZvV4GXwBRQaI6dOipAGVgC1q0HF4BvwN+UjFfWBN6lwHR4VIGHruZ7gN8pMB0dbyWzHUKsH+hyzbaJDEvBS0JMK+w9YIXg6iTJbeBJnBOMIF/Cp7GtubMh/P97SSjdQhpH8X05c+gqtCSQSrIEfJMl4JssAd9YEriRmItGBl2F0quExhtgGvhjtmNjCBh3FVsSuAbMme0kTFvVQCpp+QQsNVABPgAntfkVoKic4xj4TLAVBMijF+ZPYCs0HwXuGnw1oO0HXgjaRUVbFLTSPvsXcD2i6wQ2BW3s/UBZiJUM2u9C7IDGd/8qsO1qquVroK0SuC/EHijascg8J8T+C5ZV6DXwnNNXiU7gpqJdBXZD8x6UtkhcLAnkgFuO2m7gjtnNBWirGkglLZ+ApQaircXLwDNgQNBuAWucFnwemK8dkziW1uK8or0naJcE3Y7iYVXQJtJa1FqAFm0sWr4GmpmA1LbXWvlnfburw1LEM8BH6p/Es4r2MbAcmvcCk4JuCHgEfI3EnDf1EloR+x7ORZz0F5iLciIFpQT20Zc3n3yxiGfxf8uERwnos2a8QLBn9W3+E/KDETh/uSoAEwQdCB/8IFj5qucJM3zxD8CNRvsBhSj3AAAAAElFTkSuQmCC;" vertex="1" parent="n.r_est">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.r_res" value="&lt;b&gt;Reserve&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;7 000 held, TTL 120 s&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="1030" y="200" width="190" 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+gvaeTAAAB50lEQVRoge3YwYuNURjH8c/cMVggkoayQNmxHKakZCULUqRkaUmWsvQXKAtlaWEjKzvNzkjZKZqSsFBYKBsszDQsjleve99z77m3+973nel86+m+73mfU7/fe57znnMPmUwmk8msYaa67js4j6PYMnk5fXmPR3gXS5jBAn63OH7gbMzAjRYITImv2FaI7pQMnIo5axk7MVfclA3MTl7LyOwpLjYkdviG61iqRc7/bMY1XBy245J43d0co8AUNgovLabncpGYOgIf//7uxpmxyezlCx7jFz5j+6AOqQYKDuLe8LqSWRQMJNMZnNJu1pWBK7iFnw1pSeGZMIGf9Es6LJiomvXHjWc1jcXTko7ur+IDFRVTVUKvcKefwwZYxlWsdj+IzYHntcoZnjfCutBDzMCu+rSMRFRPlYEpXKpPy0jM4mTVg24Dm3A7ltww9zHf3Vg2cBcfhE1bG9krfEZf4FjRWDZwQmmb2lKmcQT7i4Z1tRKvSVJ3o0Xeot6TjLqYSUlKHYHTJiccDinVeT9SR+AC9uGlsC+pk63CC5tOSS4bWBmQO6d0GtAwy8VFuYQm8Yd9XLyuapwXRqHpg6tBsaDPfDyHTy0QWRUreCgcbP0j5uQAdsRcNsAq3uJ700IymUwmkxkrfwCVrf5QLgtq6gAAAABJRU5ErkJggg==;" vertex="1" parent="n.r_res">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.r_exec" value="&lt;b&gt;Execute&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;provider completion&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="1030" y="420" width="190" 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+gvaeTAAABzklEQVRoge3XsYsUMRjG4efURgQbQQ4OxSu2EEEEwVo7Qey8VlGxFnv/BnsFCy0Ee7sDRXsrUQQREexszgOFc3HXIg7sjJPc3TK7k4H8IEXyzYT3JfnyJRQKhUKhznEc6FvEPBzBa0zxEaN+5eyf64L4qn2zBxM5LdWxRn8Nb3A69VNOBtpYxUsJE7kbYBcTh1rGjuLgIhVFOJyIrWITl/Ap9tF5fFZPpNxaMrE3MxC4l/ZV2CWo58BazFlmnMTFqjNr4OfSpczHb7yvOrMGHgtLlDMT3BFyFaw0PjinvxJ+BTcS8Qlu4uly5Oyfe+KJ+0fE3BAK2QS38KQtmLuBpHjaK3Ff7DT6ne75q/iAt7jQxYQtrOOHsOfHwvW6Ezb+TVgl1LuuJm7hFG7jbFcTNsVPDafguSZUveaRNggDMfGDMJASn52B5lViA8+kj9cpvixMUZotPMLDtuBl/ydsjm0i3NlQr8T35VXYYqzgTNWZNfB9+VrmZtw2uC68OfveIru1bTOvx2YSj/BK+nk5xoNEfJHs4LlwrYkykl6JrI7RGCkTgzBA3MRgDNBuYrtXRXPQNPGiXzl1mqdQjBO4i1/CCbS1MEWFQqFQWCZ/AdclH6RcD+9yAAAAAElFTkSuQmCC;" vertex="1" parent="n.r_exec">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.r_obs" value="&lt;b&gt;Observe&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;usage block: 5 800&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="660" y="530" width="190" height="90" 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+gvaeTAAADNUlEQVRoge3YX4hVVRQG8N/VaQQtijSTkpAwo0IKn5qHrIcoIgiivxAKZfhYEFTaQ5CmFJoPQREkQU+BBEUPQRFBvWREaWV/mEgqwTRTqMF0cnB6WDNwZs+5d+8zcycQzgcLzoH9fWvtvc9ee61DixYtWrRocQ6j00et+bgOa7AYF0/YaZyYsF+xF3/20e+ssASP4WOMYLzQhrEbN+vvIhZjCO9gtCDYnP2MzTj//wh8FfbgbB8CT+0YnsbgXATewVP4NxPEQbyIW7Ac5+FCXIOH8W6BxldiofqGS/FBxukRbMRAgd5VeDujN4L1/Qh+hfhGeznbhytmoL1RfjdemE3wV+NQxsEXWFjDHRAHfT0ewOouPu6VP087zSBTLcfhjPDvuKwLvyN2pjr+R9xfM/a5jJ9xbGsS/AJ8XiC6IaOzrQvvNcyrjBvETxlfZ3FP6QReLwh+WNy8vbCjB39rMvahAp8juDYX/G0FQuN4PqMzgG968M+IMzaJRfinwO9nepyHQfGdlkxgqMJLd2I+dhVo7Ep47xf6fqTbBJ4oFBjH0grvJrEyz2I79hdqfJ34f7mQ9wcuqJvAp4UCZ0w9hOsaTLxqxxP/mxtwb58kVQM5UjerGgyITDWJ0UJeipPJe9190g1HJx+qE3hJpKsSLKs8f9/AcRXfJe/d7pQUH4rPtBa7lW3hgwnvh0Je1R5NNA4UcEZNzV7TcInolnJCbyW8+xoGP2xq2byykJdL34i7YCwjdMr0Au7VwiBGcEPCLclAn4jyvAibCgTfTDjzsEXvCnMY1ye8lfKd3SFR1hejo+w8rKvhrhIJYb/I2b+JS2qD6d3WQtHA5NLtmibBVyfxSkb8FO6YifhE8O9l9I+avmON0BG3a6+afQxPyhd3VVyJLzPBHxStaF9wp2i6ezk8gLtNveRSrBA10OmM1h7RS2fRpNO5XGSauzLj/sZHYgUPi7plmSgA0+yT4hieEedvznCj8rqp1E6K/rdo1fuBDtbiDc3+yKW2D4+LP3wzDmS2WIRbxc4MiaxxUc24Mfwi2tW94mL6drbO5+q/5KD4sbtYpNrj+GuOfLVo0aJFixbnLv4DiMJU9M7TqPsAAAAASUVORK5CYII=;" vertex="1" parent="n.r_obs">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.r_rec" value="&lt;b&gt;Reconcile&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;release 1 200 unused&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="280" y="420" width="190" 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+gvaeTAAADE0lEQVRoge3ZXYhVVRQH8N9IjVkN4SiV9pBEZcQ8hJGQFZH0IT1FFBEUKEE9FUQF0kv0UARCQUTRx0OvPgSRWC8K+RD4IIaEEqWQOhCmaTN9UGM6PawRzr3efc+Zc/a9c4L5w4K79zlnrf//7L3XXXsfFrGwGCn8fhVbsKTQdwyPYGqefpdhOS6ba0/hN5yrR7MaDmK2h91V4dnbsRVf4WjCz984gE/xNFZmZY9DicB3J+4fw0t9niuzGXyO+4ctYBSv4FRN4r1sLzYMQ8A6MQ1yES/aOXyAywclYLOYx4MgX7TvcFNuAa/XIPIvTuNMjWdPiNHOIuDLikF/wtt4GKu7fI9iAi9gN85W8Hd67pnGAsrsAB7V+f9RhmvwnshE/Xwfx7WDEvAPXsQl8yDejRuxpyTOLhVfznwEnMD6BsSLGMVHJfGezyngZ9ySiXwRb/SJeQZXlzmoImAG9+TnjqjLtveJva3MQd1F3GtR110XV+LHhN/fRYE4cAGzIsvUxWN9/D77fxAwImqjXn6/7r55Prl7WJjF+4lrG3BFsaONAmCnKEW6cSnuLHYUBRzMFHxSpL0m+BXfJK7dWmwUs8UTuKphYPhTpNum2I97e/R3VKpFAec1f3M5cTTRP15stHUNwHSif6zYaLOApYn+junZZgErEv0dI9NmAWsT/ZPFRlsFjOC+xLXvh0mkLtZLlykdabStI/B4ov+4qFZbjVX4Q++3/+4C8qqMD6Wnzx0LyKsSHhJFXC/yqdqoNbhZ/0OwTbkCrcCDOr8tNMVaHJYmvzNXoDXiBG4WO+Q549+k/5ufxg0Z4nSQv2CTogyvk46vwyfSc/6CPdmMduB6F5Mv2iE8o/zsZonYFr4j9g1le+u3yohVncfb8HKF+86Ljci34gDs5FyMlWKRblThgGoOH+M5IaQx1sh7alFmb8qbJBDbzc8GTHxKrKmB4ikxPXKT/0KM9FAwhtfwSwbie/DAsIh3Y5kYkR34K0Gwlx0RX3Nua0og50IZFcXWhPhwMS5G6qw4mD2GH7BPpORFLKIN+A8inFqUS1sKqQAAAABJRU5ErkJggg==;" vertex="1" parent="n.r_rec">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.r_sweep" value="&lt;b&gt;Sweep&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;reaper frees expired&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="280" y="200" width="190" 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+gvaeTAAADPklEQVRoge3ZT4hVZRjH8U/j2FBp6eTCzDSjICdoEJFctOgPZCltDEJcBC3cWLgIQqlQqGhTi1y4K4j+QAstIXIXTiAi4sLKNFSC/gmWf2agbCZ1bPHewduZc859zznvnTb3B+/innPf5/k+7znneZ/zHHr6f3VDl+zehAWY3fo9hgu4ltpRqgBWYh1WYxiLcv7zN07iML7GlxhN5L+W5uNlnBZWtuoYx248PNPgA3gFF2uC540RrCjwNws7has1goVN4B/CiYTg7eMK3saNGfiPM//bWRd+Mya6BN8+juDOAvhr+KwO/LYZAG8fP2Nvwbn/BNAfAf8q3qwQ7DiO4izOCSl1EZbgnkgbd7VGY70gbsUm8AEebwEX6V5swbFIux2vQJlW458Ig+/jjlijLfVhA051K4ABHO9g6A88WRE8q1uFvSB5AJ0e2p9wf0P4KfXju5QBDCrfpM5hWSL4WfioAnxUAFtLJl/FUwnhP6wIHxVAWW3zXkL4qisfFcDKkol/CTtkCr1UE35aAH0Zw2W3x6f4rTk7wkLV1aWyk/sUR76mgdOs1grFW9XVv5zlyJYSZwscfoOv0rAjLNQKrMphKNIVHMQP7Qfz3shuM/3WGsNkNcaeeuppJtStvlBTLRBeYW/OHB/Fu8JLE6ansHXYgdsrOBvDW0JZnEo78GLBuW+FNDxNt+BP9bb3cdWCLlO/sB8V+VpaNHF5TfipkarEfrrEx49lE4cawH+SCL5PaAgU+XmnGwHscb2J21SbOvgaTh1ASvhhoWQv8jXSyUDVAFLCLxXu7zJ/j+ZNzBZtVXSmwdx2DeGA8iTwBfbHGKp6Cx3A3TXB+4QmV6fUPYrFMQbrPsQT2BXrRMjzzwpN3E62J7G+zFh7KTGE7yMh8nRV+PqyrwV3Br8LrcaFQlvxMTwh/wtOnrbjjViAsitQ5/Wv6dgeC94pgD3CLn1yhsAn8VpVeLivAH4qVQ7i8y7Dj+KZOvCEZlN7j3K3/Dz/vPJiq+7YKz4RFGpQKGM3Kt8j5uF1nE8APoJHmoLX1Rw8J2SeS+KhTwuF2YNNAVK+kQ0IfZ4HhOdpPuYK6fUifhU+aBzCLwn99tRTE/0LVTPMb3gooi8AAAAASUVORK5CYII=;" vertex="1" parent="n.r_sweep">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.centre" value="&lt;b&gt;Token Ledger&lt;/b&gt;" style="rounded=1;arcSize=6;whiteSpace=wrap;html=1;fillColor=#f7f9fb;strokeColor=#c9d3de;fontColor=#42536a;fontSize=13;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="640" y="330" width="230" height="50" 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+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.centre">
          <mxGeometry x="9" y="13" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_ring8" value="request_id issued" style="curved=1;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;" edge="1" parent="1" source="n.r_est" target="n.r_res">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1010" y="130" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_ring9" value="slot + tokens held" style="curved=1;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;" edge="1" parent="1" source="n.r_res" target="n.r_exec">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1270" y="360" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_ring10" value="actual usage returned" style="curved=1;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;" edge="1" parent="1" source="n.r_exec" target="n.r_obs">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1010" y="580" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_ring11" value="delta computed" style="curved=1;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;" edge="1" parent="1" source="n.r_obs" target="n.r_rec">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="490" y="580" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_ring12" value="counters corrected" style="curved=1;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;" edge="1" parent="1" source="n.r_rec" target="n.r_sweep">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="230" y="360" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_ring13" value="leaked holds recovered" style="curved=1;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;" edge="1" parent="1" source="n.r_sweep" target="n.r_est">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="490" y="130" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="title" value="Token Reservation and Reconciliation" 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="_lg14" value="" style="rounded=1;arcSize=30;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
          <mxGeometry x="40" y="720" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg15" 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="720" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg16" value="" style="rounded=1;arcSize=30;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
          <mxGeometry x="200" y="720" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg17" 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="720" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg18" value="" style="rounded=1;arcSize=30;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
          <mxGeometry x="320" y="720" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg19" 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="720" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="note" value="Answer to design question 3. The reaper is what makes over-reservation safe: a client that crashes after ALLOW costs the tenant at most 120 seconds of held quota." 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="750" 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="770" width="1410" height="10" as="geometry" />
        </mxCell>
        <mxCell id="foot" value="v 1.0   ·   owner Data &amp; AI Global Practice" 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="790" width="1410" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
