<mxfile host="app.diagrams.net" agent="architecture-diagram" version="24.0.0">
  <diagram name="Provider Limits, Routing and Failover" id="16-provider-limits-and-failover">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1760" pageHeight="590" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="_st1" value="Request" 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="210" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.p_req" value="&lt;b&gt;Requested Model&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;alias or exact&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="40" y="170" width="210" 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,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAABwUlEQVRoge2aPUvDQByHH9+6iHX05VO4OOnu7Adw6+RSxUHcLTjU2c0vIgp2EhwFUXFwKriKg9RKHc6DEC+9JPf2L/QHR0lzuXue9pJLjsA0aTOT224A+8AusA7MOrb/BTwBZ8C9Y1vWNIBrYBSgfAPt0AIHgeCz5SikwG0EgaASj5EEvErMl6z3A9wAr8AKsAMsOvTb/fs8d2jjX4r+gTdgI1d3FegV1E82nEwCQwO8zjLQlyRhEriyHNPxIOAkYZuoXiz7n+t2nEuXmhI2gTXH/VVSW0LHNIQ+USesKXPAg+GYZMOp6CrUQ52wefiLAPBOEuMmsj5wCuwBx4T55Z0lYs7EZcvJpAtUkpAqUFpCskApCekCVolJEBgBrUkX+ACaGjp7KzEsMhOWJWBbb2QFbDdukrJg+nITtXqQeojYygD1VGhMWwCgrXSK4HUOBUAWlUtKLrZJlCgNL1GiMrwkidrwEiSc4VNKeINPIeEdPqZEMPgYEsHhQ0pEgw8hER1ex4dEMngdF4nk8Dp1JMTA61SREAevU0ZCLLzOOAnx8Dot1OqBBh+gnqS8w+dfNfCZJrCFegPgDngP2Nc0yfIL5DAOWINM2XMAAAAASUVORK5CYII=;" vertex="1" parent="n.p_req">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.p_pol" value="&lt;b&gt;Routing Policy&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;per tenant + model&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="40" y="270" width="210" 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+gvaeTAAABu0lEQVRoge3XPWsVQRTG8Z8voKRQAyKkSVBT2VpoZ+F3sLESAyGVt1Kws7AL5CuIpEhMl0oJAVEs/ABKEIRUIaQxjSZFNBabizd7dy97bzLMrMwfTrFn2TnPMzuzZ4fM/8kcvuL7UaxhIqqiIdnBYSmehCh0fsC98aMYhYsVuQncGHKcfWyNIuAF/uifxRixgdvDiB9PSHw3dnGnqYHpBATXmbhbFnu2qasEuIx3SibaZAAu4S2muom2GaB4E7e6F2008EaxlGpJdRMfYsXg3gWuJyC0KpabiIdz2ExAcG8s1Yk/U2NiGh1ca+I4IL+wjkWFkUxy1C2hk/IKY6XcIlYD1Tt1dvVvxKchCrWxkR1j0BJ6gOeYHGHcKxVj7ykOKMPyG5/wCD+aPtQR/9tfjpdtFt9tZn2U90AHC02dpkCvgVktE89xAzPRVJyAXgPzisN8q+g1sIyHOIikZSTKm3gJj7XoTVR14teKppGaiS9VyUGd+D6e4WYQOc05wAfFJ/5nZC2ZPkKdBzq4UMq9x+dA9U6dfB5oSjYQm2wgNtlAbLKBGr5V5DZCFAr1K3EV9/yboG18DFQrE5W/V1Bki2L2FtoAAAAASUVORK5CYII=;" vertex="1" parent="n.p_pol">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st4" value="Selection" 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="330" y="60" width="210" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.p_sel" value="&lt;b&gt;Provider Selector&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;weighted + health&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="330" y="170" width="210" 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+gvaeTAAADoUlEQVRoge3ZT4hVVRwH8E/jjNFoLRQNpKaF/aEiV2KLahNpUZpk5qogKMgW7SJyEUWtyk27/kEZVFAYBJGRGUEF0SLK/uhQm8hSCyqkZhqncV6L8y5e7zvnvnuv89514Rd+MO++77nne37vd37n/H7DWbSLc9oW0MUYNmMjVmMJjuJzvIkf2pPWHxvwIzoJm8NLWNqWwDI8IAhMic/bfqxoR2YcG1QXn9knWNSG2CLGlIdNmd3fgt4ebBUXdwJ78DJ+SnAODl9uL3aJi9+Y44xjX4TXETJVq/hUr6j3I7y1EV4Ht2SEkUErTWBx5NmRyLPDifFLsj/aWsD3kWc3CmGTx6bE+MmFlVMfqU28TwibVcIZ8XeEc8AZcIMYxSHN0uiDLeiN4iH1xf8qF/9tYxTfqbeAu1tRWoKbMK+a+M+cAbEfw/P6i5/C5bHBo8PRCK7ErbgEFzrpzfMrjN2hxZrgGnyoWcbpYLcWQ+cO4edvKn4SFwxddRfX43gfgWX2D64euuouxoSYbSp+HtuqTFRlEy/FhHCAHBEOk06fMdtwWeK7X4TFzZeMfw9vVdBWipuxF7NO9c7PeBrLS8a+Le7V7acrqgrGhVZGv5/5T2GRMUxG+O8MVHUXi/FxZPKUzTm1isrwe4T75IC1g2dKxKbsmHD9zeNAhPfBoMVfjJkGC+jghcK73kjwHrPAp3/+hHsYOyOcb/G40Oq7DY8IaTKPY1gpbHjYImzkGKa77yrDlJCtarUW39XrsaNYVuA9GuF1cG2OM4KvE7y6NocXVWgtfhkZ/GqEN5GYaEuBt0a8JGxq0dZivqj/NyI2dg9J3U2mC5+/EYryPxL8ulgjXOySrcWdelc9i3U5ziLxM+I/6YNtAq+p3wdN2X35l+c38VVCiVe8us50BRwW7vNrIyJ3467EAjKsEBq6q/W2T4pYjvVC7VDEwa7WKPZq5pUb+ghqgnF8lJgv2VpcJ/Qo64jfMwDxGfq2FmPYlRgUs+O4YiDSA1Yl5t1aNmil+F0mZk8NSHiG7Yl5r8sIqVrzTmFjlmG/EHKzQnZayNLvPNwuZMbiATYtJIRi2u7BK9KenxKK9QzPlnAX2l6v5oPghdR14J4cb73qzanTtRlcWnUBhHT1V+Elz+W+XyZcuobl/XvriM+wyUkPf4Fzu89HhNp1WJ5vJD7DDqEdni9cnhiC8Ckh5pNhU6fjdZEQLoSiZLPB/YfnBH7DVypkm7NoE/8DplKpezcBhZ8AAAAASUVORK5CYII=;" vertex="1" parent="n.p_sel">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.p_res" value="&lt;b&gt;Residency Filter&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;EU data stays EU&lt;/font&gt;" style="shape=hexagon;perimeter=hexagonPerimeter2;size=0.12;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fontColor=#4a3c00;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="330" y="270" width="210" height="70" 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+gvaeTAAADLElEQVRoge3YT6hVVRTH8c97vjQyjVQESStCkEQQChV0GIqBg8AMI4IgUpyIRjNp0MgiB0YY4UghrYEURCQIWj2I6I8mBAlF+F9LB5mK9krvbbDvrdtxn3/3nXfOE/zC5vHO2nvt39rnrn3W3tyhWQZK9l+I57EY9+ICPsMu/FapsoqZiHdxE+1Iu4KXGlOXwyA+FheebJsa0pjJRsXEt3EDC5qRGWcQ5xQPoI09dQrMS+LF+Dry/Bd8gTWYkrD9gfuFYPJY2GmTcQbDnfGV8Yz4Kj/Ssa9Lsc/I8bsCP0TGjeAdYQEKMZhjT1vFmYm/SVoZPjdiv3iuTMQGfIUHcrQVYoH4Cl/Ftx2hSdu5DH9PSt+Kk+0bTBhtAAP4seCE3fZ2hb5eGG0AsLrEhJcxO8XPooxxsTfZxsEqAoA3C4gfwaoMH+tTxq3EPfgkYvu9qgAIyXUpRcQxLMsZ/0pk3HUMdewvR+w3la/XMpmCzxOTbFUs2Z6LCGxjr7A4sQ/m6SrFd3k/MUnRIm62UGqUSeLdeU7zvgNVcgb7SvRv4a28TnUGAJtxtmDfN3Akr1PdAZzHE/gpo09LEL9lrET0mwO93C2cHc4mfA1jSRlHdb+BLn9iu7D99rJTvPpNpakACFvv/MSzovnxL00GsBazev6/ge/KOhnK71I5A3gKOxLPPxUuB0pRRwD3YY7wc3kcT/vvQNSlhdf7cV5VAEPC8XMp5uIhPIiHhUItj63CIaYWktvol/hVuRKht1h7rS7hXZIB9Ct8v5J7fow6cqAlXDsex2Fhpzkk1EajpsoAruGAcJY9IZTCp4Ty4e8K5xk1sZ/QDkxtUlQRJuNVXPR/8dfwrIpPTlUzDz/LTswPcVdTArOYgZOK7S4fGIdvYqdyW+SaZmTGmSrcHJQJYLgRpSksFxf5nlCQHY3Y/sKkJsTGSLsKmdaxp91ez7rF0xiRdx5Iuxl7URC5NmJrZ4yrnZnK3+V8X6fAvDdwQSi6yrCrPyljx6PCSanI6h81jhK4l5XC1XmW+GPCQWbcMg8fuTUnLmObcHSsnX4++9PxmCD4vFDfj1Qp6g63E/8AKx6wsTVHQH0AAAAASUVORK5CYII=;" vertex="1" parent="n.p_res">
          <mxGeometry x="19" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st7" value="Provider guards" 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="620" y="60" width="210" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.p_rpm" value="&lt;b&gt;Provider RPM / TPM&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;global counters&lt;/font&gt;" style="shape=hexagon;perimeter=hexagonPerimeter2;size=0.12;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fontColor=#4a3c00;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="620" y="90" width="210" 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+gvaeTAAADLElEQVRoge3YT6hVVRTH8c97vjQyjVQESStCkEQQChV0GIqBg8AMI4IgUpyIRjNp0MgiB0YY4UghrYEURCQIWj2I6I8mBAlF+F9LB5mK9krvbbDvrdtxn3/3nXfOE/zC5vHO2nvt39rnrn3W3tyhWQZK9l+I57EY9+ICPsMu/FapsoqZiHdxE+1Iu4KXGlOXwyA+FheebJsa0pjJRsXEt3EDC5qRGWcQ5xQPoI09dQrMS+LF+Dry/Bd8gTWYkrD9gfuFYPJY2GmTcQbDnfGV8Yz4Kj/Ssa9Lsc/I8bsCP0TGjeAdYQEKMZhjT1vFmYm/SVoZPjdiv3iuTMQGfIUHcrQVYoH4Cl/Ftx2hSdu5DH9PSt+Kk+0bTBhtAAP4seCE3fZ2hb5eGG0AsLrEhJcxO8XPooxxsTfZxsEqAoA3C4gfwaoMH+tTxq3EPfgkYvu9qgAIyXUpRcQxLMsZ/0pk3HUMdewvR+w3la/XMpmCzxOTbFUs2Z6LCGxjr7A4sQ/m6SrFd3k/MUnRIm62UGqUSeLdeU7zvgNVcgb7SvRv4a28TnUGAJtxtmDfN3Akr1PdAZzHE/gpo09LEL9lrET0mwO93C2cHc4mfA1jSRlHdb+BLn9iu7D99rJTvPpNpakACFvv/MSzovnxL00GsBazev6/ge/KOhnK71I5A3gKOxLPPxUuB0pRRwD3YY7wc3kcT/vvQNSlhdf7cV5VAEPC8XMp5uIhPIiHhUItj63CIaYWktvol/hVuRKht1h7rS7hXZIB9Ct8v5J7fow6cqAlXDsex2Fhpzkk1EajpsoAruGAcJY9IZTCp4Ty4e8K5xk1sZ/QDkxtUlQRJuNVXPR/8dfwrIpPTlUzDz/LTswPcVdTArOYgZOK7S4fGIdvYqdyW+SaZmTGmSrcHJQJYLgRpSksFxf5nlCQHY3Y/sKkJsTGSLsKmdaxp91ez7rF0xiRdx5Iuxl7URC5NmJrZ4yrnZnK3+V8X6fAvDdwQSi6yrCrPyljx6PCSanI6h81jhK4l5XC1XmW+GPCQWbcMg8fuTUnLmObcHSsnX4++9PxmCD4vFDfj1Qp6g63E/8AKx6wsTVHQH0AAAAASUVORK5CYII=;" vertex="1" parent="n.p_rpm">
          <mxGeometry x="19" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.p_brk" value="&lt;b&gt;Circuit Breaker&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;3 fails / 2 s&lt;/font&gt;" style="shape=hexagon;perimeter=hexagonPerimeter2;size=0.12;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fontColor=#4a3c00;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="620" y="210" width="210" 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+gvaeTAAADLElEQVRoge3YT6hVVRTH8c97vjQyjVQESStCkEQQChV0GIqBg8AMI4IgUpyIRjNp0MgiB0YY4UghrYEURCQIWj2I6I8mBAlF+F9LB5mK9krvbbDvrdtxn3/3nXfOE/zC5vHO2nvt39rnrn3W3tyhWQZK9l+I57EY9+ICPsMu/FapsoqZiHdxE+1Iu4KXGlOXwyA+FheebJsa0pjJRsXEt3EDC5qRGWcQ5xQPoI09dQrMS+LF+Dry/Bd8gTWYkrD9gfuFYPJY2GmTcQbDnfGV8Yz4Kj/Ssa9Lsc/I8bsCP0TGjeAdYQEKMZhjT1vFmYm/SVoZPjdiv3iuTMQGfIUHcrQVYoH4Cl/Ftx2hSdu5DH9PSt+Kk+0bTBhtAAP4seCE3fZ2hb5eGG0AsLrEhJcxO8XPooxxsTfZxsEqAoA3C4gfwaoMH+tTxq3EPfgkYvu9qgAIyXUpRcQxLMsZ/0pk3HUMdewvR+w3la/XMpmCzxOTbFUs2Z6LCGxjr7A4sQ/m6SrFd3k/MUnRIm62UGqUSeLdeU7zvgNVcgb7SvRv4a28TnUGAJtxtmDfN3Akr1PdAZzHE/gpo09LEL9lrET0mwO93C2cHc4mfA1jSRlHdb+BLn9iu7D99rJTvPpNpakACFvv/MSzovnxL00GsBazev6/ge/KOhnK71I5A3gKOxLPPxUuB0pRRwD3YY7wc3kcT/vvQNSlhdf7cV5VAEPC8XMp5uIhPIiHhUItj63CIaYWktvol/hVuRKht1h7rS7hXZIB9Ct8v5J7fow6cqAlXDsex2Fhpzkk1EajpsoAruGAcJY9IZTCp4Ty4e8K5xk1sZ/QDkxtUlQRJuNVXPR/8dfwrIpPTlUzDz/LTswPcVdTArOYgZOK7S4fGIdvYqdyW+SaZmTGmSrcHJQJYLgRpSksFxf5nlCQHY3Y/sKkJsTGSLsKmdaxp91ez7rF0xiRdx5Iuxl7URC5NmJrZ4yrnZnK3+V8X6fAvDdwQSi6yrCrPyljx6PCSanI6h81jhK4l5XC1XmW+GPCQWbcMg8fuTUnLmObcHSsnX4++9PxmCD4vFDfj1Qp6g63E/8AKx6wsTVHQH0AAAAASUVORK5CYII=;" vertex="1" parent="n.p_brk">
          <mxGeometry x="19" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.p_bh" value="&lt;b&gt;Upstream 429 Feedback&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;adaptive throttle&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="620" y="330" width="210" height="90" 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,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAABWUlEQVRoge2YzypGQRjGf/iSIhtnZfGRFHIJ7GxcgGvw3YalW5DrkIWyEYW9zbenKCUl/1lMo+PwnW/ed86Y8P5q6iye57zznGbOvA0YhmEY/5kBhWcOWASGArR3wAlwpaiThA3gFXgTjFtgJcNcv1AAL8gm78dxqkkNCrRtob7MjNLXF8mENPslOdov6pnGBauOTuR7g4kNkB0LkBsLkBsLkJtW6XkSWKrRJjtNgVFgGRgP0N4Ae7gW5RMHyHucqR5F1iu6um60ALrCuqveXF5CEzVFevGo8FTpALNCT+EfYvZAF7iI8HvaCs/H8ikH2AGeA8xPwCGwpijcBOfAaeoikj2wVdHuSgr9+t+oBciNBciNBchNq7+kEUZwZ8N3LMS8+KcCjOEOrMZJtYQeIryiBjFVgCNcz6RhXyIOuWHWcA2cAfPAMHAfMC6BbWATd4FsGIZhGH+fd0xpZ0hQYh4dAAAAAElFTkSuQmCC;" vertex="1" parent="n.p_bh">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st11" value="Primary route" 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="910" y="60" width="210" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.p_aoai" value="&lt;b&gt;Azure OpenAI&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;PTU + pay-go&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="910" y="170" width="210" 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,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;" vertex="1" parent="n.p_aoai">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.p_claude" value="&lt;b&gt;Anthropic Claude&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;Messages API&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="910" y="270" width="210" 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.p_claude">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st14" value="Fallback route" 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="1200" y="60" width="210" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.p_gem" value="&lt;b&gt;Google Gemini&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;Vertex AI&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="1200" y="170" width="210" 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+gvaeTAAAC80lEQVRoge3ZT4hVZRjH8c9Yo2P4d0gtTERaOIktNHThIsJNRIEogRtbqblIIShQQXca5K5BsNRNizJctSiiRQXqQiQXWoZ/WiQxKWn5H//NOC3eucNpOHPe99w55zrC/cEDl3vf9/d833Puee7zvpe22mrriVZHDZ49WIb5mDP03h38iXM4gZs15B2TXkEvLmMwEg/wE9Zj8uOAzWoJvhOHHi2u4n10thq8E7vQ3yT4yPgVL7cKfgaOVASejTtYVTf8szhdA3x2Ea/VBd+FYzXCN+KW8GxVrn0tgG/EOUypEn4lHiUmP4ktwlXsGprfjdexFzcSffZVBd8h7Xvfh7cT/KbjQILfQyysYgFrEpL9grklfbcl+H4xdny+T0j0AMexE/NKeH8c8b0rlO2mNVu4lWUewH4cxHMJ/pNwPuK3vln4HpwtCZ+NK3grIc/aiM8NTfzArZBeLWJ3Y2Mk1zNC7S/yeZTgM6yX8E8F8I0YwKuRnN8m+PTjzRj80/i5QvhBHBLvNvcnel3BrCKjDyuG348JEXjYXcKzNzvxqczrifgKUyPJBoQ9wJf4EdewQLh7WX2CzUNJY7qNS0O5n4+MXYxPhRL7P60WX/0ZLMoxnY+jmXG7E6Dz1IF3xfcZuaU11qz1Kb46k4WNyfYm4bPaFWE5lDfpZGTSewmJu8cI3tBM4dd9NJbTeZP6CiYM4sWK4FJV1EBebQzKVoguxWr1Ucj9gs+GC0N2AdcjhnkPb13qVNxKD7NmF3AhYrppLEQltU5xOf8t780d4mV0Q6WY+VqCfyMcWxuDs0eLPcLKio4bB4VNxuf4Q2iyqtBEvCB0r5sUP48DQkG5mPfhD6ptJeqIr4uuxFLVnbbVEfcl7JP3jAPQ0eKDGDyhwftmHMCOjM9S4BvqwuFxAN2IjzTxX8YEoWz+/RjBf8cbZcFHarpw0naqRdAPhdb8HeHUolBlb8tsLBfOfqYlzrmLewnjbuEvoSu+XZKrrbbaaqut5vQfzvsFmPRqozQAAAAASUVORK5CYII=;" vertex="1" parent="n.p_gem">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.p_vllm" value="&lt;b&gt;Mixtral on vLLM&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;self-hosted GPU&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="1200" y="270" width="210" 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,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;" vertex="1" parent="n.p_vllm">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st17" value="Outcome" 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="1490" y="60" width="230" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.p_ok" value="&lt;b&gt;Response + usage&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;provider recorded&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="1490" y="170" width="230" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico18" 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+gvaeTAAACyUlEQVRoge2ZPWgUQRTHf6d4GgJnAlYSBRFPIioEPEEUwUKwsBANRkTQxi51JDZip5gyYCHpUhlJI0QbNTYWmkJs/IiFqEFyIFH8JuJYvB1yLjcfuzu7d8L94cHdse/t7/9mmNmdg45aq1JOdbuAXmBd9P0TsASo0DcKZaAGHAYOAjuATU2u+Q68AuaAB8AdxFTLVAFGgBdIZ5PGT2AKOFA0eBkYZWVKhIhZYKAI+BrwPCB4Y/wGxpAG5aJh4FdO8I3xGOgLCV4CrhQA3hhvgf5QBq4WDK+jDlSzwg+3CF7Ha2Q/SaU9FDPnXXGbFPtVmfxWmzRxLqmB0TaAboxFoKcZ6Oomv1WAW6w8x7SDupGd+6HPxSMU290F4FAU7y3XfYyMOFXk3P/Av+v9NoeJMy74WoHwCxFwXNuBr4acGZeBiy2G15oz5H0D1toM3G0D+CHgjyV/v83Au5zh43M+rkFg2VHjvCm5y+E83kXfa307f9IDXgHXTAU2eiQvA6ei648ha3OR8AqYMBWpesAPxnKOepgICa+Am6ZCWxyJFwx5NhOh4RUwaSq2wZF41gLSzEQe8Aq4biq4CllnTYl1YKenibzgFbJXGfXUkVwHdlnyjwBvyL5U2uK4zcANjwKukbCdKmTpvI7NNgOnPYu4RqKZsnZeAfOum/Tiv7YnMRECXmHZxBo1laCgazpBmGmjY7ePgX0Ji9pGIlTnFXDPB15rNoWJ+EiE7LxC3ti8NYCcVSY1oYd4KDD8dBJ4rbEUN/oBPCP5k6otlnAsnSatAR4FBEkbJ9LAa/UhB62tgr+cBV6rH3mTKhp+PAS81lbkoPW/6nxc65GXiTzBPyMrWG4qIQetiznAT5NytUmjHuASctyXFfw+CTepkOpGjvtmsL8MxWMe2We8nm1sCvlPfRnYi/zRXUVGqYLsyF+Q5fgl8CT63FFH7aC/2tF+3lgDDO4AAAAASUVORK5CYII=;" vertex="1" parent="n.p_ok">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.p_fail" value="&lt;b&gt;503 provider_unavailable&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;retry_after from breaker&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#5c1a17;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1490" y="270" width="230" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico19" 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+gvaeTAAADaUlEQVRoge2ZT0hVQRTGf7ce1sN6KtjCsD8gREUEgq9NEgRFtWkjIYhIm3Zu2hi2CTcV5MqCFlHL0AQLAgsEc1WhLiKCNGuji3ChFpKZirY47+HlMmfe3H+68YOBd++b833nzMydM/dc2MH2wkuJNwtUAXsL17+ABWAjaaGkAsgDF4FzwEngkKHPEvANGAfeAW+QoLYNOaADmEBGNmxbBvqBxq12vAzoZHNJJNFGgPqtcD4PfE3QcX9bA7qRAUoF7cC/lJz3t1Gg1tUpl4fYA+4Btxz6TgIfgM+F3yuF+zXIw30KuMDm7qRhBriEzHZs3Mc+YktAD9DgyJcD2pCRtvH+BOriOt9eQqQPOByR2wNakdHW+L8j+SQS8tjX/CpwLSq5D1XAkEXnFRHyVRluu01SQWSAxxad62EJOy1kaQXhAb2KxixQ6UqUQ09SqykHkQXGFI07riQdCkFfwcm0gziObL9B/jmg3IXAtPaXgKOF/5sUgQ0km7YkEMRDhb+1lGFeMewJ9Et7JqqRw16Qe7CU4W3FKVOSSnsmXhp4/wB7bEZvDUYTlv5pzkSzwnvWZmTKis9KCKU1EzUK5w3NIAusGwxuOoilNRPzBr4HWueDigNXHcXSCOKjgeupv8Mu3+99Csmao1g/slxM/TPAc8IHYeLa77/wB7CqkKyHEEw6iN2Geyv+C38AiwrJgRCCkGwQpvOP5icess8G19xdR7Eg4u5O2UK/oG2nzeiTweB1xAAg3oPdoNg12QSfGAz+AhUxgog6E12KzRGbWIti1BYjgChBeMAPQ9+pUkJVmA9Ro8QvQ4ZZTleUft0uQv2KccmjbEJBZIAvSp/TLiKNivEMMSoEIYLQBnA4jMiIQjKEjFBc2ILQ2vkwAvWY9+ANpHqQRFk+TBADUQS6LYS9SKKJC5cgFohYPCvDXv4bQ17A4yCDvuaLzZq4SqEWmLaQryAv4NUheT3gMvpuU2xdcZwv4gRSaLUJLSMlwGbkTcqELFI06MKcpILtURLOF1GHFFpdd4x54D3yPWwcKbVrm0JqIx9EBfAihBNR2m9kFlODhxRaZ1NwfoDopfrQqERqlXMJOD5MyCSVJMqRM9Ig5pchrU0hecbpbGNDkl/qy4AzyLewY8gs5ZBEtYhsx5NI/phOUHcHO4iD/xFE2EIZYKFwAAAAAElFTkSuQmCC;" vertex="1" parent="n.p_fail">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </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="260" y="250" as="sourcePoint" />
            <mxPoint x="320" y="250" 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="550" y="250" as="sourcePoint" />
            <mxPoint x="610" y="250" 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="840" y="250" as="sourcePoint" />
            <mxPoint x="900" y="250" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine23" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1130" y="250" as="sourcePoint" />
            <mxPoint x="1190" y="250" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine24" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1420" y="250" as="sourcePoint" />
            <mxPoint x="1480" y="250" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_e25" value="breaker open" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;dashed=1;endArrow=block;endFill=1;strokeColor=#b85450;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.p_aoai" target="n.p_gem">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_e26" value="quota exhausted" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;dashed=1;endArrow=block;endFill=1;strokeColor=#b85450;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.p_claude" target="n.p_vllm">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="title" value="Provider Limits, Routing and Failover" 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="1670" 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="1670" 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="490" 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="490" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg29" value="" style="rounded=1;arcSize=30;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
          <mxGeometry x="200" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg30" value="Decision point" 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="490" width="90" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg31" value="" style="rounded=1;arcSize=30;html=1;fillColor=#f5f5f5;strokeColor=#8c8c8c;" vertex="1" parent="1">
          <mxGeometry x="340" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg32" 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="370" y="490" width="130" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg33" value="" style="rounded=1;arcSize=30;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
          <mxGeometry x="520" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg34" value="Risk / gap" 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="490" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg35" value="" style="html=1;endArrow=none;dashed=1;strokeColor=#b85450;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="640" y="500" as="sourcePoint" />
            <mxPoint x="660" y="500" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg36" value="failure / alternate" 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="660" y="490" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="note" value="Failover is opt-in per tenant policy. A tenant pinned to one provider for compliance reasons receives 503 rather than a silent reroute, and the policy records that choice." 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="520" width="1670" 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="540" width="1670" 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="550" width="1670" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
