<?plantuml 1.2026.2?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" data-diagram-type="SEQUENCE" height="1038px" preserveAspectRatio="none" style="width:1242px;height:1038px;background:#FFFFFF;" version="1.1" viewBox="0 0 1242 1038" width="1242px" zoomAndPan="magnify"><defs/><g><g class="participant-lifeline" data-entity-uid="part1" data-qualified-name="K" id="part1-lifeline"><g><title>Kubelet</title><rect fill="#000000" fill-opacity="0.00000" height="875.627" width="8" x="173.7612" y="81.4883"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5,5;" x1="177" x2="177" y1="81.4883" y2="957.1152"/></g></g><g class="participant-lifeline" data-entity-uid="part2" data-qualified-name="DP" id="part2-lifeline"><g><title>Device Plugin</title><rect fill="#000000" fill-opacity="0.00000" height="875.627" width="8" x="517.48" y="81.4883"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5,5;" x1="520.6616" x2="520.6616" y1="81.4883" y2="957.1152"/></g></g><g class="participant-lifeline" data-entity-uid="part3" data-qualified-name="API" id="part3-lifeline"><g><title>API Server</title><rect fill="#000000" fill-opacity="0.00000" height="875.627" width="8" x="633.1499" y="81.4883"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5,5;" x1="636.2983" x2="636.2983" y1="81.4883" y2="957.1152"/></g></g><g class="participant-lifeline" data-entity-uid="part4" data-qualified-name="SCH" id="part4-lifeline"><g><title>kube-scheduler</title><rect fill="#000000" fill-opacity="0.00000" height="875.627" width="8" x="900.4365" y="81.4883"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5,5;" x1="903.7095" x2="903.7095" y1="81.4883" y2="957.1152"/></g></g><g class="participant-lifeline" data-entity-uid="part5" data-qualified-name="U" id="part5-lifeline"><g><title>User</title><rect fill="#000000" fill-opacity="0.00000" height="875.627" width="8" x="1207.9648" y="81.4883"/><line style="stroke:#181818;stroke-width:0.5;stroke-dasharray:5,5;" x1="1211.7822" x2="1211.7822" y1="81.4883" y2="957.1152"/></g></g><g class="participant participant-head" data-entity-uid="part1" data-qualified-name="K" id="part1-head"><rect fill="#E2E2F0" height="30.4883" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="65.5225" x="145" y="50"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="51.5225" x="152" y="70.5352">Kubelet</text></g><g class="participant participant-tail" data-entity-uid="part1" data-qualified-name="K" id="part1-tail"><rect fill="#E2E2F0" height="30.4883" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="65.5225" x="145" y="956.1152"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="51.5225" x="152" y="976.6504">Kubelet</text></g><g class="participant participant-head" data-entity-uid="part2" data-qualified-name="DP" id="part2-head"><rect fill="#E2E2F0" height="46.9766" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="129.6367" x="456.6616" y="33.5117"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="90.918" x="476.021" y="54.0469">Device Plugin</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="115.6367" x="463.6616" y="70.5352">(DaemonSet Pod)</text></g><g class="participant participant-tail" data-entity-uid="part2" data-qualified-name="DP" id="part2-tail"><rect fill="#E2E2F0" height="46.9766" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="129.6367" x="456.6616" y="956.1152"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="90.918" x="476.021" y="976.6504">Device Plugin</text><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="115.6367" x="463.6616" y="993.1387">(DaemonSet Pod)</text></g><g class="participant participant-head" data-entity-uid="part3" data-qualified-name="API" id="part3-head"><rect fill="#E2E2F0" height="30.4883" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="81.7031" x="596.2983" y="50"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="67.7031" x="603.2983" y="70.5352">API Server</text></g><g class="participant participant-tail" data-entity-uid="part3" data-qualified-name="API" id="part3-tail"><rect fill="#E2E2F0" height="30.4883" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="81.7031" x="596.2983" y="956.1152"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="67.7031" x="603.2983" y="976.6504">API Server</text></g><g class="participant participant-head" data-entity-uid="part4" data-qualified-name="SCH" id="part4-head"><rect fill="#E2E2F0" height="30.4883" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="121.4541" x="843.7095" y="50"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="107.4541" x="850.7095" y="70.5352">kube-scheduler</text></g><g class="participant participant-tail" data-entity-uid="part4" data-qualified-name="SCH" id="part4-tail"><rect fill="#E2E2F0" height="30.4883" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="121.4541" x="843.7095" y="956.1152"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="107.4541" x="850.7095" y="976.6504">kube-scheduler</text></g><g class="participant participant-head" data-entity-uid="part5" data-qualified-name="U" id="part5-head"><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="30.3652" x="1193.7822" y="78.5352">User</text><ellipse cx="1211.9648" cy="13.5" fill="#E2E2F0" rx="8" ry="8" style="stroke:#181818;stroke-width:0.5;"/><path d="M1211.9648,21.5 L1211.9648,48.5 M1198.9648,29.5 L1224.9648,29.5 M1211.9648,48.5 L1198.9648,63.5 M1211.9648,48.5 L1224.9648,63.5" fill="none" style="stroke:#181818;stroke-width:0.5;"/></g><g class="participant participant-tail" data-entity-uid="part5" data-qualified-name="U" id="part5-tail"><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="30.3652" x="1193.7822" y="969.6504">User</text><ellipse cx="1211.9648" cy="981.1035" fill="#E2E2F0" rx="8" ry="8" style="stroke:#181818;stroke-width:0.5;"/><path d="M1211.9648,989.1035 L1211.9648,1016.1035 M1198.9648,997.1035 L1224.9648,997.1035 M1211.9648,1016.1035 L1198.9648,1031.1035 M1211.9648,1016.1035 L1224.9648,1031.1035" fill="none" style="stroke:#181818;stroke-width:0.5;"/></g><rect fill="#EEEEEE" height="3" style="stroke:#EEEEEE;stroke-width:1;" width="1235.1475" x="0" y="112.1436"/><line style="stroke:#000000;stroke-width:1;" x1="0" x2="1235.1475" y1="112.1436" y2="112.1436"/><line style="stroke:#000000;stroke-width:1;" x1="0" x2="1235.1475" y1="115.1436" y2="115.1436"/><rect fill="#EEEEEE" height="23.3105" style="stroke:#000000;stroke-width:2;" width="365.1841" x="434.9817" y="101.4883"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="346.8994" x="440.9817" y="118.0566">Node Startup: Kubelet Prepares Registration Service</text><path d="M5,139.7988 L5,194.7988 L351,194.7988 L351,149.7988 L341,139.7988 L5,139.7988" fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M341,139.7988 L341,149.7988 L351,149.7988 L341,139.7988" fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="210.7485" x="11" y="157.3672">&#9312; Start Registration gRPC service</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="211.7261" x="11" y="172.6777">Create kubelet.sock (Unix Socket)</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="325.3237" x="11" y="187.9883">Path: /var/lib/kubelet/device-plugins/kubelet.sock</text><rect fill="#EEEEEE" height="3" style="stroke:#EEEEEE;stroke-width:1;" width="1235.1475" x="0" y="221.3857"/><line style="stroke:#000000;stroke-width:1;" x1="0" x2="1235.1475" y1="221.3857" y2="221.3857"/><line style="stroke:#000000;stroke-width:1;" x1="0" x2="1235.1475" y1="224.3857" y2="224.3857"/><rect fill="#EEEEEE" height="23.3105" style="stroke:#000000;stroke-width:2;" width="248.4507" x="493.3484" y="210.7305"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="230.166" x="499.3484" y="227.2988">Device Plugin Starts and Registers</text><path d="M387,249.041 L387,289.041 L655,289.041 L655,259.041 L645,249.041 L387,249.041" fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M645,249.041 L645,259.041 L655,259.041 L645,249.041" fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="168.5938" x="393" y="266.6094">&#9313; Device Plugin Pod starts</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="247.9268" x="393" y="281.9199">Mount host kubelet.sock into container</text><g class="message" data-entity-1="part2" data-entity-2="part1" id="msg1"><polygon fill="#181818" points="188.7612,327.2832,178.7612,331.2832,188.7612,335.2832,184.7612,331.2832" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="182.7612" x2="520.48" y1="331.2832" y2="331.2832"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="286.1016" x="206.5698" y="311.2305">&#9314; Register(endpoint, version, resourceName)</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="101.7148" x="298.7632" y="326.541">via kubelet.sock</text></g><g class="message" data-entity-1="part1" data-entity-2="part2" id="msg2"><polygon fill="#181818" points="509.48,356.5938,519.48,360.5938,509.48,364.5938,513.48,360.5938" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;stroke-dasharray:2,2;" x1="177.7612" x2="515.48" y1="360.5938" y2="360.5938"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="145.2153" x="277.0129" y="355.8516">Registration successful</text></g><rect fill="#EEEEEE" height="3" style="stroke:#EEEEEE;stroke-width:1;" width="1235.1475" x="0" y="389.249"/><line style="stroke:#000000;stroke-width:1;" x1="0" x2="1235.1475" y1="389.249" y2="389.249"/><line style="stroke:#000000;stroke-width:1;" x1="0" x2="1235.1475" y1="392.249" y2="392.249"/><rect fill="#EEEEEE" height="23.3105" style="stroke:#000000;stroke-width:2;" width="297.791" x="468.6782" y="378.5938"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="279.5063" x="474.6782" y="395.1621">Device Discovery and Resource Reporting</text><g class="message" data-entity-1="part1" data-entity-2="part2" id="msg3"><polygon fill="#181818" points="509.48,444.5254,519.48,448.5254,509.48,452.5254,513.48,448.5254" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="177.7612" x2="515.48" y1="448.5254" y2="448.5254"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="110.8555" x="294.1929" y="428.4727">&#9315; ListAndWatch()</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="194.1875" x="252.5269" y="443.7832">via Device Plugin's Unix Socket</text></g><g class="message" data-entity-1="part2" data-entity-2="part1" id="msg4"><polygon fill="#181818" points="188.7612,489.1465,178.7612,493.1465,188.7612,497.1465,184.7612,493.1465" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;stroke-dasharray:2,2;" x1="182.7612" x2="520.48" y1="493.1465" y2="493.1465"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="212.7861" x="243.2275" y="473.0938">Return device list [{ID, Health}, ...]</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="319.7188" x="189.7612" y="488.4043">(continuously listen for device add/remove events)</text></g><g class="message" data-entity-1="part1" data-entity-2="part3" id="msg5"><polygon fill="#181818" points="625.1499,533.7676,635.1499,537.7676,625.1499,541.7676,629.1499,537.7676" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="177.7612" x2="631.1499" y1="537.7676" y2="537.7676"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="141.2354" x="336.8379" y="517.7148">&#9316; Update Node status</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="265.7129" x="274.5991" y="533.0254">Node.status.capacity[nvidia.com/gpu] = 1</text></g><rect fill="#EEEEEE" height="3" style="stroke:#EEEEEE;stroke-width:1;" width="1235.1475" x="0" y="566.4229"/><line style="stroke:#000000;stroke-width:1;" x1="0" x2="1235.1475" y1="566.4229" y2="566.4229"/><line style="stroke:#000000;stroke-width:1;" x1="0" x2="1235.1475" y1="569.4229" y2="569.4229"/><rect fill="#EEEEEE" height="23.3105" style="stroke:#000000;stroke-width:2;" width="136.2241" x="549.4617" y="555.7676"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="117.9395" x="555.4617" y="572.3359">User Submits Pod</text><g class="message" data-entity-1="part5" data-entity-2="part3" id="msg6"><polygon fill="#181818" points="648.1499,621.6992,638.1499,625.6992,648.1499,629.6992,644.1499,625.6992" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="642.1499" x2="1210.9648" y1="625.6992" y2="625.6992"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="85.4204" x="881.8472" y="605.6465">&#9317; Create Pod</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="232.9717" x="808.0715" y="620.957">(resources.limits: nvidia.com/gpu: 1)</text></g><g class="message" data-entity-1="part3" data-entity-2="part4" id="msg7"><polygon fill="#181818" points="892.4365,651.0098,902.4365,655.0098,892.4365,659.0098,896.4365,655.0098" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="637.1499" x2="898.4365" y1="655.0098" y2="655.0098"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="120.9673" x="710.3096" y="650.2676">Notify pending Pod</text></g><g class="message" data-entity-1="part4" data-entity-2="part4" id="msg8"><line style="stroke:#181818;stroke-width:1;" x1="904.4365" x2="946.4365" y1="684.3203" y2="684.3203"/><line style="stroke:#181818;stroke-width:1;" x1="946.4365" x2="946.4365" y1="684.3203" y2="697.3203"/><line style="stroke:#181818;stroke-width:1;" x1="905.4365" x2="946.4365" y1="697.3203" y2="697.3203"/><polygon fill="#181818" points="915.4365,693.3203,905.4365,697.3203,915.4365,701.3203,911.4365,697.3203" style="stroke:#181818;stroke-width:1;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="293.5283" x="911.4365" y="679.5781">&#9318; Filter nodes meeting resource requirements</text></g><g class="message" data-entity-1="part4" data-entity-2="part3" id="msg9"><polygon fill="#181818" points="648.1499,722.6309,638.1499,726.6309,648.1499,730.6309,644.1499,726.6309" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="642.1499" x2="903.4365" y1="726.6309" y2="726.6309"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="243.2866" x="649.1499" y="721.8887">Bind result (write Pod.spec.nodeName)</text></g><rect fill="#EEEEEE" height="3" style="stroke:#EEEEEE;stroke-width:1;" width="1235.1475" x="0" y="755.2861"/><line style="stroke:#000000;stroke-width:1;" x1="0" x2="1235.1475" y1="755.2861" y2="755.2861"/><line style="stroke:#000000;stroke-width:1;" x1="0" x2="1235.1475" y1="758.2861" y2="758.2861"/><rect fill="#EEEEEE" height="23.3105" style="stroke:#000000;stroke-width:2;" width="268.668" x="483.2397" y="744.6309"/><text fill="#000000" font-family="sans-serif" font-size="13" font-weight="bold" lengthAdjust="spacing" textLength="250.3833" x="489.2397" y="761.1992">Device Allocation and Container Start</text><g class="message" data-entity-1="part3" data-entity-2="part1" id="msg10"><polygon fill="#181818" points="188.7612,795.252,178.7612,799.252,188.7612,803.252,184.7612,799.252" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="182.7612" x2="636.1499" y1="799.252" y2="799.252"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="204.1533" x="305.3789" y="794.5098">Notify pending Pod on this node</text></g><g class="message" data-entity-1="part1" data-entity-2="part2" id="msg11"><polygon fill="#181818" points="509.48,824.5625,519.48,828.5625,509.48,832.5625,513.48,828.5625" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;" x1="177.7612" x2="515.48" y1="828.5625" y2="828.5625"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="135.9033" x="281.6689" y="823.8203">&#9319; Allocate(deviceIDs)</text></g><g class="message" data-entity-1="part2" data-entity-2="part1" id="msg12"><polygon fill="#181818" points="188.7612,869.1836,178.7612,873.1836,188.7612,877.1836,184.7612,873.1836" style="stroke:#181818;stroke-width:1;"/><line style="stroke:#181818;stroke-width:1;stroke-dasharray:2,2;" x1="182.7612" x2="520.48" y1="873.1836" y2="873.1836"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="147.0752" x="276.083" y="853.1309">Return allocation result</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="202.2871" x="248.4771" y="868.4414">(device file paths, env vars, etc.)</text></g><path d="M54,886.1836 L54,941.1836 L299,941.1836 L299,896.1836 L289,886.1836 L54,886.1836" fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M289,886.1836 L289,896.1836 L299,896.1836 L289,886.1836" fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="224.9927" x="60" y="903.752">&#9320; Start container, inject device info</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="125.9756" x="60" y="919.0625">Mount /dev/nvidia0</text><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="192.4609" x="60" y="934.373">Inject NVIDIA_VISIBLE_DEVICES</text><?plantuml-src RLJRRjf047ttLupoKf30RbwHg4HmgbWa20MHFYHHj5aFiCNiEdiXHLK_8d_GU_jT-PBE-W8uwTkkT-RCcJDdR5P2vaopDHXyS2WvNg0nR863J2maS9GMTM1sKHfDhgIfequmKuy3hTKZMEqm22ZA2Yvo9YqSZTmzPcYFW1aODPzYt0YECCdSGiWRsOePhfMSeeM9Ijj5HZnffWmc2KnHRr0NptHjlg-eMjVm9QOkgsAcmxE0SQiq7CrCzMqM1Fq-Z5MACBMKx_8UL4HXef4WqS0bBeIncbcXP57Ka-ttWq0gYw280pK4yFpqjGHf9Ymk9qFIiyYYgA56HbchiaXe55z1QoR59vZI4MsROYRCBdiGRPYECd4VLR5HMiZKpGkPJ7G84Q1CmTCf-cdeMN8om2YY98RQlA1Fwdh-trvaalfWYcnwlb2EX5qgOvlaXRGAk9AM2Kdks1E99z1z1oFe4VBtNUaM1UIAaZf0bGqfrF4-Kavp7BCrjc_aHh16YM04NK8Yl5vJMkCu9-lDNNROTYmCzrrjgvPBR3haYWmY5qNl8wWHdvz-m3bX3cJwWLc-R5KC6bAy8QliPrIqLlLsYTPf2ULi82CWkFwSn1quGvRPvPSEX65uIwRs4Wdfb3FPjeX32NCoOvN9qZJIPFiD0cveqKox8kcTxbd-X5cUUkiKRgMnM6TkfB-4vINaB6TSsEqryKy52xbQHulStK8VZWk1lErXwkxNWlpWX-kLc1qM-LNxarw9SpqO4sR29_MW2Ts3utRWSmc2reiWnigA-HPochANcc02_x1xVtxw3Uz5HaOWbwIqN6l4OYXrAJeyE45AU0tgt9BUYQ1vKfpBBBGUjIXfXYP77dgmmZw7JXXacUAbLRmLXhL9gpNrtLVaH_-b3fHeby8KL1kM-LDZOwkSNnBJm5xRWkqPbCH9r6hWSv4XvBJffWCeDq3Rxa-MX-tNVvQ_5UNTddLexpuYjxLzX9ohtPBwFqLKJkejVKpAoF5L4YU3kwjacfoSdzx5frV9y7IwNzX_?></g></svg>