-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="797px" preserveAspectRatio="none" style="width:455px;height:797px;" version="1.1" viewBox="0 0 455 797" width="455px" zoomAndPan="magnify"><defs><filter height="300%" id="f1l26zdacjfr8m" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="431" x="12" y="27.4023">Append requested options algorithm (Kea 1.7.11)</text><rect fill="#FEFECE" filter="url(#f1l26zdacjfr8m)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="141.5" y="32.1992"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="151.5" y="53.8008">get configured option list</text><rect fill="#FEFECE" filter="url(#f1l26zdacjfr8m)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="272" x="87" y="86.332"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="252" x="97" y="107.9336">get parameter request list (PRL) from query</text><rect fill="#FEFECE" filter="url(#f1l26zdacjfr8m)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="242" x="102" y="184.4648"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="222" x="112" y="206.0664">get configured options in dhcp4 space</text><rect fill="#FEFECE" filter="url(#f1l26zdacjfr8m)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="192" x="127" y="282.5977"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="172" x="137" y="304.1992">push back option code to PRL</text><polygon fill="#FEFECE" filter="url(#f1l26zdacjfr8m)" points="153.5,238.5977,292.5,238.5977,304.5,250.5977,292.5,262.5977,153.5,262.5977,141.5,250.5977,153.5,238.5977" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="139" x="153.5" y="254.7549">for each persistent option</text><polygon fill="#FEFECE" filter="url(#f1l26zdacjfr8m)" points="114,140.4648,332,140.4648,344,152.4648,332,164.4648,114,164.4648,102,152.4648,114,140.4648" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="218" x="114" y="156.6221">for each item from configured option list</text><rect fill="#FEFECE" filter="url(#f1l26zdacjfr8m)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="242" x="102" y="517.208"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="222" x="112" y="538.8096">get configured options in dhcp4 space</text><rect fill="#FEFECE" filter="url(#f1l26zdacjfr8m)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="155" x="145.5" y="619.8184"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="155.5" y="641.4199">add option to response</text><polygon fill="#FEFECE" filter="url(#f1l26zdacjfr8m)" points="207,571.3408,239,571.3408,251,583.3408,239,595.3408,207,595.3408,195,583.3408,207,571.3408" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="22" x="227" y="605.9756">first</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="32" x="207" y="587.498">found</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="251" y="581.0205">not found or already found</text><polygon fill="#FEFECE" filter="url(#f1l26zdacjfr8m)" points="223,673.9512,235,685.9512,223,697.9512,211,685.9512,223,673.9512" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1l26zdacjfr8m)" points="114,473.208,332,473.208,344,485.208,332,497.208,114,497.208,102,485.208,114,473.208" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="218" x="114" y="489.3652">for each item from configured option list</text><polygon fill="#FEFECE" filter="url(#f1l26zdacjfr8m)" points="146.5,424.7305,299.5,424.7305,311.5,436.7305,299.5,448.7305,146.5,448.7305,134.5,436.7305,146.5,424.7305" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="227" y="459.3652">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="153" x="146.5" y="440.8877">option is not set in response</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="311.5" y="434.4102">no</text><polygon fill="#FEFECE" filter="url(#f1l26zdacjfr8m)" points="223,739.9512,235,751.9512,223,763.9512,211,751.9512,223,739.9512" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1l26zdacjfr8m)" points="169,380.7305,277,380.7305,289,392.7305,277,404.7305,169,404.7305,157,392.7305,169,380.7305" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="108" x="169" y="396.8877">for each code in PRL</text><ellipse cx="65" cy="435.7305" fill="#FFFFFF" filter="url(#f1l26zdacjfr8m)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="65" cy="435.7305" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="66.332" y2="86.332"/><polygon fill="#A80036" points="219,76.332,223,86.332,227,76.332,223,80.332" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="262.5977" y2="282.5977"/><polygon fill="#A80036" points="219,272.5977,223,282.5977,227,272.5977,223,276.5977" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="316.7305" y2="326.7305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="331" y1="326.7305" y2="326.7305"/><polygon fill="#A80036" points="327,297.6641,331,287.6641,335,297.6641,331,293.6641" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="331" x2="331" y1="250.5977" y2="326.7305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="331" x2="304.5" y1="250.5977" y2="250.5977"/><polygon fill="#A80036" points="314.5,246.5977,304.5,250.5977,314.5,254.5977,310.5,250.5977" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="141.5" x2="115" y1="250.5977" y2="250.5977"/><polygon fill="#A80036" points="111,283.6641,115,293.6641,119,283.6641,115,287.6641" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="115" x2="115" y1="250.5977" y2="338.7305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="115" x2="356" y1="338.7305" y2="338.7305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="356" x2="356" y1="152.4648" y2="338.7305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="356" x2="344" y1="152.4648" y2="152.4648"/><polygon fill="#A80036" points="354,148.4648,344,152.4648,354,156.4648,350,152.4648" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="218.5977" y2="238.5977"/><polygon fill="#A80036" points="219,228.5977,223,238.5977,227,228.5977,223,232.5977" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="164.4648" y2="184.4648"/><polygon fill="#A80036" points="219,174.4648,223,184.4648,227,174.4648,223,178.4648" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="102" x2="90" y1="152.4648" y2="152.4648"/><polygon fill="#A80036" points="86,241.0977,90,251.0977,94,241.0977,90,245.0977" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="90" x2="90" y1="152.4648" y2="360.7305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="90" x2="223" y1="360.7305" y2="360.7305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="360.7305" y2="380.7305"/><polygon fill="#A80036" points="219,370.7305,223,380.7305,227,370.7305,223,374.7305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="120.4648" y2="140.4648"/><polygon fill="#A80036" points="219,130.4648,223,140.4648,227,130.4648,223,134.4648" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="595.3408" y2="619.8184"/><polygon fill="#A80036" points="219,609.8184,223,619.8184,227,609.8184,223,613.8184" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="251" x2="310.5" y1="583.3408" y2="583.3408"/><polygon fill="#A80036" points="306.5,626.8848,310.5,636.8848,314.5,626.8848,310.5,630.8848" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="310.5" x2="310.5" y1="583.3408" y2="685.9512"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="310.5" x2="235" y1="685.9512" y2="685.9512"/><polygon fill="#A80036" points="245,681.9512,235,685.9512,245,689.9512,241,685.9512" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="653.9512" y2="673.9512"/><polygon fill="#A80036" points="219,663.9512,223,673.9512,227,663.9512,223,667.9512" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="551.3408" y2="571.3408"/><polygon fill="#A80036" points="219,561.3408,223,571.3408,227,561.3408,223,565.3408" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="497.208" y2="517.208"/><polygon fill="#A80036" points="219,507.208,223,517.208,227,507.208,223,511.208" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="697.9512" y2="707.9512"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="356" y1="707.9512" y2="707.9512"/><polygon fill="#A80036" points="352,600.3184,356,590.3184,360,600.3184,356,596.3184" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="356" x2="356" y1="485.208" y2="707.9512"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="356" x2="344" y1="485.208" y2="485.208"/><polygon fill="#A80036" points="354,481.208,344,485.208,354,489.208,350,485.208" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="102" x2="90" y1="485.208" y2="485.208"/><polygon fill="#A80036" points="86,586.3184,90,596.3184,94,586.3184,90,590.3184" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="90" x2="90" y1="485.208" y2="719.9512"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="90" x2="223" y1="719.9512" y2="719.9512"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="719.9512" y2="739.9512"/><polygon fill="#A80036" points="219,729.9512,223,739.9512,227,729.9512,223,733.9512" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="448.7305" y2="473.208"/><polygon fill="#A80036" points="219,463.208,223,473.208,227,463.208,223,467.208" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="311.5" x2="366" y1="436.7305" y2="436.7305"/><polygon fill="#A80036" points="362,580.3184,366,590.3184,370,580.3184,366,584.3184" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="366" x2="366" y1="436.7305" y2="751.9512"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="366" x2="235" y1="751.9512" y2="751.9512"/><polygon fill="#A80036" points="245,747.9512,235,751.9512,245,755.9512,241,751.9512" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="404.7305" y2="424.7305"/><polygon fill="#A80036" points="219,414.7305,223,424.7305,227,414.7305,223,418.7305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="223" y1="763.9512" y2="773.9512"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="223" x2="390" y1="773.9512" y2="773.9512"/><polygon fill="#A80036" points="386,588.3184,390,578.3184,394,588.3184,390,584.3184" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="390" x2="390" y1="392.7305" y2="773.9512"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="390" x2="289" y1="392.7305" y2="392.7305"/><polygon fill="#A80036" points="299,388.7305,289,392.7305,299,396.7305,295,392.7305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="157" x2="65" y1="392.7305" y2="392.7305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="65" x2="65" y1="392.7305" y2="424.7305"/><polygon fill="#A80036" points="61,414.7305,65,424.7305,69,414.7305,65,418.7305" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[9411ea9e2f1691298864a3c1d7c2fe9c]
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="797px" preserveAspectRatio="none" style="width:444px;height:797px;" version="1.1" viewBox="0 0 444 797" width="444px" zoomAndPan="magnify"><defs><filter height="300%" id="fmj8a1z5wugx1" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="420" x="12" y="27.4023">Append requested options algorithm (Kea 1.8.0)</text><rect fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="136" y="32.1992"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="146" y="53.8008">get configured option list</text><rect fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="272" x="81.5" y="86.332"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="252" x="91.5" y="107.9336">get parameter request list (PRL) from query</text><rect fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="242" x="96.5" y="184.4648"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="222" x="106.5" y="206.0664">get configured options in dhcp4 space</text><rect fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="192" x="121.5" y="282.5977"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="172" x="131.5" y="304.1992">push back option code to PRL</text><polygon fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" points="148,238.5977,287,238.5977,299,250.5977,287,262.5977,148,262.5977,136,250.5977,148,238.5977" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="139" x="148" y="254.7549">for each persistent option</text><polygon fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" points="108.5,140.4648,326.5,140.4648,338.5,152.4648,326.5,164.4648,108.5,164.4648,96.5,152.4648,108.5,140.4648" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="218" x="108.5" y="156.6221">for each item from configured option list</text><rect fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="242" x="96.5" y="517.208"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="222" x="106.5" y="538.8096">get configured options in dhcp4 space</text><rect fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="155" x="140" y="619.8184"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="135" x="150" y="641.4199">add option to response</text><polygon fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" points="201.5,571.3408,233.5,571.3408,245.5,583.3408,233.5,595.3408,201.5,595.3408,189.5,583.3408,201.5,571.3408" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="22" x="221.5" y="605.9756">first</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="32" x="201.5" y="587.498">found</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="245.5" y="581.0205">not found or already found</text><polygon fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" points="217.5,673.9512,229.5,685.9512,217.5,697.9512,205.5,685.9512,217.5,673.9512" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" points="108.5,473.208,326.5,473.208,338.5,485.208,326.5,497.208,108.5,497.208,96.5,485.208,108.5,473.208" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="218" x="108.5" y="489.3652">for each item from configured option list</text><polygon fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" points="141,424.7305,294,424.7305,306,436.7305,294,448.7305,141,448.7305,129,436.7305,141,424.7305" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="221.5" y="459.3652">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="153" x="141" y="440.8877">option is not set in response</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="306" y="434.4102">no</text><polygon fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" points="217.5,739.9512,229.5,751.9512,217.5,763.9512,205.5,751.9512,217.5,739.9512" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#fmj8a1z5wugx1)" points="163.5,380.7305,271.5,380.7305,283.5,392.7305,271.5,404.7305,163.5,404.7305,151.5,392.7305,163.5,380.7305" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="108" x="163.5" y="396.8877">for each code in PRL</text><ellipse cx="59.5" cy="435.7305" fill="#FFFFFF" filter="url(#fmj8a1z5wugx1)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="59.5" cy="435.7305" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="66.332" y2="86.332"/><polygon fill="#A80036" points="213.5,76.332,217.5,86.332,221.5,76.332,217.5,80.332" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="262.5977" y2="282.5977"/><polygon fill="#A80036" points="213.5,272.5977,217.5,282.5977,221.5,272.5977,217.5,276.5977" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="316.7305" y2="326.7305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="325.5" y1="326.7305" y2="326.7305"/><polygon fill="#A80036" points="321.5,297.6641,325.5,287.6641,329.5,297.6641,325.5,293.6641" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="325.5" x2="325.5" y1="250.5977" y2="326.7305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="325.5" x2="299" y1="250.5977" y2="250.5977"/><polygon fill="#A80036" points="309,246.5977,299,250.5977,309,254.5977,305,250.5977" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="136" x2="109.5" y1="250.5977" y2="250.5977"/><polygon fill="#A80036" points="105.5,283.6641,109.5,293.6641,113.5,283.6641,109.5,287.6641" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="109.5" x2="109.5" y1="250.5977" y2="338.7305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="109.5" x2="350.5" y1="338.7305" y2="338.7305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="350.5" x2="350.5" y1="152.4648" y2="338.7305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="350.5" x2="338.5" y1="152.4648" y2="152.4648"/><polygon fill="#A80036" points="348.5,148.4648,338.5,152.4648,348.5,156.4648,344.5,152.4648" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="218.5977" y2="238.5977"/><polygon fill="#A80036" points="213.5,228.5977,217.5,238.5977,221.5,228.5977,217.5,232.5977" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="164.4648" y2="184.4648"/><polygon fill="#A80036" points="213.5,174.4648,217.5,184.4648,221.5,174.4648,217.5,178.4648" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="96.5" x2="84.5" y1="152.4648" y2="152.4648"/><polygon fill="#A80036" points="80.5,241.0977,84.5,251.0977,88.5,241.0977,84.5,245.0977" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="84.5" x2="84.5" y1="152.4648" y2="360.7305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="84.5" x2="217.5" y1="360.7305" y2="360.7305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="360.7305" y2="380.7305"/><polygon fill="#A80036" points="213.5,370.7305,217.5,380.7305,221.5,370.7305,217.5,374.7305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="120.4648" y2="140.4648"/><polygon fill="#A80036" points="213.5,130.4648,217.5,140.4648,221.5,130.4648,217.5,134.4648" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="595.3408" y2="619.8184"/><polygon fill="#A80036" points="213.5,609.8184,217.5,619.8184,221.5,609.8184,217.5,613.8184" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="245.5" x2="305" y1="583.3408" y2="583.3408"/><polygon fill="#A80036" points="301,626.8848,305,636.8848,309,626.8848,305,630.8848" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="305" x2="305" y1="583.3408" y2="685.9512"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="305" x2="229.5" y1="685.9512" y2="685.9512"/><polygon fill="#A80036" points="239.5,681.9512,229.5,685.9512,239.5,689.9512,235.5,685.9512" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="653.9512" y2="673.9512"/><polygon fill="#A80036" points="213.5,663.9512,217.5,673.9512,221.5,663.9512,217.5,667.9512" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="551.3408" y2="571.3408"/><polygon fill="#A80036" points="213.5,561.3408,217.5,571.3408,221.5,561.3408,217.5,565.3408" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="497.208" y2="517.208"/><polygon fill="#A80036" points="213.5,507.208,217.5,517.208,221.5,507.208,217.5,511.208" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="697.9512" y2="707.9512"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="350.5" y1="707.9512" y2="707.9512"/><polygon fill="#A80036" points="346.5,600.3184,350.5,590.3184,354.5,600.3184,350.5,596.3184" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="350.5" x2="350.5" y1="485.208" y2="707.9512"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="350.5" x2="338.5" y1="485.208" y2="485.208"/><polygon fill="#A80036" points="348.5,481.208,338.5,485.208,348.5,489.208,344.5,485.208" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="96.5" x2="84.5" y1="485.208" y2="485.208"/><polygon fill="#A80036" points="80.5,586.3184,84.5,596.3184,88.5,586.3184,84.5,590.3184" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="84.5" x2="84.5" y1="485.208" y2="719.9512"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="84.5" x2="217.5" y1="719.9512" y2="719.9512"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="719.9512" y2="739.9512"/><polygon fill="#A80036" points="213.5,729.9512,217.5,739.9512,221.5,729.9512,217.5,733.9512" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="448.7305" y2="473.208"/><polygon fill="#A80036" points="213.5,463.208,217.5,473.208,221.5,463.208,217.5,467.208" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="306" x2="360.5" y1="436.7305" y2="436.7305"/><polygon fill="#A80036" points="356.5,580.3184,360.5,590.3184,364.5,580.3184,360.5,584.3184" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="360.5" x2="360.5" y1="436.7305" y2="751.9512"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="360.5" x2="229.5" y1="751.9512" y2="751.9512"/><polygon fill="#A80036" points="239.5,747.9512,229.5,751.9512,239.5,755.9512,235.5,751.9512" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="404.7305" y2="424.7305"/><polygon fill="#A80036" points="213.5,414.7305,217.5,424.7305,221.5,414.7305,217.5,418.7305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="217.5" y1="763.9512" y2="773.9512"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217.5" x2="384.5" y1="773.9512" y2="773.9512"/><polygon fill="#A80036" points="380.5,588.3184,384.5,578.3184,388.5,588.3184,384.5,584.3184" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="384.5" x2="384.5" y1="392.7305" y2="773.9512"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="384.5" x2="283.5" y1="392.7305" y2="392.7305"/><polygon fill="#A80036" points="293.5,388.7305,283.5,392.7305,293.5,396.7305,289.5,392.7305" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="151.5" x2="59.5" y1="392.7305" y2="392.7305"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="59.5" x2="59.5" y1="392.7305" y2="424.7305"/><polygon fill="#A80036" points="55.5,414.7305,59.5,424.7305,63.5,414.7305,59.5,418.7305" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[e3e9358e4d54eb346c856f31e4656dc6]
@startuml\r
\r
-Title Append requested options algorithm (Kea 1.7.11)\r
+Title Append requested options algorithm (Kea 1.8.0)\r
\r
:get configured option list;\r
\r
@startuml
-Title Append requested options algorithm (Kea 1.7.11)
+Title Append requested options algorithm (Kea 1.8.0)
:get configured option list;
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1590px" preserveAspectRatio="none" style="width:520px;height:1590px;" version="1.1" viewBox="0 0 520 1590" width="520px" zoomAndPan="magnify"><defs><filter height="300%" id="f1cybzzzj8dis6" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="496" x="12" y="27.4023">Append vendor requested options algorithm (Kea 1.7.11)</text><rect fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="237" x="144.25" y="32.1992"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="217" x="154.25" y="53.8008">get vendor id from query vivso option</text><rect fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="257" x="134.25" y="86.332"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="237" x="144.25" y="107.9336">get vendor id from response vivso option</text><rect fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="55" x="235.25" y="188.9424"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="35" x="245.25" y="210.5439">return</text><ellipse cx="262.75" cy="262.5088" fill="#FFFFFF" filter="url(#f1cybzzzj8dis6)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="262.75" cy="262.5088" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" points="237.25,140.4648,288.25,140.4648,300.25,152.4648,288.25,164.4648,237.25,164.4648,225.25,152.4648,237.25,140.4648" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="266.75" y="175.0996">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="51" x="237.25" y="156.6221">vendor id</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="300.25" y="150.1445">yes</text><rect fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="181.25" y="315.5088"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="191.25" y="337.1104">get configured option list</text><rect fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="381" x="72.25" y="369.6416"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="361" x="82.25" y="391.2432">get option request list (ORO) from query DOCSIS vendor option</text><rect fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="260" x="132.75" y="467.7744"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="240" x="142.75" y="489.376">get configured options in vendor id space</text><rect fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="197" x="164.25" y="565.9072"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="177" x="174.25" y="587.5088">push back option code to ORO</text><polygon fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" points="193.25,521.9072,332.25,521.9072,344.25,533.9072,332.25,545.9072,193.25,545.9072,181.25,533.9072,193.25,521.9072" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="139" x="193.25" y="538.0645">for each persistent option</text><polygon fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" points="153.75,423.7744,371.75,423.7744,383.75,435.7744,371.75,447.7744,153.75,447.7744,141.75,435.7744,153.75,423.7744" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="218" x="153.75" y="439.9316">for each item from configured option list</text><rect fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="207" x="159.25" y="712.5176"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="187" x="169.25" y="734.1191">create vivso option for vendor id</text><polygon fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" points="203.25,664.04,322.25,664.04,334.25,676.04,322.25,688.04,203.25,688.04,191.25,676.04,203.25,664.04" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="266.75" y="698.6748">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="119" x="203.25" y="680.1973">response vivso option</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="334.25" y="673.7197">yes</text><polygon fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" points="262.75,766.6504,274.75,778.6504,262.75,790.6504,250.75,778.6504,262.75,766.6504" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="103" x="211.25" y="810.6504"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="83" x="221.25" y="832.252">added = false</text><rect fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="260" x="132.75" y="1001.2607"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="240" x="142.75" y="1022.8623">get configured options in vendor id space</text><rect fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="198" x="163.75" y="1103.8711"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="178" x="173.75" y="1125.4727">add sub-option to vivso option</text><rect fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="99" x="213.25" y="1173.0039"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="223.25" y="1194.6055">added = true</text><polygon fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" points="246.75,1055.3936,278.75,1055.3936,290.75,1067.3936,278.75,1079.3936,246.75,1079.3936,234.75,1067.3936,246.75,1055.3936" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="22" x="266.75" y="1090.0283">first</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="32" x="246.75" y="1071.5508">found</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="290.75" y="1065.0732">not found or already found</text><polygon fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" points="262.75,1227.1367,274.75,1239.1367,262.75,1251.1367,250.75,1239.1367,262.75,1227.1367" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" points="153.75,957.2607,371.75,957.2607,383.75,969.2607,371.75,981.2607,153.75,981.2607,141.75,969.2607,153.75,957.2607" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="218" x="153.75" y="973.418">for each item from configured option list</text><polygon fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" points="165.25,908.7832,360.25,908.7832,372.25,920.7832,360.25,932.7832,165.25,932.7832,153.25,920.7832,165.25,908.7832" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="266.75" y="943.418">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="195" x="165.25" y="924.9404">sub-option is not set in vivso option</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="372.25" y="918.4629">no</text><polygon fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" points="262.75,1293.1367,274.75,1305.1367,262.75,1317.1367,250.75,1305.1367,262.75,1293.1367" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="186" x="169.75" y="1434.0918"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="166" x="179.75" y="1455.6934">add vivso option in response</text><polygon fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" points="196.75,1385.6143,328.75,1385.6143,340.75,1397.6143,328.75,1409.6143,196.75,1409.6143,184.75,1397.6143,196.75,1385.6143" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="266.75" y="1420.249">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="132" x="196.75" y="1401.7715">vivso option in response</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="340.75" y="1395.2939">yes</text><polygon fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" points="262.75,1488.2246,274.75,1500.2246,262.75,1512.2246,250.75,1500.2246,262.75,1488.2246" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" points="246.25,1337.1367,279.25,1337.1367,291.25,1349.1367,279.25,1361.1367,246.25,1361.1367,234.25,1349.1367,246.25,1337.1367" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="266.75" y="1371.7715">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="33" x="246.25" y="1353.2939">added</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="291.25" y="1346.8164">no</text><polygon fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" points="262.75,1532.2246,274.75,1544.2246,262.75,1556.2246,250.75,1544.2246,262.75,1532.2246" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1cybzzzj8dis6)" points="205.75,864.7832,319.75,864.7832,331.75,876.7832,319.75,888.7832,205.75,888.7832,193.75,876.7832,205.75,864.7832" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="114" x="205.75" y="880.9404">for each code in ORO</text><ellipse cx="75.75" cy="919.7832" fill="#FFFFFF" filter="url(#f1cybzzzj8dis6)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="75.75" cy="919.7832" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="66.332" y2="86.332"/><polygon fill="#A80036" points="258.75,76.332,262.75,86.332,266.75,76.332,262.75,80.332" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="223.0752" y2="251.5088"/><polygon fill="#A80036" points="258.75,241.5088,262.75,251.5088,266.75,241.5088,262.75,245.5088" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="164.4648" y2="188.9424"/><polygon fill="#A80036" points="258.75,178.9424,262.75,188.9424,266.75,178.9424,262.75,182.9424" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="300.25" x2="312.25" y1="152.4648" y2="152.4648"/><polygon fill="#A80036" points="308.25,221.5088,312.25,231.5088,316.25,221.5088,312.25,225.5088" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="312.25" x2="312.25" y1="152.4648" y2="295.5088"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="312.25" x2="262.75" y1="295.5088" y2="295.5088"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="295.5088" y2="315.5088"/><polygon fill="#A80036" points="258.75,305.5088,262.75,315.5088,266.75,305.5088,262.75,309.5088" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="120.4648" y2="140.4648"/><polygon fill="#A80036" points="258.75,130.4648,262.75,140.4648,266.75,130.4648,262.75,134.4648" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="349.6416" y2="369.6416"/><polygon fill="#A80036" points="258.75,359.6416,262.75,369.6416,266.75,359.6416,262.75,363.6416" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="545.9072" y2="565.9072"/><polygon fill="#A80036" points="258.75,555.9072,262.75,565.9072,266.75,555.9072,262.75,559.9072" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="600.04" y2="610.04"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="373.25" y1="610.04" y2="610.04"/><polygon fill="#A80036" points="369.25,580.9736,373.25,570.9736,377.25,580.9736,373.25,576.9736" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="373.25" x2="373.25" y1="533.9072" y2="610.04"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="373.25" x2="344.25" y1="533.9072" y2="533.9072"/><polygon fill="#A80036" points="354.25,529.9072,344.25,533.9072,354.25,537.9072,350.25,533.9072" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="181.25" x2="152.25" y1="533.9072" y2="533.9072"/><polygon fill="#A80036" points="148.25,566.9736,152.25,576.9736,156.25,566.9736,152.25,570.9736" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="152.25" x2="152.25" y1="533.9072" y2="622.04"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="152.25" x2="404.75" y1="622.04" y2="622.04"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="404.75" x2="404.75" y1="435.7744" y2="622.04"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="404.75" x2="383.75" y1="435.7744" y2="435.7744"/><polygon fill="#A80036" points="393.75,431.7744,383.75,435.7744,393.75,439.7744,389.75,435.7744" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="501.9072" y2="521.9072"/><polygon fill="#A80036" points="258.75,511.9072,262.75,521.9072,266.75,511.9072,262.75,515.9072" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="447.7744" y2="467.7744"/><polygon fill="#A80036" points="258.75,457.7744,262.75,467.7744,266.75,457.7744,262.75,461.7744" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="141.75" x2="120.75" y1="435.7744" y2="435.7744"/><polygon fill="#A80036" points="116.75,524.4072,120.75,534.4072,124.75,524.4072,120.75,528.4072" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="120.75" x2="120.75" y1="435.7744" y2="644.04"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="120.75" x2="262.75" y1="644.04" y2="644.04"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="644.04" y2="664.04"/><polygon fill="#A80036" points="258.75,654.04,262.75,664.04,266.75,654.04,262.75,658.04" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="403.7744" y2="423.7744"/><polygon fill="#A80036" points="258.75,413.7744,262.75,423.7744,266.75,413.7744,262.75,417.7744" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="688.04" y2="712.5176"/><polygon fill="#A80036" points="258.75,702.5176,262.75,712.5176,266.75,702.5176,262.75,706.5176" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="334.25" x2="376.25" y1="676.04" y2="676.04"/><polygon fill="#A80036" points="372.25,719.584,376.25,729.584,380.25,719.584,376.25,723.584" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="376.25" x2="376.25" y1="676.04" y2="778.6504"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="376.25" x2="274.75" y1="778.6504" y2="778.6504"/><polygon fill="#A80036" points="284.75,774.6504,274.75,778.6504,284.75,782.6504,280.75,778.6504" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="746.6504" y2="766.6504"/><polygon fill="#A80036" points="258.75,756.6504,262.75,766.6504,266.75,756.6504,262.75,760.6504" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="790.6504" y2="810.6504"/><polygon fill="#A80036" points="258.75,800.6504,262.75,810.6504,266.75,800.6504,262.75,804.6504" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="1138.0039" y2="1173.0039"/><polygon fill="#A80036" points="258.75,1163.0039,262.75,1173.0039,266.75,1163.0039,262.75,1167.0039" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="1079.3936" y2="1103.8711"/><polygon fill="#A80036" points="258.75,1093.8711,262.75,1103.8711,266.75,1093.8711,262.75,1097.8711" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="290.75" x2="371.75" y1="1067.3936" y2="1067.3936"/><polygon fill="#A80036" points="367.75,1145.5039,371.75,1155.5039,375.75,1145.5039,371.75,1149.5039" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="371.75" x2="371.75" y1="1067.3936" y2="1239.1367"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="371.75" x2="274.75" y1="1239.1367" y2="1239.1367"/><polygon fill="#A80036" points="284.75,1235.1367,274.75,1239.1367,284.75,1243.1367,280.75,1239.1367" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="1207.1367" y2="1227.1367"/><polygon fill="#A80036" points="258.75,1217.1367,262.75,1227.1367,266.75,1217.1367,262.75,1221.1367" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="1035.3936" y2="1055.3936"/><polygon fill="#A80036" points="258.75,1045.3936,262.75,1055.3936,266.75,1045.3936,262.75,1049.3936" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="981.2607" y2="1001.2607"/><polygon fill="#A80036" points="258.75,991.2607,262.75,1001.2607,266.75,991.2607,262.75,995.2607" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="1251.1367" y2="1261.1367"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="404.75" y1="1261.1367" y2="1261.1367"/><polygon fill="#A80036" points="400.75,1118.9375,404.75,1108.9375,408.75,1118.9375,404.75,1114.9375" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="404.75" x2="404.75" y1="969.2607" y2="1261.1367"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="404.75" x2="383.75" y1="969.2607" y2="969.2607"/><polygon fill="#A80036" points="393.75,965.2607,383.75,969.2607,393.75,973.2607,389.75,969.2607" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="141.75" x2="120.75" y1="969.2607" y2="969.2607"/><polygon fill="#A80036" points="116.75,1104.9375,120.75,1114.9375,124.75,1104.9375,120.75,1108.9375" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="120.75" x2="120.75" y1="969.2607" y2="1273.1367"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="120.75" x2="262.75" y1="1273.1367" y2="1273.1367"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="1273.1367" y2="1293.1367"/><polygon fill="#A80036" points="258.75,1283.1367,262.75,1293.1367,266.75,1283.1367,262.75,1287.1367" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="932.7832" y2="957.2607"/><polygon fill="#A80036" points="258.75,947.2607,262.75,957.2607,266.75,947.2607,262.75,951.2607" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="372.25" x2="414.75" y1="920.7832" y2="920.7832"/><polygon fill="#A80036" points="410.75,1098.9375,414.75,1108.9375,418.75,1098.9375,414.75,1102.9375" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="414.75" x2="414.75" y1="920.7832" y2="1305.1367"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="414.75" x2="274.75" y1="1305.1367" y2="1305.1367"/><polygon fill="#A80036" points="284.75,1301.1367,274.75,1305.1367,284.75,1309.1367,280.75,1305.1367" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="1409.6143" y2="1434.0918"/><polygon fill="#A80036" points="258.75,1424.0918,262.75,1434.0918,266.75,1424.0918,262.75,1428.0918" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="340.75" x2="365.75" y1="1397.6143" y2="1397.6143"/><polygon fill="#A80036" points="361.75,1441.1582,365.75,1451.1582,369.75,1441.1582,365.75,1445.1582" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="365.75" x2="365.75" y1="1397.6143" y2="1500.2246"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="365.75" x2="274.75" y1="1500.2246" y2="1500.2246"/><polygon fill="#A80036" points="284.75,1496.2246,274.75,1500.2246,284.75,1504.2246,280.75,1500.2246" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="1468.2246" y2="1488.2246"/><polygon fill="#A80036" points="258.75,1478.2246,262.75,1488.2246,266.75,1478.2246,262.75,1482.2246" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="1361.1367" y2="1385.6143"/><polygon fill="#A80036" points="258.75,1375.6143,262.75,1385.6143,266.75,1375.6143,262.75,1379.6143" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="291.25" x2="387.75" y1="1349.1367" y2="1349.1367"/><polygon fill="#A80036" points="383.75,1441.1582,387.75,1451.1582,391.75,1441.1582,387.75,1445.1582" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="387.75" x2="387.75" y1="1349.1367" y2="1544.2246"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="387.75" x2="274.75" y1="1544.2246" y2="1544.2246"/><polygon fill="#A80036" points="284.75,1540.2246,274.75,1544.2246,284.75,1548.2246,280.75,1544.2246" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="1512.2246" y2="1532.2246"/><polygon fill="#A80036" points="258.75,1522.2246,262.75,1532.2246,266.75,1522.2246,262.75,1526.2246" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="1317.1367" y2="1337.1367"/><polygon fill="#A80036" points="258.75,1327.1367,262.75,1337.1367,266.75,1327.1367,262.75,1331.1367" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="888.7832" y2="908.7832"/><polygon fill="#A80036" points="258.75,898.7832,262.75,908.7832,266.75,898.7832,262.75,902.7832" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="1556.2246" y2="1566.2246"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="438.75" y1="1566.2246" y2="1566.2246"/><polygon fill="#A80036" points="434.75,1233.9814,438.75,1223.9814,442.75,1233.9814,438.75,1229.9814" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="438.75" x2="438.75" y1="876.7832" y2="1566.2246"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="438.75" x2="331.75" y1="876.7832" y2="876.7832"/><polygon fill="#A80036" points="341.75,872.7832,331.75,876.7832,341.75,880.7832,337.75,876.7832" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="193.75" x2="75.75" y1="876.7832" y2="876.7832"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="75.75" x2="75.75" y1="876.7832" y2="908.7832"/><polygon fill="#A80036" points="71.75,898.7832,75.75,908.7832,79.75,898.7832,75.75,902.7832" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="262.75" x2="262.75" y1="844.7832" y2="864.7832"/><polygon fill="#A80036" points="258.75,854.7832,262.75,864.7832,266.75,854.7832,262.75,858.7832" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[54c4a73685e2df2149ef62129358467d]
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1590px" preserveAspectRatio="none" style="width:509px;height:1590px;" version="1.1" viewBox="0 0 509 1590" width="509px" zoomAndPan="magnify"><defs><filter height="300%" id="f1fxs94y917cvd" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="485" x="12" y="27.4023">Append vendor requested options algorithm (Kea 1.8.0)</text><rect fill="#FEFECE" filter="url(#f1fxs94y917cvd)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="237" x="138.75" y="32.1992"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="217" x="148.75" y="53.8008">get vendor id from query vivso option</text><rect fill="#FEFECE" filter="url(#f1fxs94y917cvd)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="257" x="128.75" y="86.332"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="237" x="138.75" y="107.9336">get vendor id from response vivso option</text><rect fill="#FEFECE" filter="url(#f1fxs94y917cvd)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="55" x="229.75" y="188.9424"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="35" x="239.75" y="210.5439">return</text><ellipse cx="257.25" cy="262.5088" fill="#FFFFFF" filter="url(#f1fxs94y917cvd)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="257.25" cy="262.5088" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1fxs94y917cvd)" points="231.75,140.4648,282.75,140.4648,294.75,152.4648,282.75,164.4648,231.75,164.4648,219.75,152.4648,231.75,140.4648" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="261.25" y="175.0996">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="51" x="231.75" y="156.6221">vendor id</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="294.75" y="150.1445">yes</text><rect fill="#FEFECE" filter="url(#f1fxs94y917cvd)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="175.75" y="315.5088"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="143" x="185.75" y="337.1104">get configured option list</text><rect fill="#FEFECE" filter="url(#f1fxs94y917cvd)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="381" x="66.75" y="369.6416"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="361" x="76.75" y="391.2432">get option request list (ORO) from query DOCSIS vendor option</text><rect fill="#FEFECE" filter="url(#f1fxs94y917cvd)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="260" x="127.25" y="467.7744"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="240" x="137.25" y="489.376">get configured options in vendor id space</text><rect fill="#FEFECE" filter="url(#f1fxs94y917cvd)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="197" x="158.75" y="565.9072"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="177" x="168.75" y="587.5088">push back option code to ORO</text><polygon fill="#FEFECE" filter="url(#f1fxs94y917cvd)" points="187.75,521.9072,326.75,521.9072,338.75,533.9072,326.75,545.9072,187.75,545.9072,175.75,533.9072,187.75,521.9072" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="139" x="187.75" y="538.0645">for each persistent option</text><polygon fill="#FEFECE" filter="url(#f1fxs94y917cvd)" points="148.25,423.7744,366.25,423.7744,378.25,435.7744,366.25,447.7744,148.25,447.7744,136.25,435.7744,148.25,423.7744" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="218" x="148.25" y="439.9316">for each item from configured option list</text><rect fill="#FEFECE" filter="url(#f1fxs94y917cvd)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="207" x="153.75" y="712.5176"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="187" x="163.75" y="734.1191">create vivso option for vendor id</text><polygon fill="#FEFECE" filter="url(#f1fxs94y917cvd)" points="197.75,664.04,316.75,664.04,328.75,676.04,316.75,688.04,197.75,688.04,185.75,676.04,197.75,664.04" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="261.25" y="698.6748">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="119" x="197.75" y="680.1973">response vivso option</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="328.75" y="673.7197">yes</text><polygon fill="#FEFECE" filter="url(#f1fxs94y917cvd)" points="257.25,766.6504,269.25,778.6504,257.25,790.6504,245.25,778.6504,257.25,766.6504" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1fxs94y917cvd)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="103" x="205.75" y="810.6504"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="83" x="215.75" y="832.252">added = false</text><rect fill="#FEFECE" filter="url(#f1fxs94y917cvd)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="260" x="127.25" y="1001.2607"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="240" x="137.25" y="1022.8623">get configured options in vendor id space</text><rect fill="#FEFECE" filter="url(#f1fxs94y917cvd)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="198" x="158.25" y="1103.8711"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="178" x="168.25" y="1125.4727">add sub-option to vivso option</text><rect fill="#FEFECE" filter="url(#f1fxs94y917cvd)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="99" x="207.75" y="1173.0039"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="79" x="217.75" y="1194.6055">added = true</text><polygon fill="#FEFECE" filter="url(#f1fxs94y917cvd)" points="241.25,1055.3936,273.25,1055.3936,285.25,1067.3936,273.25,1079.3936,241.25,1079.3936,229.25,1067.3936,241.25,1055.3936" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="22" x="261.25" y="1090.0283">first</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="32" x="241.25" y="1071.5508">found</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="145" x="285.25" y="1065.0732">not found or already found</text><polygon fill="#FEFECE" filter="url(#f1fxs94y917cvd)" points="257.25,1227.1367,269.25,1239.1367,257.25,1251.1367,245.25,1239.1367,257.25,1227.1367" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1fxs94y917cvd)" points="148.25,957.2607,366.25,957.2607,378.25,969.2607,366.25,981.2607,148.25,981.2607,136.25,969.2607,148.25,957.2607" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="218" x="148.25" y="973.418">for each item from configured option list</text><polygon fill="#FEFECE" filter="url(#f1fxs94y917cvd)" points="159.75,908.7832,354.75,908.7832,366.75,920.7832,354.75,932.7832,159.75,932.7832,147.75,920.7832,159.75,908.7832" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="261.25" y="943.418">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="195" x="159.75" y="924.9404">sub-option is not set in vivso option</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="366.75" y="918.4629">no</text><polygon fill="#FEFECE" filter="url(#f1fxs94y917cvd)" points="257.25,1293.1367,269.25,1305.1367,257.25,1317.1367,245.25,1305.1367,257.25,1293.1367" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1fxs94y917cvd)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="186" x="164.25" y="1434.0918"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="166" x="174.25" y="1455.6934">add vivso option in response</text><polygon fill="#FEFECE" filter="url(#f1fxs94y917cvd)" points="191.25,1385.6143,323.25,1385.6143,335.25,1397.6143,323.25,1409.6143,191.25,1409.6143,179.25,1397.6143,191.25,1385.6143" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="261.25" y="1420.249">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="132" x="191.25" y="1401.7715">vivso option in response</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="335.25" y="1395.2939">yes</text><polygon fill="#FEFECE" filter="url(#f1fxs94y917cvd)" points="257.25,1488.2246,269.25,1500.2246,257.25,1512.2246,245.25,1500.2246,257.25,1488.2246" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1fxs94y917cvd)" points="240.75,1337.1367,273.75,1337.1367,285.75,1349.1367,273.75,1361.1367,240.75,1361.1367,228.75,1349.1367,240.75,1337.1367" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="261.25" y="1371.7715">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="33" x="240.75" y="1353.2939">added</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="285.75" y="1346.8164">no</text><polygon fill="#FEFECE" filter="url(#f1fxs94y917cvd)" points="257.25,1532.2246,269.25,1544.2246,257.25,1556.2246,245.25,1544.2246,257.25,1532.2246" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1fxs94y917cvd)" points="200.25,864.7832,314.25,864.7832,326.25,876.7832,314.25,888.7832,200.25,888.7832,188.25,876.7832,200.25,864.7832" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="114" x="200.25" y="880.9404">for each code in ORO</text><ellipse cx="70.25" cy="919.7832" fill="#FFFFFF" filter="url(#f1fxs94y917cvd)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="70.25" cy="919.7832" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="66.332" y2="86.332"/><polygon fill="#A80036" points="253.25,76.332,257.25,86.332,261.25,76.332,257.25,80.332" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="223.0752" y2="251.5088"/><polygon fill="#A80036" points="253.25,241.5088,257.25,251.5088,261.25,241.5088,257.25,245.5088" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="164.4648" y2="188.9424"/><polygon fill="#A80036" points="253.25,178.9424,257.25,188.9424,261.25,178.9424,257.25,182.9424" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="294.75" x2="306.75" y1="152.4648" y2="152.4648"/><polygon fill="#A80036" points="302.75,221.5088,306.75,231.5088,310.75,221.5088,306.75,225.5088" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="306.75" x2="306.75" y1="152.4648" y2="295.5088"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="306.75" x2="257.25" y1="295.5088" y2="295.5088"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="295.5088" y2="315.5088"/><polygon fill="#A80036" points="253.25,305.5088,257.25,315.5088,261.25,305.5088,257.25,309.5088" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="120.4648" y2="140.4648"/><polygon fill="#A80036" points="253.25,130.4648,257.25,140.4648,261.25,130.4648,257.25,134.4648" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="349.6416" y2="369.6416"/><polygon fill="#A80036" points="253.25,359.6416,257.25,369.6416,261.25,359.6416,257.25,363.6416" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="545.9072" y2="565.9072"/><polygon fill="#A80036" points="253.25,555.9072,257.25,565.9072,261.25,555.9072,257.25,559.9072" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="600.04" y2="610.04"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="367.75" y1="610.04" y2="610.04"/><polygon fill="#A80036" points="363.75,580.9736,367.75,570.9736,371.75,580.9736,367.75,576.9736" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="367.75" x2="367.75" y1="533.9072" y2="610.04"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="367.75" x2="338.75" y1="533.9072" y2="533.9072"/><polygon fill="#A80036" points="348.75,529.9072,338.75,533.9072,348.75,537.9072,344.75,533.9072" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="175.75" x2="146.75" y1="533.9072" y2="533.9072"/><polygon fill="#A80036" points="142.75,566.9736,146.75,576.9736,150.75,566.9736,146.75,570.9736" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="146.75" x2="146.75" y1="533.9072" y2="622.04"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="146.75" x2="399.25" y1="622.04" y2="622.04"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="399.25" x2="399.25" y1="435.7744" y2="622.04"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="399.25" x2="378.25" y1="435.7744" y2="435.7744"/><polygon fill="#A80036" points="388.25,431.7744,378.25,435.7744,388.25,439.7744,384.25,435.7744" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="501.9072" y2="521.9072"/><polygon fill="#A80036" points="253.25,511.9072,257.25,521.9072,261.25,511.9072,257.25,515.9072" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="447.7744" y2="467.7744"/><polygon fill="#A80036" points="253.25,457.7744,257.25,467.7744,261.25,457.7744,257.25,461.7744" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="136.25" x2="115.25" y1="435.7744" y2="435.7744"/><polygon fill="#A80036" points="111.25,524.4072,115.25,534.4072,119.25,524.4072,115.25,528.4072" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="115.25" x2="115.25" y1="435.7744" y2="644.04"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="115.25" x2="257.25" y1="644.04" y2="644.04"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="644.04" y2="664.04"/><polygon fill="#A80036" points="253.25,654.04,257.25,664.04,261.25,654.04,257.25,658.04" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="403.7744" y2="423.7744"/><polygon fill="#A80036" points="253.25,413.7744,257.25,423.7744,261.25,413.7744,257.25,417.7744" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="688.04" y2="712.5176"/><polygon fill="#A80036" points="253.25,702.5176,257.25,712.5176,261.25,702.5176,257.25,706.5176" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="328.75" x2="370.75" y1="676.04" y2="676.04"/><polygon fill="#A80036" points="366.75,719.584,370.75,729.584,374.75,719.584,370.75,723.584" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="370.75" x2="370.75" y1="676.04" y2="778.6504"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="370.75" x2="269.25" y1="778.6504" y2="778.6504"/><polygon fill="#A80036" points="279.25,774.6504,269.25,778.6504,279.25,782.6504,275.25,778.6504" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="746.6504" y2="766.6504"/><polygon fill="#A80036" points="253.25,756.6504,257.25,766.6504,261.25,756.6504,257.25,760.6504" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="790.6504" y2="810.6504"/><polygon fill="#A80036" points="253.25,800.6504,257.25,810.6504,261.25,800.6504,257.25,804.6504" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="1138.0039" y2="1173.0039"/><polygon fill="#A80036" points="253.25,1163.0039,257.25,1173.0039,261.25,1163.0039,257.25,1167.0039" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="1079.3936" y2="1103.8711"/><polygon fill="#A80036" points="253.25,1093.8711,257.25,1103.8711,261.25,1093.8711,257.25,1097.8711" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="366.25" y1="1067.3936" y2="1067.3936"/><polygon fill="#A80036" points="362.25,1145.5039,366.25,1155.5039,370.25,1145.5039,366.25,1149.5039" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="366.25" x2="366.25" y1="1067.3936" y2="1239.1367"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="366.25" x2="269.25" y1="1239.1367" y2="1239.1367"/><polygon fill="#A80036" points="279.25,1235.1367,269.25,1239.1367,279.25,1243.1367,275.25,1239.1367" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="1207.1367" y2="1227.1367"/><polygon fill="#A80036" points="253.25,1217.1367,257.25,1227.1367,261.25,1217.1367,257.25,1221.1367" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="1035.3936" y2="1055.3936"/><polygon fill="#A80036" points="253.25,1045.3936,257.25,1055.3936,261.25,1045.3936,257.25,1049.3936" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="981.2607" y2="1001.2607"/><polygon fill="#A80036" points="253.25,991.2607,257.25,1001.2607,261.25,991.2607,257.25,995.2607" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="1251.1367" y2="1261.1367"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="399.25" y1="1261.1367" y2="1261.1367"/><polygon fill="#A80036" points="395.25,1118.9375,399.25,1108.9375,403.25,1118.9375,399.25,1114.9375" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="399.25" x2="399.25" y1="969.2607" y2="1261.1367"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="399.25" x2="378.25" y1="969.2607" y2="969.2607"/><polygon fill="#A80036" points="388.25,965.2607,378.25,969.2607,388.25,973.2607,384.25,969.2607" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="136.25" x2="115.25" y1="969.2607" y2="969.2607"/><polygon fill="#A80036" points="111.25,1104.9375,115.25,1114.9375,119.25,1104.9375,115.25,1108.9375" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="115.25" x2="115.25" y1="969.2607" y2="1273.1367"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="115.25" x2="257.25" y1="1273.1367" y2="1273.1367"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="1273.1367" y2="1293.1367"/><polygon fill="#A80036" points="253.25,1283.1367,257.25,1293.1367,261.25,1283.1367,257.25,1287.1367" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="932.7832" y2="957.2607"/><polygon fill="#A80036" points="253.25,947.2607,257.25,957.2607,261.25,947.2607,257.25,951.2607" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="366.75" x2="409.25" y1="920.7832" y2="920.7832"/><polygon fill="#A80036" points="405.25,1098.9375,409.25,1108.9375,413.25,1098.9375,409.25,1102.9375" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="409.25" x2="409.25" y1="920.7832" y2="1305.1367"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="409.25" x2="269.25" y1="1305.1367" y2="1305.1367"/><polygon fill="#A80036" points="279.25,1301.1367,269.25,1305.1367,279.25,1309.1367,275.25,1305.1367" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="1409.6143" y2="1434.0918"/><polygon fill="#A80036" points="253.25,1424.0918,257.25,1434.0918,261.25,1424.0918,257.25,1428.0918" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="335.25" x2="360.25" y1="1397.6143" y2="1397.6143"/><polygon fill="#A80036" points="356.25,1441.1582,360.25,1451.1582,364.25,1441.1582,360.25,1445.1582" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="360.25" x2="360.25" y1="1397.6143" y2="1500.2246"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="360.25" x2="269.25" y1="1500.2246" y2="1500.2246"/><polygon fill="#A80036" points="279.25,1496.2246,269.25,1500.2246,279.25,1504.2246,275.25,1500.2246" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="1468.2246" y2="1488.2246"/><polygon fill="#A80036" points="253.25,1478.2246,257.25,1488.2246,261.25,1478.2246,257.25,1482.2246" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="1361.1367" y2="1385.6143"/><polygon fill="#A80036" points="253.25,1375.6143,257.25,1385.6143,261.25,1375.6143,257.25,1379.6143" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.75" x2="382.25" y1="1349.1367" y2="1349.1367"/><polygon fill="#A80036" points="378.25,1441.1582,382.25,1451.1582,386.25,1441.1582,382.25,1445.1582" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="382.25" x2="382.25" y1="1349.1367" y2="1544.2246"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="382.25" x2="269.25" y1="1544.2246" y2="1544.2246"/><polygon fill="#A80036" points="279.25,1540.2246,269.25,1544.2246,279.25,1548.2246,275.25,1544.2246" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="1512.2246" y2="1532.2246"/><polygon fill="#A80036" points="253.25,1522.2246,257.25,1532.2246,261.25,1522.2246,257.25,1526.2246" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="1317.1367" y2="1337.1367"/><polygon fill="#A80036" points="253.25,1327.1367,257.25,1337.1367,261.25,1327.1367,257.25,1331.1367" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="888.7832" y2="908.7832"/><polygon fill="#A80036" points="253.25,898.7832,257.25,908.7832,261.25,898.7832,257.25,902.7832" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="1556.2246" y2="1566.2246"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="433.25" y1="1566.2246" y2="1566.2246"/><polygon fill="#A80036" points="429.25,1233.9814,433.25,1223.9814,437.25,1233.9814,433.25,1229.9814" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="433.25" x2="433.25" y1="876.7832" y2="1566.2246"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="433.25" x2="326.25" y1="876.7832" y2="876.7832"/><polygon fill="#A80036" points="336.25,872.7832,326.25,876.7832,336.25,880.7832,332.25,876.7832" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="188.25" x2="70.25" y1="876.7832" y2="876.7832"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="70.25" x2="70.25" y1="876.7832" y2="908.7832"/><polygon fill="#A80036" points="66.25,898.7832,70.25,908.7832,74.25,898.7832,70.25,902.7832" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="257.25" y1="844.7832" y2="864.7832"/><polygon fill="#A80036" points="253.25,854.7832,257.25,864.7832,261.25,854.7832,257.25,858.7832" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[1634ff79370ec127c2dd3f2d0c122eb8]
@startuml\r
\r
-Title Append vendor requested options algorithm (Kea 1.7.11)\r
+Title Append vendor requested options algorithm (Kea 1.8.0)\r
\r
:get vendor id from query vivso option;\r
:get vendor id from response vivso option;\r
@startuml
-Title Append vendor requested options algorithm (Kea 1.7.11)
+Title Append vendor requested options algorithm (Kea 1.8.0)
:get vendor id from query vivso option;
:get vendor id from response vivso option;
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1372px" preserveAspectRatio="none" style="width:1375px;height:1372px;" version="1.1" viewBox="0 0 1375 1372" width="1375px" zoomAndPan="magnify"><defs><filter height="300%" id="f1p3l6kosi5qna" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="298" x="529.5" y="17.4023">DHCPv4 Assign Lease (Kea 1.7.11)</text><!--MD5=[96a966798826de6e056b38ba6b9482ca]
-cluster init_reboot--><rect fill="#FFFFFF" filter="url(#f1p3l6kosi5qna)" height="374.86" style="stroke: #000000; stroke-width: 1.5;" width="445" x="493" y="442.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="142" x="644.5" y="457.7344">INIT-REBOOT state</text><!--MD5=[71835f3367ed481a89f53801b2fdf617]
-cluster allocated--><rect fill="#FFFFFF" filter="url(#f1p3l6kosi5qna)" height="263.36" style="stroke: #000000; stroke-width: 1.5;" width="158" x="7" y="1092.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="110" x="31" y="1107.5944">Lease allocated</text><!--MD5=[b13a83736ea85c18a1991bca4dbe863b]
-entity by_client_id--><rect fill="#FEFECE" filter="url(#f1p3l6kosi5qna)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="219" x="517.5" y="547.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="199" x="527.5" y="570.5944">Get existing lease by client id</text><!--MD5=[6b610307314e3774f091112845a2df2b]
-entity by_hw_addr--><rect fill="#FEFECE" filter="url(#f1p3l6kosi5qna)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="288" x="626" y="660.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="268" x="636" y="683.5944">Get existing lease by hardware address</text><!--MD5=[ef5397f1455a008291e257fb65cb453b]
-entity authoritative--><rect fill="#FEFECE" filter="url(#f1p3l6kosi5qna)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="134" x="528" y="757.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="114" x="538" y="780.5944">Get authoritative</text><!--MD5=[a54398e3d2c0f7657eea7ade058e1e7f]
-entity ddns--><rect fill="#FEFECE" filter="url(#f1p3l6kosi5qna)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="110" x="31" y="1198.4192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="90" x="41" y="1221.9544">update DDNS</text><!--MD5=[8edf83f1bb568d804760d31cec2ffb3b]
-entity ack--><rect fill="#FEFECE" filter="url(#f1p3l6kosi5qna)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="87" x="42.5" y="1295.4192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="67" x="52.5" y="1318.9544">Send ACK</text><!--MD5=[7f6071cca9390999bbf4a53289faea1c]
-entity subnet--><rect fill="#FEFECE" filter="url(#f1p3l6kosi5qna)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="1205" y="28.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="1215" y="51.7344">Check Subnet</text><path d="M1080,33.6992 L1080,59.0098 A0,0 0 0 0 1080,59.0098 L1170,59.0098 A0,0 0 0 0 1170,59.0098 L1170,51.6992 L1205,46.1992 L1170,43.6992 L1170,43.6992 L1160,33.6992 L1080,33.6992 A0,0 0 0 0 1080,33.6992 " fill="#FBFB77" filter="url(#f1p3l6kosi5qna)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1160,33.6992 L1160,43.6992 L1170,43.6992 L1160,33.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="69" x="1086" y="51.2676">entry point</text><!--MD5=[d9ce3005481b6be8203f0e568049ebfd]
-entity server_id--><rect fill="#FEFECE" filter="url(#f1p3l6kosi5qna)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="106" x="1046" y="125.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="86" x="1056" y="148.7344">Get server id</text><!--MD5=[ee598753b08e093ad1dc6a89dd6a274b]
-entity hint--><rect fill="#FEFECE" filter="url(#f1p3l6kosi5qna)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="74" x="849" y="222.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="54" x="859" y="245.7344">Get hint</text><!--MD5=[fdc0ebc2726a1e25611a217b1a9cdddd]
-entity ident--><rect fill="#FEFECE" filter="url(#f1p3l6kosi5qna)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="258" x="565" y="335.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="238" x="575" y="358.7344">Get hardware address and client id</text><!--MD5=[9b403e692b0a4a2d394ce21b0c8a8b18]
-entity hostname--><rect fill="#FEFECE" filter="url(#f1p3l6kosi5qna)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="144" x="276" y="888.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="124" x="286" y="911.5944">Process hostname</text><!--MD5=[c7571992746652353b375880ae850124]
-entity allocate--><rect fill="#FEFECE" filter="url(#f1p3l6kosi5qna)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="204" y="985.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="214" y="1008.5944">Request lease</text><!--MD5=[18d4eff7c560e0870d2f30d7f8649cf3]
-entity failed--><rect fill="#FEFECE" filter="url(#f1p3l6kosi5qna)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="144" x="189" y="1101.4192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="124" x="199" y="1124.9544">No lease allocated</text><path d="M368,1106.9192 L368,1115.4192 L333.27,1119.4192 L368,1123.4192 L368,1132.2298 A0,0 0 0 0 368,1132.2298 L450,1132.2298 A0,0 0 0 0 450,1132.2298 L450,1116.9192 L440,1106.9192 L368,1106.9192 A0,0 0 0 0 368,1106.9192 " fill="#FBFB77" filter="url(#f1p3l6kosi5qna)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M440,1106.9192 L440,1116.9192 L450,1116.9192 L440,1106.9192 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="61" x="374" y="1124.4876">exit point</text><!--MD5=[6dac4c34c80be6dabf811d62e9db4883]
-entity nak--><rect fill="#FEFECE" filter="url(#f1p3l6kosi5qna)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="87" x="599.5" y="1198.4192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="67" x="609.5" y="1221.9544">Send NAK</text><path d="M722,1203.9192 L722,1212.4192 L686.59,1216.4192 L722,1220.4192 L722,1229.2298 A0,0 0 0 0 722,1229.2298 L804,1229.2298 A0,0 0 0 0 804,1229.2298 L804,1213.9192 L794,1203.9192 L722,1203.9192 A0,0 0 0 0 722,1203.9192 " fill="#FBFB77" filter="url(#f1p3l6kosi5qna)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M794,1203.9192 L794,1213.9192 L804,1213.9192 L794,1203.9192 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="61" x="728" y="1221.4876">exit point</text><!--MD5=[be0cad0b32609f2a377600c2fd818d08]
-entity no_response--><rect fill="#FEFECE" filter="url(#f1p3l6kosi5qna)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="106" x="1023" y="985.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="86" x="1033" y="1008.5944">No response</text><path d="M1164,990.5592 L1164,999.0592 L1129.16,1003.0592 L1164,1007.0592 L1164,1015.8698 A0,0 0 0 0 1164,1015.8698 L1246,1015.8698 A0,0 0 0 0 1246,1015.8698 L1246,1000.5592 L1236,990.5592 L1164,990.5592 A0,0 0 0 0 1164,990.5592 " fill="#FBFB77" filter="url(#f1p3l6kosi5qna)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1236,990.5592 L1236,1000.5592 L1246,1000.5592 L1236,990.5592 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="61" x="1170" y="1008.1276">exit point</text><!--MD5=[359b6ca0b36d81a4e33a25f71e3b7c61]
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1372px" preserveAspectRatio="none" style="width:1375px;height:1372px;" version="1.1" viewBox="0 0 1375 1372" width="1375px" zoomAndPan="magnify"><defs><filter height="300%" id="f1hqawhmrx3191" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="287" x="535" y="17.4023">DHCPv4 Assign Lease (Kea 1.8.0)</text><!--MD5=[96a966798826de6e056b38ba6b9482ca]
+cluster init_reboot--><rect fill="#FFFFFF" filter="url(#f1hqawhmrx3191)" height="374.86" style="stroke: #000000; stroke-width: 1.5;" width="445" x="493" y="442.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="142" x="644.5" y="457.7344">INIT-REBOOT state</text><!--MD5=[71835f3367ed481a89f53801b2fdf617]
+cluster allocated--><rect fill="#FFFFFF" filter="url(#f1hqawhmrx3191)" height="263.36" style="stroke: #000000; stroke-width: 1.5;" width="158" x="7" y="1092.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="110" x="31" y="1107.5944">Lease allocated</text><!--MD5=[b13a83736ea85c18a1991bca4dbe863b]
+entity by_client_id--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="219" x="517.5" y="547.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="199" x="527.5" y="570.5944">Get existing lease by client id</text><!--MD5=[6b610307314e3774f091112845a2df2b]
+entity by_hw_addr--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="288" x="626" y="660.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="268" x="636" y="683.5944">Get existing lease by hardware address</text><!--MD5=[ef5397f1455a008291e257fb65cb453b]
+entity authoritative--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="134" x="528" y="757.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="114" x="538" y="780.5944">Get authoritative</text><!--MD5=[a54398e3d2c0f7657eea7ade058e1e7f]
+entity ddns--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="110" x="31" y="1198.4192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="90" x="41" y="1221.9544">update DDNS</text><!--MD5=[8edf83f1bb568d804760d31cec2ffb3b]
+entity ack--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="87" x="42.5" y="1295.4192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="67" x="52.5" y="1318.9544">Send ACK</text><!--MD5=[7f6071cca9390999bbf4a53289faea1c]
+entity subnet--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="1205" y="28.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="1215" y="51.7344">Check Subnet</text><path d="M1080,33.6992 L1080,59.0098 A0,0 0 0 0 1080,59.0098 L1170,59.0098 A0,0 0 0 0 1170,59.0098 L1170,51.6992 L1205,46.1992 L1170,43.6992 L1170,43.6992 L1160,33.6992 L1080,33.6992 A0,0 0 0 0 1080,33.6992 " fill="#FBFB77" filter="url(#f1hqawhmrx3191)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1160,33.6992 L1160,43.6992 L1170,43.6992 L1160,33.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="69" x="1086" y="51.2676">entry point</text><!--MD5=[d9ce3005481b6be8203f0e568049ebfd]
+entity server_id--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="106" x="1046" y="125.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="86" x="1056" y="148.7344">Get server id</text><!--MD5=[ee598753b08e093ad1dc6a89dd6a274b]
+entity hint--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="74" x="849" y="222.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="54" x="859" y="245.7344">Get hint</text><!--MD5=[fdc0ebc2726a1e25611a217b1a9cdddd]
+entity ident--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="258" x="565" y="335.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="238" x="575" y="358.7344">Get hardware address and client id</text><!--MD5=[9b403e692b0a4a2d394ce21b0c8a8b18]
+entity hostname--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="144" x="276" y="888.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="124" x="286" y="911.5944">Process hostname</text><!--MD5=[c7571992746652353b375880ae850124]
+entity allocate--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="204" y="985.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="214" y="1008.5944">Request lease</text><!--MD5=[18d4eff7c560e0870d2f30d7f8649cf3]
+entity failed--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="144" x="189" y="1101.4192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="124" x="199" y="1124.9544">No lease allocated</text><path d="M368,1106.9192 L368,1115.4192 L333.27,1119.4192 L368,1123.4192 L368,1132.2298 A0,0 0 0 0 368,1132.2298 L450,1132.2298 A0,0 0 0 0 450,1132.2298 L450,1116.9192 L440,1106.9192 L368,1106.9192 A0,0 0 0 0 368,1106.9192 " fill="#FBFB77" filter="url(#f1hqawhmrx3191)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M440,1106.9192 L440,1116.9192 L450,1116.9192 L440,1106.9192 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="61" x="374" y="1124.4876">exit point</text><!--MD5=[6dac4c34c80be6dabf811d62e9db4883]
+entity nak--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="87" x="599.5" y="1198.4192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="67" x="609.5" y="1221.9544">Send NAK</text><path d="M722,1203.9192 L722,1212.4192 L686.59,1216.4192 L722,1220.4192 L722,1229.2298 A0,0 0 0 0 722,1229.2298 L804,1229.2298 A0,0 0 0 0 804,1229.2298 L804,1213.9192 L794,1203.9192 L722,1203.9192 A0,0 0 0 0 722,1203.9192 " fill="#FBFB77" filter="url(#f1hqawhmrx3191)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M794,1203.9192 L794,1213.9192 L804,1213.9192 L794,1203.9192 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="61" x="728" y="1221.4876">exit point</text><!--MD5=[be0cad0b32609f2a377600c2fd818d08]
+entity no_response--><rect fill="#FEFECE" filter="url(#f1hqawhmrx3191)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="106" x="1023" y="985.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="86" x="1033" y="1008.5944">No response</text><path d="M1164,990.5592 L1164,999.0592 L1129.16,1003.0592 L1164,1007.0592 L1164,1015.8698 A0,0 0 0 0 1164,1015.8698 L1246,1015.8698 A0,0 0 0 0 1246,1015.8698 L1246,1000.5592 L1236,990.5592 L1164,990.5592 A0,0 0 0 0 1164,990.5592 " fill="#FBFB77" filter="url(#f1hqawhmrx3191)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1236,990.5592 L1236,1000.5592 L1246,1000.5592 L1236,990.5592 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="61" x="1170" y="1008.1276">exit point</text><!--MD5=[359b6ca0b36d81a4e33a25f71e3b7c61]
link subnet to server_id--><path d="M1232.48,64.3992 C1204.44,80.7492 1162.31,105.2992 1132.9,122.4392 " fill="none" id="subnet->server_id" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1128.3,125.1192,1138.0915,124.0576,1132.6235,122.6079,1134.0733,117.1399,1128.3,125.1192" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[7db9f4f0423b43d622896ef15525c632]
link subnet to nak--><path d="M1273.1,64.2792 C1284,82.7192 1299,113.3492 1299,142.1992 C1299,142.1992 1299,142.1992 1299,1120.4192 C1299,1186.7792 768.46,1163.0292 705,1182.4192 C694.58,1185.5992 683.88,1190.5892 674.36,1195.7292 " fill="none" id="subnet->nak" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="669.79,1198.2492,679.6021,1197.3996,674.1668,1195.8319,675.7345,1190.3966,669.79,1198.2492" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="63" x="1300" y="626.6276">no subnet</text><!--MD5=[a38dfb09b1bcb8b95a969df0005f111d]
link server_id to hint--><path d="M1060.43,161.3992 C1022.99,178.0992 966.32,203.3692 927.82,220.5492 " fill="none" id="server_id->hint" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="923.21,222.5992,933.0589,222.5935,927.7779,220.5659,929.8055,215.2849,923.21,222.5992" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[34fbc802059013c2537c0989625530bb]
link allocated to ddns--><path d="M100.99,1120.4892 C100.68,1122.4392 93.91,1165.3192 89.58,1192.7692 " fill="none" id="allocated->ddns" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="88.74,1198.0392,94.1033,1189.7788,89.5249,1193.1012,86.2025,1188.5229,88.74,1198.0392" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6d51d97a60fea492264b409c209ca1ef]
link ddns to ack--><path d="M86,1234.8392 C86,1250.3792 86,1273.1992 86,1290.0792 " fill="none" id="ddns->ack" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="86,1295.1092,90,1286.1092,86,1290.1092,82,1286.1092,86,1295.1092" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[dd12c52c80378d18331ab530a0ed76ab]
link allocate to failed--><path d="M261,1021.4292 C261,1041.4392 261,1074.3792 261,1096.2292 " fill="none" id="allocate->failed" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="261,1101.2592,265,1092.2592,261,1096.2592,257,1092.2592,261,1101.2592" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="113" x="262" y="1064.6276">no lease allocated</text><!--MD5=[e8032f725f00abe81d7341b4b6fe8340]
-link failed to nak--><path d="M329.74,1137.5092 C406.04,1156.4892 527.27,1186.6392 594.35,1203.3192 " fill="none" id="failed->nak" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="599.48,1204.5992,591.7189,1198.5358,594.6293,1203.3865,589.7786,1206.297,599.48,1204.5992" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[07326153c0e0bad8363d01291957b705]
+link failed to nak--><path d="M329.74,1137.5092 C406.04,1156.4892 527.27,1186.6392 594.35,1203.3192 " fill="none" id="failed->nak" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="599.48,1204.5992,591.7189,1198.5358,594.6293,1203.3865,589.7786,1206.297,599.48,1204.5992" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0f73f9f94dec6643990f2b1b148176bd]
@startuml\r
\r
-title DHCPv4 Assign Lease (Kea 1.7.11)\r
+title DHCPv4 Assign Lease (Kea 1.8.0)\r
\r
agent "Check Subnet" as subnet\r
note left : entry point\r
@startuml
-title DHCPv4 Assign Lease (Kea 1.7.11)
+title DHCPv4 Assign Lease (Kea 1.8.0)
agent "Check Subnet" as subnet
note left : entry point
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1473px" preserveAspectRatio="none" style="width:637px;height:1473px;" version="1.1" viewBox="0 0 637 1473" width="637px" zoomAndPan="magnify"><defs><filter height="300%" id="f16sajmdzcjahq" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="613" x="12" y="27.4023">buildCfgOptionList: build configured option list algorithm (Kea 1.7.11)</text><ellipse cx="289.25" cy="41.1992" fill="#000000" filter="url(#f16sajmdzcjahq)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f16sajmdzcjahq)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="213" x="182.75" y="71.1992"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="193" x="192.75" y="92.8008">Get (empty) configured option list</text><rect fill="#FEFECE" filter="url(#f16sajmdzcjahq)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="55" x="261.75" y="173.8096"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="35" x="271.75" y="195.4111">return</text><ellipse cx="289.25" cy="247.376" fill="#FFFFFF" filter="url(#f16sajmdzcjahq)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="289.25" cy="247.376" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f16sajmdzcjahq)" points="262.25,125.332,316.25,125.332,328.25,137.332,316.25,149.332,262.25,149.332,250.25,137.332,262.25,125.332" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="293.25" y="159.9668">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="54" x="262.25" y="141.4893">no subnet</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="328.25" y="135.0117">no</text><rect fill="#FEFECE" filter="url(#f16sajmdzcjahq)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="219" x="179.75" y="348.8535"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="199" x="189.75" y="370.4551">push back host configured options</text><polygon fill="#FEFECE" filter="url(#f16sajmdzcjahq)" points="223.75,300.376,354.75,300.376,366.75,312.376,354.75,324.376,223.75,324.376,211.75,312.376,223.75,300.376" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="293.25" y="335.0107">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="131" x="223.75" y="316.5332">current host reservation</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="366.75" y="310.0557">no</text><polygon fill="#FEFECE" filter="url(#f16sajmdzcjahq)" points="289.25,402.9863,301.25,414.9863,289.25,426.9863,277.25,414.9863,289.25,402.9863" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f16sajmdzcjahq)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="188" x="195.25" y="495.4639"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="168" x="205.25" y="517.0654">get pool of assigned address</text><rect fill="#FEFECE" filter="url(#f16sajmdzcjahq)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="220" x="179.25" y="598.0742"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="200" x="189.25" y="619.6758">push back pool configured options</text><polygon fill="#FEFECE" filter="url(#f16sajmdzcjahq)" points="277.25,549.5967,301.25,549.5967,313.25,561.5967,301.25,573.5967,277.25,573.5967,265.25,561.5967,277.25,549.5967" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="293.25" y="584.2314">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="24" x="277.25" y="565.7539">pool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="313.25" y="559.2764">no</text><polygon fill="#FEFECE" filter="url(#f16sajmdzcjahq)" points="289.25,652.207,301.25,664.207,289.25,676.207,277.25,664.207,289.25,652.207" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f16sajmdzcjahq)" points="242.25,446.9863,336.25,446.9863,348.25,458.9863,336.25,470.9863,242.25,470.9863,230.25,458.9863,242.25,446.9863" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="293.25" y="481.6211">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="94" x="242.25" y="463.1436">assigned address</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="348.25" y="456.666">no</text><polygon fill="#FEFECE" filter="url(#f16sajmdzcjahq)" points="289.25,696.207,301.25,708.207,289.25,720.207,277.25,708.207,289.25,696.207" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f16sajmdzcjahq)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="234" x="172.25" y="740.207"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="214" x="182.25" y="761.8086">push back subnet configured options</text><rect fill="#FEFECE" filter="url(#f16sajmdzcjahq)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="206" x="186.25" y="794.3398"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="186" x="196.25" y="815.9414">get shared network from subnet</text><rect fill="#FEFECE" filter="url(#f16sajmdzcjahq)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="285" x="146.75" y="896.9502"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="265" x="156.75" y="918.5518">push back shared network configured options</text><polygon fill="#FEFECE" filter="url(#f16sajmdzcjahq)" points="247.75,848.4727,330.75,848.4727,342.75,860.4727,330.75,872.4727,247.75,872.4727,235.75,860.4727,247.75,848.4727" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="293.25" y="883.1074">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="83" x="247.75" y="864.6299">shared network</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="342.75" y="858.1523">no</text><polygon fill="#FEFECE" filter="url(#f16sajmdzcjahq)" points="289.25,951.083,301.25,963.083,289.25,975.083,277.25,963.083,289.25,951.083" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f16sajmdzcjahq)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="315" x="131.75" y="1039.083"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="295" x="141.75" y="1060.6846">get client class definition from current configuration</text><polygon fill="#FEFECE" filter="url(#f16sajmdzcjahq)" points="273.25,1093.2158,305.25,1093.2158,317.25,1105.2158,305.25,1117.2158,273.25,1117.2158,261.25,1105.2158,273.25,1093.2158" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="32" x="273.25" y="1109.373">found</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="247.25" y="1102.8955">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="317.25" y="1102.8955">yes</text><rect fill="#FEFECE" filter="url(#f16sajmdzcjahq)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="197" x="42" y="1175.6934"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="177" x="52" y="1197.2949">log debug "class unconfigured"</text><polygon fill="#FEFECE" filter="url(#f16sajmdzcjahq)" points="89.5,1127.2158,191.5,1127.2158,203.5,1139.2158,191.5,1151.2158,89.5,1151.2158,77.5,1139.2158,89.5,1127.2158" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="144.5" y="1161.8506">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="102" x="89.5" y="1143.373">built-in client class</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="203.5" y="1136.8955">yes</text><polygon fill="#FEFECE" filter="url(#f16sajmdzcjahq)" points="140.5,1229.8262,152.5,1241.8262,140.5,1253.8262,128.5,1241.8262,140.5,1229.8262" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f16sajmdzcjahq)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="314" x="281" y="1127.2158"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="294" x="291" y="1148.8174">push back client class definition configured options</text><polygon fill="#FEFECE" filter="url(#f16sajmdzcjahq)" points="289.25,1259.8262,301.25,1271.8262,289.25,1283.8262,277.25,1271.8262,289.25,1259.8262" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f16sajmdzcjahq)" points="219.25,995.083,359.25,995.083,371.25,1007.083,359.25,1019.083,219.25,1019.083,207.25,1007.083,219.25,995.083" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="140" x="219.25" y="1011.2402">for each query client class</text><rect fill="#FEFECE" filter="url(#f16sajmdzcjahq)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="230" x="174.25" y="1325.8262"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="210" x="184.25" y="1347.4277">push back global configured options</text><rect fill="#FEFECE" filter="url(#f16sajmdzcjahq)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="55" x="261.75" y="1379.959"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="35" x="271.75" y="1401.5605">return</text><ellipse cx="289.25" cy="1445.0918" fill="#FFFFFF" filter="url(#f16sajmdzcjahq)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="289.25" cy="1445.0918" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="51.1992" y2="71.1992"/><polygon fill="#A80036" points="285.25,61.1992,289.25,71.1992,293.25,61.1992,289.25,65.1992" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="207.9424" y2="236.376"/><polygon fill="#A80036" points="285.25,226.376,289.25,236.376,293.25,226.376,289.25,230.376" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="149.332" y2="173.8096"/><polygon fill="#A80036" points="285.25,163.8096,289.25,173.8096,293.25,163.8096,289.25,167.8096" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="328.25" x2="340.25" y1="137.332" y2="137.332"/><polygon fill="#A80036" points="336.25,206.376,340.25,216.376,344.25,206.376,340.25,210.376" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="340.25" x2="340.25" y1="137.332" y2="280.376"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="340.25" x2="289.25" y1="280.376" y2="280.376"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="280.376" y2="300.376"/><polygon fill="#A80036" points="285.25,290.376,289.25,300.376,293.25,290.376,289.25,294.376" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="105.332" y2="125.332"/><polygon fill="#A80036" points="285.25,115.332,289.25,125.332,293.25,115.332,289.25,119.332" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="324.376" y2="348.8535"/><polygon fill="#A80036" points="285.25,338.8535,289.25,348.8535,293.25,338.8535,289.25,342.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="366.75" x2="408.75" y1="312.376" y2="312.376"/><polygon fill="#A80036" points="404.75,355.9199,408.75,365.9199,412.75,355.9199,408.75,359.9199" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="408.75" x2="408.75" y1="312.376" y2="414.9863"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="408.75" x2="301.25" y1="414.9863" y2="414.9863"/><polygon fill="#A80036" points="311.25,410.9863,301.25,414.9863,311.25,418.9863,307.25,414.9863" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="382.9863" y2="402.9863"/><polygon fill="#A80036" points="285.25,392.9863,289.25,402.9863,293.25,392.9863,289.25,396.9863" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="573.5967" y2="598.0742"/><polygon fill="#A80036" points="285.25,588.0742,289.25,598.0742,293.25,588.0742,289.25,592.0742" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="313.25" x2="409.25" y1="561.5967" y2="561.5967"/><polygon fill="#A80036" points="405.25,605.1406,409.25,615.1406,413.25,605.1406,409.25,609.1406" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="409.25" x2="409.25" y1="561.5967" y2="664.207"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="409.25" x2="301.25" y1="664.207" y2="664.207"/><polygon fill="#A80036" points="311.25,660.207,301.25,664.207,311.25,668.207,307.25,664.207" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="632.207" y2="652.207"/><polygon fill="#A80036" points="285.25,642.207,289.25,652.207,293.25,642.207,289.25,646.207" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="529.5967" y2="549.5967"/><polygon fill="#A80036" points="285.25,539.5967,289.25,549.5967,293.25,539.5967,289.25,543.5967" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="470.9863" y2="495.4639"/><polygon fill="#A80036" points="285.25,485.4639,289.25,495.4639,293.25,485.4639,289.25,489.4639" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="348.25" x2="431.25" y1="458.9863" y2="458.9863"/><polygon fill="#A80036" points="427.25,570.5742,431.25,580.5742,435.25,570.5742,431.25,574.5742" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="431.25" x2="431.25" y1="458.9863" y2="708.207"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="431.25" x2="301.25" y1="708.207" y2="708.207"/><polygon fill="#A80036" points="311.25,704.207,301.25,708.207,311.25,712.207,307.25,708.207" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="676.207" y2="696.207"/><polygon fill="#A80036" points="285.25,686.207,289.25,696.207,293.25,686.207,289.25,690.207" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="426.9863" y2="446.9863"/><polygon fill="#A80036" points="285.25,436.9863,289.25,446.9863,293.25,436.9863,289.25,440.9863" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="720.207" y2="740.207"/><polygon fill="#A80036" points="285.25,730.207,289.25,740.207,293.25,730.207,289.25,734.207" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="774.3398" y2="794.3398"/><polygon fill="#A80036" points="285.25,784.3398,289.25,794.3398,293.25,784.3398,289.25,788.3398" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="872.4727" y2="896.9502"/><polygon fill="#A80036" points="285.25,886.9502,289.25,896.9502,293.25,886.9502,289.25,890.9502" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="342.75" x2="441.75" y1="860.4727" y2="860.4727"/><polygon fill="#A80036" points="437.75,904.0166,441.75,914.0166,445.75,904.0166,441.75,908.0166" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="441.75" x2="441.75" y1="860.4727" y2="963.083"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="441.75" x2="301.25" y1="963.083" y2="963.083"/><polygon fill="#A80036" points="311.25,959.083,301.25,963.083,311.25,967.083,307.25,963.083" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="931.083" y2="951.083"/><polygon fill="#A80036" points="285.25,941.083,289.25,951.083,293.25,941.083,289.25,945.083" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="828.4727" y2="848.4727"/><polygon fill="#A80036" points="285.25,838.4727,289.25,848.4727,293.25,838.4727,289.25,842.4727" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="140.5" x2="140.5" y1="1151.2158" y2="1175.6934"/><polygon fill="#A80036" points="136.5,1165.6934,140.5,1175.6934,144.5,1165.6934,140.5,1169.6934" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203.5" x2="249" y1="1139.2158" y2="1139.2158"/><polygon fill="#A80036" points="245,1182.7598,249,1192.7598,253,1182.7598,249,1186.7598" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="249" x2="249" y1="1139.2158" y2="1241.8262"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="249" x2="152.5" y1="1241.8262" y2="1241.8262"/><polygon fill="#A80036" points="162.5,1237.8262,152.5,1241.8262,162.5,1245.8262,158.5,1241.8262" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="140.5" x2="140.5" y1="1209.8262" y2="1229.8262"/><polygon fill="#A80036" points="136.5,1219.8262,140.5,1229.8262,144.5,1219.8262,140.5,1223.8262" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="261.25" x2="140.5" y1="1105.2158" y2="1105.2158"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="140.5" x2="140.5" y1="1105.2158" y2="1127.2158"/><polygon fill="#A80036" points="136.5,1117.2158,140.5,1127.2158,144.5,1117.2158,140.5,1121.2158" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="317.25" x2="438" y1="1105.2158" y2="1105.2158"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="438" x2="438" y1="1105.2158" y2="1127.2158"/><polygon fill="#A80036" points="434,1117.2158,438,1127.2158,442,1117.2158,438,1121.2158" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="140.5" x2="140.5" y1="1253.8262" y2="1271.8262"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="140.5" x2="277.25" y1="1271.8262" y2="1271.8262"/><polygon fill="#A80036" points="267.25,1267.8262,277.25,1271.8262,267.25,1275.8262,271.25,1271.8262" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="438" x2="438" y1="1161.3486" y2="1271.8262"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="438" x2="301.25" y1="1271.8262" y2="1271.8262"/><polygon fill="#A80036" points="311.25,1267.8262,301.25,1271.8262,311.25,1275.8262,307.25,1271.8262" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="1073.2158" y2="1093.2158"/><polygon fill="#A80036" points="285.25,1083.2158,289.25,1093.2158,293.25,1083.2158,289.25,1087.2158" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="1019.083" y2="1039.083"/><polygon fill="#A80036" points="285.25,1029.083,289.25,1039.083,293.25,1029.083,289.25,1033.083" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="1283.8262" y2="1293.8262"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="609" y1="1293.8262" y2="1293.8262"/><polygon fill="#A80036" points="605,1154.1934,609,1144.1934,613,1154.1934,609,1150.1934" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="609" x2="609" y1="1007.083" y2="1293.8262"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="609" x2="371.25" y1="1007.083" y2="1007.083"/><polygon fill="#A80036" points="381.25,1003.083,371.25,1007.083,381.25,1011.083,377.25,1007.083" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="207.25" x2="28" y1="1007.083" y2="1007.083"/><polygon fill="#A80036" points="24,1140.1934,28,1150.1934,32,1140.1934,28,1144.1934" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="28" x2="28" y1="1007.083" y2="1305.8262"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="28" x2="289.25" y1="1305.8262" y2="1305.8262"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="1305.8262" y2="1325.8262"/><polygon fill="#A80036" points="285.25,1315.8262,289.25,1325.8262,293.25,1315.8262,289.25,1319.8262" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="975.083" y2="995.083"/><polygon fill="#A80036" points="285.25,985.083,289.25,995.083,293.25,985.083,289.25,989.083" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="1359.959" y2="1379.959"/><polygon fill="#A80036" points="285.25,1369.959,289.25,1379.959,293.25,1369.959,289.25,1373.959" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="289.25" x2="289.25" y1="1414.0918" y2="1434.0918"/><polygon fill="#A80036" points="285.25,1424.0918,289.25,1434.0918,293.25,1424.0918,289.25,1428.0918" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[2c0735bd80b11bbbb6a11e4cabbe7b62]
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1473px" preserveAspectRatio="none" style="width:631px;height:1473px;" version="1.1" viewBox="0 0 631 1473" width="631px" zoomAndPan="magnify"><defs><filter height="300%" id="fir6yoc6xktif" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="602" x="13.5" y="27.4023">buildCfgOptionList: build configured option list algorithm (Kea 1.8.0)</text><ellipse cx="285.25" cy="41.1992" fill="#000000" filter="url(#fir6yoc6xktif)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#fir6yoc6xktif)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="213" x="178.75" y="71.1992"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="193" x="188.75" y="92.8008">Get (empty) configured option list</text><rect fill="#FEFECE" filter="url(#fir6yoc6xktif)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="55" x="257.75" y="173.8096"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="35" x="267.75" y="195.4111">return</text><ellipse cx="285.25" cy="247.376" fill="#FFFFFF" filter="url(#fir6yoc6xktif)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="285.25" cy="247.376" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#fir6yoc6xktif)" points="258.25,125.332,312.25,125.332,324.25,137.332,312.25,149.332,258.25,149.332,246.25,137.332,258.25,125.332" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="289.25" y="159.9668">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="54" x="258.25" y="141.4893">no subnet</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="324.25" y="135.0117">no</text><rect fill="#FEFECE" filter="url(#fir6yoc6xktif)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="219" x="175.75" y="348.8535"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="199" x="185.75" y="370.4551">push back host configured options</text><polygon fill="#FEFECE" filter="url(#fir6yoc6xktif)" points="219.75,300.376,350.75,300.376,362.75,312.376,350.75,324.376,219.75,324.376,207.75,312.376,219.75,300.376" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="289.25" y="335.0107">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="131" x="219.75" y="316.5332">current host reservation</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="362.75" y="310.0557">no</text><polygon fill="#FEFECE" filter="url(#fir6yoc6xktif)" points="285.25,402.9863,297.25,414.9863,285.25,426.9863,273.25,414.9863,285.25,402.9863" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#fir6yoc6xktif)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="188" x="191.25" y="495.4639"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="168" x="201.25" y="517.0654">get pool of assigned address</text><rect fill="#FEFECE" filter="url(#fir6yoc6xktif)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="220" x="175.25" y="598.0742"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="200" x="185.25" y="619.6758">push back pool configured options</text><polygon fill="#FEFECE" filter="url(#fir6yoc6xktif)" points="273.25,549.5967,297.25,549.5967,309.25,561.5967,297.25,573.5967,273.25,573.5967,261.25,561.5967,273.25,549.5967" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="289.25" y="584.2314">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="24" x="273.25" y="565.7539">pool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="309.25" y="559.2764">no</text><polygon fill="#FEFECE" filter="url(#fir6yoc6xktif)" points="285.25,652.207,297.25,664.207,285.25,676.207,273.25,664.207,285.25,652.207" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#fir6yoc6xktif)" points="238.25,446.9863,332.25,446.9863,344.25,458.9863,332.25,470.9863,238.25,470.9863,226.25,458.9863,238.25,446.9863" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="289.25" y="481.6211">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="94" x="238.25" y="463.1436">assigned address</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="344.25" y="456.666">no</text><polygon fill="#FEFECE" filter="url(#fir6yoc6xktif)" points="285.25,696.207,297.25,708.207,285.25,720.207,273.25,708.207,285.25,696.207" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#fir6yoc6xktif)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="234" x="168.25" y="740.207"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="214" x="178.25" y="761.8086">push back subnet configured options</text><rect fill="#FEFECE" filter="url(#fir6yoc6xktif)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="206" x="182.25" y="794.3398"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="186" x="192.25" y="815.9414">get shared network from subnet</text><rect fill="#FEFECE" filter="url(#fir6yoc6xktif)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="285" x="142.75" y="896.9502"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="265" x="152.75" y="918.5518">push back shared network configured options</text><polygon fill="#FEFECE" filter="url(#fir6yoc6xktif)" points="243.75,848.4727,326.75,848.4727,338.75,860.4727,326.75,872.4727,243.75,872.4727,231.75,860.4727,243.75,848.4727" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="289.25" y="883.1074">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="83" x="243.75" y="864.6299">shared network</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="338.75" y="858.1523">no</text><polygon fill="#FEFECE" filter="url(#fir6yoc6xktif)" points="285.25,951.083,297.25,963.083,285.25,975.083,273.25,963.083,285.25,951.083" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#fir6yoc6xktif)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="315" x="127.75" y="1039.083"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="295" x="137.75" y="1060.6846">get client class definition from current configuration</text><polygon fill="#FEFECE" filter="url(#fir6yoc6xktif)" points="269.25,1093.2158,301.25,1093.2158,313.25,1105.2158,301.25,1117.2158,269.25,1117.2158,257.25,1105.2158,269.25,1093.2158" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="32" x="269.25" y="1109.373">found</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="243.25" y="1102.8955">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="313.25" y="1102.8955">yes</text><rect fill="#FEFECE" filter="url(#fir6yoc6xktif)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="197" x="38" y="1175.6934"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="177" x="48" y="1197.2949">log debug "class unconfigured"</text><polygon fill="#FEFECE" filter="url(#fir6yoc6xktif)" points="85.5,1127.2158,187.5,1127.2158,199.5,1139.2158,187.5,1151.2158,85.5,1151.2158,73.5,1139.2158,85.5,1127.2158" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="140.5" y="1161.8506">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="102" x="85.5" y="1143.373">built-in client class</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="199.5" y="1136.8955">yes</text><polygon fill="#FEFECE" filter="url(#fir6yoc6xktif)" points="136.5,1229.8262,148.5,1241.8262,136.5,1253.8262,124.5,1241.8262,136.5,1229.8262" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#fir6yoc6xktif)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="314" x="277" y="1127.2158"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="294" x="287" y="1148.8174">push back client class definition configured options</text><polygon fill="#FEFECE" filter="url(#fir6yoc6xktif)" points="285.25,1259.8262,297.25,1271.8262,285.25,1283.8262,273.25,1271.8262,285.25,1259.8262" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#fir6yoc6xktif)" points="215.25,995.083,355.25,995.083,367.25,1007.083,355.25,1019.083,215.25,1019.083,203.25,1007.083,215.25,995.083" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="140" x="215.25" y="1011.2402">for each query client class</text><rect fill="#FEFECE" filter="url(#fir6yoc6xktif)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="230" x="170.25" y="1325.8262"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="210" x="180.25" y="1347.4277">push back global configured options</text><rect fill="#FEFECE" filter="url(#fir6yoc6xktif)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="55" x="257.75" y="1379.959"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="35" x="267.75" y="1401.5605">return</text><ellipse cx="285.25" cy="1445.0918" fill="#FFFFFF" filter="url(#fir6yoc6xktif)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="285.25" cy="1445.0918" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="51.1992" y2="71.1992"/><polygon fill="#A80036" points="281.25,61.1992,285.25,71.1992,289.25,61.1992,285.25,65.1992" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="207.9424" y2="236.376"/><polygon fill="#A80036" points="281.25,226.376,285.25,236.376,289.25,226.376,285.25,230.376" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="149.332" y2="173.8096"/><polygon fill="#A80036" points="281.25,163.8096,285.25,173.8096,289.25,163.8096,285.25,167.8096" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="324.25" x2="336.25" y1="137.332" y2="137.332"/><polygon fill="#A80036" points="332.25,206.376,336.25,216.376,340.25,206.376,336.25,210.376" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="336.25" x2="336.25" y1="137.332" y2="280.376"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="336.25" x2="285.25" y1="280.376" y2="280.376"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="280.376" y2="300.376"/><polygon fill="#A80036" points="281.25,290.376,285.25,300.376,289.25,290.376,285.25,294.376" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="105.332" y2="125.332"/><polygon fill="#A80036" points="281.25,115.332,285.25,125.332,289.25,115.332,285.25,119.332" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="324.376" y2="348.8535"/><polygon fill="#A80036" points="281.25,338.8535,285.25,348.8535,289.25,338.8535,285.25,342.8535" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="362.75" x2="404.75" y1="312.376" y2="312.376"/><polygon fill="#A80036" points="400.75,355.9199,404.75,365.9199,408.75,355.9199,404.75,359.9199" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="404.75" x2="404.75" y1="312.376" y2="414.9863"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="404.75" x2="297.25" y1="414.9863" y2="414.9863"/><polygon fill="#A80036" points="307.25,410.9863,297.25,414.9863,307.25,418.9863,303.25,414.9863" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="382.9863" y2="402.9863"/><polygon fill="#A80036" points="281.25,392.9863,285.25,402.9863,289.25,392.9863,285.25,396.9863" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="573.5967" y2="598.0742"/><polygon fill="#A80036" points="281.25,588.0742,285.25,598.0742,289.25,588.0742,285.25,592.0742" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="309.25" x2="405.25" y1="561.5967" y2="561.5967"/><polygon fill="#A80036" points="401.25,605.1406,405.25,615.1406,409.25,605.1406,405.25,609.1406" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="405.25" x2="405.25" y1="561.5967" y2="664.207"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="405.25" x2="297.25" y1="664.207" y2="664.207"/><polygon fill="#A80036" points="307.25,660.207,297.25,664.207,307.25,668.207,303.25,664.207" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="632.207" y2="652.207"/><polygon fill="#A80036" points="281.25,642.207,285.25,652.207,289.25,642.207,285.25,646.207" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="529.5967" y2="549.5967"/><polygon fill="#A80036" points="281.25,539.5967,285.25,549.5967,289.25,539.5967,285.25,543.5967" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="470.9863" y2="495.4639"/><polygon fill="#A80036" points="281.25,485.4639,285.25,495.4639,289.25,485.4639,285.25,489.4639" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="344.25" x2="427.25" y1="458.9863" y2="458.9863"/><polygon fill="#A80036" points="423.25,570.5742,427.25,580.5742,431.25,570.5742,427.25,574.5742" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="427.25" x2="427.25" y1="458.9863" y2="708.207"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="427.25" x2="297.25" y1="708.207" y2="708.207"/><polygon fill="#A80036" points="307.25,704.207,297.25,708.207,307.25,712.207,303.25,708.207" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="676.207" y2="696.207"/><polygon fill="#A80036" points="281.25,686.207,285.25,696.207,289.25,686.207,285.25,690.207" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="426.9863" y2="446.9863"/><polygon fill="#A80036" points="281.25,436.9863,285.25,446.9863,289.25,436.9863,285.25,440.9863" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="720.207" y2="740.207"/><polygon fill="#A80036" points="281.25,730.207,285.25,740.207,289.25,730.207,285.25,734.207" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="774.3398" y2="794.3398"/><polygon fill="#A80036" points="281.25,784.3398,285.25,794.3398,289.25,784.3398,285.25,788.3398" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="872.4727" y2="896.9502"/><polygon fill="#A80036" points="281.25,886.9502,285.25,896.9502,289.25,886.9502,285.25,890.9502" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="338.75" x2="437.75" y1="860.4727" y2="860.4727"/><polygon fill="#A80036" points="433.75,904.0166,437.75,914.0166,441.75,904.0166,437.75,908.0166" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="437.75" x2="437.75" y1="860.4727" y2="963.083"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="437.75" x2="297.25" y1="963.083" y2="963.083"/><polygon fill="#A80036" points="307.25,959.083,297.25,963.083,307.25,967.083,303.25,963.083" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="931.083" y2="951.083"/><polygon fill="#A80036" points="281.25,941.083,285.25,951.083,289.25,941.083,285.25,945.083" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="828.4727" y2="848.4727"/><polygon fill="#A80036" points="281.25,838.4727,285.25,848.4727,289.25,838.4727,285.25,842.4727" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="136.5" x2="136.5" y1="1151.2158" y2="1175.6934"/><polygon fill="#A80036" points="132.5,1165.6934,136.5,1175.6934,140.5,1165.6934,136.5,1169.6934" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="199.5" x2="245" y1="1139.2158" y2="1139.2158"/><polygon fill="#A80036" points="241,1182.7598,245,1192.7598,249,1182.7598,245,1186.7598" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="245" x2="245" y1="1139.2158" y2="1241.8262"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="245" x2="148.5" y1="1241.8262" y2="1241.8262"/><polygon fill="#A80036" points="158.5,1237.8262,148.5,1241.8262,158.5,1245.8262,154.5,1241.8262" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="136.5" x2="136.5" y1="1209.8262" y2="1229.8262"/><polygon fill="#A80036" points="132.5,1219.8262,136.5,1229.8262,140.5,1219.8262,136.5,1223.8262" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="257.25" x2="136.5" y1="1105.2158" y2="1105.2158"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="136.5" x2="136.5" y1="1105.2158" y2="1127.2158"/><polygon fill="#A80036" points="132.5,1117.2158,136.5,1127.2158,140.5,1117.2158,136.5,1121.2158" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="313.25" x2="434" y1="1105.2158" y2="1105.2158"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="434" x2="434" y1="1105.2158" y2="1127.2158"/><polygon fill="#A80036" points="430,1117.2158,434,1127.2158,438,1117.2158,434,1121.2158" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="136.5" x2="136.5" y1="1253.8262" y2="1271.8262"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="136.5" x2="273.25" y1="1271.8262" y2="1271.8262"/><polygon fill="#A80036" points="263.25,1267.8262,273.25,1271.8262,263.25,1275.8262,267.25,1271.8262" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="434" x2="434" y1="1161.3486" y2="1271.8262"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="434" x2="297.25" y1="1271.8262" y2="1271.8262"/><polygon fill="#A80036" points="307.25,1267.8262,297.25,1271.8262,307.25,1275.8262,303.25,1271.8262" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="1073.2158" y2="1093.2158"/><polygon fill="#A80036" points="281.25,1083.2158,285.25,1093.2158,289.25,1083.2158,285.25,1087.2158" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="1019.083" y2="1039.083"/><polygon fill="#A80036" points="281.25,1029.083,285.25,1039.083,289.25,1029.083,285.25,1033.083" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="1283.8262" y2="1293.8262"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="605" y1="1293.8262" y2="1293.8262"/><polygon fill="#A80036" points="601,1154.1934,605,1144.1934,609,1154.1934,605,1150.1934" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="605" x2="605" y1="1007.083" y2="1293.8262"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="605" x2="367.25" y1="1007.083" y2="1007.083"/><polygon fill="#A80036" points="377.25,1003.083,367.25,1007.083,377.25,1011.083,373.25,1007.083" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="203.25" x2="24" y1="1007.083" y2="1007.083"/><polygon fill="#A80036" points="20,1140.1934,24,1150.1934,28,1140.1934,24,1144.1934" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="24" x2="24" y1="1007.083" y2="1305.8262"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="24" x2="285.25" y1="1305.8262" y2="1305.8262"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="1305.8262" y2="1325.8262"/><polygon fill="#A80036" points="281.25,1315.8262,285.25,1325.8262,289.25,1315.8262,285.25,1319.8262" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="975.083" y2="995.083"/><polygon fill="#A80036" points="281.25,985.083,285.25,995.083,289.25,985.083,285.25,989.083" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="1359.959" y2="1379.959"/><polygon fill="#A80036" points="281.25,1369.959,285.25,1379.959,289.25,1369.959,285.25,1373.959" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="285.25" x2="285.25" y1="1414.0918" y2="1434.0918"/><polygon fill="#A80036" points="281.25,1424.0918,285.25,1434.0918,289.25,1424.0918,285.25,1428.0918" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[bd4aec0a1192fe47e86baeddbb8cfe25]
@startuml\r
\r
-title buildCfgOptionList: build configured option list algorithm (Kea 1.7.11)\r
+title buildCfgOptionList: build configured option list algorithm (Kea 1.8.0)\r
\r
start\r
:Get (empty) configured option list;\r
@startuml
-title buildCfgOptionList: build configured option list algorithm (Kea 1.7.11)
+title buildCfgOptionList: build configured option list algorithm (Kea 1.8.0)
start
:Get (empty) configured option list;
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="2163px" preserveAspectRatio="none" style="width:969px;height:2163px;" version="1.1" viewBox="0 0 969 2163" width="969px" zoomAndPan="magnify"><defs><filter height="300%" id="fukfijbnkkysb" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="288" x="331.75" y="17.4023">currentHost DHCPv4 (Kea 1.7.11)</text><!--MD5=[e3476fda087b0512b1cf4e3a66ca5e59]
-entity entry--><rect fill="#FEFECE" filter="url(#fukfijbnkkysb)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="134" x="314.5" y="28.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="114" x="324.5" y="51.7344">Subnet Selection</text><!--MD5=[f65ad2d20ed779f8ee7fa3e9ca8ab4c3]
-entity setSelected--><rect fill="#FEFECE" filter="url(#fukfijbnkkysb)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="247" x="258" y="125.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="227" x="268" y="148.7344">Set subnet to the selected subnet</text><!--MD5=[c0678c1aaf89874ea821e39d7ef5404f]
-entity clientid_lookup--><rect fill="#FEFECE" filter="url(#fukfijbnkkysb)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="245" x="259" y="222.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="225" x="269" y="245.7344">Has client a lease for its client id?</text><!--MD5=[a51c27fcfb0c2b9388b266a7e30efdf3]
-entity clientid_iterate--><rect fill="#FEFECE" filter="url(#fukfijbnkkysb)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="283" x="7" y="319.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="263" x="17" y="342.7344">Iterate on allowed subnets for client id</text><!--MD5=[96d14c76c72fae1f84c71c464af0f0e6]
-entity found_clientid--><rect fill="#FEFECE" filter="url(#fukfijbnkkysb)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="253" x="22" y="498.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="233" x="32" y="521.7344">Set subnet to the by client id lease</text><!--MD5=[9f5518b92d1482f0724c659635bb4f8f]
-entity hwaddr_lookup--><rect fill="#FEFECE" filter="url(#fukfijbnkkysb)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="211" x="449" y="432.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="191" x="459" y="455.7344">Has client a matching lease?</text><!--MD5=[7366630e5488cbc20c26d829a87e86ca]
-entity hwaddr_iterate--><rect fill="#FEFECE" filter="url(#fukfijbnkkysb)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="352" x="201.5" y="564.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="332" x="211.5" y="587.7344">Iterate on allowed subnets for hardware address</text><!--MD5=[096d593c9a7e1a0b5ae2681804d4217f]
-entity found_hwaddr--><rect fill="#FEFECE" filter="url(#fukfijbnkkysb)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="243" x="229" y="677.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="223" x="239" y="700.7344">Set subnet to the matching lease</text><!--MD5=[f1bd864ca92b3a59ad91e15b6c278a16]
-entity hasAddressReservation--><rect fill="#FEFECE" filter="url(#fukfijbnkkysb)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="211" x="375" y="930.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="191" x="385" y="953.7344">Has an address reservation?</text><!--MD5=[0af8b8cc29117b7db26a4bf8fde82b62]
-entity setAddressReservation--><rect fill="#FEFECE" filter="url(#fukfijbnkkysb)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="300" x="220.5" y="1043.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="280" x="230.5" y="1066.7344">Set subnet to address reservation subnet</text><!--MD5=[42a0a2711e18aa980e3ea9f910af1c90]
-entity pool--><rect fill="#FEFECE" filter="url(#fukfijbnkkysb)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="251" x="355" y="1140.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="231" x="365" y="1163.7344">Is the address in an allowed pool?</text><!--MD5=[ec337e6f6831b541235537d1c5125816]
-entity pool_iterate--><rect fill="#FEFECE" filter="url(#fukfijbnkkysb)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="269" x="141" y="1237.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="249" x="151" y="1260.7344">Iterate on allowed subnets with pool</text><!--MD5=[8426a0f58e3c900bd89aafdc516c0a64]
-entity inAllowedPool--><rect fill="#FEFECE" filter="url(#fukfijbnkkysb)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="254" x="148.5" y="1350.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="234" x="158.5" y="1373.7344">Set subnet to address pool subnet</text><!--MD5=[c7571992746652353b375880ae850124]
-entity allocate--><rect fill="#FEFECE" filter="url(#fukfijbnkkysb)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="158" x="393.5" y="1447.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="138" x="403.5" y="1470.7344">Allocate a new lease</text><!--MD5=[539657d7008b7b9e186112fa27fe2a64]
-entity allocate_iterate--><rect fill="#FEFECE" filter="url(#fukfijbnkkysb)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="201" x="232" y="1560.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="181" x="242" y="1583.7344">Iterate on allowed subnets</text><!--MD5=[98bd7f0fd78ffed8e2b0c08f2369be38]
-entity allocated--><rect fill="#FEFECE" filter="url(#fukfijbnkkysb)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="266" x="270.5" y="1673.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="246" x="280.5" y="1696.7344">Set subnet to allocated lease subnet</text><!--MD5=[a2ab21a8d09e419da8ba4e22e422b87f]
-entity getHRmode--><rect fill="#FEFECE" filter="url(#fukfijbnkkysb)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="394.5" y="1770.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="232" x="404.5" y="1793.7344">Get subnet host reservation mode</text><!--MD5=[9e66760393f24350dd53d10577644815]
-entity checkHRmode--><rect fill="#FEFECE" filter="url(#fukfijbnkkysb)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="293" x="374" y="1867.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="273" x="384" y="1890.7344">Is subnet host reservation mode global?</text><!--MD5=[9225881c05e5dcc29801826dc3c4a44b]
-entity global--><rect fill="#FEFECE" filter="url(#fukfijbnkkysb)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="205" x="298" y="1980.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="185" x="308" y="2003.7344">Get global host reservation</text><!--MD5=[fb2193611fca68211907294b61bd1772]
-entity bySubnet--><rect fill="#FEFECE" filter="url(#fukfijbnkkysb)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="209" x="538" y="1980.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="189" x="548" y="2003.7344">Get subnet host reservation</text><!--MD5=[c13398c59c328d6fcc544c8c17f5b117]
-entity return--><rect fill="#FEFECE" filter="url(#fukfijbnkkysb)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="235" x="403" y="2093.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="215" x="413" y="2116.7344">Return current host reservation</text><!--MD5=[4190d3dcd511d21b11bd238065bcb30b]
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="2163px" preserveAspectRatio="none" style="width:969px;height:2163px;" version="1.1" viewBox="0 0 969 2163" width="969px" zoomAndPan="magnify"><defs><filter height="300%" id="fgxgo3z1vpo2" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="277" x="337.25" y="17.4023">currentHost DHCPv4 (Kea 1.8.0)</text><!--MD5=[e3476fda087b0512b1cf4e3a66ca5e59]
+entity entry--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="134" x="314.5" y="28.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="114" x="324.5" y="51.7344">Subnet Selection</text><!--MD5=[f65ad2d20ed779f8ee7fa3e9ca8ab4c3]
+entity setSelected--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="247" x="258" y="125.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="227" x="268" y="148.7344">Set subnet to the selected subnet</text><!--MD5=[c0678c1aaf89874ea821e39d7ef5404f]
+entity clientid_lookup--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="245" x="259" y="222.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="225" x="269" y="245.7344">Has client a lease for its client id?</text><!--MD5=[a51c27fcfb0c2b9388b266a7e30efdf3]
+entity clientid_iterate--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="283" x="7" y="319.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="263" x="17" y="342.7344">Iterate on allowed subnets for client id</text><!--MD5=[96d14c76c72fae1f84c71c464af0f0e6]
+entity found_clientid--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="253" x="22" y="498.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="233" x="32" y="521.7344">Set subnet to the by client id lease</text><!--MD5=[9f5518b92d1482f0724c659635bb4f8f]
+entity hwaddr_lookup--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="211" x="449" y="432.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="191" x="459" y="455.7344">Has client a matching lease?</text><!--MD5=[7366630e5488cbc20c26d829a87e86ca]
+entity hwaddr_iterate--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="352" x="201.5" y="564.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="332" x="211.5" y="587.7344">Iterate on allowed subnets for hardware address</text><!--MD5=[096d593c9a7e1a0b5ae2681804d4217f]
+entity found_hwaddr--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="243" x="229" y="677.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="223" x="239" y="700.7344">Set subnet to the matching lease</text><!--MD5=[f1bd864ca92b3a59ad91e15b6c278a16]
+entity hasAddressReservation--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="211" x="375" y="930.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="191" x="385" y="953.7344">Has an address reservation?</text><!--MD5=[0af8b8cc29117b7db26a4bf8fde82b62]
+entity setAddressReservation--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="300" x="220.5" y="1043.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="280" x="230.5" y="1066.7344">Set subnet to address reservation subnet</text><!--MD5=[42a0a2711e18aa980e3ea9f910af1c90]
+entity pool--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="251" x="355" y="1140.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="231" x="365" y="1163.7344">Is the address in an allowed pool?</text><!--MD5=[ec337e6f6831b541235537d1c5125816]
+entity pool_iterate--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="269" x="141" y="1237.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="249" x="151" y="1260.7344">Iterate on allowed subnets with pool</text><!--MD5=[8426a0f58e3c900bd89aafdc516c0a64]
+entity inAllowedPool--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="254" x="148.5" y="1350.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="234" x="158.5" y="1373.7344">Set subnet to address pool subnet</text><!--MD5=[c7571992746652353b375880ae850124]
+entity allocate--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="158" x="393.5" y="1447.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="138" x="403.5" y="1470.7344">Allocate a new lease</text><!--MD5=[539657d7008b7b9e186112fa27fe2a64]
+entity allocate_iterate--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="201" x="232" y="1560.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="181" x="242" y="1583.7344">Iterate on allowed subnets</text><!--MD5=[98bd7f0fd78ffed8e2b0c08f2369be38]
+entity allocated--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="266" x="270.5" y="1673.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="246" x="280.5" y="1696.7344">Set subnet to allocated lease subnet</text><!--MD5=[a2ab21a8d09e419da8ba4e22e422b87f]
+entity getHRmode--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="394.5" y="1770.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="232" x="404.5" y="1793.7344">Get subnet host reservation mode</text><!--MD5=[9e66760393f24350dd53d10577644815]
+entity checkHRmode--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="293" x="374" y="1867.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="273" x="384" y="1890.7344">Is subnet host reservation mode global?</text><!--MD5=[9225881c05e5dcc29801826dc3c4a44b]
+entity global--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="205" x="298" y="1980.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="185" x="308" y="2003.7344">Get global host reservation</text><!--MD5=[fb2193611fca68211907294b61bd1772]
+entity bySubnet--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="209" x="538" y="1980.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="189" x="548" y="2003.7344">Get subnet host reservation</text><!--MD5=[c13398c59c328d6fcc544c8c17f5b117]
+entity return--><rect fill="#FEFECE" filter="url(#fgxgo3z1vpo2)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="235" x="403" y="2093.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="215" x="413" y="2116.7344">Return current host reservation</text><!--MD5=[4190d3dcd511d21b11bd238065bcb30b]
link entry to setSelected--><path d="M381.5,64.6192 C381.5,80.1592 381.5,102.9792 381.5,119.8592 " fill="none" id="entry->setSelected" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="381.5,124.8892,385.5,115.8892,381.5,119.8892,377.5,115.8892,381.5,124.8892" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[e08d915304835ed62ca4e0728c34eef1]
link setSelected to clientid_lookup--><path d="M381.5,161.6192 C381.5,177.1592 381.5,199.9792 381.5,216.8592 " fill="none" id="setSelected->clientid_lookup" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="381.5,221.8892,385.5,212.8892,381.5,216.8892,377.5,212.8892,381.5,221.8892" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6be1f2e9e03fb1c5265b47f0fe05d4fb]
link clientid_lookup to hwaddr_lookup--><path d="M450.66,258.2792 C487.31,270.2592 530.95,289.5492 561.5,319.1992 C589.76,346.6192 605.63,365.0792 592.5,402.1992 C589.19,411.5492 583.15,420.3992 576.84,427.8492 " fill="none" id="clientid_lookup->hwaddr_lookup" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="573.32,431.8292,582.2724,427.7238,576.6267,428.0788,576.2717,422.4331,573.32,431.8292" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="116" x="591.5" y="342.2676">no client id option</text><!--MD5=[e88e8ce2e61ddfe0f17d6f35f9f4b567]
link checkHRmode to global--><path d="M502.01,1903.2992 C480.76,1922.9592 445.87,1955.2292 423.04,1976.3492 " fill="none" id="checkHRmode->global" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="419.21,1979.8992,428.5379,1976.7384,422.8857,1976.5096,423.1145,1970.8574,419.21,1979.8992" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="21" x="468.5" y="1946.7676">yes</text><!--MD5=[a6bc61640de244f08df3cca17a4f2365]
link checkHRmode to bySubnet--><path d="M539.3,1903.2992 C560.9,1922.9592 596.37,1955.2292 619.58,1976.3492 " fill="none" id="checkHRmode->bySubnet" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="623.48,1979.8992,619.5026,1970.8892,619.7771,1976.5394,614.1269,1976.8139,623.48,1979.8992" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="16" x="589.5" y="1946.7676">no</text><!--MD5=[b516e9f33f07fd0923019528919312cb]
link global to return--><path d="M397.59,2016.3892 C396.2,2030.3392 396.61,2049.8292 406.5,2063.1992 C415.42,2075.2592 428,2084.2392 441.56,2090.9292 " fill="none" id="global->return" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="446.2,2093.1092,439.7564,2085.6607,441.6749,2090.9823,436.3533,2092.9008,446.2,2093.1092" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="187" x="407.5" y="2059.7676">return global host reservation</text><!--MD5=[31ce4acb5044d12c75fb908f2994650f]
-link bySubnet to return--><path d="M633.84,2016.2092 C626.18,2030.0592 613.99,2049.4892 599.5,2063.1992 C588.25,2073.8392 574.18,2083.1692 561.05,2090.6492 " fill="none" id="bySubnet->return" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="556.63,2093.1192,566.4378,2092.2206,560.9947,2090.6801,562.5352,2085.2371,556.63,2093.1192" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="191" x="614.5" y="2059.7676">return subnet host reservation</text><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacingAndGlyphs" textLength="622" x="164.75" y="2150.3555">Only the initial lookup is always performed: other occasions to change the subnet so the current host are only in some branches</text><!--MD5=[03f36504efefc9c8f8f86dce605a3c11]
+link bySubnet to return--><path d="M633.84,2016.2092 C626.18,2030.0592 613.99,2049.4892 599.5,2063.1992 C588.25,2073.8392 574.18,2083.1692 561.05,2090.6492 " fill="none" id="bySubnet->return" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="556.63,2093.1192,566.4378,2092.2206,560.9947,2090.6801,562.5352,2085.2371,556.63,2093.1192" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="191" x="614.5" y="2059.7676">return subnet host reservation</text><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacingAndGlyphs" textLength="622" x="164.75" y="2150.3555">Only the initial lookup is always performed: other occasions to change the subnet so the current host are only in some branches</text><!--MD5=[84940467d5c8b64b9d1a8ec6eb53bf6f]
@startuml\r
\r
-title currentHost DHCPv4 (Kea 1.7.11)\r
+title currentHost DHCPv4 (Kea 1.8.0)\r
\r
agent "Subnet Selection" as entry\r
\r
@startuml
-title currentHost DHCPv4 (Kea 1.7.11)
+title currentHost DHCPv4 (Kea 1.8.0)
agent "Subnet Selection" as entry
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="699px" preserveAspectRatio="none" style="width:631px;height:699px;" version="1.1" viewBox="0 0 631 699" width="631px" zoomAndPan="magnify"><defs><filter height="300%" id="fe01b98crwfn1" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="214" x="199.5" y="17.4023">lease states (Kea 1.7.11)</text><!--MD5=[4278daa906671312366ccb0dccb3e92f]
-entity free--><rect fill="#FEFECE" filter="url(#fe01b98crwfn1)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="50" x="268" y="35.3392"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="278" y="58.8744">Free</text><path d="M55,40.8392 L55,66.1498 A0,0 0 0 0 55,66.1498 L233,66.1498 A0,0 0 0 0 233,66.1498 L233,58.8392 L267.71,53.3392 L233,50.8392 L233,50.8392 L223,40.8392 L55,40.8392 A0,0 0 0 0 55,40.8392 " fill="#FBFB77" filter="url(#fe01b98crwfn1)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M223,40.8392 L223,50.8392 L233,50.8392 L223,40.8392 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="157" x="61" y="58.4076">not in the lease database</text><!--MD5=[4c0421e83b31106584008715812a1ea8]
-entity assigned--><rect fill="#FEFECE" filter="url(#fe01b98crwfn1)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="83" x="256.5" y="210.3392"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="63" x="266.5" y="233.8744">Assigned</text><!--MD5=[046a8c2cc2caa2564a440430281543c8]
-entity assigned_expired--><rect fill="#FEFECE" filter="url(#fe01b98crwfn1)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="357" y="323.3392"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="120" x="367" y="346.8744">Assigned expired</text><!--MD5=[be39be446611673079158bd75084bb29]
-entity declined--><rect fill="#FEFECE" filter="url(#fe01b98crwfn1)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="79" x="130.5" y="436.3392"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="59" x="140.5" y="459.8744">Declined</text><!--MD5=[b74f0280ed02bec002eedfc3903cd610]
-entity declined_expired--><rect fill="#FEFECE" filter="url(#fe01b98crwfn1)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="38" y="549.3392"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="116" x="48" y="572.8744">Declined expired</text><!--MD5=[309798e71ae1dfa592ce5bb406cc7544]
-entity reclaimed--><rect fill="#FEFECE" filter="url(#fe01b98crwfn1)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="151" x="272.5" y="646.3392"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="131" x="282.5" y="669.8744">Expired-Reclaimed</text><!--MD5=[219c0a330ff1ab87a7e7f51a72cedfde]
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="699px" preserveAspectRatio="none" style="width:631px;height:699px;" version="1.1" viewBox="0 0 631 699" width="631px" zoomAndPan="magnify"><defs><filter height="300%" id="f14qs590hur024" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="203" x="205" y="17.4023">lease states (Kea 1.8.0)</text><!--MD5=[4278daa906671312366ccb0dccb3e92f]
+entity free--><rect fill="#FEFECE" filter="url(#f14qs590hur024)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="50" x="268" y="35.3392"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="278" y="58.8744">Free</text><path d="M55,40.8392 L55,66.1498 A0,0 0 0 0 55,66.1498 L233,66.1498 A0,0 0 0 0 233,66.1498 L233,58.8392 L267.71,53.3392 L233,50.8392 L233,50.8392 L223,40.8392 L55,40.8392 A0,0 0 0 0 55,40.8392 " fill="#FBFB77" filter="url(#f14qs590hur024)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M223,40.8392 L223,50.8392 L233,50.8392 L223,40.8392 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="157" x="61" y="58.4076">not in the lease database</text><!--MD5=[4c0421e83b31106584008715812a1ea8]
+entity assigned--><rect fill="#FEFECE" filter="url(#f14qs590hur024)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="83" x="256.5" y="210.3392"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="63" x="266.5" y="233.8744">Assigned</text><!--MD5=[046a8c2cc2caa2564a440430281543c8]
+entity assigned_expired--><rect fill="#FEFECE" filter="url(#f14qs590hur024)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="357" y="323.3392"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="120" x="367" y="346.8744">Assigned expired</text><!--MD5=[be39be446611673079158bd75084bb29]
+entity declined--><rect fill="#FEFECE" filter="url(#f14qs590hur024)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="79" x="130.5" y="436.3392"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="59" x="140.5" y="459.8744">Declined</text><!--MD5=[b74f0280ed02bec002eedfc3903cd610]
+entity declined_expired--><rect fill="#FEFECE" filter="url(#f14qs590hur024)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="38" y="549.3392"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="116" x="48" y="572.8744">Declined expired</text><!--MD5=[309798e71ae1dfa592ce5bb406cc7544]
+entity reclaimed--><rect fill="#FEFECE" filter="url(#f14qs590hur024)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="151" x="272.5" y="646.3392"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="131" x="282.5" y="669.8744">Expired-Reclaimed</text><!--MD5=[219c0a330ff1ab87a7e7f51a72cedfde]
link free to assigned--><path d="M276.19,71.5392 C260.17,90.0792 239.64,120.7892 248,149.3392 C254.2,170.4992 268.1,191.3692 279.68,206.1892 " fill="none" id="free->assigned" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="282.87,210.1992,280.3967,200.666,279.757,206.2865,274.1364,205.6468,282.87,210.1992" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="73" x="249" y="145.9076">assignment</text><!--MD5=[d0e432b1584877a475e5f2fe76611e15]
reverse link free to assigned--><path d="M305.4,76.1392 C313.32,91.3492 322.85,112.4192 327,132.3392 C332.77,160.0292 319.25,191.2292 308.78,210.0792 " fill="none" id="free<-assigned" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="303.01,71.6192,303.6712,81.4459,305.3429,76.0416,310.7471,77.7133,303.01,71.6192" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="330" y="145.9076">release query</text><!--MD5=[7534ad65a31e40f6f58c860fbe4b1334]
link assigned to assigned_expired--><path d="M339.85,243.3892 C357.83,250.9992 378.09,261.8492 393,276.3392 C405.06,288.0492 413.79,304.9692 419.38,318.4692 " fill="none" id="assigned->assigned_expired" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="421.3,323.2692,421.6714,313.4274,419.443,318.6268,414.2436,316.3985,421.3,323.2692" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="115" x="407" y="289.9076">after valid lifetime</text><!--MD5=[fde569cd6ac85f95e2a638ce16dc5096]
link declined_expired to free--><path d="M75.18,549.2492 C45.8,530.4392 6,497.2292 6,455.3392 C6,139.8392 6,139.8392 6,139.8392 C6,27.1992 143.26,107.3192 250,71.3392 C254.16,69.9392 258.5,68.3592 262.75,66.7492 " fill="none" id="declined_expired->free" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="267.69,64.8392,257.8532,64.3528,263.0262,66.6418,260.7373,71.8148,267.69,64.8392" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="7" y="289.9076">remove</text><!--MD5=[b52d5a7ca53f64269da3993e04180d07]
reverse link assigned to reclaimed--><path d="M299.31,251.7292 C301.08,283.8392 304,344.8492 304,396.8392 C304,396.8392 304,396.8392 304,568.3392 C304,597.7892 321.62,628.0092 334.56,646.2292 " fill="none" id="assigned<-reclaimed" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="299.02,246.4492,295.5152,255.6534,299.2918,251.4418,303.5033,255.2185,299.02,246.4492" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="34" x="305" y="459.4076">reuse</text><!--MD5=[d78006695828b24d5c043b2b2f6223cc]
reverse link free to reclaimed--><path d="M323.27,57.1392 C395.5,64.6392 572,88.2592 572,139.8392 C572,139.8392 572,139.8392 572,568.3392 C572,634.3392 488.55,655.1692 423.52,661.3692 " fill="none" id="free<-reclaimed" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="318.25,56.6192,326.8045,61.4998,323.2249,57.1196,327.6051,53.5399,318.25,56.6192" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="46" x="573" y="346.4076">remove</text><!--MD5=[7a97b2a903c7311ebfa1bcbf72f0a383]
-link declined_expired to reclaimed--><!--MD5=[4180948028ff431fd89fdd87c9473b2e]
+link declined_expired to reclaimed--><!--MD5=[ad1f216ff27ad402bdd959662ff0ee60]
@startuml\r
\r
-title lease states (Kea 1.7.11)\r
+title lease states (Kea 1.8.0)\r
\r
agent "Free" as free\r
note left : not in the lease database\r
@startuml
-title lease states (Kea 1.7.11)
+title lease states (Kea 1.8.0)
agent "Free" as free
note left : not in the lease database
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="974px" preserveAspectRatio="none" style="width:674px;height:974px;" version="1.1" viewBox="0 0 674 974" width="674px" zoomAndPan="magnify"><defs><filter height="300%" id="fmo0zo3oem75f" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="311" x="172.5" y="17.4023">DHCP server main loop (Kea 1.7.11)</text><!--MD5=[f7a7ee0c51b4e04c55c1f405505b5a33]
-cluster Main Loop--><rect fill="#FFFFFF" filter="url(#fmo0zo3oem75f)" height="911.86" style="stroke: #000000; stroke-width: 1.5;" width="650" x="7" y="28.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="75" x="294.5" y="43.7344">Main Loop</text><!--MD5=[5612987a0f9796801dd6d08eccf6974b]
-cluster run_one--><rect fill="#FFFFFF" filter="url(#fmo0zo3oem75f)" height="467.86" style="stroke: #000000; stroke-width: 1.5;" width="572" x="49" y="170.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="79" x="295.5" y="185.7344">Event Loop</text><!--MD5=[983d0794f401e349a629364dfc448d7d]
-entity run--><rect fill="#FEFECE" filter="url(#fmo0zo3oem75f)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="149" x="145.5" y="63.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="129" x="155.5" y="86.7344">Wait for next event</text><!--MD5=[463fa6ce3d00da797e8ff80a4d9c8378]
-entity shutdown--><rect fill="#FEFECE" filter="url(#fmo0zo3oem75f)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="28.5" y="888.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="115" x="38.5" y="911.5944">Check Shutdown</text><!--MD5=[f73c77a11c1a01c10ee045ae76f5a064]
-entity timeout--><rect fill="#FEFECE" filter="url(#fmo0zo3oem75f)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="77" x="306.5" y="578.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="57" x="316.5" y="601.5944">Timeout</text><!--MD5=[53133b9ef51e4e7f3d2c6bacee8894bf]
-entity signal--><rect fill="#FEFECE" filter="url(#fmo0zo3oem75f)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="62" x="311" y="277.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="42" x="321" y="300.5944">Signal</text><!--MD5=[7492a645d94b1ba942c71cddc305dc30]
-entity handleSignal--><rect fill="#FEFECE" filter="url(#fmo0zo3oem75f)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="97" y="277.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="107" y="300.5944">Handle Signal</text><!--MD5=[82e30069e7a5a9e7454e349f4f7c28bc]
-entity external_socket--><rect fill="#FEFECE" filter="url(#fmo0zo3oem75f)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="126" x="97" y="378.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="106" x="107" y="401.5944">External Socket</text><!--MD5=[ba069a43eac8d7db5b41bef0d2c2bb79]
-entity handleExternalSocket--><rect fill="#FEFECE" filter="url(#fmo0zo3oem75f)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="178" x="395" y="378.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="158" x="405" y="401.5944">Handle External Socket</text><!--MD5=[a096c1983bcf686c95ea726f28f7a0ed]
-entity query--><rect fill="#FEFECE" filter="url(#fmo0zo3oem75f)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="103" x="371.5" y="479.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="83" x="381.5" y="502.5944">DHCP Query</text><!--MD5=[15a052d0312126cb226db0f9a615136d]
-entity processQuery--><rect fill="#FEFECE" filter="url(#fmo0zo3oem75f)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="97.5" y="479.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="97" x="107.5" y="502.5944">Process Query</text><!--MD5=[3ec86a5ecee919912764a4f49fada726]
-entity poll--><rect fill="#FEFECE" filter="url(#fmo0zo3oem75f)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="94" x="60" y="711.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="74" x="70" y="734.5944">I/O Service</text><!--MD5=[55a3d76f9f066a914db2e6a0219879c4]
-entity ready--><rect fill="#FEFECE" filter="url(#fmo0zo3oem75f)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="173" x="275.5" y="711.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="153" x="285.5" y="734.5944">Execute ready handler</text><!--MD5=[5e1c1922f34751d45a9d92a38b9ac144]
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="974px" preserveAspectRatio="none" style="width:674px;height:974px;" version="1.1" viewBox="0 0 674 974" width="674px" zoomAndPan="magnify"><defs><filter height="300%" id="f1hatkcuz2d0l4" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="300" x="178" y="17.4023">DHCP server main loop (Kea 1.8.0)</text><!--MD5=[f7a7ee0c51b4e04c55c1f405505b5a33]
+cluster Main Loop--><rect fill="#FFFFFF" filter="url(#f1hatkcuz2d0l4)" height="911.86" style="stroke: #000000; stroke-width: 1.5;" width="650" x="7" y="28.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="75" x="294.5" y="43.7344">Main Loop</text><!--MD5=[5612987a0f9796801dd6d08eccf6974b]
+cluster run_one--><rect fill="#FFFFFF" filter="url(#f1hatkcuz2d0l4)" height="467.86" style="stroke: #000000; stroke-width: 1.5;" width="572" x="49" y="170.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="79" x="295.5" y="185.7344">Event Loop</text><!--MD5=[983d0794f401e349a629364dfc448d7d]
+entity run--><rect fill="#FEFECE" filter="url(#f1hatkcuz2d0l4)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="149" x="145.5" y="63.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="129" x="155.5" y="86.7344">Wait for next event</text><!--MD5=[463fa6ce3d00da797e8ff80a4d9c8378]
+entity shutdown--><rect fill="#FEFECE" filter="url(#f1hatkcuz2d0l4)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="135" x="28.5" y="888.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="115" x="38.5" y="911.5944">Check Shutdown</text><!--MD5=[f73c77a11c1a01c10ee045ae76f5a064]
+entity timeout--><rect fill="#FEFECE" filter="url(#f1hatkcuz2d0l4)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="77" x="306.5" y="578.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="57" x="316.5" y="601.5944">Timeout</text><!--MD5=[53133b9ef51e4e7f3d2c6bacee8894bf]
+entity signal--><rect fill="#FEFECE" filter="url(#f1hatkcuz2d0l4)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="62" x="311" y="277.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="42" x="321" y="300.5944">Signal</text><!--MD5=[7492a645d94b1ba942c71cddc305dc30]
+entity handleSignal--><rect fill="#FEFECE" filter="url(#f1hatkcuz2d0l4)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="97" y="277.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="107" y="300.5944">Handle Signal</text><!--MD5=[82e30069e7a5a9e7454e349f4f7c28bc]
+entity external_socket--><rect fill="#FEFECE" filter="url(#f1hatkcuz2d0l4)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="126" x="97" y="378.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="106" x="107" y="401.5944">External Socket</text><!--MD5=[ba069a43eac8d7db5b41bef0d2c2bb79]
+entity handleExternalSocket--><rect fill="#FEFECE" filter="url(#f1hatkcuz2d0l4)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="178" x="395" y="378.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="158" x="405" y="401.5944">Handle External Socket</text><!--MD5=[a096c1983bcf686c95ea726f28f7a0ed]
+entity query--><rect fill="#FEFECE" filter="url(#f1hatkcuz2d0l4)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="103" x="371.5" y="479.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="83" x="381.5" y="502.5944">DHCP Query</text><!--MD5=[15a052d0312126cb226db0f9a615136d]
+entity processQuery--><rect fill="#FEFECE" filter="url(#f1hatkcuz2d0l4)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="97.5" y="479.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="97" x="107.5" y="502.5944">Process Query</text><!--MD5=[3ec86a5ecee919912764a4f49fada726]
+entity poll--><rect fill="#FEFECE" filter="url(#f1hatkcuz2d0l4)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="94" x="60" y="711.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="74" x="70" y="734.5944">I/O Service</text><!--MD5=[55a3d76f9f066a914db2e6a0219879c4]
+entity ready--><rect fill="#FEFECE" filter="url(#f1hatkcuz2d0l4)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="173" x="275.5" y="711.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="153" x="285.5" y="734.5944">Execute ready handler</text><!--MD5=[5e1c1922f34751d45a9d92a38b9ac144]
link run to run_one--><path d="M265,99.3792 C265,114.9742 265,138.0042 265,157.8405 C265,160.32 265,162.7496 265,165.1086 C265,166.2881 265,167.4499 265,168.5915 C265,168.8768 265,169.161 265,169.4438 C265,169.5852 265,169.7263 265,169.867 " fill="none" id="run->run_one" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="265,169.867,269,160.867,265,164.867,261,160.867,265,169.867" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="90" x="236" y="142.7676">get next event</text><!--MD5=[0596cb5bc7e39429b5a70ee803d7702a]
link run_one to signal--><path d="M265,198.1292 C265,205.6592 265,286.0592 265,286.0592 C265,286.0592 305.68,286.0592 305.68,286.0592 " fill="none" id="run_one->signal" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="310.68,286.0592,301.68,282.0592,305.68,286.0592,301.68,290.0592,310.68,286.0592" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[71bca8b2b5579f3e01e5a5e6d05e252f]
link signal to handleSignal--><path d="M310.96,295.0592 C310.96,295.0592 216.31,295.0592 216.31,295.0592 " fill="none" id="signal->handleSignal" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="211.31,295.0592,220.31,299.0592,216.31,295.0592,220.31,291.0592,211.31,295.0592" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[59b958d73309821d887c593216a24bf9]
link poll to ready--><path d="M154.07,735.0592 C154.07,735.0592 270.48,735.0592 270.48,735.0592 " fill="none" id="poll->ready" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="275.48,735.0592,266.48,731.0592,270.48,735.0592,266.48,739.0592,275.48,735.0592" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[82806226eee1d65d24007de8ef94d3ba]
link poll to shutdown--><path d="M107,747.3392 C107,747.3392 107,882.8792 107,882.8792 " fill="none" id="poll->shutdown" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="107,887.8792,111,878.8792,107,882.8792,103,878.8792,107,887.8792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="105" x="102" y="823.6276">no ready handler</text><!--MD5=[9e95aa1826d8662af772234e20e4c11a]
link ready to ready--><path d="M285,711.0292 C285,691.4792 285,663.0592 285,663.0592 C285,663.0592 272.33,663.0592 272.33,663.0592 C272.33,663.0592 272.33,818.0592 272.33,818.0592 C272.33,818.0592 362,818.0592 362,818.0592 C362,818.0592 362,752.0692 362,752.0692 " fill="none" id="ready->ready" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="362,747.0692,358,756.0692,362,752.0692,366,756.0692,362,747.0692" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[e3e9af49381d3719c9282a3c352c133e]
-reverse link run to shutdown--><path d="M243.5,104.5792 C243.5,104.5792 243.5,906.0592 243.5,906.0592 C243.5,906.0592 202.48,906.0592 163.71,906.0592 " fill="none" id="run<-shutdown" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="243.5,99.5792,239.5,108.5792,243.5,104.5792,247.5,108.5792,243.5,99.5792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacingAndGlyphs" textLength="139" x="258.5" y="960.7272">dashed arrow means priority</text><!--MD5=[a510590efd5f37c55eb885b683bea064]
+reverse link run to shutdown--><path d="M243.5,104.5792 C243.5,104.5792 243.5,906.0592 243.5,906.0592 C243.5,906.0592 202.48,906.0592 163.71,906.0592 " fill="none" id="run<-shutdown" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="243.5,99.5792,239.5,108.5792,243.5,104.5792,247.5,108.5792,243.5,99.5792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacingAndGlyphs" textLength="139" x="258.5" y="960.7272">dashed arrow means priority</text><!--MD5=[8fa551d0c9d64d50247cb50d8338b7c4]
@startuml\r
\r
-title DHCP server main loop (Kea 1.7.11)\r
+title DHCP server main loop (Kea 1.8.0)\r
\r
skinparam linetype ortho\r
\r
@startuml
-title DHCP server main loop (Kea 1.7.11)
+title DHCP server main loop (Kea 1.8.0)
skinparam linetype ortho
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1814px" preserveAspectRatio="none" style="width:1862px;height:1814px;" version="1.1" viewBox="0 0 1862 1814" width="1862px" zoomAndPan="magnify"><defs><filter height="300%" id="f1f2a7ftfqr6w0" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="343" x="750.5" y="17.4023">DHCPv4 packet processing (Kea 1.7.11)</text><!--MD5=[91c043391605f0bbc36c648123f05f04]
-cluster process--><rect fill="#FFFFFF" filter="url(#f1f2a7ftfqr6w0)" height="103" style="stroke: #000000; stroke-width: 1.5;" width="849" x="715" y="924.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="257" x="1011" y="939.7344">Process Query on its Message Type</text><!--MD5=[a6437f938727ef6368484703a6d5a51f]
-entity processDiscover--><rect fill="#FEFECE" filter="url(#f1f2a7ftfqr6w0)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="134" x="1088" y="967.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="114" x="1098" y="990.7344">Process Discover</text><!--MD5=[776f46e8e787ed3ff8f7399fa81d4ef1]
-entity processRequest--><rect fill="#FEFECE" filter="url(#f1f2a7ftfqr6w0)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="758.5" y="967.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="111" x="768.5" y="990.7344">Process Request</text><!--MD5=[fc7d6e37f840cd9a10a681e81df6f28b]
-entity processRelease--><rect fill="#FEFECE" filter="url(#f1f2a7ftfqr6w0)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="128" x="925" y="967.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="108" x="935" y="990.7344">Process Release</text><!--MD5=[8d825f552c438f1d41e38a94f08e3f47]
-entity processDecline--><rect fill="#FEFECE" filter="url(#f1f2a7ftfqr6w0)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="126" x="1257" y="967.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="106" x="1267" y="990.7344">Process Decline</text><!--MD5=[3b341f45531d1fcf2cf88cb83e9fdef4]
-entity processInform--><rect fill="#FEFECE" filter="url(#f1f2a7ftfqr6w0)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="122" x="1418" y="967.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="102" x="1428" y="990.7344">Process Inform</text><!--MD5=[aa62c1eea3f70b4dbb2d8a2ad04d8b75]
-entity receivePacket--><rect fill="#FEFECE" filter="url(#f1f2a7ftfqr6w0)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="1560" y="28.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="1570" y="51.7344">Receive query</text><path d="M1471,33.6992 L1471,59.0098 A0,0 0 0 0 1471,59.0098 L1525,59.0098 A0,0 0 0 0 1525,59.0098 L1525,51.6992 L1559.77,46.1992 L1525,43.6992 L1525,43.6992 L1515,33.6992 L1471,33.6992 A0,0 0 0 0 1471,33.6992 " fill="#FBFB77" filter="url(#f1f2a7ftfqr6w0)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1515,33.6992 L1515,43.6992 L1525,43.6992 L1515,33.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="33" x="1477" y="51.2676">input</text><!--MD5=[37dd4220ca2f2608029cfa1ef00c2d62]
-entity isServiceEnabled--><rect fill="#FEFECE" filter="url(#f1f2a7ftfqr6w0)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="127" x="1553.5" y="125.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="107" x="1563.5" y="148.7344">Service Enabled</text><!--MD5=[f1e4a9c8bda8d25100748cfdff400bf1]
-entity buffer4_receive--><rect fill="#FEFECE" filter="url(#f1f2a7ftfqr6w0)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="179" x="1000.5" y="238.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="159" x="1010.5" y="261.7344">Callout buffer4_receive</text><path d="M1214.5,243.6992 L1214.5,252.1992 L1179.66,256.1992 L1214.5,260.1992 L1214.5,269.0098 A0,0 0 0 0 1214.5,269.0098 L1267.5,269.0098 A0,0 0 0 0 1267.5,269.0098 L1267.5,253.6992 L1257.5,243.6992 L1214.5,243.6992 A0,0 0 0 0 1214.5,243.6992 " fill="#FBFB77" filter="url(#f1f2a7ftfqr6w0)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1257.5,243.6992 L1257.5,253.6992 L1267.5,253.6992 L1257.5,243.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1220.5" y="261.2676">hook</text><!--MD5=[ce6c3f645c8aec4915456c978c48f6f1]
-entity unpack--><rect fill="#FEFECE" filter="url(#f1f2a7ftfqr6w0)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="640" y="351.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="650" y="374.7344">Unpack query</text><!--MD5=[f8582116def27e35cdbbbf5463e43073]
-entity classify--><rect fill="#FEFECE" filter="url(#f1f2a7ftfqr6w0)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="115" x="639.5" y="448.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="95" x="649.5" y="471.7344">Classify query</text><!--MD5=[92aee3b8b080bbd52e01e7cb395370c4]
-entity pkt4_receive--><rect fill="#FEFECE" filter="url(#f1f2a7ftfqr6w0)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="159" x="454.5" y="545.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="139" x="464.5" y="568.7344">Callout pkt4_receive</text><path d="M648.5,550.6992 L648.5,559.1992 L613.59,563.1992 L648.5,567.1992 L648.5,576.0098 A0,0 0 0 0 648.5,576.0098 L701.5,576.0098 A0,0 0 0 0 701.5,576.0098 L701.5,560.6992 L691.5,550.6992 L648.5,550.6992 A0,0 0 0 0 648.5,550.6992 " fill="#FBFB77" filter="url(#f1f2a7ftfqr6w0)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M691.5,550.6992 L691.5,560.6992 L701.5,560.6992 L691.5,550.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="654.5" y="568.2676">hook</text><!--MD5=[7aeeef4718a003ce2e7ad9bcbdf71ad9]
-entity drop_class--><rect fill="#FEFECE" filter="url(#f1f2a7ftfqr6w0)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="141" x="243.5" y="658.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="253.5" y="681.7344">Check DROP class</text><!--MD5=[a52533196b9ad0f42d77bd2c5acf5304]
-entity same_client--><rect fill="#FEFECE" filter="url(#f1f2a7ftfqr6w0)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="333" x="147.5" y="755.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="313" x="157.5" y="778.7344">Avoid same client race in multi-threade mode</text><path d="M587.5,760.6992 L587.5,769.1992 L480.63,773.1992 L587.5,777.1992 L587.5,786.0098 A0,0 0 0 0 587.5,786.0098 L790.5,786.0098 A0,0 0 0 0 790.5,786.0098 L790.5,770.6992 L780.5,760.6992 L587.5,760.6992 A0,0 0 0 0 587.5,760.6992 " fill="#FBFB77" filter="url(#f1f2a7ftfqr6w0)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M780.5,760.6992 L780.5,770.6992 L790.5,770.6992 L780.5,760.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="182" x="593.5" y="778.2676">postpone processing or drop</text><!--MD5=[a8af8e48f2cc558a0fee70431885f908]
-entity lease4_committed--><rect fill="#FEFECE" filter="url(#f1f2a7ftfqr6w0)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="197" x="1045.5" y="1098.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="177" x="1055.5" y="1121.7344">Callout lease4_committed</text><path d="M1277.5,1103.6992 L1277.5,1112.1992 L1242.75,1116.1992 L1277.5,1120.1992 L1277.5,1129.0098 A0,0 0 0 0 1277.5,1129.0098 L1330.5,1129.0098 A0,0 0 0 0 1330.5,1129.0098 L1330.5,1113.6992 L1320.5,1103.6992 L1277.5,1103.6992 A0,0 0 0 0 1277.5,1103.6992 " fill="#FBFB77" filter="url(#f1f2a7ftfqr6w0)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1320.5,1103.6992 L1320.5,1113.6992 L1330.5,1113.6992 L1320.5,1103.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1283.5" y="1121.2676">hook</text><!--MD5=[8e18f13991ca58e5a79e0b81ed56b9db]
-entity park--><rect fill="#FEFECE" filter="url(#f1f2a7ftfqr6w0)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="50" x="1119" y="1211.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="1129" y="1234.7344">Park</text><!--MD5=[145fde1089ff11319f35031b66a8b2bf]
-entity pkt4_send--><rect fill="#FEFECE" filter="url(#f1f2a7ftfqr6w0)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="144" x="943" y="1324.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="124" x="953" y="1347.7344">Callout pkt4_send</text><!--MD5=[62d5b04920c444814fafa1dbf06b35cd]
-entity send--><rect fill="#FEFECE" filter="url(#f1f2a7ftfqr6w0)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="1052.5" y="1647.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="1062.5" y="1670.7344">Send response</text><!--MD5=[5f600c2348a98514851ba709bbd3f597]
-entity pack--><rect fill="#FEFECE" filter="url(#f1f2a7ftfqr6w0)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="1077" y="1437.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="98" x="1087" y="1460.7344">Pack response</text><!--MD5=[d6829aa81ee0cd45a2e878b8b13197d5]
-entity buffer4_send--><rect fill="#FEFECE" filter="url(#f1f2a7ftfqr6w0)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="164" x="1037" y="1534.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="144" x="1047" y="1557.7344">Callout buffer4_send</text><path d="M954.5,1652.6992 L954.5,1678.0098 A0,0 0 0 0 954.5,1678.0098 L1017.5,1678.0098 A0,0 0 0 0 1017.5,1678.0098 L1017.5,1670.6992 L1052.35,1665.1992 L1017.5,1662.6992 L1017.5,1662.6992 L1007.5,1652.6992 L954.5,1652.6992 A0,0 0 0 0 954.5,1652.6992 " fill="#FBFB77" filter="url(#f1f2a7ftfqr6w0)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1007.5,1652.6992 L1007.5,1662.6992 L1017.5,1662.6992 L1007.5,1652.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="42" x="960.5" y="1670.2676">output</text><!--MD5=[c92710f32fe9c293a125fb7e80204a05]
-entity drop--><rect fill="#FEFECE" filter="url(#f1f2a7ftfqr6w0)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="103" x="912.5" y="1744.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="83" x="922.5" y="1767.7344">Drop packet</text><path d="M826.5,1749.6992 L826.5,1775.0098 A0,0 0 0 0 826.5,1775.0098 L877.5,1775.0098 A0,0 0 0 0 877.5,1775.0098 L877.5,1767.6992 L912.49,1762.1992 L877.5,1759.6992 L877.5,1759.6992 L867.5,1749.6992 L826.5,1749.6992 A0,0 0 0 0 826.5,1749.6992 " fill="#FBFB77" filter="url(#f1f2a7ftfqr6w0)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M867.5,1749.6992 L867.5,1759.6992 L877.5,1759.6992 L867.5,1749.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="30" x="832.5" y="1767.2676">error</text><!--MD5=[9670815d90e482d849702fdd57183fae]
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1814px" preserveAspectRatio="none" style="width:1862px;height:1814px;" version="1.1" viewBox="0 0 1862 1814" width="1862px" zoomAndPan="magnify"><defs><filter height="300%" id="f1u1c8b25aigi3" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="332" x="756" y="17.4023">DHCPv4 packet processing (Kea 1.8.0)</text><!--MD5=[91c043391605f0bbc36c648123f05f04]
+cluster process--><rect fill="#FFFFFF" filter="url(#f1u1c8b25aigi3)" height="103" style="stroke: #000000; stroke-width: 1.5;" width="849" x="715" y="924.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="257" x="1011" y="939.7344">Process Query on its Message Type</text><!--MD5=[a6437f938727ef6368484703a6d5a51f]
+entity processDiscover--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="134" x="1088" y="967.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="114" x="1098" y="990.7344">Process Discover</text><!--MD5=[776f46e8e787ed3ff8f7399fa81d4ef1]
+entity processRequest--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="131" x="758.5" y="967.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="111" x="768.5" y="990.7344">Process Request</text><!--MD5=[fc7d6e37f840cd9a10a681e81df6f28b]
+entity processRelease--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="128" x="925" y="967.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="108" x="935" y="990.7344">Process Release</text><!--MD5=[8d825f552c438f1d41e38a94f08e3f47]
+entity processDecline--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="126" x="1257" y="967.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="106" x="1267" y="990.7344">Process Decline</text><!--MD5=[3b341f45531d1fcf2cf88cb83e9fdef4]
+entity processInform--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="122" x="1418" y="967.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="102" x="1428" y="990.7344">Process Inform</text><!--MD5=[aa62c1eea3f70b4dbb2d8a2ad04d8b75]
+entity receivePacket--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="1560" y="28.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="1570" y="51.7344">Receive query</text><path d="M1471,33.6992 L1471,59.0098 A0,0 0 0 0 1471,59.0098 L1525,59.0098 A0,0 0 0 0 1525,59.0098 L1525,51.6992 L1559.77,46.1992 L1525,43.6992 L1525,43.6992 L1515,33.6992 L1471,33.6992 A0,0 0 0 0 1471,33.6992 " fill="#FBFB77" filter="url(#f1u1c8b25aigi3)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1515,33.6992 L1515,43.6992 L1525,43.6992 L1515,33.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="33" x="1477" y="51.2676">input</text><!--MD5=[37dd4220ca2f2608029cfa1ef00c2d62]
+entity isServiceEnabled--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="127" x="1553.5" y="125.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="107" x="1563.5" y="148.7344">Service Enabled</text><!--MD5=[f1e4a9c8bda8d25100748cfdff400bf1]
+entity buffer4_receive--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="179" x="1000.5" y="238.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="159" x="1010.5" y="261.7344">Callout buffer4_receive</text><path d="M1214.5,243.6992 L1214.5,252.1992 L1179.66,256.1992 L1214.5,260.1992 L1214.5,269.0098 A0,0 0 0 0 1214.5,269.0098 L1267.5,269.0098 A0,0 0 0 0 1267.5,269.0098 L1267.5,253.6992 L1257.5,243.6992 L1214.5,243.6992 A0,0 0 0 0 1214.5,243.6992 " fill="#FBFB77" filter="url(#f1u1c8b25aigi3)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1257.5,243.6992 L1257.5,253.6992 L1267.5,253.6992 L1257.5,243.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1220.5" y="261.2676">hook</text><!--MD5=[ce6c3f645c8aec4915456c978c48f6f1]
+entity unpack--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="114" x="640" y="351.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="94" x="650" y="374.7344">Unpack query</text><!--MD5=[f8582116def27e35cdbbbf5463e43073]
+entity classify--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="115" x="639.5" y="448.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="95" x="649.5" y="471.7344">Classify query</text><!--MD5=[92aee3b8b080bbd52e01e7cb395370c4]
+entity pkt4_receive--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="159" x="454.5" y="545.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="139" x="464.5" y="568.7344">Callout pkt4_receive</text><path d="M648.5,550.6992 L648.5,559.1992 L613.59,563.1992 L648.5,567.1992 L648.5,576.0098 A0,0 0 0 0 648.5,576.0098 L701.5,576.0098 A0,0 0 0 0 701.5,576.0098 L701.5,560.6992 L691.5,550.6992 L648.5,550.6992 A0,0 0 0 0 648.5,550.6992 " fill="#FBFB77" filter="url(#f1u1c8b25aigi3)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M691.5,550.6992 L691.5,560.6992 L701.5,560.6992 L691.5,550.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="654.5" y="568.2676">hook</text><!--MD5=[7aeeef4718a003ce2e7ad9bcbdf71ad9]
+entity drop_class--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="141" x="243.5" y="658.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="253.5" y="681.7344">Check DROP class</text><!--MD5=[a52533196b9ad0f42d77bd2c5acf5304]
+entity same_client--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="333" x="147.5" y="755.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="313" x="157.5" y="778.7344">Avoid same client race in multi-threade mode</text><path d="M587.5,760.6992 L587.5,769.1992 L480.63,773.1992 L587.5,777.1992 L587.5,786.0098 A0,0 0 0 0 587.5,786.0098 L790.5,786.0098 A0,0 0 0 0 790.5,786.0098 L790.5,770.6992 L780.5,760.6992 L587.5,760.6992 A0,0 0 0 0 587.5,760.6992 " fill="#FBFB77" filter="url(#f1u1c8b25aigi3)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M780.5,760.6992 L780.5,770.6992 L790.5,770.6992 L780.5,760.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="182" x="593.5" y="778.2676">postpone processing or drop</text><!--MD5=[a8af8e48f2cc558a0fee70431885f908]
+entity lease4_committed--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="197" x="1045.5" y="1098.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="177" x="1055.5" y="1121.7344">Callout lease4_committed</text><path d="M1277.5,1103.6992 L1277.5,1112.1992 L1242.75,1116.1992 L1277.5,1120.1992 L1277.5,1129.0098 A0,0 0 0 0 1277.5,1129.0098 L1330.5,1129.0098 A0,0 0 0 0 1330.5,1129.0098 L1330.5,1113.6992 L1320.5,1103.6992 L1277.5,1103.6992 A0,0 0 0 0 1277.5,1103.6992 " fill="#FBFB77" filter="url(#f1u1c8b25aigi3)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1320.5,1103.6992 L1320.5,1113.6992 L1330.5,1113.6992 L1320.5,1103.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="1283.5" y="1121.2676">hook</text><!--MD5=[8e18f13991ca58e5a79e0b81ed56b9db]
+entity park--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="50" x="1119" y="1211.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="30" x="1129" y="1234.7344">Park</text><!--MD5=[145fde1089ff11319f35031b66a8b2bf]
+entity pkt4_send--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="144" x="943" y="1324.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="124" x="953" y="1347.7344">Callout pkt4_send</text><!--MD5=[62d5b04920c444814fafa1dbf06b35cd]
+entity send--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="1052.5" y="1647.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="1062.5" y="1670.7344">Send response</text><!--MD5=[5f600c2348a98514851ba709bbd3f597]
+entity pack--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="118" x="1077" y="1437.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="98" x="1087" y="1460.7344">Pack response</text><!--MD5=[d6829aa81ee0cd45a2e878b8b13197d5]
+entity buffer4_send--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="164" x="1037" y="1534.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="144" x="1047" y="1557.7344">Callout buffer4_send</text><path d="M954.5,1652.6992 L954.5,1678.0098 A0,0 0 0 0 954.5,1678.0098 L1017.5,1678.0098 A0,0 0 0 0 1017.5,1678.0098 L1017.5,1670.6992 L1052.35,1665.1992 L1017.5,1662.6992 L1017.5,1662.6992 L1007.5,1652.6992 L954.5,1652.6992 A0,0 0 0 0 954.5,1652.6992 " fill="#FBFB77" filter="url(#f1u1c8b25aigi3)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1007.5,1652.6992 L1007.5,1662.6992 L1017.5,1662.6992 L1007.5,1652.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="42" x="960.5" y="1670.2676">output</text><!--MD5=[c92710f32fe9c293a125fb7e80204a05]
+entity drop--><rect fill="#FEFECE" filter="url(#f1u1c8b25aigi3)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="103" x="912.5" y="1744.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="83" x="922.5" y="1767.7344">Drop packet</text><path d="M826.5,1749.6992 L826.5,1775.0098 A0,0 0 0 0 826.5,1775.0098 L877.5,1775.0098 A0,0 0 0 0 877.5,1775.0098 L877.5,1767.6992 L912.49,1762.1992 L877.5,1759.6992 L877.5,1759.6992 L867.5,1749.6992 L826.5,1749.6992 A0,0 0 0 0 826.5,1749.6992 " fill="#FBFB77" filter="url(#f1u1c8b25aigi3)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M867.5,1749.6992 L867.5,1759.6992 L877.5,1759.6992 L867.5,1749.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="30" x="832.5" y="1767.2676">error</text><!--MD5=[9670815d90e482d849702fdd57183fae]
link receivePacket to isServiceEnabled--><path d="M1617,64.6192 C1617,80.1592 1617,102.9792 1617,119.8592 " fill="none" id="receivePacket->isServiceEnabled" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1617,124.8892,1621,115.8892,1617,119.8892,1613,115.8892,1617,124.8892" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[8b6c78e5054b687dbc9e19308d3a0129]
link isServiceEnabled to buffer4_receive--><path d="M1553.43,157.5892 C1459.11,177.4592 1281.88,214.7792 1176.04,237.0792 " fill="none" id="isServiceEnabled->buffer4_receive" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1171.05,238.1292,1180.681,240.1893,1175.9427,237.0992,1179.0329,232.3609,1171.05,238.1292" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="112" x="1386" y="204.7676">service is enabled</text><!--MD5=[228411fb88ef1bcdfe7f19b853e215d2]
link isServiceEnabled to drop--><path d="M1655.3,161.3592 C1689.09,179.3992 1733,211.2992 1733,255.1992 C1733,255.1992 1733,255.1992 1733,1666.1992 C1733,1737.9692 1198.66,1756.0992 1020.81,1760.1492 " fill="none" id="isServiceEnabled->drop" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1015.65,1760.2592,1024.7391,1764.0525,1020.6487,1760.145,1024.5562,1756.0546,1015.65,1760.2592" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="116" x="1734" y="896.7676">service is disabled</text><!--MD5=[939988dada0403ed6d1a4e6924dd7701]
link pack to buffer4_send--><path d="M1132.88,1473.6192 C1130.1,1489.1592 1126.02,1511.9792 1123,1528.8592 " fill="none" id="pack->buffer4_send" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1122.1,1533.8892,1127.61,1525.7259,1122.973,1528.966,1119.7329,1524.3291,1122.1,1533.8892" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[0fe92c55fb860475c26b6ea914a50894]
link buffer4_send to send--><path d="M1118.06,1570.5392 C1117.02,1589.7692 1115.34,1620.8292 1114.21,1641.8592 " fill="none" id="buffer4_send->send" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1113.93,1646.9792,1118.412,1638.2093,1114.201,1641.9866,1110.4237,1637.7756,1113.93,1646.9792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="67" x="1117" y="1613.7676">CONTINUE</text><!--MD5=[887aa11356841167329c21249679272f]
link buffer4_send to drop--><path d="M1161.34,1570.3192 C1173.8,1577.5792 1185.96,1587.3992 1193,1600.1992 C1201.95,1616.4792 1222.86,1639.9692 1191,1683.1992 C1151.85,1736.3392 1074.24,1753.5792 1020.76,1758.9992 " fill="none" id="buffer4_send->drop" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1015.66,1759.4892,1025.0054,1762.5977,1020.6364,1759.0044,1024.2297,1754.6354,1015.66,1759.4892" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="35" x="1208" y="1670.2676">DROP</text><!--MD5=[6b25e4fe160ab604f67b02c1ded86970]
-link send to drop--><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacingAndGlyphs" textLength="225" x="809.5" y="1801.3555">dashed arrow means asynchronous processing</text><!--MD5=[1465cf75f421f65b676979570fdc28ac]
+link send to drop--><text fill="#888888" font-family="sans-serif" font-size="10" lengthAdjust="spacingAndGlyphs" textLength="225" x="809.5" y="1801.3555">dashed arrow means asynchronous processing</text><!--MD5=[3241bf81dfc1d82f66e0faca3c9d8456]
@startuml\r
\r
-title DHCPv4 packet processing (Kea 1.7.11)\r
+title DHCPv4 packet processing (Kea 1.8.0)\r
\r
agent "Receive query" as receivePacket\r
note left : input\r
@startuml
-title DHCPv4 packet processing (Kea 1.7.11)
+title DHCPv4 packet processing (Kea 1.8.0)
agent "Receive query" as receivePacket
note left : input
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="2399px" preserveAspectRatio="none" style="width:2294px;height:2399px;" version="1.1" viewBox="0 0 2294 2399" width="2294px" zoomAndPan="magnify"><defs><filter height="300%" id="fff3yb47a4pvt" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="410" x="933" y="17.4023">Allocate a lease for DHCPREQUEST (Kea 1.7.11)</text><!--MD5=[eaee9025590d004dcfc2daa117adb8bb]
-cluster check_hint--><rect fill="#FFFFFF" filter="url(#fff3yb47a4pvt)" height="378.72" style="stroke: #000000; stroke-width: 1.5;" width="939" x="950" y="248.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="180" x="1329.5" y="263.7344">Check requested address</text><!--MD5=[c6fdc214782d2c6b530af6f84e869950]
-cluster get_existing--><rect fill="#FFFFFF" filter="url(#fff3yb47a4pvt)" height="164.86" style="stroke: #000000; stroke-width: 1.5;" width="245" x="1604" y="347.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="229" x="1612" y="362.5944">Get lease for requested address</text><!--MD5=[57e960cb4db100c9a2ccd6f4d6705f05]
-cluster check_done--><rect fill="#FFFFFF" filter="url(#fff3yb47a4pvt)" height="164.86" style="stroke: #000000; stroke-width: 1.5;" width="161" x="470" y="691.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="130" x="485.5" y="707.4544">Check client lease</text><!--MD5=[a6e23b86b5ec2c7080f88f7cf966373c]
-cluster new_lease--><rect fill="#FFFFFF" filter="url(#fff3yb47a4pvt)" height="1385.08" style="stroke: #000000; stroke-width: 1.5;" width="1138" x="7" y="905.7792"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="147" x="502.5" y="921.3144">Allocate a new lease</text><!--MD5=[c0a0058b985d9500e1903c17b16df914]
-cluster allocateOrReuseLease4--><rect fill="#FFFFFF" filter="url(#fff3yb47a4pvt)" height="685.36" style="stroke: #000000; stroke-width: 1.5;" width="300" x="71" y="1466.4992"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="164" x="139" y="1482.0344">Allocate or reuse lease</text><!--MD5=[23478a531f37cd80899cad04cd2b7f18]
-cluster allocateUnreservedLease4--><rect fill="#FFFFFF" filter="url(#fff3yb47a4pvt)" height="588.22" style="stroke: #000000; stroke-width: 1.5;" width="514" x="411" y="1044.6392"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="184" x="576" y="1060.1744">Allocate unreserved lease</text><!--MD5=[f07ece90dffecaa599052c39e01a94c5]
-entity getReservedLease--><rect fill="#FEFECE" filter="url(#fff3yb47a4pvt)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="246" x="1136" y="451.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="226" x="1146" y="475.4544">Check lease for reserved address</text><!--MD5=[8636dd2beae72b933abf12250cfd1025]
-entity out_of_pool--><rect fill="#FEFECE" filter="url(#fff3yb47a4pvt)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="208" x="1020" y="566.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="188" x="1030" y="590.4544">Check out-of-pool address</text><!--MD5=[ec14e8cae259e632e03b8f7e5f2fa627]
-entity existing--><rect fill="#FEFECE" filter="url(#fff3yb47a4pvt)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="174" x="1651" y="451.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="154" x="1661" y="475.4544">Check requested lease</text><!--MD5=[0edbe06a49914a247f1c11b045d92815]
-entity client_lease--><rect fill="#FEFECE" filter="url(#fff3yb47a4pvt)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="108" x="494" y="796.7792"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="88" x="504" y="820.3144">Check renew</text><!--MD5=[66e1e431ca0dbea91ea05cb758558585]
-entity create--><rect fill="#FEFECE" filter="url(#fff3yb47a4pvt)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="148" x="973" y="1703.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="128" x="983" y="1727.3944">Create a new lease</text><!--MD5=[a85809bef6165a661ce702016b2b24bf]
-entity old_lease--><rect fill="#FEFECE" filter="url(#fff3yb47a4pvt)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="128" x="747" y="2230.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="108" x="757" y="2254.3944">Delete old lease</text><!--MD5=[3e4eb9e968ddf7eb79447dabaa827d00]
-entity candidate--><rect fill="#FEFECE" filter="url(#fff3yb47a4pvt)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="153" x="188.5" y="1572.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="133" x="198.5" y="1596.3944">Get candidate lease</text><!--MD5=[3dd4b79f11e480f9e62df46d2d0a412b]
-entity reuseExpiredLease4--><rect fill="#FEFECE" filter="url(#fff3yb47a4pvt)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="157" x="118.5" y="1703.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="137" x="128.5" y="1727.3944">Reuse expired lease</text><!--MD5=[7989e4485f5064553517c02d5ce8346d]
-entity reclaimExpiredLease--><rect fill="#FEFECE" filter="url(#fff3yb47a4pvt)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="169" x="111.5" y="1800.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="149" x="121.5" y="1824.3944">Reclaim expired lease</text><!--MD5=[8b161cca1eea0fa2f14429822e5193fc]
-entity updateLease4Information--><rect fill="#FEFECE" filter="url(#fff3yb47a4pvt)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="192" x="96" y="1897.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="172" x="106" y="1921.3944">update lease information</text><!--MD5=[20b997f41be7d019adfd03f05289a85b]
-entity lease4_select--><rect fill="#FEFECE" filter="url(#fff3yb47a4pvt)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="95.5" y="1994.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="143" x="105.5" y="2018.3944">Callout lease4_select</text><path d="M293.5,2000.3592 L293.5,2008.8592 L258.55,2012.8592 L293.5,2016.8592 L293.5,2025.6698 A0,0 0 0 0 293.5,2025.6698 L346.5,2025.6698 A0,0 0 0 0 346.5,2025.6698 L346.5,2010.3592 L336.5,2000.3592 L293.5,2000.3592 A0,0 0 0 0 293.5,2000.3592 " fill="#FBFB77" filter="url(#fff3yb47a4pvt)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M336.5,2000.3592 L336.5,2010.3592 L346.5,2010.3592 L336.5,2000.3592 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="299.5" y="2017.9276">hook</text><!--MD5=[d0c6f6a5b1ca3e5ac503933fbe44aaa9]
-entity updateLease4--><rect fill="#FEFECE" filter="url(#fff3yb47a4pvt)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="108" x="210" y="2091.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="88" x="220" y="2115.3944">Update lease</text><!--MD5=[8ae068fcc4f60e406016be9ba14134ac]
-entity iterate--><rect fill="#FEFECE" filter="url(#fff3yb47a4pvt)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="194" x="450" y="1133.4992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="174" x="460" y="1157.0344">Iterate pools and subnets</text><!--MD5=[cb628e8ea2f367fa2f488bc44b336c46]
-entity pick--><rect fill="#FEFECE" filter="url(#fff3yb47a4pvt)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="105" x="509.5" y="1246.4992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="519.5" y="1270.0344">Pick address</text><!--MD5=[3307242102673314e57f67fe596f1a7c]
-entity pick_reserved--><rect fill="#FEFECE" filter="url(#fff3yb47a4pvt)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="200" x="640" y="1359.4992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="180" x="650" y="1383.0344">Check reserved addressed</text><!--MD5=[ac311a8dd9b9ea9d39416a955479a4fe]
-entity mt_in_use--><rect fill="#FEFECE" filter="url(#fff3yb47a4pvt)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="288" x="506" y="1475.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="268" x="516" y="1499.3944">Check already in use by another thread</text><!--MD5=[3fa202f6559a381d70247672876b819e]
-entity pick_lease--><rect fill="#FEFECE" filter="url(#fff3yb47a4pvt)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="101" x="476.5" y="1572.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="81" x="486.5" y="1596.3944">Check lease</text><!--MD5=[1213eaa42773f0ba0384c538d3efa224]
-entity findClientLease--><rect fill="#FEFECE" filter="url(#fff3yb47a4pvt)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="1383" y="28.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="110" x="1393" y="51.7344">Find client lease</text><path d="M1548,33.6992 L1548,42.1992 L1513.14,46.1992 L1548,50.1992 L1548,59.0098 A0,0 0 0 0 1548,59.0098 L1638,59.0098 A0,0 0 0 0 1638,59.0098 L1638,43.6992 L1628,33.6992 L1548,33.6992 A0,0 0 0 0 1548,33.6992 " fill="#FBFB77" filter="url(#fff3yb47a4pvt)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1628,33.6992 L1628,43.6992 L1638,43.6992 L1628,33.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="69" x="1554" y="51.2676">entry point</text><!--MD5=[0f69bb3143e68c3e4ebf8b928e2a1af4]
-entity addressReserved--><rect fill="#FEFECE" filter="url(#fff3yb47a4pvt)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="216" x="1615" y="141.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="196" x="1625" y="164.7344">Check requested reservation</text><!--MD5=[f1bd864ca92b3a59ad91e15b6c278a16]
-entity hasAddressReservation--><rect fill="#FEFECE" filter="url(#fff3yb47a4pvt)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="124" x="1112" y="141.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="1122" y="164.7344">Get reservation</text><!--MD5=[29cbf9a69668994ea4ff4bb0b8dea6d6]
-entity update_hint--><rect fill="#FEFECE" filter="url(#fff3yb47a4pvt)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="200" x="1380" y="141.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="180" x="1390" y="164.7344">Update requested address</text><!--MD5=[999fe650e2a9819ebed27de3d290658a]
-entity no_lease--><rect fill="#FEFECE" filter="url(#fff3yb47a4pvt)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="127" x="1444.5" y="2230.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="107" x="1454.5" y="2254.3944">Return no lease</text><path d="M1607,2236.3592 L1607,2244.8592 L1571.71,2248.8592 L1607,2252.8592 L1607,2261.6698 A0,0 0 0 0 1607,2261.6698 L1689,2261.6698 A0,0 0 0 0 1689,2261.6698 L1689,2246.3592 L1679,2236.3592 L1607,2236.3592 A0,0 0 0 0 1607,2236.3592 " fill="#FBFB77" filter="url(#fff3yb47a4pvt)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1679,2236.3592 L1679,2246.3592 L1689,2246.3592 L1679,2236.3592 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="61" x="1613" y="2253.9276">exit point</text><!--MD5=[45b45980895812fee5a3bd80c1953e7a]
-entity renew--><rect fill="#FEFECE" filter="url(#fff3yb47a4pvt)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="168" x="971" y="796.7792"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="148" x="981" y="820.3144">Return renewed lease</text><path d="M1174,802.2792 L1174,810.7792 L1139.06,814.7792 L1174,818.7792 L1174,827.5898 A0,0 0 0 0 1174,827.5898 L1256,827.5898 A0,0 0 0 0 1256,827.5898 L1256,812.2792 L1246,802.2792 L1174,802.2792 A0,0 0 0 0 1174,802.2792 " fill="#FBFB77" filter="url(#fff3yb47a4pvt)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1246,802.2792 L1246,812.2792 L1256,812.2792 L1246,802.2792 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="61" x="1180" y="819.8476">exit point</text><!--MD5=[c13398c59c328d6fcc544c8c17f5b117]
-entity return--><rect fill="#FEFECE" filter="url(#fff3yb47a4pvt)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="105" x="758.5" y="2345.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="768.5" y="2369.3944">Return lease</text><path d="M899,2351.3592 L899,2359.8592 L863.66,2363.8592 L899,2367.8592 L899,2376.6698 A0,0 0 0 0 899,2376.6698 L981,2376.6698 A0,0 0 0 0 981,2376.6698 L981,2361.3592 L971,2351.3592 L899,2351.3592 A0,0 0 0 0 899,2351.3592 " fill="#FBFB77" filter="url(#fff3yb47a4pvt)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M971,2351.3592 L971,2361.3592 L981,2361.3592 L971,2351.3592 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="61" x="905" y="2368.9276">exit point</text><!--MD5=[58c45ac03f61bca16a2604d1f9090edc]
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="2399px" preserveAspectRatio="none" style="width:2294px;height:2399px;" version="1.1" viewBox="0 0 2294 2399" width="2294px" zoomAndPan="magnify"><defs><filter height="300%" id="f5oag86dlpmno" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="399" x="938.5" y="17.4023">Allocate a lease for DHCPREQUEST (Kea 1.8.0)</text><!--MD5=[eaee9025590d004dcfc2daa117adb8bb]
+cluster check_hint--><rect fill="#FFFFFF" filter="url(#f5oag86dlpmno)" height="378.72" style="stroke: #000000; stroke-width: 1.5;" width="939" x="950" y="248.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="180" x="1329.5" y="263.7344">Check requested address</text><!--MD5=[c6fdc214782d2c6b530af6f84e869950]
+cluster get_existing--><rect fill="#FFFFFF" filter="url(#f5oag86dlpmno)" height="164.86" style="stroke: #000000; stroke-width: 1.5;" width="245" x="1604" y="347.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="229" x="1612" y="362.5944">Get lease for requested address</text><!--MD5=[57e960cb4db100c9a2ccd6f4d6705f05]
+cluster check_done--><rect fill="#FFFFFF" filter="url(#f5oag86dlpmno)" height="164.86" style="stroke: #000000; stroke-width: 1.5;" width="161" x="470" y="691.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="130" x="485.5" y="707.4544">Check client lease</text><!--MD5=[a6e23b86b5ec2c7080f88f7cf966373c]
+cluster new_lease--><rect fill="#FFFFFF" filter="url(#f5oag86dlpmno)" height="1385.08" style="stroke: #000000; stroke-width: 1.5;" width="1138" x="7" y="905.7792"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="147" x="502.5" y="921.3144">Allocate a new lease</text><!--MD5=[c0a0058b985d9500e1903c17b16df914]
+cluster allocateOrReuseLease4--><rect fill="#FFFFFF" filter="url(#f5oag86dlpmno)" height="685.36" style="stroke: #000000; stroke-width: 1.5;" width="300" x="71" y="1466.4992"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="164" x="139" y="1482.0344">Allocate or reuse lease</text><!--MD5=[23478a531f37cd80899cad04cd2b7f18]
+cluster allocateUnreservedLease4--><rect fill="#FFFFFF" filter="url(#f5oag86dlpmno)" height="588.22" style="stroke: #000000; stroke-width: 1.5;" width="514" x="411" y="1044.6392"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="184" x="576" y="1060.1744">Allocate unreserved lease</text><!--MD5=[f07ece90dffecaa599052c39e01a94c5]
+entity getReservedLease--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="246" x="1136" y="451.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="226" x="1146" y="475.4544">Check lease for reserved address</text><!--MD5=[8636dd2beae72b933abf12250cfd1025]
+entity out_of_pool--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="208" x="1020" y="566.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="188" x="1030" y="590.4544">Check out-of-pool address</text><!--MD5=[ec14e8cae259e632e03b8f7e5f2fa627]
+entity existing--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="174" x="1651" y="451.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="154" x="1661" y="475.4544">Check requested lease</text><!--MD5=[0edbe06a49914a247f1c11b045d92815]
+entity client_lease--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="108" x="494" y="796.7792"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="88" x="504" y="820.3144">Check renew</text><!--MD5=[66e1e431ca0dbea91ea05cb758558585]
+entity create--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="148" x="973" y="1703.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="128" x="983" y="1727.3944">Create a new lease</text><!--MD5=[a85809bef6165a661ce702016b2b24bf]
+entity old_lease--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="128" x="747" y="2230.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="108" x="757" y="2254.3944">Delete old lease</text><!--MD5=[3e4eb9e968ddf7eb79447dabaa827d00]
+entity candidate--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="153" x="188.5" y="1572.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="133" x="198.5" y="1596.3944">Get candidate lease</text><!--MD5=[3dd4b79f11e480f9e62df46d2d0a412b]
+entity reuseExpiredLease4--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="157" x="118.5" y="1703.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="137" x="128.5" y="1727.3944">Reuse expired lease</text><!--MD5=[7989e4485f5064553517c02d5ce8346d]
+entity reclaimExpiredLease--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="169" x="111.5" y="1800.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="149" x="121.5" y="1824.3944">Reclaim expired lease</text><!--MD5=[8b161cca1eea0fa2f14429822e5193fc]
+entity updateLease4Information--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="192" x="96" y="1897.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="172" x="106" y="1921.3944">update lease information</text><!--MD5=[20b997f41be7d019adfd03f05289a85b]
+entity lease4_select--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="95.5" y="1994.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="143" x="105.5" y="2018.3944">Callout lease4_select</text><path d="M293.5,2000.3592 L293.5,2008.8592 L258.55,2012.8592 L293.5,2016.8592 L293.5,2025.6698 A0,0 0 0 0 293.5,2025.6698 L346.5,2025.6698 A0,0 0 0 0 346.5,2025.6698 L346.5,2010.3592 L336.5,2000.3592 L293.5,2000.3592 A0,0 0 0 0 293.5,2000.3592 " fill="#FBFB77" filter="url(#f5oag86dlpmno)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M336.5,2000.3592 L336.5,2010.3592 L346.5,2010.3592 L336.5,2000.3592 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="32" x="299.5" y="2017.9276">hook</text><!--MD5=[d0c6f6a5b1ca3e5ac503933fbe44aaa9]
+entity updateLease4--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="108" x="210" y="2091.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="88" x="220" y="2115.3944">Update lease</text><!--MD5=[8ae068fcc4f60e406016be9ba14134ac]
+entity iterate--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="194" x="450" y="1133.4992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="174" x="460" y="1157.0344">Iterate pools and subnets</text><!--MD5=[cb628e8ea2f367fa2f488bc44b336c46]
+entity pick--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="105" x="509.5" y="1246.4992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="519.5" y="1270.0344">Pick address</text><!--MD5=[3307242102673314e57f67fe596f1a7c]
+entity pick_reserved--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="200" x="640" y="1359.4992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="180" x="650" y="1383.0344">Check reserved addressed</text><!--MD5=[ac311a8dd9b9ea9d39416a955479a4fe]
+entity mt_in_use--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="288" x="506" y="1475.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="268" x="516" y="1499.3944">Check already in use by another thread</text><!--MD5=[3fa202f6559a381d70247672876b819e]
+entity pick_lease--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="101" x="476.5" y="1572.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="81" x="486.5" y="1596.3944">Check lease</text><!--MD5=[1213eaa42773f0ba0384c538d3efa224]
+entity findClientLease--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="130" x="1383" y="28.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="110" x="1393" y="51.7344">Find client lease</text><path d="M1548,33.6992 L1548,42.1992 L1513.14,46.1992 L1548,50.1992 L1548,59.0098 A0,0 0 0 0 1548,59.0098 L1638,59.0098 A0,0 0 0 0 1638,59.0098 L1638,43.6992 L1628,33.6992 L1548,33.6992 A0,0 0 0 0 1548,33.6992 " fill="#FBFB77" filter="url(#f5oag86dlpmno)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1628,33.6992 L1628,43.6992 L1638,43.6992 L1628,33.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="69" x="1554" y="51.2676">entry point</text><!--MD5=[0f69bb3143e68c3e4ebf8b928e2a1af4]
+entity addressReserved--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="216" x="1615" y="141.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="196" x="1625" y="164.7344">Check requested reservation</text><!--MD5=[f1bd864ca92b3a59ad91e15b6c278a16]
+entity hasAddressReservation--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="124" x="1112" y="141.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="104" x="1122" y="164.7344">Get reservation</text><!--MD5=[29cbf9a69668994ea4ff4bb0b8dea6d6]
+entity update_hint--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="200" x="1380" y="141.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="180" x="1390" y="164.7344">Update requested address</text><!--MD5=[999fe650e2a9819ebed27de3d290658a]
+entity no_lease--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="127" x="1444.5" y="2230.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="107" x="1454.5" y="2254.3944">Return no lease</text><path d="M1607,2236.3592 L1607,2244.8592 L1571.71,2248.8592 L1607,2252.8592 L1607,2261.6698 A0,0 0 0 0 1607,2261.6698 L1689,2261.6698 A0,0 0 0 0 1689,2261.6698 L1689,2246.3592 L1679,2236.3592 L1607,2236.3592 A0,0 0 0 0 1607,2236.3592 " fill="#FBFB77" filter="url(#f5oag86dlpmno)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1679,2236.3592 L1679,2246.3592 L1689,2246.3592 L1679,2236.3592 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="61" x="1613" y="2253.9276">exit point</text><!--MD5=[45b45980895812fee5a3bd80c1953e7a]
+entity renew--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="168" x="971" y="796.7792"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="148" x="981" y="820.3144">Return renewed lease</text><path d="M1174,802.2792 L1174,810.7792 L1139.06,814.7792 L1174,818.7792 L1174,827.5898 A0,0 0 0 0 1174,827.5898 L1256,827.5898 A0,0 0 0 0 1256,827.5898 L1256,812.2792 L1246,802.2792 L1174,802.2792 A0,0 0 0 0 1174,802.2792 " fill="#FBFB77" filter="url(#f5oag86dlpmno)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M1246,802.2792 L1246,812.2792 L1256,812.2792 L1246,802.2792 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="61" x="1180" y="819.8476">exit point</text><!--MD5=[c13398c59c328d6fcc544c8c17f5b117]
+entity return--><rect fill="#FEFECE" filter="url(#f5oag86dlpmno)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="105" x="758.5" y="2345.8592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="85" x="768.5" y="2369.3944">Return lease</text><path d="M899,2351.3592 L899,2359.8592 L863.66,2363.8592 L899,2367.8592 L899,2376.6698 A0,0 0 0 0 899,2376.6698 L981,2376.6698 A0,0 0 0 0 981,2376.6698 L981,2361.3592 L971,2351.3592 L899,2351.3592 A0,0 0 0 0 899,2351.3592 " fill="#FBFB77" filter="url(#f5oag86dlpmno)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M971,2351.3592 L971,2361.3592 L981,2361.3592 L971,2351.3592 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="61" x="905" y="2368.9276">exit point</text><!--MD5=[58c45ac03f61bca16a2604d1f9090edc]
link findClientLease to addressReserved--><path d="M1490.37,64.2992 C1540.43,84.5092 1623.49,118.0392 1675.64,139.0792 " fill="none" id="findClientLease->addressReserved" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1680.59,141.0792,1673.7456,133.9973,1675.9546,139.205,1670.7468,141.414,1680.59,141.0792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="178" x="1602" y="107.7676">has requested address (hint)</text><!--MD5=[3ed98210a29f20764b03cb44cfd671eb]
link findClientLease to hasAddressReservation--><path d="M1405.79,64.2992 C1355.91,84.5092 1273.15,118.0392 1221.19,139.0792 " fill="none" id="findClientLease->hasAddressReservation" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1216.26,141.0792,1226.1032,141.414,1220.8954,139.205,1223.1044,133.9973,1216.26,141.0792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="172" x="1328" y="107.7676">no requested address (hint)</text><!--MD5=[0f8169b991248aaf1e86d3e126ee7fc7]
link addressReserved to check_hint--><path d="M1706.14,177.5692 C1690.855,193.3142 1667.81,217.0567 1648.3475,237.1092 C1645.9147,239.6158 1643.5379,242.0647 1641.2391,244.4331 C1640.0898,245.6173 1638.96,246.7814 1637.8525,247.9225 " fill="none" id="addressReserved->check_hint" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1637.8525,247.9225,1646.991,244.2501,1641.3348,244.3346,1641.2503,238.6783,1637.8525,247.9225" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="162" x="1675" y="220.7676">no conflicting reservation</text><!--MD5=[afeb447a9f6636bece5d73dd5d09cefa]
link pick_lease to reuseExpiredLease4--><path d="M486.46,1608.9192 C461.21,1620.5292 428.75,1637.3192 403,1656.8592 C394.74,1663.1292 395.96,1668.6192 387,1673.8592 C377.25,1679.5592 326.42,1692.0092 279.78,1702.6592 " fill="none" id="pick_lease->reuseExpiredLease4" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="274.7,1703.8192,284.3588,1705.7447,279.5779,1702.721,282.6016,1697.9401,274.7,1703.8192" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="83" x="404" y="1670.4276">expired lease</text><!--MD5=[cf9da26e069a0df2c62fe2799950086c]
link pick_lease to create--><path d="M577.81,1604.4592 C670.26,1627.3992 866.3,1676.0292 973.39,1702.5992 " fill="none" id="pick_lease->create" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="978.42,1703.8492,970.6421,1697.8074,973.5659,1702.65,968.7233,1705.5738,978.42,1703.8492" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="52" x="849" y="1670.4276">no lease</text><!--MD5=[64e111b9225aa9d21cd5edaf123c77e3]
link create to old_lease--><path d="M1027.36,1740.0192 C1009.53,1757.5992 986,1786.6992 986,1817.8592 C986,1817.8592 986,1817.8592 986,2110.8592 C986,2170.8492 921.44,2208.5092 870.75,2228.8292 " fill="none" id="create->old_lease" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="865.89,2230.7392,875.7293,2231.1732,870.5441,2228.9118,872.8055,2223.7267,865.89,2230.7392" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f504166a5b4bb527b5be2231a925b659]
-link old_lease to return--><path d="M811,2267.0192 C811,2286.5992 811,2318.6892 811,2340.2892 " fill="none" id="old_lease->return" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="811,2345.5392,815,2336.5392,811,2340.5392,807,2336.5392,811,2345.5392" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[1f293e4c647acfe21d49cbfb654c2bca]
+link old_lease to return--><path d="M811,2267.0192 C811,2286.5992 811,2318.6892 811,2340.2892 " fill="none" id="old_lease->return" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="811,2345.5392,815,2336.5392,811,2340.5392,807,2336.5392,811,2345.5392" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[1b4d46ef90f054326099bee1d7a95d46]
@startuml\r
\r
-title Allocate a lease for DHCPREQUEST (Kea 1.7.11)\r
+title Allocate a lease for DHCPREQUEST (Kea 1.8.0)\r
\r
agent "Find client lease" as findClientLease\r
note right : entry point\r
@startuml
-title Allocate a lease for DHCPREQUEST (Kea 1.7.11)
+title Allocate a lease for DHCPREQUEST (Kea 1.8.0)
agent "Find client lease" as findClientLease
note right : entry point
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1782px" preserveAspectRatio="none" style="width:740px;height:1782px;" version="1.1" viewBox="0 0 740 1782" width="740px" zoomAndPan="magnify"><defs><filter height="300%" id="f12bmfm34fssu9" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="337" x="192.5" y="17.4023">DHCPREQUEST processing (Kea 1.7.11)</text><!--MD5=[638108c05bc1ef8eca3fbd57a1e57fe7]
-cluster ack--><rect fill="#FFFFFF" filter="url(#f12bmfm34fssu9)" height="762.86" style="stroke: #000000; stroke-width: 1.5;" width="304" x="419" y="717.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="154" x="494" y="732.7344">A lease was assigned</text><!--MD5=[bf2e5648ffce4090541457b458b3eec7]
-entity setReservedClasses--><rect fill="#FEFECE" filter="url(#f12bmfm34fssu9)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="449.5" y="806.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="143" x="459.5" y="829.5944">Add reserved classes</text><!--MD5=[b4c6d216ba631a143bfc1836b312cb78]
-entity requiredClassify--><rect fill="#FEFECE" filter="url(#f12bmfm34fssu9)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="187" x="447.5" y="903.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="167" x="457.5" y="926.5944">Classify required classes</text><!--MD5=[f89e27cff326c32e9ba835d84fbfe859]
-entity buildCfgOptionList--><rect fill="#FEFECE" filter="url(#f12bmfm34fssu9)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="206" x="455" y="1000.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="186" x="465" y="1023.5944">Build configured option list</text><!--MD5=[66aecdc5adcec4353637f7b7b5526ad2]
-entity appendRequestedOptions--><rect fill="#FEFECE" filter="url(#f12bmfm34fssu9)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="203" x="464.5" y="1113.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="183" x="474.5" y="1136.5944">Append requested options</text><!--MD5=[c1e338234dc43680cac932baec853545]
-entity appendRequestedVendorOptions--><rect fill="#FEFECE" filter="url(#f12bmfm34fssu9)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="255" x="443.5" y="1226.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="235" x="453.5" y="1249.5944">Append requested vendor options</text><!--MD5=[c9adb4adbcc3777a62f0437095b92421]
-entity appendBasicOptions--><rect fill="#FEFECE" filter="url(#f12bmfm34fssu9)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="169" x="485.5" y="1323.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="149" x="495.5" y="1346.5944">Append basic options</text><!--MD5=[f001f897bdcc87f34b1f31db09c9e4bc]
-entity setFixedFields--><rect fill="#FEFECE" filter="url(#f12bmfm34fssu9)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="508.5" y="1420.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="518.5" y="1443.5944">Set fixed fields</text><!--MD5=[e3476fda087b0512b1cf4e3a66ca5e59]
-entity entry--><rect fill="#FEFECE" filter="url(#f12bmfm34fssu9)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="78.5" y="28.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="88.5" y="51.7344">Entry point</text><!--MD5=[a7ec37c34d1a4a150f9193e171f7b981]
-entity selectSubnet--><rect fill="#FEFECE" filter="url(#f12bmfm34fssu9)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="111" x="70.5" y="125.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="91" x="80.5" y="148.7344">Select subnet</text><path d="M217,130.6992 L217,139.1992 L181.52,143.1992 L217,147.1992 L217,156.0098 A0,0 0 0 0 217,156.0098 L307,156.0098 A0,0 0 0 0 307,156.0098 L307,140.6992 L297,130.6992 L217,130.6992 A0,0 0 0 0 217,130.6992 " fill="#FBFB77" filter="url(#f12bmfm34fssu9)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M297,130.6992 L297,140.6992 L307,140.6992 L297,130.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="69" x="223" y="148.2676">hook point</text><!--MD5=[bd2ef8d619eb080c7e3a318a85d9bc74]
-entity findReservation--><rect fill="#FEFECE" filter="url(#f12bmfm34fssu9)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="165" x="187.5" y="222.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="145" x="197.5" y="245.7344">Find host reservation</text><!--MD5=[2cdbe39ce7f7beceaf096677903e27aa]
-entity known--><rect fill="#FEFECE" filter="url(#f12bmfm34fssu9)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="280" x="174" y="319.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="260" x="184" y="342.7344">Add either KNOWN or UNKNOWN class</text><!--MD5=[63b5186a9d9ded916d56a4c496be57e4]
-entity classify2--><rect fill="#FEFECE" filter="url(#f12bmfm34fssu9)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="148" x="248" y="416.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="128" x="258" y="439.7344">Classify (2nd pass)</text><!--MD5=[40832264567e158d4eae9eb68a571da4]
-entity processClientName--><rect fill="#FEFECE" filter="url(#f12bmfm34fssu9)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="155" x="248.5" y="513.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="135" x="258.5" y="536.7344">Process client name</text><!--MD5=[2a562006d844a2c20ab5026a88816353]
-entity assignLease--><rect fill="#FEFECE" filter="url(#f12bmfm34fssu9)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="269.5" y="610.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="97" x="279.5" y="633.7344">Assign a lease</text><!--MD5=[8274bfb416b6365278739ca5c48d26ea]
-entity common--><rect fill="#FEFECE" filter="url(#f12bmfm34fssu9)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="162" x="487" y="1535.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="142" x="497" y="1558.5944">Adjust interface data</text><!--MD5=[ca1312f187078c0b4317d510df91f0fb]
-entity appendServerID--><rect fill="#FEFECE" filter="url(#f12bmfm34fssu9)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="138" x="499" y="1632.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="118" x="509" y="1655.5944">Append server ID</text><path d="M308,1637.5592 L308,1662.8698 A0,0 0 0 0 308,1662.8698 L464,1662.8698 A0,0 0 0 0 464,1662.8698 L464,1655.5592 L498.67,1650.0592 L464,1647.5592 L464,1647.5592 L454,1637.5592 L308,1637.5592 A0,0 0 0 0 308,1637.5592 " fill="#FBFB77" filter="url(#f12bmfm34fssu9)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M454,1637.5592 L454,1647.5592 L464,1647.5592 L454,1637.5592 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="314" y="1655.1276">on success exit point</text><!--MD5=[c92710f32fe9c293a125fb7e80204a05]
-entity drop--><rect fill="#FEFECE" filter="url(#f12bmfm34fssu9)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="155" x="177.5" y="1729.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="135" x="187.5" y="1752.5944">Return no response</text><path d="M6,1734.5592 L6,1759.8698 A0,0 0 0 0 6,1759.8698 L142,1759.8698 A0,0 0 0 0 142,1759.8698 L142,1752.5592 L177.47,1747.0592 L142,1744.5592 L142,1744.5592 L132,1734.5592 L6,1734.5592 A0,0 0 0 0 6,1734.5592 " fill="#FBFB77" filter="url(#f12bmfm34fssu9)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M132,1734.5592 L132,1744.5592 L142,1744.5592 L132,1734.5592 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="115" x="12" y="1752.1276">on error exit point</text><!--MD5=[f1b2710c384eb85faf81d18e639f63a6]
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="1782px" preserveAspectRatio="none" style="width:740px;height:1782px;" version="1.1" viewBox="0 0 740 1782" width="740px" zoomAndPan="magnify"><defs><filter height="300%" id="f1ilk3q3nd6gdc" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="326" x="198" y="17.4023">DHCPREQUEST processing (Kea 1.8.0)</text><!--MD5=[638108c05bc1ef8eca3fbd57a1e57fe7]
+cluster ack--><rect fill="#FFFFFF" filter="url(#f1ilk3q3nd6gdc)" height="762.86" style="stroke: #000000; stroke-width: 1.5;" width="304" x="419" y="717.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="154" x="494" y="732.7344">A lease was assigned</text><!--MD5=[bf2e5648ffce4090541457b458b3eec7]
+entity setReservedClasses--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="449.5" y="806.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="143" x="459.5" y="829.5944">Add reserved classes</text><!--MD5=[b4c6d216ba631a143bfc1836b312cb78]
+entity requiredClassify--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="187" x="447.5" y="903.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="167" x="457.5" y="926.5944">Classify required classes</text><!--MD5=[f89e27cff326c32e9ba835d84fbfe859]
+entity buildCfgOptionList--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="206" x="455" y="1000.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="186" x="465" y="1023.5944">Build configured option list</text><!--MD5=[66aecdc5adcec4353637f7b7b5526ad2]
+entity appendRequestedOptions--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="203" x="464.5" y="1113.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="183" x="474.5" y="1136.5944">Append requested options</text><!--MD5=[c1e338234dc43680cac932baec853545]
+entity appendRequestedVendorOptions--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="255" x="443.5" y="1226.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="235" x="453.5" y="1249.5944">Append requested vendor options</text><!--MD5=[c9adb4adbcc3777a62f0437095b92421]
+entity appendBasicOptions--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="169" x="485.5" y="1323.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="149" x="495.5" y="1346.5944">Append basic options</text><!--MD5=[f001f897bdcc87f34b1f31db09c9e4bc]
+entity setFixedFields--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="121" x="508.5" y="1420.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="101" x="518.5" y="1443.5944">Set fixed fields</text><!--MD5=[e3476fda087b0512b1cf4e3a66ca5e59]
+entity entry--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="78.5" y="28.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="88.5" y="51.7344">Entry point</text><!--MD5=[a7ec37c34d1a4a150f9193e171f7b981]
+entity selectSubnet--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="111" x="70.5" y="125.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="91" x="80.5" y="148.7344">Select subnet</text><path d="M217,130.6992 L217,139.1992 L181.52,143.1992 L217,147.1992 L217,156.0098 A0,0 0 0 0 217,156.0098 L307,156.0098 A0,0 0 0 0 307,156.0098 L307,140.6992 L297,130.6992 L217,130.6992 A0,0 0 0 0 217,130.6992 " fill="#FBFB77" filter="url(#f1ilk3q3nd6gdc)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M297,130.6992 L297,140.6992 L307,140.6992 L297,130.6992 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="69" x="223" y="148.2676">hook point</text><!--MD5=[bd2ef8d619eb080c7e3a318a85d9bc74]
+entity findReservation--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="165" x="187.5" y="222.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="145" x="197.5" y="245.7344">Find host reservation</text><!--MD5=[2cdbe39ce7f7beceaf096677903e27aa]
+entity known--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="280" x="174" y="319.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="260" x="184" y="342.7344">Add either KNOWN or UNKNOWN class</text><!--MD5=[63b5186a9d9ded916d56a4c496be57e4]
+entity classify2--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="148" x="248" y="416.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="128" x="258" y="439.7344">Classify (2nd pass)</text><!--MD5=[40832264567e158d4eae9eb68a571da4]
+entity processClientName--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="155" x="248.5" y="513.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="135" x="258.5" y="536.7344">Process client name</text><!--MD5=[2a562006d844a2c20ab5026a88816353]
+entity assignLease--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="117" x="269.5" y="610.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="97" x="279.5" y="633.7344">Assign a lease</text><!--MD5=[8274bfb416b6365278739ca5c48d26ea]
+entity common--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="162" x="487" y="1535.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="142" x="497" y="1558.5944">Adjust interface data</text><!--MD5=[ca1312f187078c0b4317d510df91f0fb]
+entity appendServerID--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="138" x="499" y="1632.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="118" x="509" y="1655.5944">Append server ID</text><path d="M308,1637.5592 L308,1662.8698 A0,0 0 0 0 308,1662.8698 L464,1662.8698 A0,0 0 0 0 464,1662.8698 L464,1655.5592 L498.67,1650.0592 L464,1647.5592 L464,1647.5592 L454,1637.5592 L308,1637.5592 A0,0 0 0 0 308,1637.5592 " fill="#FBFB77" filter="url(#f1ilk3q3nd6gdc)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M454,1637.5592 L454,1647.5592 L464,1647.5592 L454,1637.5592 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="135" x="314" y="1655.1276">on success exit point</text><!--MD5=[c92710f32fe9c293a125fb7e80204a05]
+entity drop--><rect fill="#FEFECE" filter="url(#f1ilk3q3nd6gdc)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="155" x="177.5" y="1729.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="135" x="187.5" y="1752.5944">Return no response</text><path d="M6,1734.5592 L6,1759.8698 A0,0 0 0 0 6,1759.8698 L142,1759.8698 A0,0 0 0 0 142,1759.8698 L142,1752.5592 L177.47,1747.0592 L142,1744.5592 L142,1744.5592 L132,1734.5592 L6,1734.5592 A0,0 0 0 0 6,1734.5592 " fill="#FBFB77" filter="url(#f1ilk3q3nd6gdc)" style="stroke: #A80036; stroke-width: 1.0;"/><path d="M132,1734.5592 L132,1744.5592 L142,1744.5592 L132,1734.5592 " fill="#FBFB77" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="115" x="12" y="1752.1276">on error exit point</text><!--MD5=[f1b2710c384eb85faf81d18e639f63a6]
link entry to selectSubnet--><path d="M126,64.6192 C126,80.1592 126,102.9792 126,119.8592 " fill="none" id="entry->selectSubnet" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="126,124.8892,130,115.8892,126,119.8892,122,115.8892,126,124.8892" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[b2566f3d1f41175aa140f0cd50933407]
link selectSubnet to findReservation--><path d="M152.08,161.3992 C176.75,177.6792 213.76,202.0992 239.73,219.2292 " fill="none" id="selectSubnet->findReservation" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="244.12,222.1192,238.8174,213.8197,239.9488,219.3622,234.4062,220.4936,244.12,222.1192" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[1a93233187986d890dbf5eee85d4aa4a]
link selectSubnet to drop--><path d="M120.11,161.4792 C114.21,180.3392 106,211.5592 106,239.1992 C106,239.1992 106,239.1992 106,1651.0592 C106,1689.5192 141.74,1713.0992 178.21,1727.1392 " fill="none" id="selectSubnet->drop" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="183.12,1728.9792,176.0975,1722.0738,178.4384,1727.2236,173.2885,1729.5644,183.12,1728.9792" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="94" x="107" y="926.1276">hook set DROP</text><!--MD5=[ec2fdd3e226382e0a9d3911ff6fdaa1e]
link appendBasicOptions to setFixedFields--><path d="M569.82,1359.4792 C569.65,1375.0192 569.41,1397.8392 569.24,1414.7192 " fill="none" id="appendBasicOptions->setFixedFields" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="569.18,1419.7492,573.2572,1410.7839,569.223,1414.7494,565.2575,1410.7152,569.18,1419.7492" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[6bbcaa41c57dc9195ee921caca416269]
link setFixedFields to common--><path d="M568.85,1456.2192 C568.67,1475.7992 568.39,1507.8892 568.2,1529.4892 " fill="none" id="setFixedFields->common" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="568.15,1534.7392,572.227,1525.7738,568.1929,1529.7394,564.2273,1525.7053,568.15,1534.7392" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[132fd8477c39c92905ed9637c759fac2]
link common to appendServerID--><path d="M568,1571.4792 C568,1587.0192 568,1609.8392 568,1626.7192 " fill="none" id="common->appendServerID" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="568,1631.7492,572,1622.7492,568,1626.7492,564,1622.7492,568,1631.7492" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[c3fa6a6e0f86213585b749ab16a0c5af]
-link appendServerID to drop--><!--MD5=[e7ff4d7254055af17daf40541355f816]
+link appendServerID to drop--><!--MD5=[4750f740a763649f6d3712e660b5e97b]
@startuml\r
\r
-title DHCPREQUEST processing (Kea 1.7.11)\r
+title DHCPREQUEST processing (Kea 1.8.0)\r
\r
agent "Entry point" as entry\r
\r
@startuml
-title DHCPREQUEST processing (Kea 1.7.11)
+title DHCPREQUEST processing (Kea 1.8.0)
agent "Entry point" as entry
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="2560px" preserveAspectRatio="none" style="width:1579px;height:2560px;" version="1.1" viewBox="0 0 1579 2560" width="1579px" zoomAndPan="magnify"><defs><filter height="300%" id="f14axodlyb3201" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="327" x="625" y="27.4023">requestLease4 algorithm (Kea 1.7.11)</text><ellipse cx="631.3125" cy="41.1992" fill="#000000" filter="url(#f14axodlyb3201)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="148" x="557.3125" y="71.1992"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="128" x="567.3125" y="92.8008">get lease for the client</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="584.8125,125.332,677.8125,125.332,689.8125,137.332,677.8125,149.332,584.8125,149.332,572.8125,137.332,584.8125,125.332" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="93" x="584.8125" y="141.4893">reserved address</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="554.8125" y="135.0117">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="689.8125" y="135.0117">no</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="229,159.332,329,159.332,341,171.332,329,183.332,229,183.332,217,171.332,229,159.332" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="100" x="229" y="175.4893">requested address</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="203" y="169.0117">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="341" y="169.0117">yes</text><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="250" x="11" y="193.332"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="230" x="21" y="214.9336">requested address = reserved address</text><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="368.5" y="241.8096"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="378.5" y="263.4111">return no lease</text><ellipse cx="422" cy="321.9424" fill="#FFFFFF" filter="url(#f14axodlyb3201)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="422" cy="321.9424" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="293,193.332,551,193.332,563,205.332,551,217.332,293,217.332,281,205.332,293,193.332" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="426" y="227.9668">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="258" x="293" y="209.4893">requested address is reserved for another client</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="563" y="203.0117">no</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="279,363.4199,291,375.4199,279,387.4199,267,375.4199,279,363.4199" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="225.5" y="519.375"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="235.5" y="540.9766">return no lease</text><ellipse cx="279" cy="599.5078" fill="#FFFFFF" filter="url(#f14axodlyb3201)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="279" cy="599.5078" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="186.5,470.8975,371.5,470.8975,383.5,482.8975,371.5,494.8975,186.5,494.8975,174.5,482.8975,186.5,470.8975" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="283" y="505.5322">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="186.5" y="487.0547">active and owned by another client</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="383.5" y="480.5771">no</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="204.5,422.4199,353.5,422.4199,365.5,434.4199,353.5,446.4199,204.5,446.4199,192.5,434.4199,204.5,422.4199" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="283" y="457.0547">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="149" x="204.5" y="438.5771">lease for requested address</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="365.5" y="432.0996">no</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="279,665.4629,291,677.4629,279,689.4629,267,677.4629,279,665.4629" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="225.5" y="869.8955"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="235.5" y="891.4971">return no lease</text><ellipse cx="279" cy="950.0283" fill="#FFFFFF" filter="url(#f14axodlyb3201)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="279" cy="950.0283" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="263.5,821.418,294.5,821.418,306.5,833.418,294.5,845.418,263.5,845.418,251.5,833.418,263.5,821.418" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="283" y="856.0527">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="31" x="263.5" y="837.5752">active</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="306.5" y="831.0977">no</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="204.5,772.9404,353.5,772.9404,365.5,784.9404,353.5,796.9404,204.5,796.9404,192.5,784.9404,204.5,772.9404" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="283" y="807.5752">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="149" x="204.5" y="789.0977">lease for requested address</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="365.5" y="782.6201">no</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="279,1015.9834,291,1027.9834,279,1039.9834,267,1027.9834,279,1015.9834" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="225.5" y="1123.4609"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="235.5" y="1145.0625">return no lease</text><ellipse cx="279" cy="1197.6045" fill="#FFFFFF" filter="url(#f14axodlyb3201)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="279" cy="1197.6045" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="187.5,1074.9834,370.5,1074.9834,382.5,1086.9834,370.5,1098.9834,187.5,1098.9834,175.5,1086.9834,187.5,1074.9834" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="283" y="1109.6182">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="187.5" y="1091.1406">requested address in allowed pool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="382.5" y="1084.6631">yes</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="170.5,724.4629,387.5,724.4629,399.5,736.4629,387.5,748.4629,170.5,748.4629,158.5,736.4629,170.5,724.4629" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="283" y="759.0977">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="170.5" y="740.6201">requested address == reserved address</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="399.5" y="734.1426">yes</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="279,1259.082,291,1271.082,279,1283.082,267,1271.082,279,1259.082" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="933.625,159.332,1033.625,159.332,1045.625,171.332,1033.625,183.332,933.625,183.332,921.625,171.332,933.625,159.332" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="100" x="933.625" y="175.4893">requested address</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="903.625" y="169.0117">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1045.625" y="169.0117">no</text><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="702.5" y="241.8096"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="712.5" y="263.4111">return no lease</text><ellipse cx="756" cy="321.9424" fill="#FFFFFF" filter="url(#f14axodlyb3201)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="756" cy="321.9424" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="627,193.332,885,193.332,897,205.332,885,217.332,627,217.332,615,205.332,627,193.332" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="760" y="227.9668">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="258" x="627" y="209.4893">requested address is reserved for another client</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="897" y="203.0117">no</text><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="702.5" y="489.375"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="712.5" y="510.9766">return no lease</text><ellipse cx="756" cy="569.5078" fill="#FFFFFF" filter="url(#f14axodlyb3201)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="756" cy="569.5078" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="663.5,440.8975,848.5,440.8975,860.5,452.8975,848.5,464.8975,663.5,464.8975,651.5,452.8975,663.5,440.8975" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="760" y="475.5322">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="663.5" y="457.0547">active and owned by another client</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="860.5" y="450.5771">no</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="681.5,392.4199,830.5,392.4199,842.5,404.4199,830.5,416.4199,681.5,416.4199,669.5,404.4199,681.5,392.4199" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="760" y="427.0547">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="149" x="681.5" y="408.5771">lease for requested address</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="842.5" y="402.0996">no</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="756,635.4629,768,647.4629,756,659.4629,744,647.4629,756,635.4629" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="702.5" y="742.9404"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="712.5" y="764.542">return no lease</text><ellipse cx="756" cy="823.0732" fill="#FFFFFF" filter="url(#f14axodlyb3201)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="756" cy="823.0732" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="664.5,694.4629,847.5,694.4629,859.5,706.4629,847.5,718.4629,664.5,718.4629,652.5,706.4629,664.5,694.4629" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="760" y="729.0977">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="664.5" y="710.6201">requested address in allowed pool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="859.5" y="704.1426">yes</text><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="156" x="1133.25" y="289.8096"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="136" x="1143.25" y="311.4111">pick candidate address</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="1160.75,449.8975,1261.75,449.8975,1273.75,461.8975,1261.75,473.8975,1160.75,473.8975,1148.75,461.8975,1160.75,449.8975" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="1160.75" y="466.0547">lease for candidate</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1134.75" y="459.5771">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="1273.75" y="459.5771">yes</text><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="182" x="993" y="483.8975"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="162" x="1003" y="505.499">create and return new lease</text><ellipse cx="1084" cy="564.0303" fill="#FFFFFF" filter="url(#f14axodlyb3201)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1084" cy="564.0303" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="145" x="1266" y="532.375"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="125" x="1276" y="553.9766">reclaim expired lease</text><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="164" x="1256.5" y="601.5078"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="144" x="1266.5" y="623.1094">update lease information</text><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="138" x="1269.5" y="670.6406"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="1279.5" y="692.2422">callout lease4_select</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="1302,739.7734,1375,739.7734,1387,751.7734,1375,763.7734,1302,763.7734,1290,751.7734,1302,739.7734" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="1302" y="755.9307">callout return</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="22" x="1268" y="749.4531">SKIP</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="57" x="1387" y="749.4531">CONTINUE</text><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="1215" y="773.7734"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="1225" y="795.375">return no lease</text><ellipse cx="1268.5" cy="853.9063" fill="#FFFFFF" filter="url(#f14axodlyb3201)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1268.5" cy="853.9063" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="1361" y="773.7734"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="75" x="1371" y="795.375">update lease</text><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="133" x="1342" y="842.9063"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="113" x="1352" y="864.5078">return reused lease</text><ellipse cx="1408.5" cy="923.0391" fill="#FFFFFF" filter="url(#f14axodlyb3201)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1408.5" cy="923.0391" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="1318,483.8975,1359,483.8975,1371,495.8975,1359,507.8975,1318,507.8975,1306,495.8975,1318,483.8975" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="1342.5" y="518.5322">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="41" x="1318" y="500.0547">expired</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1371" y="493.5771">no</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="1115.25,401.4199,1307.25,401.4199,1319.25,413.4199,1307.25,425.4199,1115.25,425.4199,1103.25,413.4199,1115.25,401.4199" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1215.25" y="436.0547">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="1115.25" y="417.5771">candidate is used by another thread</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="1319.25" y="411.0996">yes</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="1211.25,1000.9941,1223.25,1012.9941,1211.25,1024.9941,1199.25,1012.9941,1211.25,1000.9941" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="1106.25,352.9424,1316.25,352.9424,1328.25,364.9424,1316.25,376.9424,1106.25,376.9424,1094.25,364.9424,1106.25,352.9424" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1215.25" y="387.5771">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="210" x="1106.25" y="369.0996">candidate is reserved for another client</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="1328.25" y="362.6221">yes</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="1211.25,1049.4717,1223.25,1061.4717,1211.25,1073.4717,1199.25,1061.4717,1211.25,1049.4717" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="1129.75,241.8096,1292.75,241.8096,1304.75,253.8096,1292.75,265.8096,1129.75,265.8096,1117.75,253.8096,1129.75,241.8096" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="163" x="1129.75" y="257.9668">iterate over pools and subnect</text><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="132" x="1145.25" y="1132.4717"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="112" x="1155.25" y="1154.0732">maximum attempts</text><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="1157.75" y="1195.6152"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="1167.75" y="1217.2168">return no lease</text><ellipse cx="1211.25" cy="1271.2705" fill="#FFFFFF" filter="url(#f14axodlyb3201)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1211.25" cy="1271.2705" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="1090.75,193.332,1331.75,193.332,1343.75,205.332,1331.75,217.332,1090.75,217.332,1078.75,205.332,1090.75,193.332" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1215.25" y="227.9668">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="241" x="1090.75" y="209.4893">client lease and lease address in allowed pool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="1343.75" y="203.0117">yes</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="983.625,1311.082,995.625,1323.082,983.625,1335.082,971.625,1323.082,983.625,1311.082" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="631.3125,1341.082,643.3125,1353.082,631.3125,1365.082,619.3125,1353.082,631.3125,1341.082" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="164" x="549.3125" y="1530.5146"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="144" x="559.3125" y="1552.1162">update lease information</text><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="145" x="558.8125" y="1633.125"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="125" x="568.8125" y="1654.7266">reclaim expired lease</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="585.8125,1584.6475,676.8125,1584.6475,688.8125,1596.6475,676.8125,1608.6475,585.8125,1608.6475,573.8125,1596.6475,585.8125,1584.6475" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="635.3125" y="1619.2822">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="91" x="585.8125" y="1600.8047">old lease expired</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="688.8125" y="1594.3271">no</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="631.3125,1687.2578,643.3125,1699.2578,631.3125,1711.2578,619.3125,1699.2578,631.3125,1687.2578" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="561.3125" y="1731.2578"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="120" x="571.3125" y="1752.8594">callout lease4_renew</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="594.8125,1785.3906,667.8125,1785.3906,679.8125,1797.3906,667.8125,1809.3906,594.8125,1809.3906,582.8125,1797.3906,594.8125,1785.3906" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="594.8125" y="1801.5479">callout return</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="22" x="560.8125" y="1795.0703">SKIP</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="57" x="679.8125" y="1795.0703">CONTINUE</text><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="145" x="468.3125" y="1819.3906"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="125" x="478.3125" y="1840.9922">return old client lease</text><ellipse cx="540.8125" cy="1884.5234" fill="#FFFFFF" filter="url(#f14axodlyb3201)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="540.8125" cy="1884.5234" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="674.3125" y="1819.3906"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="75" x="684.3125" y="1840.9922">update lease</text><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="177" x="633.3125" y="1873.5234"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="157" x="643.3125" y="1895.125">return renewed client lease</text><ellipse cx="721.8125" cy="1938.6563" fill="#FFFFFF" filter="url(#f14axodlyb3201)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="721.8125" cy="1938.6563" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="470.8125,1482.0371,791.8125,1482.0371,803.8125,1494.0371,791.8125,1506.0371,470.8125,1506.0371,458.8125,1494.0371,470.8125,1482.0371" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="635.3125" y="1516.6719">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="321" x="470.8125" y="1498.1943">has reserved address or client lease address in allowed pool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="803.8125" y="1491.7168">no</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="449.3125,1433.5596,813.3125,1433.5596,825.3125,1445.5596,813.3125,1457.5596,449.3125,1457.5596,437.3125,1445.5596,449.3125,1433.5596" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="635.3125" y="1468.1943">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="364" x="449.3125" y="1449.7168">no requested address or requested address == client lease address</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="825.3125" y="1443.2393">no</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="631.3125,1991.6563,643.3125,2003.6563,631.3125,2015.6563,619.3125,2003.6563,631.3125,1991.6563" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="601.8125,1385.082,660.8125,1385.082,672.8125,1397.082,660.8125,1409.082,601.8125,1409.082,589.8125,1397.082,601.8125,1385.082" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="635.3125" y="1419.7168">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="59" x="601.8125" y="1401.2393">client lease</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="672.8125" y="1394.7617">no</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="631.3125,2035.6563,643.3125,2047.6563,631.3125,2059.6563,619.3125,2047.6563,631.3125,2035.6563" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="206" x="528.3125" y="2079.6563"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="186" x="538.3125" y="2101.2578">get lease for requested address</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="589.3125,2133.7891,673.3125,2133.7891,685.3125,2145.7891,673.3125,2157.7891,589.3125,2157.7891,577.3125,2145.7891,589.3125,2133.7891" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="84" x="589.3125" y="2149.9463">requested lease</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="559.3125" y="2143.4688">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="685.3125" y="2143.4688">no</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="425.3125,2167.7891,466.3125,2167.7891,478.3125,2179.7891,466.3125,2191.7891,425.3125,2191.7891,413.3125,2179.7891,425.3125,2167.7891" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="41" x="425.3125" y="2183.9463">expired</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="399.3125" y="2177.4688">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="478.3125" y="2177.4688">yes</text><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="288.8125" y="2201.7891"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="298.8125" y="2223.3906">return no lease</text><ellipse cx="342.3125" cy="2281.9219" fill="#FFFFFF" filter="url(#f14axodlyb3201)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="342.3125" cy="2281.9219" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="145" x="476.8125" y="2201.7891"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="125" x="486.8125" y="2223.3906">reclaim expired lease</text><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="164" x="467.3125" y="2270.9219"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="144" x="477.3125" y="2292.5234">update lease information</text><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="138" x="480.3125" y="2325.0547"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="490.3125" y="2346.6563">callout lease4_select</text><polygon fill="#FEFECE" filter="url(#f14axodlyb3201)" points="512.8125,2379.1875,585.8125,2379.1875,597.8125,2391.1875,585.8125,2403.1875,512.8125,2403.1875,500.8125,2391.1875,512.8125,2379.1875" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="512.8125" y="2395.3447">callout return</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="22" x="478.8125" y="2388.8672">SKIP</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="57" x="597.8125" y="2388.8672">CONTINUE</text><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="425.8125" y="2413.1875"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="435.8125" y="2434.7891">return no lease</text><ellipse cx="479.3125" cy="2478.3203" fill="#FFFFFF" filter="url(#f14axodlyb3201)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="479.3125" cy="2478.3203" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="571.8125" y="2413.1875"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="75" x="581.8125" y="2434.7891">update lease</text><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="133" x="552.8125" y="2467.3203"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="113" x="562.8125" y="2488.9219">return reused lease</text><ellipse cx="619.3125" cy="2532.4531" fill="#FFFFFF" filter="url(#f14axodlyb3201)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="619.3125" cy="2532.4531" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f14axodlyb3201)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="182" x="725.8125" y="2167.7891"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="162" x="735.8125" y="2189.3906">create and return new lease</text><ellipse cx="816.8125" cy="2247.9219" fill="#FFFFFF" filter="url(#f14axodlyb3201)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="816.8125" cy="2247.9219" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="51.1992" y2="71.1992"/><polygon fill="#A80036" points="627.3125,61.1992,631.3125,71.1992,635.3125,61.1992,631.3125,65.1992" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="422" x2="422" y1="275.9424" y2="310.9424"/><polygon fill="#A80036" points="418,300.9424,422,310.9424,426,300.9424,422,304.9424" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="422" x2="422" y1="217.332" y2="241.8096"/><polygon fill="#A80036" points="418,231.8096,422,241.8096,426,231.8096,422,235.8096" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="563" x2="575" y1="205.332" y2="205.332"/><polygon fill="#A80036" points="571,283.376,575,293.376,579,283.376,575,287.376" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="575" x2="575" y1="205.332" y2="375.4199"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="575" x2="291" y1="375.4199" y2="375.4199"/><polygon fill="#A80036" points="301,371.4199,291,375.4199,301,379.4199,297,375.4199" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217" x2="136" y1="171.332" y2="171.332"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="136" x2="136" y1="171.332" y2="193.332"/><polygon fill="#A80036" points="132,183.332,136,193.332,140,183.332,136,187.332" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="341" x2="422" y1="171.332" y2="171.332"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="422" x2="422" y1="171.332" y2="193.332"/><polygon fill="#A80036" points="418,183.332,422,193.332,426,183.332,422,187.332" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="136" x2="136" y1="227.4648" y2="375.4199"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="136" x2="267" y1="375.4199" y2="375.4199"/><polygon fill="#A80036" points="257,371.4199,267,375.4199,257,379.4199,261,375.4199" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="553.5078" y2="588.5078"/><polygon fill="#A80036" points="275,578.5078,279,588.5078,283,578.5078,279,582.5078" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="494.8975" y2="519.375"/><polygon fill="#A80036" points="275,509.375,279,519.375,283,509.375,279,513.375" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="383.5" x2="395.5" y1="482.8975" y2="482.8975"/><polygon fill="#A80036" points="391.5,551.9414,395.5,561.9414,399.5,551.9414,395.5,555.9414" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="395.5" x2="395.5" y1="482.8975" y2="640.9854"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="395.5" x2="279" y1="640.9854" y2="640.9854"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="640.9854" y2="665.4629"/><polygon fill="#A80036" points="275,655.4629,279,665.4629,283,655.4629,279,659.4629" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="446.4199" y2="470.8975"/><polygon fill="#A80036" points="275,460.8975,279,470.8975,283,460.8975,279,464.8975" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="365.5" x2="405.5" y1="434.4199" y2="434.4199"/><polygon fill="#A80036" points="401.5,545.9414,405.5,555.9414,409.5,545.9414,405.5,549.9414" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="405.5" x2="405.5" y1="434.4199" y2="677.4629"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="405.5" x2="291" y1="677.4629" y2="677.4629"/><polygon fill="#A80036" points="301,673.4629,291,677.4629,301,681.4629,297,677.4629" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="387.4199" y2="422.4199"/><polygon fill="#A80036" points="275,412.4199,279,422.4199,283,412.4199,279,416.4199" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="904.0283" y2="939.0283"/><polygon fill="#A80036" points="275,929.0283,279,939.0283,283,929.0283,279,933.0283" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="845.418" y2="869.8955"/><polygon fill="#A80036" points="275,859.8955,279,869.8955,283,859.8955,279,863.8955" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="306.5" x2="342.5" y1="833.418" y2="833.418"/><polygon fill="#A80036" points="338.5,902.4619,342.5,912.4619,346.5,902.4619,342.5,906.4619" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="342.5" x2="342.5" y1="833.418" y2="991.5059"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="342.5" x2="279" y1="991.5059" y2="991.5059"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="991.5059" y2="1015.9834"/><polygon fill="#A80036" points="275,1005.9834,279,1015.9834,283,1005.9834,279,1009.9834" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="796.9404" y2="821.418"/><polygon fill="#A80036" points="275,811.418,279,821.418,283,811.418,279,815.418" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="365.5" x2="377.5" y1="784.9404" y2="784.9404"/><polygon fill="#A80036" points="373.5,896.4619,377.5,906.4619,381.5,896.4619,377.5,900.4619" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="377.5" x2="377.5" y1="784.9404" y2="1027.9834"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="377.5" x2="291" y1="1027.9834" y2="1027.9834"/><polygon fill="#A80036" points="301,1023.9834,291,1027.9834,301,1031.9834,297,1027.9834" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="1157.5938" y2="1186.6045"/><polygon fill="#A80036" points="275,1176.6045,279,1186.6045,283,1176.6045,279,1180.6045" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="1098.9834" y2="1123.4609"/><polygon fill="#A80036" points="275,1113.4609,279,1123.4609,283,1113.4609,279,1117.4609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="382.5" x2="394.5" y1="1086.9834" y2="1086.9834"/><polygon fill="#A80036" points="390.5,1156.0273,394.5,1166.0273,398.5,1156.0273,394.5,1160.0273" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="394.5" x2="394.5" y1="1086.9834" y2="1239.082"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="394.5" x2="279" y1="1239.082" y2="1239.082"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="1239.082" y2="1259.082"/><polygon fill="#A80036" points="275,1249.082,279,1259.082,283,1249.082,279,1253.082" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="1039.9834" y2="1074.9834"/><polygon fill="#A80036" points="275,1064.9834,279,1074.9834,283,1064.9834,279,1068.9834" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="748.4629" y2="772.9404"/><polygon fill="#A80036" points="275,762.9404,279,772.9404,283,762.9404,279,766.9404" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="399.5" x2="411.5" y1="736.4629" y2="736.4629"/><polygon fill="#A80036" points="407.5,999.0059,411.5,1009.0059,415.5,999.0059,411.5,1003.0059" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="411.5" x2="411.5" y1="736.4629" y2="1271.082"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="411.5" x2="291" y1="1271.082" y2="1271.082"/><polygon fill="#A80036" points="301,1267.082,291,1271.082,301,1275.082,297,1271.082" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="689.4629" y2="724.4629"/><polygon fill="#A80036" points="275,714.4629,279,724.4629,283,714.4629,279,718.4629" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="756" x2="756" y1="275.9424" y2="310.9424"/><polygon fill="#A80036" points="752,300.9424,756,310.9424,760,300.9424,756,304.9424" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="756" x2="756" y1="217.332" y2="241.8096"/><polygon fill="#A80036" points="752,231.8096,756,241.8096,760,231.8096,756,235.8096" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="897" x2="909" y1="205.332" y2="205.332"/><polygon fill="#A80036" points="905,274.376,909,284.376,913,274.376,909,278.376" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="909" x2="909" y1="205.332" y2="357.4199"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="909" x2="756" y1="357.4199" y2="357.4199"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="756" x2="756" y1="357.4199" y2="392.4199"/><polygon fill="#A80036" points="752,382.4199,756,392.4199,760,382.4199,756,386.4199" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="756" x2="756" y1="523.5078" y2="558.5078"/><polygon fill="#A80036" points="752,548.5078,756,558.5078,760,548.5078,756,552.5078" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="756" x2="756" y1="464.8975" y2="489.375"/><polygon fill="#A80036" points="752,479.375,756,489.375,760,479.375,756,483.375" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="860.5" x2="872.5" y1="452.8975" y2="452.8975"/><polygon fill="#A80036" points="868.5,521.9414,872.5,531.9414,876.5,521.9414,872.5,525.9414" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="872.5" x2="872.5" y1="452.8975" y2="610.9854"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="872.5" x2="756" y1="610.9854" y2="610.9854"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="756" x2="756" y1="610.9854" y2="635.4629"/><polygon fill="#A80036" points="752,625.4629,756,635.4629,760,625.4629,756,629.4629" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="756" x2="756" y1="416.4199" y2="440.8975"/><polygon fill="#A80036" points="752,430.8975,756,440.8975,760,430.8975,756,434.8975" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="842.5" x2="882.5" y1="404.4199" y2="404.4199"/><polygon fill="#A80036" points="878.5,515.9414,882.5,525.9414,886.5,515.9414,882.5,519.9414" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="882.5" x2="882.5" y1="404.4199" y2="647.4629"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="882.5" x2="768" y1="647.4629" y2="647.4629"/><polygon fill="#A80036" points="778,643.4629,768,647.4629,778,651.4629,774,647.4629" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="756" x2="756" y1="777.0732" y2="812.0732"/><polygon fill="#A80036" points="752,802.0732,756,812.0732,760,802.0732,756,806.0732" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="756" x2="756" y1="718.4629" y2="742.9404"/><polygon fill="#A80036" points="752,732.9404,756,742.9404,760,732.9404,756,736.9404" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="859.5" x2="871.5" y1="706.4629" y2="706.4629"/><polygon fill="#A80036" points="867.5,1013.8389,871.5,1023.8389,875.5,1013.8389,871.5,1017.8389" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="871.5" x2="871.5" y1="706.4629" y2="1323.082"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="871.5" x2="971.625" y1="1323.082" y2="1323.082"/><polygon fill="#A80036" points="961.625,1319.082,971.625,1323.082,961.625,1327.082,965.625,1323.082" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="756" x2="756" y1="659.4629" y2="694.4629"/><polygon fill="#A80036" points="752,684.4629,756,694.4629,760,684.4629,756,688.4629" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1084" x2="1084" y1="518.0303" y2="553.0303"/><polygon fill="#A80036" points="1080,543.0303,1084,553.0303,1088,543.0303,1084,547.0303" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1338.5" x2="1338.5" y1="566.5078" y2="601.5078"/><polygon fill="#A80036" points="1334.5,591.5078,1338.5,601.5078,1342.5,591.5078,1338.5,595.5078" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1338.5" x2="1338.5" y1="635.6406" y2="670.6406"/><polygon fill="#A80036" points="1334.5,660.6406,1338.5,670.6406,1342.5,660.6406,1338.5,664.6406" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1268.5" x2="1268.5" y1="807.9063" y2="842.9063"/><polygon fill="#A80036" points="1264.5,832.9063,1268.5,842.9063,1272.5,832.9063,1268.5,836.9063" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1408.5" x2="1408.5" y1="807.9063" y2="842.9063"/><polygon fill="#A80036" points="1404.5,832.9063,1408.5,842.9063,1412.5,832.9063,1408.5,836.9063" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1408.5" x2="1408.5" y1="877.0391" y2="912.0391"/><polygon fill="#A80036" points="1404.5,902.0391,1408.5,912.0391,1412.5,902.0391,1408.5,906.0391" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1290" x2="1268.5" y1="751.7734" y2="751.7734"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1268.5" x2="1268.5" y1="751.7734" y2="773.7734"/><polygon fill="#A80036" points="1264.5,763.7734,1268.5,773.7734,1272.5,763.7734,1268.5,767.7734" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1387" x2="1408.5" y1="751.7734" y2="751.7734"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1408.5" x2="1408.5" y1="751.7734" y2="773.7734"/><polygon fill="#A80036" points="1404.5,763.7734,1408.5,773.7734,1412.5,763.7734,1408.5,767.7734" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1338.5" x2="1338.5" y1="704.7734" y2="739.7734"/><polygon fill="#A80036" points="1334.5,729.7734,1338.5,739.7734,1342.5,729.7734,1338.5,733.7734" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1338.5" x2="1338.5" y1="507.8975" y2="532.375"/><polygon fill="#A80036" points="1334.5,522.375,1338.5,532.375,1342.5,522.375,1338.5,526.375" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1371" x2="1489" y1="495.8975" y2="495.8975"/><polygon fill="#A80036" points="1485,726.207,1489,736.207,1493,726.207,1489,730.207" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1489" x2="1489" y1="495.8975" y2="976.5166"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1489" x2="1211.25" y1="976.5166" y2="976.5166"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1211.25" y1="976.5166" y2="1000.9941"/><polygon fill="#A80036" points="1207.25,990.9941,1211.25,1000.9941,1215.25,990.9941,1211.25,994.9941" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1148.75" x2="1084" y1="461.8975" y2="461.8975"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1084" x2="1084" y1="461.8975" y2="483.8975"/><polygon fill="#A80036" points="1080,473.8975,1084,483.8975,1088,473.8975,1084,477.8975" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1273.75" x2="1338.5" y1="461.8975" y2="461.8975"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1338.5" x2="1338.5" y1="461.8975" y2="483.8975"/><polygon fill="#A80036" points="1334.5,473.8975,1338.5,483.8975,1342.5,473.8975,1338.5,477.8975" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1211.25" y1="425.4199" y2="449.8975"/><polygon fill="#A80036" points="1207.25,439.8975,1211.25,449.8975,1215.25,439.8975,1211.25,443.8975" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1319.25" x2="1507" y1="413.4199" y2="413.4199"/><polygon fill="#A80036" points="1503,703.207,1507,713.207,1511,703.207,1507,707.207" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1507" x2="1507" y1="413.4199" y2="1012.9941"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1507" x2="1223.25" y1="1012.9941" y2="1012.9941"/><polygon fill="#A80036" points="1233.25,1008.9941,1223.25,1012.9941,1233.25,1016.9941,1229.25,1012.9941" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1211.25" y1="376.9424" y2="401.4199"/><polygon fill="#A80036" points="1207.25,391.4199,1211.25,401.4199,1215.25,391.4199,1211.25,395.4199" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1328.25" x2="1525" y1="364.9424" y2="364.9424"/><polygon fill="#A80036" points="1521,703.207,1525,713.207,1529,703.207,1525,707.207" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1525" x2="1525" y1="364.9424" y2="1061.4717"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1525" x2="1223.25" y1="1061.4717" y2="1061.4717"/><polygon fill="#A80036" points="1233.25,1057.4717,1223.25,1061.4717,1233.25,1065.4717,1229.25,1061.4717" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1211.25" y1="1024.9941" y2="1049.4717"/><polygon fill="#A80036" points="1207.25,1039.4717,1211.25,1049.4717,1215.25,1039.4717,1211.25,1043.4717" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1211.25" y1="323.9424" y2="352.9424"/><polygon fill="#A80036" points="1207.25,342.9424,1211.25,352.9424,1215.25,342.9424,1211.25,346.9424" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1211.25" y1="265.8096" y2="289.8096"/><polygon fill="#A80036" points="1207.25,279.8096,1211.25,289.8096,1215.25,279.8096,1211.25,283.8096" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1211.25" y1="1073.4717" y2="1085.4717"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1543" y1="1085.4717" y2="1085.4717"/><polygon fill="#A80036" points="1539,676.6406,1543,666.6406,1547,676.6406,1543,672.6406" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1543" x2="1543" y1="253.8096" y2="1085.4717"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1543" x2="1304.75" y1="253.8096" y2="253.8096"/><polygon fill="#A80036" points="1314.75,249.8096,1304.75,253.8096,1314.75,257.8096,1310.75,253.8096" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1117.75" x2="951" y1="253.8096" y2="253.8096"/><polygon fill="#A80036" points="947,662.6406,951,672.6406,955,662.6406,951,666.6406" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="951" x2="951" y1="253.8096" y2="1097.4717"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="951" x2="1211.25" y1="1097.4717" y2="1097.4717"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1211.25" y1="1097.4717" y2="1132.4717"/><polygon fill="#A80036" points="1207.25,1122.4717,1211.25,1132.4717,1215.25,1122.4717,1211.25,1126.4717" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1211.25" y1="1166.6045" y2="1195.6152"/><polygon fill="#A80036" points="1207.25,1185.6152,1211.25,1195.6152,1215.25,1185.6152,1211.25,1189.6152" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1211.25" y1="1229.748" y2="1260.2705"/><polygon fill="#A80036" points="1207.25,1250.2705,1211.25,1260.2705,1215.25,1250.2705,1211.25,1254.2705" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1211.25" y1="217.332" y2="241.8096"/><polygon fill="#A80036" points="1207.25,231.8096,1211.25,241.8096,1215.25,231.8096,1211.25,235.8096" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1343.75" x2="1553" y1="205.332" y2="205.332"/><polygon fill="#A80036" points="1549,760.2734,1553,770.2734,1557,760.2734,1553,764.2734" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1553" x2="1553" y1="205.332" y2="1323.082"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1553" x2="995.625" y1="1323.082" y2="1323.082"/><polygon fill="#A80036" points="1005.625,1319.082,995.625,1323.082,1005.625,1327.082,1001.625,1323.082" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="921.625" x2="756" y1="171.332" y2="171.332"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="756" x2="756" y1="171.332" y2="193.332"/><polygon fill="#A80036" points="752,183.332,756,193.332,760,183.332,756,187.332" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1045.625" x2="1211.25" y1="171.332" y2="171.332"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1211.25" y1="171.332" y2="193.332"/><polygon fill="#A80036" points="1207.25,183.332,1211.25,193.332,1215.25,183.332,1211.25,187.332" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="572.8125" x2="279" y1="137.332" y2="137.332"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="137.332" y2="159.332"/><polygon fill="#A80036" points="275,149.332,279,159.332,283,149.332,279,153.332" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="689.8125" x2="983.625" y1="137.332" y2="137.332"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="983.625" x2="983.625" y1="137.332" y2="159.332"/><polygon fill="#A80036" points="979.625,149.332,983.625,159.332,987.625,149.332,983.625,153.332" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="1283.082" y2="1353.082"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="619.3125" y1="1353.082" y2="1353.082"/><polygon fill="#A80036" points="609.3125,1349.082,619.3125,1353.082,609.3125,1357.082,613.3125,1353.082" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="983.625" x2="983.625" y1="1335.082" y2="1353.082"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="983.625" x2="643.3125" y1="1353.082" y2="1353.082"/><polygon fill="#A80036" points="653.3125,1349.082,643.3125,1353.082,653.3125,1357.082,649.3125,1353.082" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="105.332" y2="125.332"/><polygon fill="#A80036" points="627.3125,115.332,631.3125,125.332,635.3125,115.332,631.3125,119.332" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="1608.6475" y2="1633.125"/><polygon fill="#A80036" points="627.3125,1623.125,631.3125,1633.125,635.3125,1623.125,631.3125,1627.125" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="688.8125" x2="713.8125" y1="1596.6475" y2="1596.6475"/><polygon fill="#A80036" points="709.8125,1640.1914,713.8125,1650.1914,717.8125,1640.1914,713.8125,1644.1914" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="713.8125" x2="713.8125" y1="1596.6475" y2="1699.2578"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="713.8125" x2="643.3125" y1="1699.2578" y2="1699.2578"/><polygon fill="#A80036" points="653.3125,1695.2578,643.3125,1699.2578,653.3125,1703.2578,649.3125,1699.2578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="1667.2578" y2="1687.2578"/><polygon fill="#A80036" points="627.3125,1677.2578,631.3125,1687.2578,635.3125,1677.2578,631.3125,1681.2578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="1564.6475" y2="1584.6475"/><polygon fill="#A80036" points="627.3125,1574.6475,631.3125,1584.6475,635.3125,1574.6475,631.3125,1578.6475" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="1711.2578" y2="1731.2578"/><polygon fill="#A80036" points="627.3125,1721.2578,631.3125,1731.2578,635.3125,1721.2578,631.3125,1725.2578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="540.8125" x2="540.8125" y1="1853.5234" y2="1873.5234"/><polygon fill="#A80036" points="536.8125,1863.5234,540.8125,1873.5234,544.8125,1863.5234,540.8125,1867.5234" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="721.8125" x2="721.8125" y1="1853.5234" y2="1873.5234"/><polygon fill="#A80036" points="717.8125,1863.5234,721.8125,1873.5234,725.8125,1863.5234,721.8125,1867.5234" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="721.8125" x2="721.8125" y1="1907.6563" y2="1927.6563"/><polygon fill="#A80036" points="717.8125,1917.6563,721.8125,1927.6563,725.8125,1917.6563,721.8125,1921.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="582.8125" x2="540.8125" y1="1797.3906" y2="1797.3906"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="540.8125" x2="540.8125" y1="1797.3906" y2="1819.3906"/><polygon fill="#A80036" points="536.8125,1809.3906,540.8125,1819.3906,544.8125,1809.3906,540.8125,1813.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="679.8125" x2="721.8125" y1="1797.3906" y2="1797.3906"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="721.8125" x2="721.8125" y1="1797.3906" y2="1819.3906"/><polygon fill="#A80036" points="717.8125,1809.3906,721.8125,1819.3906,725.8125,1809.3906,721.8125,1813.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="1765.3906" y2="1785.3906"/><polygon fill="#A80036" points="627.3125,1775.3906,631.3125,1785.3906,635.3125,1775.3906,631.3125,1779.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="1506.0371" y2="1530.5146"/><polygon fill="#A80036" points="627.3125,1520.5146,631.3125,1530.5146,635.3125,1520.5146,631.3125,1524.5146" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="803.8125" x2="830.3125" y1="1494.0371" y2="1494.0371"/><polygon fill="#A80036" points="826.3125,1735.3467,830.3125,1745.3467,834.3125,1735.3467,830.3125,1739.3467" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="830.3125" x2="830.3125" y1="1494.0371" y2="1971.6563"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="830.3125" x2="631.3125" y1="1971.6563" y2="1971.6563"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="1971.6563" y2="1991.6563"/><polygon fill="#A80036" points="627.3125,1981.6563,631.3125,1991.6563,635.3125,1981.6563,631.3125,1985.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="1457.5596" y2="1482.0371"/><polygon fill="#A80036" points="627.3125,1472.0371,631.3125,1482.0371,635.3125,1472.0371,631.3125,1476.0371" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="825.3125" x2="852.3125" y1="1445.5596" y2="1445.5596"/><polygon fill="#A80036" points="848.3125,1729.3467,852.3125,1739.3467,856.3125,1729.3467,852.3125,1733.3467" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="852.3125" x2="852.3125" y1="1445.5596" y2="2003.6563"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="852.3125" x2="643.3125" y1="2003.6563" y2="2003.6563"/><polygon fill="#A80036" points="653.3125,1999.6563,643.3125,2003.6563,653.3125,2007.6563,649.3125,2003.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="1409.082" y2="1433.5596"/><polygon fill="#A80036" points="627.3125,1423.5596,631.3125,1433.5596,635.3125,1423.5596,631.3125,1427.5596" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="672.8125" x2="874.3125" y1="1397.082" y2="1397.082"/><polygon fill="#A80036" points="870.3125,1729.3467,874.3125,1739.3467,878.3125,1729.3467,874.3125,1733.3467" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="874.3125" x2="874.3125" y1="1397.082" y2="2047.6563"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="874.3125" x2="643.3125" y1="2047.6563" y2="2047.6563"/><polygon fill="#A80036" points="653.3125,2043.6563,643.3125,2047.6563,653.3125,2051.6563,649.3125,2047.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="2015.6563" y2="2035.6563"/><polygon fill="#A80036" points="627.3125,2025.6563,631.3125,2035.6563,635.3125,2025.6563,631.3125,2029.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="1365.082" y2="1385.082"/><polygon fill="#A80036" points="627.3125,1375.082,631.3125,1385.082,635.3125,1375.082,631.3125,1379.082" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="2059.6563" y2="2079.6563"/><polygon fill="#A80036" points="627.3125,2069.6563,631.3125,2079.6563,635.3125,2069.6563,631.3125,2073.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="342.3125" x2="342.3125" y1="2235.9219" y2="2270.9219"/><polygon fill="#A80036" points="338.3125,2260.9219,342.3125,2270.9219,346.3125,2260.9219,342.3125,2264.9219" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="549.3125" x2="549.3125" y1="2235.9219" y2="2270.9219"/><polygon fill="#A80036" points="545.3125,2260.9219,549.3125,2270.9219,553.3125,2260.9219,549.3125,2264.9219" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="549.3125" x2="549.3125" y1="2305.0547" y2="2325.0547"/><polygon fill="#A80036" points="545.3125,2315.0547,549.3125,2325.0547,553.3125,2315.0547,549.3125,2319.0547" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="479.3125" x2="479.3125" y1="2447.3203" y2="2467.3203"/><polygon fill="#A80036" points="475.3125,2457.3203,479.3125,2467.3203,483.3125,2457.3203,479.3125,2461.3203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="619.3125" x2="619.3125" y1="2447.3203" y2="2467.3203"/><polygon fill="#A80036" points="615.3125,2457.3203,619.3125,2467.3203,623.3125,2457.3203,619.3125,2461.3203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="619.3125" x2="619.3125" y1="2501.4531" y2="2521.4531"/><polygon fill="#A80036" points="615.3125,2511.4531,619.3125,2521.4531,623.3125,2511.4531,619.3125,2515.4531" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="500.8125" x2="479.3125" y1="2391.1875" y2="2391.1875"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="479.3125" x2="479.3125" y1="2391.1875" y2="2413.1875"/><polygon fill="#A80036" points="475.3125,2403.1875,479.3125,2413.1875,483.3125,2403.1875,479.3125,2407.1875" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.8125" x2="619.3125" y1="2391.1875" y2="2391.1875"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="619.3125" x2="619.3125" y1="2391.1875" y2="2413.1875"/><polygon fill="#A80036" points="615.3125,2403.1875,619.3125,2413.1875,623.3125,2403.1875,619.3125,2407.1875" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="549.3125" x2="549.3125" y1="2359.1875" y2="2379.1875"/><polygon fill="#A80036" points="545.3125,2369.1875,549.3125,2379.1875,553.3125,2369.1875,549.3125,2373.1875" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="413.3125" x2="342.3125" y1="2179.7891" y2="2179.7891"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="342.3125" x2="342.3125" y1="2179.7891" y2="2201.7891"/><polygon fill="#A80036" points="338.3125,2191.7891,342.3125,2201.7891,346.3125,2191.7891,342.3125,2195.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="478.3125" x2="549.3125" y1="2179.7891" y2="2179.7891"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="549.3125" x2="549.3125" y1="2179.7891" y2="2201.7891"/><polygon fill="#A80036" points="545.3125,2191.7891,549.3125,2201.7891,553.3125,2191.7891,549.3125,2195.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="816.8125" x2="816.8125" y1="2201.9219" y2="2236.9219"/><polygon fill="#A80036" points="812.8125,2226.9219,816.8125,2236.9219,820.8125,2226.9219,816.8125,2230.9219" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="577.3125" x2="445.8125" y1="2145.7891" y2="2145.7891"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="445.8125" x2="445.8125" y1="2145.7891" y2="2167.7891"/><polygon fill="#A80036" points="441.8125,2157.7891,445.8125,2167.7891,449.8125,2157.7891,445.8125,2161.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="685.3125" x2="816.8125" y1="2145.7891" y2="2145.7891"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="816.8125" x2="816.8125" y1="2145.7891" y2="2167.7891"/><polygon fill="#A80036" points="812.8125,2157.7891,816.8125,2167.7891,820.8125,2157.7891,816.8125,2161.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="2113.7891" y2="2133.7891"/><polygon fill="#A80036" points="627.3125,2123.7891,631.3125,2133.7891,635.3125,2123.7891,631.3125,2127.7891" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f480a7786d4a7e3308d647014406e33a]
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="2560px" preserveAspectRatio="none" style="width:1579px;height:2560px;" version="1.1" viewBox="0 0 1579 2560" width="1579px" zoomAndPan="magnify"><defs><filter height="300%" id="f1aicqcofdeklm" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="316" x="630.5" y="27.4023">requestLease4 algorithm (Kea 1.8.0)</text><ellipse cx="631.3125" cy="41.1992" fill="#000000" filter="url(#f1aicqcofdeklm)" rx="10" ry="10" style="stroke: none; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="148" x="557.3125" y="71.1992"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="128" x="567.3125" y="92.8008">get lease for the client</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="584.8125,125.332,677.8125,125.332,689.8125,137.332,677.8125,149.332,584.8125,149.332,572.8125,137.332,584.8125,125.332" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="93" x="584.8125" y="141.4893">reserved address</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="554.8125" y="135.0117">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="689.8125" y="135.0117">no</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="229,159.332,329,159.332,341,171.332,329,183.332,229,183.332,217,171.332,229,159.332" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="100" x="229" y="175.4893">requested address</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="203" y="169.0117">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="341" y="169.0117">yes</text><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="250" x="11" y="193.332"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="230" x="21" y="214.9336">requested address = reserved address</text><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="368.5" y="241.8096"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="378.5" y="263.4111">return no lease</text><ellipse cx="422" cy="321.9424" fill="#FFFFFF" filter="url(#f1aicqcofdeklm)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="422" cy="321.9424" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="293,193.332,551,193.332,563,205.332,551,217.332,293,217.332,281,205.332,293,193.332" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="426" y="227.9668">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="258" x="293" y="209.4893">requested address is reserved for another client</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="563" y="203.0117">no</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="279,363.4199,291,375.4199,279,387.4199,267,375.4199,279,363.4199" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="225.5" y="519.375"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="235.5" y="540.9766">return no lease</text><ellipse cx="279" cy="599.5078" fill="#FFFFFF" filter="url(#f1aicqcofdeklm)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="279" cy="599.5078" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="186.5,470.8975,371.5,470.8975,383.5,482.8975,371.5,494.8975,186.5,494.8975,174.5,482.8975,186.5,470.8975" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="283" y="505.5322">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="186.5" y="487.0547">active and owned by another client</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="383.5" y="480.5771">no</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="204.5,422.4199,353.5,422.4199,365.5,434.4199,353.5,446.4199,204.5,446.4199,192.5,434.4199,204.5,422.4199" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="283" y="457.0547">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="149" x="204.5" y="438.5771">lease for requested address</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="365.5" y="432.0996">no</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="279,665.4629,291,677.4629,279,689.4629,267,677.4629,279,665.4629" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="225.5" y="869.8955"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="235.5" y="891.4971">return no lease</text><ellipse cx="279" cy="950.0283" fill="#FFFFFF" filter="url(#f1aicqcofdeklm)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="279" cy="950.0283" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="263.5,821.418,294.5,821.418,306.5,833.418,294.5,845.418,263.5,845.418,251.5,833.418,263.5,821.418" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="283" y="856.0527">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="31" x="263.5" y="837.5752">active</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="306.5" y="831.0977">no</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="204.5,772.9404,353.5,772.9404,365.5,784.9404,353.5,796.9404,204.5,796.9404,192.5,784.9404,204.5,772.9404" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="283" y="807.5752">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="149" x="204.5" y="789.0977">lease for requested address</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="365.5" y="782.6201">no</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="279,1015.9834,291,1027.9834,279,1039.9834,267,1027.9834,279,1015.9834" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="225.5" y="1123.4609"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="235.5" y="1145.0625">return no lease</text><ellipse cx="279" cy="1197.6045" fill="#FFFFFF" filter="url(#f1aicqcofdeklm)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="279" cy="1197.6045" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="187.5,1074.9834,370.5,1074.9834,382.5,1086.9834,370.5,1098.9834,187.5,1098.9834,175.5,1086.9834,187.5,1074.9834" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="283" y="1109.6182">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="187.5" y="1091.1406">requested address in allowed pool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="382.5" y="1084.6631">yes</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="170.5,724.4629,387.5,724.4629,399.5,736.4629,387.5,748.4629,170.5,748.4629,158.5,736.4629,170.5,724.4629" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="283" y="759.0977">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="217" x="170.5" y="740.6201">requested address == reserved address</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="399.5" y="734.1426">yes</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="279,1259.082,291,1271.082,279,1283.082,267,1271.082,279,1259.082" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="933.625,159.332,1033.625,159.332,1045.625,171.332,1033.625,183.332,933.625,183.332,921.625,171.332,933.625,159.332" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="100" x="933.625" y="175.4893">requested address</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="903.625" y="169.0117">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1045.625" y="169.0117">no</text><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="702.5" y="241.8096"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="712.5" y="263.4111">return no lease</text><ellipse cx="756" cy="321.9424" fill="#FFFFFF" filter="url(#f1aicqcofdeklm)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="756" cy="321.9424" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="627,193.332,885,193.332,897,205.332,885,217.332,627,217.332,615,205.332,627,193.332" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="760" y="227.9668">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="258" x="627" y="209.4893">requested address is reserved for another client</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="897" y="203.0117">no</text><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="702.5" y="489.375"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="712.5" y="510.9766">return no lease</text><ellipse cx="756" cy="569.5078" fill="#FFFFFF" filter="url(#f1aicqcofdeklm)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="756" cy="569.5078" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="663.5,440.8975,848.5,440.8975,860.5,452.8975,848.5,464.8975,663.5,464.8975,651.5,452.8975,663.5,440.8975" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="760" y="475.5322">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="185" x="663.5" y="457.0547">active and owned by another client</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="860.5" y="450.5771">no</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="681.5,392.4199,830.5,392.4199,842.5,404.4199,830.5,416.4199,681.5,416.4199,669.5,404.4199,681.5,392.4199" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="760" y="427.0547">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="149" x="681.5" y="408.5771">lease for requested address</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="842.5" y="402.0996">no</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="756,635.4629,768,647.4629,756,659.4629,744,647.4629,756,635.4629" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="702.5" y="742.9404"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="712.5" y="764.542">return no lease</text><ellipse cx="756" cy="823.0732" fill="#FFFFFF" filter="url(#f1aicqcofdeklm)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="756" cy="823.0732" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="664.5,694.4629,847.5,694.4629,859.5,706.4629,847.5,718.4629,664.5,718.4629,652.5,706.4629,664.5,694.4629" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="760" y="729.0977">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="183" x="664.5" y="710.6201">requested address in allowed pool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="859.5" y="704.1426">yes</text><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="156" x="1133.25" y="289.8096"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="136" x="1143.25" y="311.4111">pick candidate address</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="1160.75,449.8975,1261.75,449.8975,1273.75,461.8975,1261.75,473.8975,1160.75,473.8975,1148.75,461.8975,1160.75,449.8975" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="101" x="1160.75" y="466.0547">lease for candidate</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1134.75" y="459.5771">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="1273.75" y="459.5771">yes</text><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="182" x="993" y="483.8975"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="162" x="1003" y="505.499">create and return new lease</text><ellipse cx="1084" cy="564.0303" fill="#FFFFFF" filter="url(#f1aicqcofdeklm)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1084" cy="564.0303" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="145" x="1266" y="532.375"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="125" x="1276" y="553.9766">reclaim expired lease</text><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="164" x="1256.5" y="601.5078"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="144" x="1266.5" y="623.1094">update lease information</text><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="138" x="1269.5" y="670.6406"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="1279.5" y="692.2422">callout lease4_select</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="1302,739.7734,1375,739.7734,1387,751.7734,1375,763.7734,1302,763.7734,1290,751.7734,1302,739.7734" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="1302" y="755.9307">callout return</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="22" x="1268" y="749.4531">SKIP</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="57" x="1387" y="749.4531">CONTINUE</text><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="1215" y="773.7734"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="1225" y="795.375">return no lease</text><ellipse cx="1268.5" cy="853.9063" fill="#FFFFFF" filter="url(#f1aicqcofdeklm)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1268.5" cy="853.9063" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="1361" y="773.7734"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="75" x="1371" y="795.375">update lease</text><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="133" x="1342" y="842.9063"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="113" x="1352" y="864.5078">return reused lease</text><ellipse cx="1408.5" cy="923.0391" fill="#FFFFFF" filter="url(#f1aicqcofdeklm)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1408.5" cy="923.0391" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="1318,483.8975,1359,483.8975,1371,495.8975,1359,507.8975,1318,507.8975,1306,495.8975,1318,483.8975" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="1342.5" y="518.5322">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="41" x="1318" y="500.0547">expired</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1371" y="493.5771">no</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="1115.25,401.4199,1307.25,401.4199,1319.25,413.4199,1307.25,425.4199,1115.25,425.4199,1103.25,413.4199,1115.25,401.4199" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1215.25" y="436.0547">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="192" x="1115.25" y="417.5771">candidate is used by another thread</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="1319.25" y="411.0996">yes</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="1211.25,1000.9941,1223.25,1012.9941,1211.25,1024.9941,1199.25,1012.9941,1211.25,1000.9941" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="1106.25,352.9424,1316.25,352.9424,1328.25,364.9424,1316.25,376.9424,1106.25,376.9424,1094.25,364.9424,1106.25,352.9424" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1215.25" y="387.5771">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="210" x="1106.25" y="369.0996">candidate is reserved for another client</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="1328.25" y="362.6221">yes</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="1211.25,1049.4717,1223.25,1061.4717,1211.25,1073.4717,1199.25,1061.4717,1211.25,1049.4717" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="1129.75,241.8096,1292.75,241.8096,1304.75,253.8096,1292.75,265.8096,1129.75,265.8096,1117.75,253.8096,1129.75,241.8096" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="163" x="1129.75" y="257.9668">iterate over pools and subnect</text><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="132" x="1145.25" y="1132.4717"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="112" x="1155.25" y="1154.0732">maximum attempts</text><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="1157.75" y="1195.6152"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="1167.75" y="1217.2168">return no lease</text><ellipse cx="1211.25" cy="1271.2705" fill="#FFFFFF" filter="url(#f1aicqcofdeklm)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="1211.25" cy="1271.2705" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="1090.75,193.332,1331.75,193.332,1343.75,205.332,1331.75,217.332,1090.75,217.332,1078.75,205.332,1090.75,193.332" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="1215.25" y="227.9668">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="241" x="1090.75" y="209.4893">client lease and lease address in allowed pool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="1343.75" y="203.0117">yes</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="983.625,1311.082,995.625,1323.082,983.625,1335.082,971.625,1323.082,983.625,1311.082" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="631.3125,1341.082,643.3125,1353.082,631.3125,1365.082,619.3125,1353.082,631.3125,1341.082" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="164" x="549.3125" y="1530.5146"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="144" x="559.3125" y="1552.1162">update lease information</text><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="145" x="558.8125" y="1633.125"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="125" x="568.8125" y="1654.7266">reclaim expired lease</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="585.8125,1584.6475,676.8125,1584.6475,688.8125,1596.6475,676.8125,1608.6475,585.8125,1608.6475,573.8125,1596.6475,585.8125,1584.6475" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="635.3125" y="1619.2822">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="91" x="585.8125" y="1600.8047">old lease expired</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="688.8125" y="1594.3271">no</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="631.3125,1687.2578,643.3125,1699.2578,631.3125,1711.2578,619.3125,1699.2578,631.3125,1687.2578" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="561.3125" y="1731.2578"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="120" x="571.3125" y="1752.8594">callout lease4_renew</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="594.8125,1785.3906,667.8125,1785.3906,679.8125,1797.3906,667.8125,1809.3906,594.8125,1809.3906,582.8125,1797.3906,594.8125,1785.3906" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="594.8125" y="1801.5479">callout return</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="22" x="560.8125" y="1795.0703">SKIP</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="57" x="679.8125" y="1795.0703">CONTINUE</text><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="145" x="468.3125" y="1819.3906"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="125" x="478.3125" y="1840.9922">return old client lease</text><ellipse cx="540.8125" cy="1884.5234" fill="#FFFFFF" filter="url(#f1aicqcofdeklm)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="540.8125" cy="1884.5234" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="674.3125" y="1819.3906"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="75" x="684.3125" y="1840.9922">update lease</text><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="177" x="633.3125" y="1873.5234"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="157" x="643.3125" y="1895.125">return renewed client lease</text><ellipse cx="721.8125" cy="1938.6563" fill="#FFFFFF" filter="url(#f1aicqcofdeklm)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="721.8125" cy="1938.6563" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="470.8125,1482.0371,791.8125,1482.0371,803.8125,1494.0371,791.8125,1506.0371,470.8125,1506.0371,458.8125,1494.0371,470.8125,1482.0371" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="635.3125" y="1516.6719">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="321" x="470.8125" y="1498.1943">has reserved address or client lease address in allowed pool</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="803.8125" y="1491.7168">no</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="449.3125,1433.5596,813.3125,1433.5596,825.3125,1445.5596,813.3125,1457.5596,449.3125,1457.5596,437.3125,1445.5596,449.3125,1433.5596" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="635.3125" y="1468.1943">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="364" x="449.3125" y="1449.7168">no requested address or requested address == client lease address</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="825.3125" y="1443.2393">no</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="631.3125,1991.6563,643.3125,2003.6563,631.3125,2015.6563,619.3125,2003.6563,631.3125,1991.6563" style="stroke: #A80036; stroke-width: 1.5;"/><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="601.8125,1385.082,660.8125,1385.082,672.8125,1397.082,660.8125,1409.082,601.8125,1409.082,589.8125,1397.082,601.8125,1385.082" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="635.3125" y="1419.7168">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="59" x="601.8125" y="1401.2393">client lease</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="672.8125" y="1394.7617">no</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="631.3125,2035.6563,643.3125,2047.6563,631.3125,2059.6563,619.3125,2047.6563,631.3125,2035.6563" style="stroke: #A80036; stroke-width: 1.5;"/><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="206" x="528.3125" y="2079.6563"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="186" x="538.3125" y="2101.2578">get lease for requested address</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="589.3125,2133.7891,673.3125,2133.7891,685.3125,2145.7891,673.3125,2157.7891,589.3125,2157.7891,577.3125,2145.7891,589.3125,2133.7891" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="84" x="589.3125" y="2149.9463">requested lease</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="559.3125" y="2143.4688">yes</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="685.3125" y="2143.4688">no</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="425.3125,2167.7891,466.3125,2167.7891,478.3125,2179.7891,466.3125,2191.7891,425.3125,2191.7891,413.3125,2179.7891,425.3125,2167.7891" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="41" x="425.3125" y="2183.9463">expired</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="14" x="399.3125" y="2177.4688">no</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="18" x="478.3125" y="2177.4688">yes</text><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="288.8125" y="2201.7891"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="298.8125" y="2223.3906">return no lease</text><ellipse cx="342.3125" cy="2281.9219" fill="#FFFFFF" filter="url(#f1aicqcofdeklm)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="342.3125" cy="2281.9219" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="145" x="476.8125" y="2201.7891"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="125" x="486.8125" y="2223.3906">reclaim expired lease</text><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="164" x="467.3125" y="2270.9219"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="144" x="477.3125" y="2292.5234">update lease information</text><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="138" x="480.3125" y="2325.0547"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="118" x="490.3125" y="2346.6563">callout lease4_select</text><polygon fill="#FEFECE" filter="url(#f1aicqcofdeklm)" points="512.8125,2379.1875,585.8125,2379.1875,597.8125,2391.1875,585.8125,2403.1875,512.8125,2403.1875,500.8125,2391.1875,512.8125,2379.1875" style="stroke: #A80036; stroke-width: 1.5;"/><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="73" x="512.8125" y="2395.3447">callout return</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="22" x="478.8125" y="2388.8672">SKIP</text><text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="57" x="597.8125" y="2388.8672">CONTINUE</text><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="107" x="425.8125" y="2413.1875"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="87" x="435.8125" y="2434.7891">return no lease</text><ellipse cx="479.3125" cy="2478.3203" fill="#FFFFFF" filter="url(#f1aicqcofdeklm)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="479.3125" cy="2478.3203" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="571.8125" y="2413.1875"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="75" x="581.8125" y="2434.7891">update lease</text><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="133" x="552.8125" y="2467.3203"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="113" x="562.8125" y="2488.9219">return reused lease</text><ellipse cx="619.3125" cy="2532.4531" fill="#FFFFFF" filter="url(#f1aicqcofdeklm)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="619.3125" cy="2532.4531" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><rect fill="#FEFECE" filter="url(#f1aicqcofdeklm)" height="34.1328" rx="12.5" ry="12.5" style="stroke: #A80036; stroke-width: 1.5;" width="182" x="725.8125" y="2167.7891"/><text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="162" x="735.8125" y="2189.3906">create and return new lease</text><ellipse cx="816.8125" cy="2247.9219" fill="#FFFFFF" filter="url(#f1aicqcofdeklm)" rx="11" ry="11" style="stroke: #000000; stroke-width: 1.0;"/><ellipse cx="816.8125" cy="2247.9219" fill="#000000" rx="6" ry="6" style="stroke: #7F7F7F; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="51.1992" y2="71.1992"/><polygon fill="#A80036" points="627.3125,61.1992,631.3125,71.1992,635.3125,61.1992,631.3125,65.1992" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="422" x2="422" y1="275.9424" y2="310.9424"/><polygon fill="#A80036" points="418,300.9424,422,310.9424,426,300.9424,422,304.9424" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="422" x2="422" y1="217.332" y2="241.8096"/><polygon fill="#A80036" points="418,231.8096,422,241.8096,426,231.8096,422,235.8096" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="563" x2="575" y1="205.332" y2="205.332"/><polygon fill="#A80036" points="571,283.376,575,293.376,579,283.376,575,287.376" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="575" x2="575" y1="205.332" y2="375.4199"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="575" x2="291" y1="375.4199" y2="375.4199"/><polygon fill="#A80036" points="301,371.4199,291,375.4199,301,379.4199,297,375.4199" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="217" x2="136" y1="171.332" y2="171.332"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="136" x2="136" y1="171.332" y2="193.332"/><polygon fill="#A80036" points="132,183.332,136,193.332,140,183.332,136,187.332" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="341" x2="422" y1="171.332" y2="171.332"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="422" x2="422" y1="171.332" y2="193.332"/><polygon fill="#A80036" points="418,183.332,422,193.332,426,183.332,422,187.332" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="136" x2="136" y1="227.4648" y2="375.4199"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="136" x2="267" y1="375.4199" y2="375.4199"/><polygon fill="#A80036" points="257,371.4199,267,375.4199,257,379.4199,261,375.4199" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="553.5078" y2="588.5078"/><polygon fill="#A80036" points="275,578.5078,279,588.5078,283,578.5078,279,582.5078" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="494.8975" y2="519.375"/><polygon fill="#A80036" points="275,509.375,279,519.375,283,509.375,279,513.375" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="383.5" x2="395.5" y1="482.8975" y2="482.8975"/><polygon fill="#A80036" points="391.5,551.9414,395.5,561.9414,399.5,551.9414,395.5,555.9414" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="395.5" x2="395.5" y1="482.8975" y2="640.9854"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="395.5" x2="279" y1="640.9854" y2="640.9854"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="640.9854" y2="665.4629"/><polygon fill="#A80036" points="275,655.4629,279,665.4629,283,655.4629,279,659.4629" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="446.4199" y2="470.8975"/><polygon fill="#A80036" points="275,460.8975,279,470.8975,283,460.8975,279,464.8975" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="365.5" x2="405.5" y1="434.4199" y2="434.4199"/><polygon fill="#A80036" points="401.5,545.9414,405.5,555.9414,409.5,545.9414,405.5,549.9414" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="405.5" x2="405.5" y1="434.4199" y2="677.4629"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="405.5" x2="291" y1="677.4629" y2="677.4629"/><polygon fill="#A80036" points="301,673.4629,291,677.4629,301,681.4629,297,677.4629" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="387.4199" y2="422.4199"/><polygon fill="#A80036" points="275,412.4199,279,422.4199,283,412.4199,279,416.4199" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="904.0283" y2="939.0283"/><polygon fill="#A80036" points="275,929.0283,279,939.0283,283,929.0283,279,933.0283" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="845.418" y2="869.8955"/><polygon fill="#A80036" points="275,859.8955,279,869.8955,283,859.8955,279,863.8955" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="306.5" x2="342.5" y1="833.418" y2="833.418"/><polygon fill="#A80036" points="338.5,902.4619,342.5,912.4619,346.5,902.4619,342.5,906.4619" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="342.5" x2="342.5" y1="833.418" y2="991.5059"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="342.5" x2="279" y1="991.5059" y2="991.5059"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="991.5059" y2="1015.9834"/><polygon fill="#A80036" points="275,1005.9834,279,1015.9834,283,1005.9834,279,1009.9834" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="796.9404" y2="821.418"/><polygon fill="#A80036" points="275,811.418,279,821.418,283,811.418,279,815.418" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="365.5" x2="377.5" y1="784.9404" y2="784.9404"/><polygon fill="#A80036" points="373.5,896.4619,377.5,906.4619,381.5,896.4619,377.5,900.4619" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="377.5" x2="377.5" y1="784.9404" y2="1027.9834"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="377.5" x2="291" y1="1027.9834" y2="1027.9834"/><polygon fill="#A80036" points="301,1023.9834,291,1027.9834,301,1031.9834,297,1027.9834" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="1157.5938" y2="1186.6045"/><polygon fill="#A80036" points="275,1176.6045,279,1186.6045,283,1176.6045,279,1180.6045" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="1098.9834" y2="1123.4609"/><polygon fill="#A80036" points="275,1113.4609,279,1123.4609,283,1113.4609,279,1117.4609" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="382.5" x2="394.5" y1="1086.9834" y2="1086.9834"/><polygon fill="#A80036" points="390.5,1156.0273,394.5,1166.0273,398.5,1156.0273,394.5,1160.0273" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="394.5" x2="394.5" y1="1086.9834" y2="1239.082"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="394.5" x2="279" y1="1239.082" y2="1239.082"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="1239.082" y2="1259.082"/><polygon fill="#A80036" points="275,1249.082,279,1259.082,283,1249.082,279,1253.082" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="1039.9834" y2="1074.9834"/><polygon fill="#A80036" points="275,1064.9834,279,1074.9834,283,1064.9834,279,1068.9834" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="748.4629" y2="772.9404"/><polygon fill="#A80036" points="275,762.9404,279,772.9404,283,762.9404,279,766.9404" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="399.5" x2="411.5" y1="736.4629" y2="736.4629"/><polygon fill="#A80036" points="407.5,999.0059,411.5,1009.0059,415.5,999.0059,411.5,1003.0059" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="411.5" x2="411.5" y1="736.4629" y2="1271.082"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="411.5" x2="291" y1="1271.082" y2="1271.082"/><polygon fill="#A80036" points="301,1267.082,291,1271.082,301,1275.082,297,1271.082" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="689.4629" y2="724.4629"/><polygon fill="#A80036" points="275,714.4629,279,724.4629,283,714.4629,279,718.4629" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="756" x2="756" y1="275.9424" y2="310.9424"/><polygon fill="#A80036" points="752,300.9424,756,310.9424,760,300.9424,756,304.9424" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="756" x2="756" y1="217.332" y2="241.8096"/><polygon fill="#A80036" points="752,231.8096,756,241.8096,760,231.8096,756,235.8096" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="897" x2="909" y1="205.332" y2="205.332"/><polygon fill="#A80036" points="905,274.376,909,284.376,913,274.376,909,278.376" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="909" x2="909" y1="205.332" y2="357.4199"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="909" x2="756" y1="357.4199" y2="357.4199"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="756" x2="756" y1="357.4199" y2="392.4199"/><polygon fill="#A80036" points="752,382.4199,756,392.4199,760,382.4199,756,386.4199" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="756" x2="756" y1="523.5078" y2="558.5078"/><polygon fill="#A80036" points="752,548.5078,756,558.5078,760,548.5078,756,552.5078" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="756" x2="756" y1="464.8975" y2="489.375"/><polygon fill="#A80036" points="752,479.375,756,489.375,760,479.375,756,483.375" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="860.5" x2="872.5" y1="452.8975" y2="452.8975"/><polygon fill="#A80036" points="868.5,521.9414,872.5,531.9414,876.5,521.9414,872.5,525.9414" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="872.5" x2="872.5" y1="452.8975" y2="610.9854"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="872.5" x2="756" y1="610.9854" y2="610.9854"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="756" x2="756" y1="610.9854" y2="635.4629"/><polygon fill="#A80036" points="752,625.4629,756,635.4629,760,625.4629,756,629.4629" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="756" x2="756" y1="416.4199" y2="440.8975"/><polygon fill="#A80036" points="752,430.8975,756,440.8975,760,430.8975,756,434.8975" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="842.5" x2="882.5" y1="404.4199" y2="404.4199"/><polygon fill="#A80036" points="878.5,515.9414,882.5,525.9414,886.5,515.9414,882.5,519.9414" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="882.5" x2="882.5" y1="404.4199" y2="647.4629"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="882.5" x2="768" y1="647.4629" y2="647.4629"/><polygon fill="#A80036" points="778,643.4629,768,647.4629,778,651.4629,774,647.4629" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="756" x2="756" y1="777.0732" y2="812.0732"/><polygon fill="#A80036" points="752,802.0732,756,812.0732,760,802.0732,756,806.0732" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="756" x2="756" y1="718.4629" y2="742.9404"/><polygon fill="#A80036" points="752,732.9404,756,742.9404,760,732.9404,756,736.9404" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="859.5" x2="871.5" y1="706.4629" y2="706.4629"/><polygon fill="#A80036" points="867.5,1013.8389,871.5,1023.8389,875.5,1013.8389,871.5,1017.8389" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="871.5" x2="871.5" y1="706.4629" y2="1323.082"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="871.5" x2="971.625" y1="1323.082" y2="1323.082"/><polygon fill="#A80036" points="961.625,1319.082,971.625,1323.082,961.625,1327.082,965.625,1323.082" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="756" x2="756" y1="659.4629" y2="694.4629"/><polygon fill="#A80036" points="752,684.4629,756,694.4629,760,684.4629,756,688.4629" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1084" x2="1084" y1="518.0303" y2="553.0303"/><polygon fill="#A80036" points="1080,543.0303,1084,553.0303,1088,543.0303,1084,547.0303" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1338.5" x2="1338.5" y1="566.5078" y2="601.5078"/><polygon fill="#A80036" points="1334.5,591.5078,1338.5,601.5078,1342.5,591.5078,1338.5,595.5078" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1338.5" x2="1338.5" y1="635.6406" y2="670.6406"/><polygon fill="#A80036" points="1334.5,660.6406,1338.5,670.6406,1342.5,660.6406,1338.5,664.6406" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1268.5" x2="1268.5" y1="807.9063" y2="842.9063"/><polygon fill="#A80036" points="1264.5,832.9063,1268.5,842.9063,1272.5,832.9063,1268.5,836.9063" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1408.5" x2="1408.5" y1="807.9063" y2="842.9063"/><polygon fill="#A80036" points="1404.5,832.9063,1408.5,842.9063,1412.5,832.9063,1408.5,836.9063" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1408.5" x2="1408.5" y1="877.0391" y2="912.0391"/><polygon fill="#A80036" points="1404.5,902.0391,1408.5,912.0391,1412.5,902.0391,1408.5,906.0391" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1290" x2="1268.5" y1="751.7734" y2="751.7734"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1268.5" x2="1268.5" y1="751.7734" y2="773.7734"/><polygon fill="#A80036" points="1264.5,763.7734,1268.5,773.7734,1272.5,763.7734,1268.5,767.7734" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1387" x2="1408.5" y1="751.7734" y2="751.7734"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1408.5" x2="1408.5" y1="751.7734" y2="773.7734"/><polygon fill="#A80036" points="1404.5,763.7734,1408.5,773.7734,1412.5,763.7734,1408.5,767.7734" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1338.5" x2="1338.5" y1="704.7734" y2="739.7734"/><polygon fill="#A80036" points="1334.5,729.7734,1338.5,739.7734,1342.5,729.7734,1338.5,733.7734" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1338.5" x2="1338.5" y1="507.8975" y2="532.375"/><polygon fill="#A80036" points="1334.5,522.375,1338.5,532.375,1342.5,522.375,1338.5,526.375" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1371" x2="1489" y1="495.8975" y2="495.8975"/><polygon fill="#A80036" points="1485,726.207,1489,736.207,1493,726.207,1489,730.207" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1489" x2="1489" y1="495.8975" y2="976.5166"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1489" x2="1211.25" y1="976.5166" y2="976.5166"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1211.25" y1="976.5166" y2="1000.9941"/><polygon fill="#A80036" points="1207.25,990.9941,1211.25,1000.9941,1215.25,990.9941,1211.25,994.9941" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1148.75" x2="1084" y1="461.8975" y2="461.8975"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1084" x2="1084" y1="461.8975" y2="483.8975"/><polygon fill="#A80036" points="1080,473.8975,1084,483.8975,1088,473.8975,1084,477.8975" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1273.75" x2="1338.5" y1="461.8975" y2="461.8975"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1338.5" x2="1338.5" y1="461.8975" y2="483.8975"/><polygon fill="#A80036" points="1334.5,473.8975,1338.5,483.8975,1342.5,473.8975,1338.5,477.8975" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1211.25" y1="425.4199" y2="449.8975"/><polygon fill="#A80036" points="1207.25,439.8975,1211.25,449.8975,1215.25,439.8975,1211.25,443.8975" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1319.25" x2="1507" y1="413.4199" y2="413.4199"/><polygon fill="#A80036" points="1503,703.207,1507,713.207,1511,703.207,1507,707.207" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1507" x2="1507" y1="413.4199" y2="1012.9941"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1507" x2="1223.25" y1="1012.9941" y2="1012.9941"/><polygon fill="#A80036" points="1233.25,1008.9941,1223.25,1012.9941,1233.25,1016.9941,1229.25,1012.9941" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1211.25" y1="376.9424" y2="401.4199"/><polygon fill="#A80036" points="1207.25,391.4199,1211.25,401.4199,1215.25,391.4199,1211.25,395.4199" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1328.25" x2="1525" y1="364.9424" y2="364.9424"/><polygon fill="#A80036" points="1521,703.207,1525,713.207,1529,703.207,1525,707.207" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1525" x2="1525" y1="364.9424" y2="1061.4717"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1525" x2="1223.25" y1="1061.4717" y2="1061.4717"/><polygon fill="#A80036" points="1233.25,1057.4717,1223.25,1061.4717,1233.25,1065.4717,1229.25,1061.4717" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1211.25" y1="1024.9941" y2="1049.4717"/><polygon fill="#A80036" points="1207.25,1039.4717,1211.25,1049.4717,1215.25,1039.4717,1211.25,1043.4717" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1211.25" y1="323.9424" y2="352.9424"/><polygon fill="#A80036" points="1207.25,342.9424,1211.25,352.9424,1215.25,342.9424,1211.25,346.9424" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1211.25" y1="265.8096" y2="289.8096"/><polygon fill="#A80036" points="1207.25,279.8096,1211.25,289.8096,1215.25,279.8096,1211.25,283.8096" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1211.25" y1="1073.4717" y2="1085.4717"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1543" y1="1085.4717" y2="1085.4717"/><polygon fill="#A80036" points="1539,676.6406,1543,666.6406,1547,676.6406,1543,672.6406" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1543" x2="1543" y1="253.8096" y2="1085.4717"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1543" x2="1304.75" y1="253.8096" y2="253.8096"/><polygon fill="#A80036" points="1314.75,249.8096,1304.75,253.8096,1314.75,257.8096,1310.75,253.8096" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1117.75" x2="951" y1="253.8096" y2="253.8096"/><polygon fill="#A80036" points="947,662.6406,951,672.6406,955,662.6406,951,666.6406" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="951" x2="951" y1="253.8096" y2="1097.4717"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="951" x2="1211.25" y1="1097.4717" y2="1097.4717"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1211.25" y1="1097.4717" y2="1132.4717"/><polygon fill="#A80036" points="1207.25,1122.4717,1211.25,1132.4717,1215.25,1122.4717,1211.25,1126.4717" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1211.25" y1="1166.6045" y2="1195.6152"/><polygon fill="#A80036" points="1207.25,1185.6152,1211.25,1195.6152,1215.25,1185.6152,1211.25,1189.6152" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1211.25" y1="1229.748" y2="1260.2705"/><polygon fill="#A80036" points="1207.25,1250.2705,1211.25,1260.2705,1215.25,1250.2705,1211.25,1254.2705" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1211.25" y1="217.332" y2="241.8096"/><polygon fill="#A80036" points="1207.25,231.8096,1211.25,241.8096,1215.25,231.8096,1211.25,235.8096" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1343.75" x2="1553" y1="205.332" y2="205.332"/><polygon fill="#A80036" points="1549,760.2734,1553,770.2734,1557,760.2734,1553,764.2734" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1553" x2="1553" y1="205.332" y2="1323.082"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1553" x2="995.625" y1="1323.082" y2="1323.082"/><polygon fill="#A80036" points="1005.625,1319.082,995.625,1323.082,1005.625,1327.082,1001.625,1323.082" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="921.625" x2="756" y1="171.332" y2="171.332"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="756" x2="756" y1="171.332" y2="193.332"/><polygon fill="#A80036" points="752,183.332,756,193.332,760,183.332,756,187.332" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1045.625" x2="1211.25" y1="171.332" y2="171.332"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="1211.25" x2="1211.25" y1="171.332" y2="193.332"/><polygon fill="#A80036" points="1207.25,183.332,1211.25,193.332,1215.25,183.332,1211.25,187.332" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="572.8125" x2="279" y1="137.332" y2="137.332"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="137.332" y2="159.332"/><polygon fill="#A80036" points="275,149.332,279,159.332,283,149.332,279,153.332" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="689.8125" x2="983.625" y1="137.332" y2="137.332"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="983.625" x2="983.625" y1="137.332" y2="159.332"/><polygon fill="#A80036" points="979.625,149.332,983.625,159.332,987.625,149.332,983.625,153.332" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="279" y1="1283.082" y2="1353.082"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="279" x2="619.3125" y1="1353.082" y2="1353.082"/><polygon fill="#A80036" points="609.3125,1349.082,619.3125,1353.082,609.3125,1357.082,613.3125,1353.082" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="983.625" x2="983.625" y1="1335.082" y2="1353.082"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="983.625" x2="643.3125" y1="1353.082" y2="1353.082"/><polygon fill="#A80036" points="653.3125,1349.082,643.3125,1353.082,653.3125,1357.082,649.3125,1353.082" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="105.332" y2="125.332"/><polygon fill="#A80036" points="627.3125,115.332,631.3125,125.332,635.3125,115.332,631.3125,119.332" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="1608.6475" y2="1633.125"/><polygon fill="#A80036" points="627.3125,1623.125,631.3125,1633.125,635.3125,1623.125,631.3125,1627.125" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="688.8125" x2="713.8125" y1="1596.6475" y2="1596.6475"/><polygon fill="#A80036" points="709.8125,1640.1914,713.8125,1650.1914,717.8125,1640.1914,713.8125,1644.1914" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="713.8125" x2="713.8125" y1="1596.6475" y2="1699.2578"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="713.8125" x2="643.3125" y1="1699.2578" y2="1699.2578"/><polygon fill="#A80036" points="653.3125,1695.2578,643.3125,1699.2578,653.3125,1703.2578,649.3125,1699.2578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="1667.2578" y2="1687.2578"/><polygon fill="#A80036" points="627.3125,1677.2578,631.3125,1687.2578,635.3125,1677.2578,631.3125,1681.2578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="1564.6475" y2="1584.6475"/><polygon fill="#A80036" points="627.3125,1574.6475,631.3125,1584.6475,635.3125,1574.6475,631.3125,1578.6475" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="1711.2578" y2="1731.2578"/><polygon fill="#A80036" points="627.3125,1721.2578,631.3125,1731.2578,635.3125,1721.2578,631.3125,1725.2578" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="540.8125" x2="540.8125" y1="1853.5234" y2="1873.5234"/><polygon fill="#A80036" points="536.8125,1863.5234,540.8125,1873.5234,544.8125,1863.5234,540.8125,1867.5234" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="721.8125" x2="721.8125" y1="1853.5234" y2="1873.5234"/><polygon fill="#A80036" points="717.8125,1863.5234,721.8125,1873.5234,725.8125,1863.5234,721.8125,1867.5234" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="721.8125" x2="721.8125" y1="1907.6563" y2="1927.6563"/><polygon fill="#A80036" points="717.8125,1917.6563,721.8125,1927.6563,725.8125,1917.6563,721.8125,1921.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="582.8125" x2="540.8125" y1="1797.3906" y2="1797.3906"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="540.8125" x2="540.8125" y1="1797.3906" y2="1819.3906"/><polygon fill="#A80036" points="536.8125,1809.3906,540.8125,1819.3906,544.8125,1809.3906,540.8125,1813.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="679.8125" x2="721.8125" y1="1797.3906" y2="1797.3906"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="721.8125" x2="721.8125" y1="1797.3906" y2="1819.3906"/><polygon fill="#A80036" points="717.8125,1809.3906,721.8125,1819.3906,725.8125,1809.3906,721.8125,1813.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="1765.3906" y2="1785.3906"/><polygon fill="#A80036" points="627.3125,1775.3906,631.3125,1785.3906,635.3125,1775.3906,631.3125,1779.3906" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="1506.0371" y2="1530.5146"/><polygon fill="#A80036" points="627.3125,1520.5146,631.3125,1530.5146,635.3125,1520.5146,631.3125,1524.5146" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="803.8125" x2="830.3125" y1="1494.0371" y2="1494.0371"/><polygon fill="#A80036" points="826.3125,1735.3467,830.3125,1745.3467,834.3125,1735.3467,830.3125,1739.3467" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="830.3125" x2="830.3125" y1="1494.0371" y2="1971.6563"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="830.3125" x2="631.3125" y1="1971.6563" y2="1971.6563"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="1971.6563" y2="1991.6563"/><polygon fill="#A80036" points="627.3125,1981.6563,631.3125,1991.6563,635.3125,1981.6563,631.3125,1985.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="1457.5596" y2="1482.0371"/><polygon fill="#A80036" points="627.3125,1472.0371,631.3125,1482.0371,635.3125,1472.0371,631.3125,1476.0371" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="825.3125" x2="852.3125" y1="1445.5596" y2="1445.5596"/><polygon fill="#A80036" points="848.3125,1729.3467,852.3125,1739.3467,856.3125,1729.3467,852.3125,1733.3467" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="852.3125" x2="852.3125" y1="1445.5596" y2="2003.6563"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="852.3125" x2="643.3125" y1="2003.6563" y2="2003.6563"/><polygon fill="#A80036" points="653.3125,1999.6563,643.3125,2003.6563,653.3125,2007.6563,649.3125,2003.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="1409.082" y2="1433.5596"/><polygon fill="#A80036" points="627.3125,1423.5596,631.3125,1433.5596,635.3125,1423.5596,631.3125,1427.5596" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="672.8125" x2="874.3125" y1="1397.082" y2="1397.082"/><polygon fill="#A80036" points="870.3125,1729.3467,874.3125,1739.3467,878.3125,1729.3467,874.3125,1733.3467" style="stroke: #A80036; stroke-width: 1.5;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="874.3125" x2="874.3125" y1="1397.082" y2="2047.6563"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="874.3125" x2="643.3125" y1="2047.6563" y2="2047.6563"/><polygon fill="#A80036" points="653.3125,2043.6563,643.3125,2047.6563,653.3125,2051.6563,649.3125,2047.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="2015.6563" y2="2035.6563"/><polygon fill="#A80036" points="627.3125,2025.6563,631.3125,2035.6563,635.3125,2025.6563,631.3125,2029.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="1365.082" y2="1385.082"/><polygon fill="#A80036" points="627.3125,1375.082,631.3125,1385.082,635.3125,1375.082,631.3125,1379.082" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="2059.6563" y2="2079.6563"/><polygon fill="#A80036" points="627.3125,2069.6563,631.3125,2079.6563,635.3125,2069.6563,631.3125,2073.6563" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="342.3125" x2="342.3125" y1="2235.9219" y2="2270.9219"/><polygon fill="#A80036" points="338.3125,2260.9219,342.3125,2270.9219,346.3125,2260.9219,342.3125,2264.9219" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="549.3125" x2="549.3125" y1="2235.9219" y2="2270.9219"/><polygon fill="#A80036" points="545.3125,2260.9219,549.3125,2270.9219,553.3125,2260.9219,549.3125,2264.9219" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="549.3125" x2="549.3125" y1="2305.0547" y2="2325.0547"/><polygon fill="#A80036" points="545.3125,2315.0547,549.3125,2325.0547,553.3125,2315.0547,549.3125,2319.0547" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="479.3125" x2="479.3125" y1="2447.3203" y2="2467.3203"/><polygon fill="#A80036" points="475.3125,2457.3203,479.3125,2467.3203,483.3125,2457.3203,479.3125,2461.3203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="619.3125" x2="619.3125" y1="2447.3203" y2="2467.3203"/><polygon fill="#A80036" points="615.3125,2457.3203,619.3125,2467.3203,623.3125,2457.3203,619.3125,2461.3203" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="619.3125" x2="619.3125" y1="2501.4531" y2="2521.4531"/><polygon fill="#A80036" points="615.3125,2511.4531,619.3125,2521.4531,623.3125,2511.4531,619.3125,2515.4531" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="500.8125" x2="479.3125" y1="2391.1875" y2="2391.1875"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="479.3125" x2="479.3125" y1="2391.1875" y2="2413.1875"/><polygon fill="#A80036" points="475.3125,2403.1875,479.3125,2413.1875,483.3125,2403.1875,479.3125,2407.1875" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="597.8125" x2="619.3125" y1="2391.1875" y2="2391.1875"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="619.3125" x2="619.3125" y1="2391.1875" y2="2413.1875"/><polygon fill="#A80036" points="615.3125,2403.1875,619.3125,2413.1875,623.3125,2403.1875,619.3125,2407.1875" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="549.3125" x2="549.3125" y1="2359.1875" y2="2379.1875"/><polygon fill="#A80036" points="545.3125,2369.1875,549.3125,2379.1875,553.3125,2369.1875,549.3125,2373.1875" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="413.3125" x2="342.3125" y1="2179.7891" y2="2179.7891"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="342.3125" x2="342.3125" y1="2179.7891" y2="2201.7891"/><polygon fill="#A80036" points="338.3125,2191.7891,342.3125,2201.7891,346.3125,2191.7891,342.3125,2195.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="478.3125" x2="549.3125" y1="2179.7891" y2="2179.7891"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="549.3125" x2="549.3125" y1="2179.7891" y2="2201.7891"/><polygon fill="#A80036" points="545.3125,2191.7891,549.3125,2201.7891,553.3125,2191.7891,549.3125,2195.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="816.8125" x2="816.8125" y1="2201.9219" y2="2236.9219"/><polygon fill="#A80036" points="812.8125,2226.9219,816.8125,2236.9219,820.8125,2226.9219,816.8125,2230.9219" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="577.3125" x2="445.8125" y1="2145.7891" y2="2145.7891"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="445.8125" x2="445.8125" y1="2145.7891" y2="2167.7891"/><polygon fill="#A80036" points="441.8125,2157.7891,445.8125,2167.7891,449.8125,2157.7891,445.8125,2161.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="685.3125" x2="816.8125" y1="2145.7891" y2="2145.7891"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="816.8125" x2="816.8125" y1="2145.7891" y2="2167.7891"/><polygon fill="#A80036" points="812.8125,2157.7891,816.8125,2167.7891,820.8125,2157.7891,816.8125,2161.7891" style="stroke: #A80036; stroke-width: 1.0;"/><line style="stroke: #A80036; stroke-width: 1.5;" x1="631.3125" x2="631.3125" y1="2113.7891" y2="2133.7891"/><polygon fill="#A80036" points="627.3125,2123.7891,631.3125,2133.7891,635.3125,2123.7891,631.3125,2127.7891" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[afafd38710d9a052946de087a4cad58a]
@startuml\r
\r
-title requestLease4 algorithm (Kea 1.7.11)\r
+title requestLease4 algorithm (Kea 1.8.0)\r
\r
start\r
:get lease for the client;\r
@startuml\r
\r
-title requestLease4 algorithm (Kea 1.7.11)\r
+title requestLease4 algorithm (Kea 1.8.0)\r
\r
start\r
:get lease for the client;\r
@startuml
-title requestLease4 algorithm (Kea 1.7.11)
+title requestLease4 algorithm (Kea 1.8.0)
start
:get lease for the client;
-<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="2210px" preserveAspectRatio="none" style="width:1468px;height:2210px;" version="1.1" viewBox="0 0 1468 2210" width="1468px" zoomAndPan="magnify"><defs><filter height="300%" id="fdkzzjl39gaay" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="328" x="561" y="17.4023">DHCPv4 subnet selection (Kea 1.7.11)</text><!--MD5=[73860abe08ab23c9b8e49eb23f18ae46]
-cluster relayed--><rect fill="#FFFFFF" filter="url(#fdkzzjl39gaay)" height="374.86" style="stroke: #000000; stroke-width: 1.5;" width="445" x="7" y="329.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="56" x="201.5" y="344.7344">Relayed</text><!--MD5=[234613e222536af9475ae40e3492b0e6]
-cluster set_address--><rect fill="#FFFFFF" filter="url(#fdkzzjl39gaay)" height="164.86" style="stroke: #000000; stroke-width: 1.5;" width="803" x="227" y="769.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="164" x="546.5" y="784.5944">Set address for lookup</text><!--MD5=[a59c1d05a8f6fb54290705d41e67acbe]
-cluster interface--><rect fill="#FFFFFF" filter="url(#fdkzzjl39gaay)" height="488" style="stroke: #000000; stroke-width: 1.5;" width="395" x="945" y="990.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="164" x="1060.5" y="1006.4544">Try incoming interface</text><!--MD5=[8f3f5adf9176dbd9c419c05d483ab0c6]
-cluster address--><rect fill="#FFFFFF" filter="url(#fdkzzjl39gaay)" height="294" style="stroke: #000000; stroke-width: 1.5;" width="190" x="745" y="1527.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="85" x="797.5" y="1543.4544">Try address</text><!--MD5=[aeb2f621969028d4547d386ac1a1ba6d]
-entity relay_subnet--><rect fill="#FEFECE" filter="url(#fdkzzjl39gaay)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="226" x="172" y="418.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="206" x="182" y="441.5944">Relay address matches subnet</text><!--MD5=[bf459b32eaaf498e62edf6d622ac5891]
-entity relay_network--><rect fill="#FEFECE" filter="url(#fdkzzjl39gaay)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="286" x="142" y="531.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="266" x="152" y="554.5944">Relay address matches shared network</text><!--MD5=[076bfff500cab59e856b606fdf63ed5a]
-entity relay_class--><rect fill="#FEFECE" filter="url(#fdkzzjl39gaay)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="112" y="644.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="120" x="122" y="667.5944">Check client class</text><!--MD5=[467e96f12fdeb7da53b220e72b6eb1fc]
-entity relay_address--><rect fill="#FEFECE" filter="url(#fdkzzjl39gaay)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="251" y="873.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="116" x="261" y="897.4544">Set relay address</text><!--MD5=[a0e4201c97a623c3dfa593fb75aad03b]
-entity client_address--><rect fill="#FEFECE" filter="url(#fdkzzjl39gaay)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="553" y="873.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="120" x="563" y="897.4544">Set client address</text><!--MD5=[a2d7389029b0dd04029e629f1661a883]
-entity source_address--><rect fill="#FEFECE" filter="url(#fdkzzjl39gaay)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="149" x="856.5" y="873.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="129" x="866.5" y="897.4544">Set source address</text><!--MD5=[8eaa1e77cbee43fcac8de4e493864e04]
-entity interface_subnet--><rect fill="#FEFECE" filter="url(#fdkzzjl39gaay)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="192" x="997" y="1025.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="172" x="1007" y="1049.4544">Interface matches subnet</text><!--MD5=[44eac5a65cc5cd7e6cc1fc4b89b09f4d]
-entity interface_network--><rect fill="#FEFECE" filter="url(#fdkzzjl39gaay)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="1072" y="1138.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="232" x="1082" y="1162.4544">Interface matches shared network</text><!--MD5=[8e51806cb27b2b60db022c6084a961c9]
-entity interface_class--><rect fill="#FEFECE" filter="url(#fdkzzjl39gaay)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="1022" y="1251.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="120" x="1032" y="1275.4544">Check client class</text><!--MD5=[953883d00ea10db133fca33539954fed]
-entity interface_address--><rect fill="#FEFECE" filter="url(#fdkzzjl39gaay)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="961.5" y="1426.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="143" x="971.5" y="1450.4544">Set interface address</text><!--MD5=[132ec46735878e55c0250b14c07769ad]
-entity inRange--><rect fill="#FEFECE" filter="url(#fdkzzjl39gaay)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="158" x="761" y="1562.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="138" x="771" y="1586.4544">Check subnet prefix</text><!--MD5=[a34f95003b379bc2f5b7f1af307bcb98]
-entity address_class--><rect fill="#FEFECE" filter="url(#fdkzzjl39gaay)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="779" y="1769.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="120" x="789" y="1793.4544">Check client class</text><!--MD5=[e3476fda087b0512b1cf4e3a66ca5e59]
-entity entry--><rect fill="#FEFECE" filter="url(#fdkzzjl39gaay)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="350.5" y="28.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="360.5" y="51.7344">Entry point</text><!--MD5=[a23c6b9dab1f8744947aaee2891e743e]
-entity rai_link_select--><rect fill="#FEFECE" filter="url(#fdkzzjl39gaay)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="141" x="327.5" y="125.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="337.5" y="148.7344">Try RAI link select</text><!--MD5=[6d8910fd8533ab76ffd986c0d960248c]
-entity subnet_select--><rect fill="#FEFECE" filter="url(#fdkzzjl39gaay)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="207" x="294.5" y="222.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="187" x="304.5" y="245.7344">Try subnet selection option</text><!--MD5=[6348f6d706001cc5dc6ed638bec44faf]
-entity found--><rect fill="#FEFECE" filter="url(#fdkzzjl39gaay)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="127" x="708.5" y="1946.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="107" x="718.5" y="1970.4544">Found a subnet</text><!--MD5=[7dc9e356e22f2f113ceeb6da807ce9ff]
-entity not_found--><rect fill="#FEFECE" filter="url(#fdkzzjl39gaay)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="137" x="870.5" y="1946.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="117" x="880.5" y="1970.4544">Found no subnet</text><!--MD5=[4a9142d0fee9ff77eb50a001ac7877e7]
-entity subnet4_select--><rect fill="#FEFECE" filter="url(#fdkzzjl39gaay)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="175" x="767.5" y="2043.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="155" x="777.5" y="2067.4544">Callout subnet4_select</text><!--MD5=[d0fdc5cb89e99cab1ccfec009231794d]
-entity success--><rect fill="#FEFECE" filter="url(#fdkzzjl39gaay)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="129" x="584.5" y="2156.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="109" x="594.5" y="2180.4544">Return a subnet</text><!--MD5=[d0255a03afa46a62fe0c456dae837167]
-entity no_subnet--><rect fill="#FEFECE" filter="url(#fdkzzjl39gaay)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="139" x="785.5" y="2156.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="119" x="795.5" y="2180.4544">Return no subnet</text><!--MD5=[c92710f32fe9c293a125fb7e80204a05]
-entity drop--><rect fill="#FEFECE" filter="url(#fdkzzjl39gaay)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="97" x="986.5" y="2156.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="77" x="996.5" y="2180.4544">Drop query</text><!--MD5=[732ffb0ffbc5cdc82abf95e46b9c6dc7]
+<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentScriptType="application/ecmascript" contentStyleType="text/css" height="2210px" preserveAspectRatio="none" style="width:1468px;height:2210px;" version="1.1" viewBox="0 0 1468 2210" width="1468px" zoomAndPan="magnify"><defs><filter height="300%" id="f5nw3f4rb2pkr" width="300%" x="-1" y="-1"><feGaussianBlur result="blurOut" stdDeviation="2.0"/><feColorMatrix in="blurOut" result="blurOut2" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/><feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/><feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/></filter></defs><g><text fill="#000000" font-family="sans-serif" font-size="18" lengthAdjust="spacingAndGlyphs" textLength="317" x="566.5" y="17.4023">DHCPv4 subnet selection (Kea 1.8.0)</text><!--MD5=[73860abe08ab23c9b8e49eb23f18ae46]
+cluster relayed--><rect fill="#FFFFFF" filter="url(#f5nw3f4rb2pkr)" height="374.86" style="stroke: #000000; stroke-width: 1.5;" width="445" x="7" y="329.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="56" x="201.5" y="344.7344">Relayed</text><!--MD5=[234613e222536af9475ae40e3492b0e6]
+cluster set_address--><rect fill="#FFFFFF" filter="url(#f5nw3f4rb2pkr)" height="164.86" style="stroke: #000000; stroke-width: 1.5;" width="803" x="227" y="769.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="164" x="546.5" y="784.5944">Set address for lookup</text><!--MD5=[a59c1d05a8f6fb54290705d41e67acbe]
+cluster interface--><rect fill="#FFFFFF" filter="url(#f5nw3f4rb2pkr)" height="488" style="stroke: #000000; stroke-width: 1.5;" width="395" x="945" y="990.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="164" x="1060.5" y="1006.4544">Try incoming interface</text><!--MD5=[8f3f5adf9176dbd9c419c05d483ab0c6]
+cluster address--><rect fill="#FFFFFF" filter="url(#f5nw3f4rb2pkr)" height="294" style="stroke: #000000; stroke-width: 1.5;" width="190" x="745" y="1527.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs" textLength="85" x="797.5" y="1543.4544">Try address</text><!--MD5=[aeb2f621969028d4547d386ac1a1ba6d]
+entity relay_subnet--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="226" x="172" y="418.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="206" x="182" y="441.5944">Relay address matches subnet</text><!--MD5=[bf459b32eaaf498e62edf6d622ac5891]
+entity relay_network--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="286" x="142" y="531.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="266" x="152" y="554.5944">Relay address matches shared network</text><!--MD5=[076bfff500cab59e856b606fdf63ed5a]
+entity relay_class--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="112" y="644.0592"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="120" x="122" y="667.5944">Check client class</text><!--MD5=[467e96f12fdeb7da53b220e72b6eb1fc]
+entity relay_address--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="136" x="251" y="873.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="116" x="261" y="897.4544">Set relay address</text><!--MD5=[a0e4201c97a623c3dfa593fb75aad03b]
+entity client_address--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="553" y="873.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="120" x="563" y="897.4544">Set client address</text><!--MD5=[a2d7389029b0dd04029e629f1661a883]
+entity source_address--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="149" x="856.5" y="873.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="129" x="866.5" y="897.4544">Set source address</text><!--MD5=[8eaa1e77cbee43fcac8de4e493864e04]
+entity interface_subnet--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="192" x="997" y="1025.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="172" x="1007" y="1049.4544">Interface matches subnet</text><!--MD5=[44eac5a65cc5cd7e6cc1fc4b89b09f4d]
+entity interface_network--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="252" x="1072" y="1138.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="232" x="1082" y="1162.4544">Interface matches shared network</text><!--MD5=[8e51806cb27b2b60db022c6084a961c9]
+entity interface_class--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="1022" y="1251.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="120" x="1032" y="1275.4544">Check client class</text><!--MD5=[953883d00ea10db133fca33539954fed]
+entity interface_address--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="163" x="961.5" y="1426.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="143" x="971.5" y="1450.4544">Set interface address</text><!--MD5=[132ec46735878e55c0250b14c07769ad]
+entity inRange--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="158" x="761" y="1562.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="138" x="771" y="1586.4544">Check subnet prefix</text><!--MD5=[a34f95003b379bc2f5b7f1af307bcb98]
+entity address_class--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="140" x="779" y="1769.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="120" x="789" y="1793.4544">Check client class</text><!--MD5=[e3476fda087b0512b1cf4e3a66ca5e59]
+entity entry--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="95" x="350.5" y="28.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="75" x="360.5" y="51.7344">Entry point</text><!--MD5=[a23c6b9dab1f8744947aaee2891e743e]
+entity rai_link_select--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="141" x="327.5" y="125.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="121" x="337.5" y="148.7344">Try RAI link select</text><!--MD5=[6d8910fd8533ab76ffd986c0d960248c]
+entity subnet_select--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="207" x="294.5" y="222.1992"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="187" x="304.5" y="245.7344">Try subnet selection option</text><!--MD5=[6348f6d706001cc5dc6ed638bec44faf]
+entity found--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="127" x="708.5" y="1946.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="107" x="718.5" y="1970.4544">Found a subnet</text><!--MD5=[7dc9e356e22f2f113ceeb6da807ce9ff]
+entity not_found--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="137" x="870.5" y="1946.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="117" x="880.5" y="1970.4544">Found no subnet</text><!--MD5=[4a9142d0fee9ff77eb50a001ac7877e7]
+entity subnet4_select--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="175" x="767.5" y="2043.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="155" x="777.5" y="2067.4544">Callout subnet4_select</text><!--MD5=[d0fdc5cb89e99cab1ccfec009231794d]
+entity success--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="129" x="584.5" y="2156.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="109" x="594.5" y="2180.4544">Return a subnet</text><!--MD5=[d0255a03afa46a62fe0c456dae837167]
+entity no_subnet--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="139" x="785.5" y="2156.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="119" x="795.5" y="2180.4544">Return no subnet</text><!--MD5=[c92710f32fe9c293a125fb7e80204a05]
+entity drop--><rect fill="#FEFECE" filter="url(#f5nw3f4rb2pkr)" height="36.4883" style="stroke: #A80036; stroke-width: 1.5;" width="97" x="986.5" y="2156.9192"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacingAndGlyphs" textLength="77" x="996.5" y="2180.4544">Drop query</text><!--MD5=[732ffb0ffbc5cdc82abf95e46b9c6dc7]
link entry to rai_link_select--><path d="M398,64.6192 C398,80.1592 398,102.9792 398,119.8592 " fill="none" id="entry->rai_link_select" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="398,124.8892,402,115.8892,398,119.8892,394,115.8892,398,124.8892" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[f0b6d7b08c058a6efc1e3a3886382c22]
link rai_link_select to subnet_select--><path d="M398,161.6192 C398,177.1592 398,199.9792 398,216.8592 " fill="none" id="rai_link_select->subnet_select" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="398,221.8892,402,212.8892,398,216.8892,394,212.8892,398,221.8892" style="stroke: #A80036; stroke-width: 1.0;"/><!--MD5=[2989df9457f995d9ec76378f9e46e3a6]
link subnet_select to relayed--><path d="M389.65,258.5692 C382.075,274.3142 370.655,298.0567 361.01,318.1092 C359.8044,320.6158 358.6265,323.0647 357.4873,325.4331 C356.9177,326.6173 356.3578,327.7814 355.8089,328.9225 " fill="none" id="subnet_select->relayed" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="355.8089,328.9225,363.3147,322.5458,357.9762,324.4167,356.1053,319.0781,355.8089,328.9225" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="45" x="374" y="301.7676">relayed</text><!--MD5=[19a01d6111b1c934e32249a327a2afa6]
link found to not_found--><!--MD5=[d0da1e00427a0ca7837196c7dddb3af4]
link subnet4_select to success--><path d="M767.05,2070.2692 C735.7,2076.7092 702,2088.4992 677,2109.9192 C664.53,2120.5992 657.42,2137.8792 653.49,2151.7992 " fill="none" id="subnet4_select->success" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="652.18,2156.7492,658.3343,2149.0599,653.4497,2151.9131,650.5965,2147.0285,652.18,2156.7492" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="164" x="678" y="2123.4876">CONTINUE and subnet set</text><!--MD5=[48d8edc0219dd4d7c3847b4159c280ef]
link subnet4_select to no_subnet--><path d="M853.62,2080.3192 C852.99,2089.1692 852.31,2100.1092 852,2109.9192 C851.56,2123.8292 852.26,2139.4292 853.1,2151.7492 " fill="none" id="subnet4_select->no_subnet" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="853.47,2156.8092,856.8167,2147.5464,853.1127,2151.822,848.8372,2148.118,853.47,2156.8092" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="138" x="853" y="2123.4876">SKIP or subnet not set</text><!--MD5=[f590b573e48b5dfdcd1774729941f83a]
-link subnet4_select to drop--><path d="M938.2,2080.0192 C958.54,2086.9392 979.25,2096.5792 996,2109.9192 C1009.78,2120.8892 1019.89,2138.1592 1026.36,2151.9892 " fill="none" id="subnet4_select->drop" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1028.58,2156.9192,1028.5229,2147.0705,1026.5228,2152.362,1021.2313,2150.362,1028.58,2156.9192" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="35" x="1012" y="2123.4876">DROP</text><!--MD5=[aea0109a3aba1a50c2ee738819ad86b9]
+link subnet4_select to drop--><path d="M938.2,2080.0192 C958.54,2086.9392 979.25,2096.5792 996,2109.9192 C1009.78,2120.8892 1019.89,2138.1592 1026.36,2151.9892 " fill="none" id="subnet4_select->drop" style="stroke: #A80036; stroke-width: 1.0;"/><polygon fill="#A80036" points="1028.58,2156.9192,1028.5229,2147.0705,1026.5228,2152.362,1021.2313,2150.362,1028.58,2156.9192" style="stroke: #A80036; stroke-width: 1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacingAndGlyphs" textLength="35" x="1012" y="2123.4876">DROP</text><!--MD5=[ac540f98c992b562d25c0989cf3dd0fa]
@startuml\r
\r
-title DHCPv4 subnet selection (Kea 1.7.11)\r
+title DHCPv4 subnet selection (Kea 1.8.0)\r
\r
agent "Entry point" as entry\r
\r
@startuml
-title DHCPv4 subnet selection (Kea 1.7.11)
+title DHCPv4 subnet selection (Kea 1.8.0)
agent "Entry point" as entry