Files
DesignPatternsPHP/Behavioral/Observer/uml/uml.svg
2014-07-31 14:47:55 -05:00

311 lines
42 KiB
XML

<?xml version="1.0" encoding="UTF-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill-opacity="1" color-rendering="auto" color-interpolation="auto" stroke="black" text-rendering="auto" stroke-linecap="square" width="420" stroke-miterlimit="10" stroke-opacity="1" shape-rendering="auto" fill="black" stroke-dasharray="none" font-weight="normal" stroke-width="1" height="325" font-family="'Dialog'" font-style="normal" stroke-linejoin="miter" font-size="12" stroke-dashoffset="0" image-rendering="auto">
<!--Generated by ySVG-->
<defs id="genericDefs"/>
<g>
<defs id="defs1">
<linearGradient x1="0" gradientUnits="userSpaceOnUse" x2="0" y1="0" y2="25" id="linearGradient1" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(85,85,85)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(60,60,60)" offset="100%"/>
</linearGradient>
<linearGradient x1="0" gradientUnits="userSpaceOnUse" x2="0" y1="0" y2="25" id="linearGradient2" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(85,85,85)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(60,60,60)" offset="100%"/>
</linearGradient>
<linearGradient x1="0" gradientUnits="userSpaceOnUse" x2="0" y1="0" y2="25" id="linearGradient3" spreadMethod="pad">
<stop stop-opacity="1" stop-color="rgb(85,85,85)" offset="0%"/>
<stop stop-opacity="1" stop-color="rgb(60,60,60)" offset="100%"/>
</linearGradient>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath1">
<path d="M0 0 L420 0 L420 325 L0 325 L0 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath2">
<path d="M-20 -20 L400 -20 L400 305 L-20 305 L-20 -20 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath3">
<path d="M-20 -157 L400 -157 L400 168 L-20 168 L-20 -157 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath4">
<path d="M0 0 L0 148 L194 148 L194 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath5">
<path d="M0 0 L0 146 L192 146 L192 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath6">
<path d="M0 0 L0 121 L192 121 L192 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath7">
<path d="M0 0 L0 20 L192 20 L192 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath8">
<path d="M0 0 L0 18 L6 18 L6 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath9">
<path d="M0 0 L0 18 L62 18 L62 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath10">
<path d="M0 20 L0 40 L192 40 L192 20 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath11">
<path d="M0 0 L0 18 L88 18 L88 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath12">
<path d="M0 40 L0 41 L192 41 L192 40 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath13">
<path d="M0 0 L0 1 L192 1 L192 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath14">
<path d="M0 41 L0 61 L192 61 L192 41 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath15">
<path d="M0 0 L0 18 L106 18 L106 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath16">
<path d="M0 61 L0 81 L192 81 L192 61 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath17">
<path d="M0 0 L0 18 L108 18 L108 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath18">
<path d="M0 81 L0 101 L192 101 L192 81 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath19">
<path d="M0 0 L0 18 L60 18 L60 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath20">
<path d="M0 101 L0 121 L192 121 L192 101 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath21">
<path d="M0 0 L0 18 L118 18 L118 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath22">
<path d="M0 0 L0 25 L192 25 L192 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath23">
<path d="M0 0 L0 24 L192 24 L192 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath24">
<path d="M0 0 L0 18 L186 18 L186 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath25">
<path d="M-251 -20 L169 -20 L169 305 L-251 305 L-251 -20 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath26">
<path d="M0 0 L0 47 L149 47 L149 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath27">
<path d="M0 0 L0 45 L147 45 L147 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath28">
<path d="M0 0 L0 20 L147 20 L147 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath29">
<path d="M0 0 L0 18 L101 18 L101 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath30">
<path d="M0 0 L0 25 L147 25 L147 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath31">
<path d="M0 0 L0 24 L147 24 L147 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath32">
<path d="M0 0 L0 18 L141 18 L141 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath33">
<path d="M0 0 L0 87 L194 87 L194 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath34">
<path d="M0 0 L0 85 L192 85 L192 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath35">
<path d="M0 0 L0 60 L192 60 L192 0 Z"/>
</clipPath>
<clipPath clipPathUnits="userSpaceOnUse" id="clipPath36">
<path d="M0 40 L0 60 L192 60 L192 40 Z"/>
</clipPath>
</defs>
<g fill="rgb(60,63,65)" transform="translate(20,20)" stroke="rgb(60,63,65)">
<rect x="-20" width="420" height="325" y="-20" clip-path="url(#clipPath2)" stroke="none"/>
</g>
<g fill="rgb(107,107,107)" stroke="rgb(107,107,107)">
<path d="M10.9219 313 L10.9219 304.4062 L14.1719 304.4062 Q15.0156 304.4062 15.4688 304.4844 Q16.1094 304.5938 16.5391 304.8906 Q16.9688 305.1875 17.2266 305.7188 Q17.4844 306.25 17.4844 306.8906 Q17.4844 307.9844 16.7891 308.7422 Q16.0938 309.5 14.2656 309.5 L12.0625 309.5 L12.0625 313 L10.9219 313 ZM12.0625 308.5 L14.2812 308.5 Q15.3906 308.5 15.8516 308.0859 Q16.3125 307.6719 16.3125 306.9219 Q16.3125 306.3906 16.0391 306.0078 Q15.7656 305.625 15.3281 305.5 Q15.0312 305.4219 14.2656 305.4219 L12.0625 305.4219 L12.0625 308.5 ZM18.4102 309.8906 Q18.4102 308.1562 19.3633 307.3281 Q20.1602 306.6406 21.3164 306.6406 Q22.5977 306.6406 23.418 307.4766 Q24.2383 308.3125 24.2383 309.7969 Q24.2383 311 23.8789 311.6875 Q23.5195 312.375 22.8242 312.7578 Q22.1289 313.1406 21.3164 313.1406 Q20.0195 313.1406 19.2148 312.3047 Q18.4102 311.4688 18.4102 309.8906 ZM19.4883 309.8906 Q19.4883 311.0781 20.0117 311.6719 Q20.5352 312.2656 21.3164 312.2656 Q22.1133 312.2656 22.6289 311.6719 Q23.1445 311.0781 23.1445 309.8594 Q23.1445 308.7031 22.6211 308.1094 Q22.0977 307.5156 21.3164 307.5156 Q20.5352 307.5156 20.0117 308.1016 Q19.4883 308.6875 19.4883 309.8906 ZM26.6152 313 L24.709 306.7812 L25.8027 306.7812 L26.7871 310.375 L27.1621 311.7031 Q27.1934 311.6094 27.4902 310.4219 L28.4746 306.7812 L29.5527 306.7812 L30.4902 310.3906 L30.8027 311.5781 L31.1621 310.375 L32.2246 306.7812 L33.2559 306.7812 L31.3027 313 L30.209 313 L29.2246 309.2656 L28.9746 308.2188 L27.7246 313 L26.6152 313 ZM38.3906 311 L39.4844 311.125 Q39.2344 312.0781 38.5312 312.6094 Q37.8281 313.1406 36.75 313.1406 Q35.3906 313.1406 34.5859 312.2969 Q33.7812 311.4531 33.7812 309.9375 Q33.7812 308.375 34.5938 307.5078 Q35.4062 306.6406 36.6875 306.6406 Q37.9375 306.6406 38.7266 307.4844 Q39.5156 308.3281 39.5156 309.875 Q39.5156 309.9688 39.5156 310.1562 L34.875 310.1562 Q34.9375 311.1875 35.4531 311.7266 Q35.9688 312.2656 36.75 312.2656 Q37.3281 312.2656 37.7422 311.9609 Q38.1562 311.6562 38.3906 311 ZM34.9375 309.2969 L38.4062 309.2969 Q38.3438 308.5 38.0156 308.1094 Q37.5 307.5 36.7031 307.5 Q35.9688 307.5 35.4766 307.9844 Q34.9844 308.4688 34.9375 309.2969 ZM40.7988 313 L40.7988 306.7812 L41.752 306.7812 L41.752 307.7188 Q42.1113 307.0625 42.416 306.8516 Q42.7207 306.6406 43.0957 306.6406 Q43.627 306.6406 44.1738 306.9688 L43.8145 307.9531 Q43.4238 307.7188 43.0488 307.7188 Q42.6895 307.7188 42.416 307.9297 Q42.1426 308.1406 42.0332 308.5156 Q41.8457 309.0781 41.8457 309.7344 L41.8457 313 L40.7988 313 ZM49.0605 311 L50.1543 311.125 Q49.9043 312.0781 49.2012 312.6094 Q48.498 313.1406 47.4199 313.1406 Q46.0605 313.1406 45.2559 312.2969 Q44.4512 311.4531 44.4512 309.9375 Q44.4512 308.375 45.2637 307.5078 Q46.0762 306.6406 47.3574 306.6406 Q48.6074 306.6406 49.3965 307.4844 Q50.1855 308.3281 50.1855 309.875 Q50.1855 309.9688 50.1855 310.1562 L45.5449 310.1562 Q45.6074 311.1875 46.123 311.7266 Q46.6387 312.2656 47.4199 312.2656 Q47.998 312.2656 48.4121 311.9609 Q48.8262 311.6562 49.0605 311 ZM45.6074 309.2969 L49.0762 309.2969 Q49.0137 308.5 48.6855 308.1094 Q48.1699 307.5 47.373 307.5 Q46.6387 307.5 46.1465 307.9844 Q45.6543 308.4688 45.6074 309.2969 ZM55.5156 313 L55.5156 312.2188 Q54.9219 313.1406 53.7812 313.1406 Q53.0312 313.1406 52.4062 312.7266 Q51.7812 312.3125 51.4375 311.5781 Q51.0938 310.8438 51.0938 309.8906 Q51.0938 308.9688 51.4062 308.2031 Q51.7188 307.4375 52.3438 307.0391 Q52.9688 306.6406 53.7344 306.6406 Q54.2969 306.6406 54.7344 306.875 Q55.1719 307.1094 55.4531 307.4844 L55.4531 304.4062 L56.5 304.4062 L56.5 313 L55.5156 313 ZM52.1875 309.8906 Q52.1875 311.0938 52.6875 311.6797 Q53.1875 312.2656 53.875 312.2656 Q54.5625 312.2656 55.0469 311.7031 Q55.5312 311.1406 55.5312 309.9844 Q55.5312 308.7031 55.0391 308.1094 Q54.5469 307.5156 53.8281 307.5156 Q53.125 307.5156 52.6562 308.0859 Q52.1875 308.6562 52.1875 309.8906 ZM62.4609 313 L61.4766 313 L61.4766 304.4062 L62.5391 304.4062 L62.5391 307.4688 Q63.2109 306.6406 64.2422 306.6406 Q64.8203 306.6406 65.3281 306.8672 Q65.8359 307.0938 66.1719 307.5156 Q66.5078 307.9375 66.6953 308.5312 Q66.8828 309.125 66.8828 309.7969 Q66.8828 311.3906 66.0859 312.2656 Q65.2891 313.1406 64.1953 313.1406 Q63.0859 313.1406 62.4609 312.2188 L62.4609 313 ZM62.4453 309.8438 Q62.4453 310.9531 62.7578 311.4531 Q63.2578 312.2656 64.1016 312.2656 Q64.7891 312.2656 65.2969 311.6719 Q65.8047 311.0781 65.8047 309.875 Q65.8047 308.6562 65.3203 308.0781 Q64.8359 307.5 64.1484 307.5 Q63.4609 307.5 62.9531 308.1016 Q62.4453 308.7031 62.4453 309.8438 ZM68.1191 315.3906 L67.9941 314.4062 Q68.3379 314.5 68.6035 314.5 Q68.9473 314.5 69.1582 314.3828 Q69.3691 314.2656 69.5098 314.0625 Q69.6035 313.8906 69.8379 313.2656 Q69.8535 313.1875 69.9316 313.0156 L67.5566 306.7812 L68.6973 306.7812 L69.9941 310.375 Q70.2441 311.0625 70.4473 311.8281 Q70.6348 311.0938 70.8848 310.4062 L72.2129 306.7812 L73.2598 306.7812 L70.9004 313.1094 Q70.5098 314.125 70.3066 314.5156 Q70.0254 315.0469 69.6582 315.2891 Q69.291 315.5312 68.791 315.5312 Q68.4941 315.5312 68.1191 315.3906 ZM77.4531 315.3906 L77.3281 314.4062 Q77.6719 314.5 77.9375 314.5 Q78.2812 314.5 78.4922 314.3828 Q78.7031 314.2656 78.8438 314.0625 Q78.9375 313.8906 79.1719 313.2656 Q79.1875 313.1875 79.2656 313.0156 L76.8906 306.7812 L78.0312 306.7812 L79.3281 310.375 Q79.5781 311.0625 79.7812 311.8281 Q79.9688 311.0938 80.2188 310.4062 L81.5469 306.7812 L82.5938 306.7812 L80.2344 313.1094 Q79.8438 314.125 79.6406 314.5156 Q79.3594 315.0469 78.9922 315.2891 Q78.625 315.5312 78.125 315.5312 Q77.8281 315.5312 77.4531 315.3906 ZM83.6875 313 L83.6875 304.4062 L89.4844 304.4062 L89.4844 305.4219 L84.8281 305.4219 L84.8281 308.0781 L88.8594 308.0781 L88.8594 309.0938 L84.8281 309.0938 L84.8281 313 L83.6875 313 ZM90.8301 305.625 L90.8301 304.4062 L91.8926 304.4062 L91.8926 305.625 L90.8301 305.625 ZM90.8301 313 L90.8301 306.7812 L91.8926 306.7812 L91.8926 313 L90.8301 313 ZM93.4648 313 L93.4648 304.4062 L94.5273 304.4062 L94.5273 313 L93.4648 313 ZM100.4121 311 L101.5059 311.125 Q101.2559 312.0781 100.5527 312.6094 Q99.8496 313.1406 98.7715 313.1406 Q97.4121 313.1406 96.6074 312.2969 Q95.8027 311.4531 95.8027 309.9375 Q95.8027 308.375 96.6152 307.5078 Q97.4277 306.6406 98.709 306.6406 Q99.959 306.6406 100.748 307.4844 Q101.5371 308.3281 101.5371 309.875 Q101.5371 309.9688 101.5371 310.1562 L96.8965 310.1562 Q96.959 311.1875 97.4746 311.7266 Q97.9902 312.2656 98.7715 312.2656 Q99.3496 312.2656 99.7637 311.9609 Q100.1777 311.6562 100.4121 311 ZM96.959 309.2969 L100.4277 309.2969 Q100.3652 308.5 100.0371 308.1094 Q99.5215 307.5 98.7246 307.5 Q97.9902 307.5 97.498 307.9844 Q97.0059 308.4688 96.959 309.2969 ZM102.4141 311.1406 L103.4453 310.9844 Q103.5391 311.6094 103.9375 311.9375 Q104.3359 312.2656 105.0703 312.2656 Q105.7891 312.2656 106.1406 311.9766 Q106.4922 311.6875 106.4922 311.2812 Q106.4922 310.9219 106.1797 310.7188 Q105.9609 310.5781 105.1016 310.3594 Q103.9453 310.0625 103.5 309.8516 Q103.0547 309.6406 102.8203 309.2656 Q102.5859 308.8906 102.5859 308.4219 Q102.5859 308.0156 102.7734 307.6562 Q102.9609 307.2969 103.2891 307.0625 Q103.5391 306.8906 103.9609 306.7656 Q104.3828 306.6406 104.8828 306.6406 Q105.6016 306.6406 106.1562 306.8516 Q106.7109 307.0625 106.9766 307.4219 Q107.2422 307.7812 107.3359 308.375 L106.3047 308.5156 Q106.2422 308.0469 105.9062 307.7734 Q105.5703 307.5 104.9453 307.5 Q104.2266 307.5 103.9141 307.7422 Q103.6016 307.9844 103.6016 308.3125 Q103.6016 308.5156 103.7266 308.6719 Q103.8672 308.8438 104.1328 308.9531 Q104.2891 309.0156 105.0703 309.2188 Q106.1953 309.5312 106.6328 309.7188 Q107.0703 309.9062 107.3203 310.2656 Q107.5703 310.625 107.5703 311.1719 Q107.5703 311.7031 107.2656 312.1641 Q106.9609 312.625 106.3828 312.8828 Q105.8047 313.1406 105.0703 313.1406 Q103.8516 313.1406 103.2188 312.6328 Q102.5859 312.125 102.4141 311.1406 Z" clip-path="url(#clipPath1)" stroke="none"/>
</g>
<g fill="rgb(120,120,120)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(0,137)" stroke="rgb(120,120,120)">
<path d="M0 0 L194 0 L194 148 L0 148 L0 0 ZM1 1 L193 1 L193 147 L1 147 L1 1 Z" clip-path="url(#clipPath4)" fill-rule="evenodd" stroke="none"/>
</g>
<g fill="rgb(60,63,65)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(1,138)" stroke="rgb(60,63,65)">
<rect x="0" width="192" height="146" y="0" clip-path="url(#clipPath5)" stroke="none"/>
</g>
<g fill="rgb(60,63,65)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(1,163)" stroke="rgb(60,63,65)">
<rect x="0" width="192" height="121" y="0" clip-path="url(#clipPath6)" stroke="none"/>
</g>
<g fill="rgb(60,63,65)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(1,163)" stroke="rgb(60,63,65)">
<rect x="0" width="192" height="20" y="0" clip-path="url(#clipPath7)" stroke="none"/>
</g>
<g fill="rgb(60,63,65)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(3,164)" stroke="rgb(60,63,65)">
<rect x="0" width="36" height="18" y="0" clip-path="url(#clipPath9)" stroke="none"/>
<image x="2" y="1" clip-path="url(#clipPath9)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACIUlEQVR42q1TTWgT&#13;&#10;QRR+k+wms9lNa9xU2pRampOXHkTwFOOhRfDn4MGrguBB8NpUCLWHKkhtq4h48CrY&#13;&#10;g1BvQTwIGtrqwZsei1IwaWKTJk02SXezM+PM1o5usCcd+GD3e9/75r03MwD/uFAv&#13;&#10;UXx7b5S0O0vdPSsVADAFxxDaVjU9H8Da7cTEzOahBoXXs5muVZszzGNYix4BFAh4&#13;&#10;PKMUOs06WNUftmrE7gyfn1s4yAn+Tp7JkFZ93hxJqiGs7Tsz5kF8q2EM3FRpV7cm&#13;&#10;p66faz98kV+XBqU3d8fsennFPJ5UAt6uzMPK+w14ld+A4bgOsWgIEHfC0T7ULH9P&#13;&#10;Z29eWl58/q7m1eh06veNmBn2fiiRWP1chImTCUgO6pITGqHds6wHQu7luK1GWtOF&#13;&#10;yJXIffgGhFBY+7IFXws1X0xoSWs3JQ2AOQOAKG/Xlbhweog3weDs+ACMDWq+mKel&#13;&#10;TlykKp4BZfsl9i5vFPSvMcQYkQZct81cZ+jg2HwOQidK/5Plx8ojO7IFBev5dqPG&#13;&#10;A64P4ggZ372XF9ogxmvSAEdw1qpWbOo6vmE9vnECTiUNHyc0QqtF9Gl5DxaXP9Yy&#13;&#10;V9N2q1KaxLqOEJID8IHyanYKBab2mdnE5Sc530189PLT+tS1M51GqZjmBoqi/AqJ&#13;&#10;NgjhZTehXirbof6j2ZErzxYOf0y5W6PObmOp226lECVxfv0IIKUSjOir4X5jOnHx&#13;&#10;6Sb8z/UTgDIr1exsw3kAAAAASUVORK5CYII=" height="16" preserveAspectRatio="none"/>
<image x="18" y="1" clip-path="url(#clipPath9)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAfklEQVR42mNgGPKA&#13;&#10;EV1g7ty5nv///58LZEoiCT9nZGRMBoLt6OqZ0AWwaAYBSag4BmDBIgbWnJKSAnfd&#13;&#10;nDlz/mMxFKcBz0GKoZqQwQtsBmDzQgqS4mlQsadAnExUIKI5G2RAFrJ3CLoAC7iC&#13;&#10;xTskGaAzRF0ADPVGUABC6UEMAMQqO/NOVrP0AAAAAElFTkSuQmCC" height="16" preserveAspectRatio="none"/>
<rect x="36" width="26" height="18" y="0" clip-path="url(#clipPath9)" stroke="none"/>
<text fill="rgb(187,187,187)" x="37" xml:space="preserve" y="13" clip-path="url(#clipPath9)" stroke="none">data</text>
</g>
<g fill="rgb(60,63,65)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(1,183)" stroke="rgb(60,63,65)">
<rect x="0" width="192" height="20" y="0" clip-path="url(#clipPath7)" stroke="none"/>
</g>
<g fill="rgb(60,63,65)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(3,184)" stroke="rgb(60,63,65)">
<rect x="0" width="36" height="18" y="0" clip-path="url(#clipPath11)" stroke="none"/>
<image x="2" y="1" clip-path="url(#clipPath11)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACIUlEQVR42q1TTWgT&#13;&#10;QRR+k+wms9lNa9xU2pRampOXHkTwFOOhRfDn4MGrguBB8NpUCLWHKkhtq4h48CrY&#13;&#10;g1BvQTwIGtrqwZsei1IwaWKTJk02SXezM+PM1o5usCcd+GD3e9/75r03MwD/uFAv&#13;&#10;UXx7b5S0O0vdPSsVADAFxxDaVjU9H8Da7cTEzOahBoXXs5muVZszzGNYix4BFAh4&#13;&#10;PKMUOs06WNUftmrE7gyfn1s4yAn+Tp7JkFZ93hxJqiGs7Tsz5kF8q2EM3FRpV7cm&#13;&#10;p66faz98kV+XBqU3d8fsennFPJ5UAt6uzMPK+w14ld+A4bgOsWgIEHfC0T7ULH9P&#13;&#10;Z29eWl58/q7m1eh06veNmBn2fiiRWP1chImTCUgO6pITGqHds6wHQu7luK1GWtOF&#13;&#10;yJXIffgGhFBY+7IFXws1X0xoSWs3JQ2AOQOAKG/Xlbhweog3weDs+ACMDWq+mKel&#13;&#10;TlykKp4BZfsl9i5vFPSvMcQYkQZct81cZ+jg2HwOQidK/5Plx8ojO7IFBev5dqPG&#13;&#10;A64P4ggZ372XF9ogxmvSAEdw1qpWbOo6vmE9vnECTiUNHyc0QqtF9Gl5DxaXP9Yy&#13;&#10;V9N2q1KaxLqOEJID8IHyanYKBab2mdnE5Sc530189PLT+tS1M51GqZjmBoqi/AqJ&#13;&#10;NgjhZTehXirbof6j2ZErzxYOf0y5W6PObmOp226lECVxfv0IIKUSjOir4X5jOnHx&#13;&#10;6Sb8z/UTgDIr1exsw3kAAAAASUVORK5CYII=" height="16" preserveAspectRatio="none"/>
<image x="18" y="1" clip-path="url(#clipPath11)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAfklEQVR42mNgGPKA&#13;&#10;EV1g7ty5nv///58LZEoiCT9nZGRMBoLt6OqZ0AWwaAYBSag4BmDBIgbWnJKSAnfd&#13;&#10;nDlz/mMxFKcBz0GKoZqQwQtsBmDzQgqS4mlQsadAnExUIKI5G2RAFrJ3CLoAC7iC&#13;&#10;xTskGaAzRF0ADPVGUABC6UEMAMQqO/NOVrP0AAAAAElFTkSuQmCC" height="16" preserveAspectRatio="none"/>
<rect x="36" width="52" height="18" y="0" clip-path="url(#clipPath11)" stroke="none"/>
<text fill="rgb(187,187,187)" x="37" xml:space="preserve" y="13" clip-path="url(#clipPath11)" stroke="none">observers</text>
</g>
<g fill="gray" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(1,203)" stroke="gray">
<rect x="0" width="192" height="1" y="0" clip-path="url(#clipPath13)" stroke="none"/>
</g>
<g fill="rgb(60,63,65)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(1,204)" stroke="rgb(60,63,65)">
<rect x="0" width="192" height="20" y="0" clip-path="url(#clipPath7)" stroke="none"/>
</g>
<g fill="rgb(60,63,65)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(3,205)" stroke="rgb(60,63,65)">
<rect x="0" width="20" height="18" y="0" clip-path="url(#clipPath15)" stroke="none"/>
<image x="2" y="1" clip-path="url(#clipPath15)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACAklEQVR42mNgoBAw&#13;&#10;ogt8X7tW/uePD73/v32zAXKFocKvGbk4D7FzCJZzBgc/xGnAp1ULS/99/NDELirG&#13;&#10;wcovwMDIxAQW///vH8Pvjx8Yfrx+9ZOZX6CWLyy+G6aHGaF5fum/T587eZSUWVm4&#13;&#10;uBgYGRFmg9jMHJwMbAKCLD9fvnCpign71r564zGQHNiKD6sWKf59976ZR16BEawR&#13;&#10;aCM2DJIDqQGp/bB2qRLcAIbv39o5hEXYwZb++4sXg9SA1DJ8/dQF0soC9uOXL3as&#13;&#10;4uJgW3Zcusaw/sxFuPN9DXUZNp+/DGf7GOowsPLyMvx49cIG4YK/f0QZ//8H0n8h&#13;&#10;zgWCmfFhDMm2FmDNyGyQGrDaP39FEC4AavoP1fgfJAnEYLH//7CyweqARiFcwMjw&#13;&#10;+v+f3xB//ocowMcGq2X4/w5hAAfXod8fPkBD+z/EfFjoY2GD1DJycB2Fe4GJh6/q&#13;&#10;x7OHAaxcXOweGsoMIAzyq5msFINZuB8K+/+vX6AA/MkkJV8GT0gd6za+r44I/vnz&#13;&#10;xUsXNh4eSFqAhgUy/v/nD8OXR4/+swgJVfHHZ2xFSYntm7Yfqw4L+P7j+VM7YBJm&#13;&#10;YWJlZYAkRlDA/WX4/ekjw7fnT3+yCApX8aXkdePOTHOmyP/48aX335dvNoz//4kA&#13;&#10;XfP3PyPTGwZuriOcHNxlnCk5DxmoCQCxnyWQLkoHoQAAAABJRU5ErkJggg==" height="16" preserveAspectRatio="none"/>
<rect x="20" width="86" height="18" y="0" clip-path="url(#clipPath15)" stroke="none"/>
<text fill="rgb(187,187,187)" x="21" xml:space="preserve" y="13" clip-path="url(#clipPath15)" stroke="none">attach(observer)</text>
</g>
<g fill="rgb(60,63,65)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(1,224)" stroke="rgb(60,63,65)">
<rect x="0" width="192" height="20" y="0" clip-path="url(#clipPath7)" stroke="none"/>
</g>
<g fill="rgb(60,63,65)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(3,225)" stroke="rgb(60,63,65)">
<rect x="0" width="20" height="18" y="0" clip-path="url(#clipPath17)" stroke="none"/>
<image x="2" y="1" clip-path="url(#clipPath17)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACAklEQVR42mNgoBAw&#13;&#10;ogt8X7tW/uePD73/v32zAXKFocKvGbk4D7FzCJZzBgc/xGnAp1ULS/99/NDELirG&#13;&#10;wcovwMDIxAQW///vH8Pvjx8Yfrx+9ZOZX6CWLyy+G6aHGaF5fum/T587eZSUWVm4&#13;&#10;uBgYGRFmg9jMHJwMbAKCLD9fvnCpign71r564zGQHNiKD6sWKf59976ZR16BEawR&#13;&#10;aCM2DJIDqQGp/bB2qRLcAIbv39o5hEXYwZb++4sXg9SA1DJ8/dQF0soC9uOXL3as&#13;&#10;4uJgW3Zcusaw/sxFuPN9DXUZNp+/DGf7GOowsPLyMvx49cIG4YK/f0QZ//8H0n8h&#13;&#10;zgWCmfFhDMm2FmDNyGyQGrDaP39FEC4AavoP1fgfJAnEYLH//7CyweqARiFcwMjw&#13;&#10;+v+f3xB//ocowMcGq2X4/w5hAAfXod8fPkBD+z/EfFjoY2GD1DJycB2Fe4GJh6/q&#13;&#10;x7OHAaxcXOweGsoMIAzyq5msFINZuB8K+/+vX6AA/MkkJV8GT0gd6za+r44I/vnz&#13;&#10;xUsXNh4eSFqAhgUy/v/nD8OXR4/+swgJVfHHZ2xFSYntm7Yfqw4L+P7j+VM7YBJm&#13;&#10;YWJlZYAkRlDA/WX4/ekjw7fnT3+yCApX8aXkdePOTHOmyP/48aX335dvNoz//4kA&#13;&#10;XfP3PyPTGwZuriOcHNxlnCk5DxmoCQCxnyWQLkoHoQAAAABJRU5ErkJggg==" height="16" preserveAspectRatio="none"/>
<rect x="20" width="88" height="18" y="0" clip-path="url(#clipPath17)" stroke="none"/>
<text fill="rgb(187,187,187)" x="21" xml:space="preserve" y="13" clip-path="url(#clipPath17)" stroke="none">detach(observer)</text>
</g>
<g fill="rgb(60,63,65)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(1,244)" stroke="rgb(60,63,65)">
<rect x="0" width="192" height="20" y="0" clip-path="url(#clipPath7)" stroke="none"/>
</g>
<g fill="rgb(60,63,65)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(3,245)" stroke="rgb(60,63,65)">
<rect x="0" width="20" height="18" y="0" clip-path="url(#clipPath19)" stroke="none"/>
<image x="2" y="1" clip-path="url(#clipPath19)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACAklEQVR42mNgoBAw&#13;&#10;ogt8X7tW/uePD73/v32zAXKFocKvGbk4D7FzCJZzBgc/xGnAp1ULS/99/NDELirG&#13;&#10;wcovwMDIxAQW///vH8Pvjx8Yfrx+9ZOZX6CWLyy+G6aHGaF5fum/T587eZSUWVm4&#13;&#10;uBgYGRFmg9jMHJwMbAKCLD9fvnCpign71r564zGQHNiKD6sWKf59976ZR16BEawR&#13;&#10;aCM2DJIDqQGp/bB2qRLcAIbv39o5hEXYwZb++4sXg9SA1DJ8/dQF0soC9uOXL3as&#13;&#10;4uJgW3Zcusaw/sxFuPN9DXUZNp+/DGf7GOowsPLyMvx49cIG4YK/f0QZ//8H0n8h&#13;&#10;zgWCmfFhDMm2FmDNyGyQGrDaP39FEC4AavoP1fgfJAnEYLH//7CyweqARiFcwMjw&#13;&#10;+v+f3xB//ocowMcGq2X4/w5hAAfXod8fPkBD+z/EfFjoY2GD1DJycB2Fe4GJh6/q&#13;&#10;x7OHAaxcXOweGsoMIAzyq5msFINZuB8K+/+vX6AA/MkkJV8GT0gd6za+r44I/vnz&#13;&#10;xUsXNh4eSFqAhgUy/v/nD8OXR4/+swgJVfHHZ2xFSYntm7Yfqw4L+P7j+VM7YBJm&#13;&#10;YWJlZYAkRlDA/WX4/ekjw7fnT3+yCApX8aXkdePOTHOmyP/48aX335dvNoz//4kA&#13;&#10;XfP3PyPTGwZuriOcHNxlnCk5DxmoCQCxnyWQLkoHoQAAAABJRU5ErkJggg==" height="16" preserveAspectRatio="none"/>
<rect x="20" width="40" height="18" y="0" clip-path="url(#clipPath19)" stroke="none"/>
<text fill="rgb(187,187,187)" x="21" xml:space="preserve" y="13" clip-path="url(#clipPath19)" stroke="none">notify()</text>
</g>
<g fill="rgb(60,63,65)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(1,264)" stroke="rgb(60,63,65)">
<rect x="0" width="192" height="20" y="0" clip-path="url(#clipPath7)" stroke="none"/>
</g>
<g fill="rgb(60,63,65)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(3,265)" stroke="rgb(60,63,65)">
<rect x="0" width="20" height="18" y="0" clip-path="url(#clipPath21)" stroke="none"/>
<image x="2" y="1" clip-path="url(#clipPath21)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACAklEQVR42mNgoBAw&#13;&#10;ogt8X7tW/uePD73/v32zAXKFocKvGbk4D7FzCJZzBgc/xGnAp1ULS/99/NDELirG&#13;&#10;wcovwMDIxAQW///vH8Pvjx8Yfrx+9ZOZX6CWLyy+G6aHGaF5fum/T587eZSUWVm4&#13;&#10;uBgYGRFmg9jMHJwMbAKCLD9fvnCpign71r564zGQHNiKD6sWKf59976ZR16BEawR&#13;&#10;aCM2DJIDqQGp/bB2qRLcAIbv39o5hEXYwZb++4sXg9SA1DJ8/dQF0soC9uOXL3as&#13;&#10;4uJgW3Zcusaw/sxFuPN9DXUZNp+/DGf7GOowsPLyMvx49cIG4YK/f0QZ//8H0n8h&#13;&#10;zgWCmfFhDMm2FmDNyGyQGrDaP39FEC4AavoP1fgfJAnEYLH//7CyweqARiFcwMjw&#13;&#10;+v+f3xB//ocowMcGq2X4/w5hAAfXod8fPkBD+z/EfFjoY2GD1DJycB2Fe4GJh6/q&#13;&#10;x7OHAaxcXOweGsoMIAzyq5msFINZuB8K+/+vX6AA/MkkJV8GT0gd6za+r44I/vnz&#13;&#10;xUsXNh4eSFqAhgUy/v/nD8OXR4/+swgJVfHHZ2xFSYntm7Yfqw4L+P7j+VM7YBJm&#13;&#10;YWJlZYAkRlDA/WX4/ekjw7fnT3+yCApX8aXkdePOTHOmyP/48aX335dvNoz//4kA&#13;&#10;XfP3PyPTGwZuriOcHNxlnCk5DxmoCQCxnyWQLkoHoQAAAABJRU5ErkJggg==" height="16" preserveAspectRatio="none"/>
<rect x="20" width="98" height="18" y="0" clip-path="url(#clipPath21)" stroke="none"/>
<text fill="rgb(187,187,187)" x="21" xml:space="preserve" y="13" clip-path="url(#clipPath21)" stroke="none">__set(name, value)</text>
</g>
<g fill="rgb(60,63,65)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(1,138)" stroke="rgb(60,63,65)">
<rect x="0" width="192" height="25" y="0" clip-path="url(#clipPath22)" stroke="none"/>
</g>
<g fill="url(#linearGradient1)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(1,138)" stroke="url(#linearGradient1)">
<rect x="0" width="192" height="25" y="0" clip-path="url(#clipPath22)" stroke="none"/>
<rect x="0" y="24" clip-path="url(#clipPath22)" fill="rgb(90,90,90)" width="192" height="25" stroke="none"/>
</g>
<g fill="rgb(187,187,187)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(4,141)" stroke="rgb(187,187,187)">
<image x="2" y="1" clip-path="url(#clipPath24)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACKklEQVR42mNgoBAw&#13;&#10;ogssuvhB8cvPX5M+//hj8f8/oyBYEeP/dzycrEd52ViL4vQF7uM0YO7ZV1WvPv+p&#13;&#10;lxTkZBPkZmNgZoJI//33n+H9118Mz99//yXGy9KYbCzWBtPDDGPMBmp+8/Vvq4YU&#13;&#10;PzM3OwvQVkaG/0Dx/2AXMDJwsrEwCPOyMz9698M5PKf89+ZZ3YdB+phAxILLL5Vf&#13;&#10;fP5dryrJx8AItPUfUAwbBsmB1IDULr7ySgWklwVEfPrK0CPGx8kG8tFfoMqf378y&#13;&#10;7FsyjeHWqYNw7+XP3gL3NUjt28+/+oEcX7ABH77/sVYX4Gb49/8/WMmu+RMYpFS1&#13;&#10;GdxTSuAGwORAQICLjeHFh+8WcC/8/vNf6D/Qn3+BakD40bXzDDoO3nA+Ogap/f33&#13;&#10;vxDcCzAJGPj98wdE4X+8KeAv3AVMzIzvgCbCDZLRMmS4cXwfThf8htj2Ee4CHg7m&#13;&#10;o2+//AgQ4uUAm20bV8hwePFEhsNLJsPtS5y2Cc5+9+UHAzcX0wm4AbwcTKUPX333&#13;&#10;4uVkZwMlHnYeAQaXzHoUB//7xwBPVC/fff8lL8ZeCE9I22Z1vwvMKf/3+O0PZz5u&#13;&#10;dlDKgSciZPwHqPnei08MYvwsdQVm4htRUuKuuT2H/TPL/j5+/dUGmGCY2ViYwAn9&#13;&#10;Pzwp/2R48vrzLwkB1roSS4k2nJlp8skXiu+//5306fs/yz///wsyMTL+ZWZkeM/L&#13;&#10;yXxckIOpMNdc4j4DNQEAbyj/ikXNHnwAAAAASUVORK5CYII=" height="16" preserveAspectRatio="none"/>
</g>
<g font-size="11" transform="matrix(1,0,0,1,20,20) translate(4,141)" fill-opacity="0.1961" fill="rgb(0,0,0)" font-family="'Tahoma'" stroke="rgb(0,0,0)" stroke-opacity="0.1961">
<text x="21" xml:space="preserve" y="14" clip-path="url(#clipPath24)" stroke="none">User</text>
</g>
<g fill="rgb(187,187,187)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(4,141)" stroke="rgb(187,187,187)">
<text x="21" xml:space="preserve" y="13" clip-path="url(#clipPath24)" stroke="none">User</text>
</g>
<g fill="rgb(120,120,120)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(231,0)" stroke="rgb(120,120,120)">
<path d="M0 0 L149 0 L149 47 L0 47 L0 0 ZM1 1 L148 1 L148 46 L1 46 L1 1 Z" clip-path="url(#clipPath26)" fill-rule="evenodd" stroke="none"/>
</g>
<g fill="rgb(60,63,65)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(232,1)" stroke="rgb(60,63,65)">
<rect x="0" width="147" height="45" y="0" clip-path="url(#clipPath27)" stroke="none"/>
</g>
<g fill="rgb(60,63,65)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(232,26)" stroke="rgb(60,63,65)">
<rect x="0" width="147" height="20" y="0" clip-path="url(#clipPath28)" stroke="none"/>
</g>
<g fill="rgb(60,63,65)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(232,26)" stroke="rgb(60,63,65)">
<rect x="0" width="147" height="20" y="0" clip-path="url(#clipPath28)" stroke="none"/>
</g>
<g fill="rgb(60,63,65)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(234,27)" stroke="rgb(60,63,65)">
<rect x="0" width="20" height="18" y="0" clip-path="url(#clipPath29)" stroke="none"/>
<image x="2" y="1" clip-path="url(#clipPath29)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACAklEQVR42mNgoBAw&#13;&#10;ogt8X7tW/uePD73/v32zAXKFocKvGbk4D7FzCJZzBgc/xGnAp1ULS/99/NDELirG&#13;&#10;wcovwMDIxAQW///vH8Pvjx8Yfrx+9ZOZX6CWLyy+G6aHGaF5fum/T587eZSUWVm4&#13;&#10;uBgYGRFmg9jMHJwMbAKCLD9fvnCpign71r564zGQHNiKD6sWKf59976ZR16BEawR&#13;&#10;aCM2DJIDqQGp/bB2qRLcAIbv39o5hEXYwZb++4sXg9SA1DJ8/dQF0soC9uOXL3as&#13;&#10;4uJgW3Zcusaw/sxFuPN9DXUZNp+/DGf7GOowsPLyMvx49cIG4YK/f0QZ//8H0n8h&#13;&#10;zgWCmfFhDMm2FmDNyGyQGrDaP39FEC4AavoP1fgfJAnEYLH//7CyweqARiFcwMjw&#13;&#10;+v+f3xB//ocowMcGq2X4/w5hAAfXod8fPkBD+z/EfFjoY2GD1DJycB2Fe4GJh6/q&#13;&#10;x7OHAaxcXOweGsoMIAzyq5msFINZuB8K+/+vX6AA/MkkJV8GT0gd6za+r44I/vnz&#13;&#10;xUsXNh4eSFqAhgUy/v/nD8OXR4/+swgJVfHHZ2xFSYntm7Yfqw4L+P7j+VM7YBJm&#13;&#10;YWJlZYAkRlDA/WX4/ekjw7fnT3+yCApX8aXkdePOTHOmyP/48aX335dvNoz//4kA&#13;&#10;XfP3PyPTGwZuriOcHNxlnCk5DxmoCQCxnyWQLkoHoQAAAABJRU5ErkJggg==" height="16" preserveAspectRatio="none"/>
<rect x="20" width="81" height="18" y="0" clip-path="url(#clipPath29)" stroke="none"/>
<text fill="rgb(187,187,187)" x="21" xml:space="preserve" y="13" clip-path="url(#clipPath29)" stroke="none">update(subject)</text>
</g>
<g fill="rgb(60,63,65)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(232,1)" stroke="rgb(60,63,65)">
<rect x="0" width="147" height="25" y="0" clip-path="url(#clipPath30)" stroke="none"/>
</g>
<g fill="url(#linearGradient2)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(232,1)" stroke="url(#linearGradient2)">
<rect x="0" width="147" height="25" y="0" clip-path="url(#clipPath30)" stroke="none"/>
<rect x="0" y="24" clip-path="url(#clipPath30)" fill="rgb(90,90,90)" width="147" height="25" stroke="none"/>
</g>
<g fill="rgb(187,187,187)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(235,4)" stroke="rgb(187,187,187)">
<image x="2" y="1" clip-path="url(#clipPath32)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACKklEQVR42mNgoBAw&#13;&#10;ogssuvhB8cvPX5M+//hj8f8/oyBYEeP/dzycrEd52ViL4vQF7uM0YO7ZV1WvPv+p&#13;&#10;lxTkZBPkZmNgZoJI//33n+H9118Mz99//yXGy9KYbCzWBtPDDGPMBmp+8/Vvq4YU&#13;&#10;PzM3OwvQVkaG/0Dx/2AXMDJwsrEwCPOyMz9698M5PKf89+ZZ3YdB+phAxILLL5Vf&#13;&#10;fP5dryrJx8AItPUfUAwbBsmB1IDULr7ySgWklwVEfPrK0CPGx8kG8tFfoMqf378y&#13;&#10;7FsyjeHWqYNw7+XP3gL3NUjt28+/+oEcX7ABH77/sVYX4Gb49/8/WMmu+RMYpFS1&#13;&#10;GdxTSuAGwORAQICLjeHFh+8WcC/8/vNf6D/Qn3+BakD40bXzDDoO3nA+Ogap/f33&#13;&#10;vxDcCzAJGPj98wdE4X+8KeAv3AVMzIzvgCbCDZLRMmS4cXwfThf8htj2Ee4CHg7m&#13;&#10;o2+//AgQ4uUAm20bV8hwePFEhsNLJsPtS5y2Cc5+9+UHAzcX0wm4AbwcTKUPX333&#13;&#10;4uVkZwMlHnYeAQaXzHoUB//7xwBPVC/fff8lL8ZeCE9I22Z1vwvMKf/3+O0PZz5u&#13;&#10;dlDKgSciZPwHqPnei08MYvwsdQVm4htRUuKuuT2H/TPL/j5+/dUGmGCY2ViYwAn9&#13;&#10;Pzwp/2R48vrzLwkB1roSS4k2nJlp8skXiu+//5306fs/yz///wsyMTL+ZWZkeM/L&#13;&#10;yXxckIOpMNdc4j4DNQEAbyj/ikXNHnwAAAAASUVORK5CYII=" height="16" preserveAspectRatio="none"/>
</g>
<g font-size="11" transform="matrix(1,0,0,1,20,20) translate(235,4)" fill-opacity="0.1961" fill="rgb(0,0,0)" font-family="'Tahoma'" stroke="rgb(0,0,0)" stroke-opacity="0.1961">
<text x="21" xml:space="preserve" y="14" clip-path="url(#clipPath32)" stroke="none">UserObserver</text>
</g>
<g fill="rgb(187,187,187)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(235,4)" stroke="rgb(187,187,187)">
<text x="21" xml:space="preserve" y="13" clip-path="url(#clipPath32)" stroke="none">UserObserver</text>
</g>
<g fill="rgb(120,120,120)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20)" stroke="rgb(120,120,120)">
<path d="M0 0 L194 0 L194 87 L0 87 L0 0 ZM1 1 L193 1 L193 86 L1 86 L1 1 Z" clip-path="url(#clipPath33)" fill-rule="evenodd" stroke="none"/>
</g>
<g fill="rgb(60,63,65)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(1,1)" stroke="rgb(60,63,65)">
<rect x="0" width="192" height="85" y="0" clip-path="url(#clipPath34)" stroke="none"/>
</g>
<g fill="rgb(73,69,57)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(1,26)" stroke="rgb(73,69,57)">
<rect x="0" width="192" height="60" y="0" clip-path="url(#clipPath35)" stroke="none"/>
</g>
<g fill="rgb(73,69,57)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(1,26)" stroke="rgb(73,69,57)">
<rect x="0" width="192" height="20" y="0" clip-path="url(#clipPath7)" stroke="none"/>
</g>
<g fill="rgb(73,69,57)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(3,27)" stroke="rgb(73,69,57)">
<rect x="0" width="20" height="18" y="0" clip-path="url(#clipPath15)" stroke="none"/>
<image x="2" y="1" clip-path="url(#clipPath15)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACAklEQVR42mNgoBAw&#13;&#10;ogt8X7tW/uePD73/v32zAXKFocKvGbk4D7FzCJZzBgc/xGnAp1ULS/99/NDELirG&#13;&#10;wcovwMDIxAQW///vH8Pvjx8Yfrx+9ZOZX6CWLyy+G6aHGaF5fum/T587eZSUWVm4&#13;&#10;uBgYGRFmg9jMHJwMbAKCLD9fvnCpign71r564zGQHNiKD6sWKf59976ZR16BEawR&#13;&#10;aCM2DJIDqQGp/bB2qRLcAIbv39o5hEXYwZb++4sXg9SA1DJ8/dQF0soC9uOXL3as&#13;&#10;4uJgW3Zcusaw/sxFuPN9DXUZNp+/DGf7GOowsPLyMvx49cIG4YK/f0QZ//8H0n8h&#13;&#10;zgWCmfFhDMm2FmDNyGyQGrDaP39FEC4AavoP1fgfJAnEYLH//7CyweqARiFcwMjw&#13;&#10;+v+f3xB//ocowMcGq2X4/w5hAAfXod8fPkBD+z/EfFjoY2GD1DJycB2Fe4GJh6/q&#13;&#10;x7OHAaxcXOweGsoMIAzyq5msFINZuB8K+/+vX6AA/MkkJV8GT0gd6za+r44I/vnz&#13;&#10;xUsXNh4eSFqAhgUy/v/nD8OXR4/+swgJVfHHZ2xFSYntm7Yfqw4L+P7j+VM7YBJm&#13;&#10;YWJlZYAkRlDA/WX4/ekjw7fnT3+yCApX8aXkdePOTHOmyP/48aX335dvNoz//4kA&#13;&#10;XfP3PyPTGwZuriOcHNxlnCk5DxmoCQCxnyWQLkoHoQAAAABJRU5ErkJggg==" height="16" preserveAspectRatio="none"/>
<rect x="20" width="86" height="18" y="0" clip-path="url(#clipPath15)" stroke="none"/>
<text fill="rgb(187,187,187)" x="21" xml:space="preserve" y="13" clip-path="url(#clipPath15)" stroke="none">attach(observer)</text>
</g>
<g fill="rgb(73,69,57)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(1,46)" stroke="rgb(73,69,57)">
<rect x="0" width="192" height="20" y="0" clip-path="url(#clipPath7)" stroke="none"/>
</g>
<g fill="rgb(73,69,57)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(3,47)" stroke="rgb(73,69,57)">
<rect x="0" width="20" height="18" y="0" clip-path="url(#clipPath17)" stroke="none"/>
<image x="2" y="1" clip-path="url(#clipPath17)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACAklEQVR42mNgoBAw&#13;&#10;ogt8X7tW/uePD73/v32zAXKFocKvGbk4D7FzCJZzBgc/xGnAp1ULS/99/NDELirG&#13;&#10;wcovwMDIxAQW///vH8Pvjx8Yfrx+9ZOZX6CWLyy+G6aHGaF5fum/T587eZSUWVm4&#13;&#10;uBgYGRFmg9jMHJwMbAKCLD9fvnCpign71r564zGQHNiKD6sWKf59976ZR16BEawR&#13;&#10;aCM2DJIDqQGp/bB2qRLcAIbv39o5hEXYwZb++4sXg9SA1DJ8/dQF0soC9uOXL3as&#13;&#10;4uJgW3Zcusaw/sxFuPN9DXUZNp+/DGf7GOowsPLyMvx49cIG4YK/f0QZ//8H0n8h&#13;&#10;zgWCmfFhDMm2FmDNyGyQGrDaP39FEC4AavoP1fgfJAnEYLH//7CyweqARiFcwMjw&#13;&#10;+v+f3xB//ocowMcGq2X4/w5hAAfXod8fPkBD+z/EfFjoY2GD1DJycB2Fe4GJh6/q&#13;&#10;x7OHAaxcXOweGsoMIAzyq5msFINZuB8K+/+vX6AA/MkkJV8GT0gd6za+r44I/vnz&#13;&#10;xUsXNh4eSFqAhgUy/v/nD8OXR4/+swgJVfHHZ2xFSYntm7Yfqw4L+P7j+VM7YBJm&#13;&#10;YWJlZYAkRlDA/WX4/ekjw7fnT3+yCApX8aXkdePOTHOmyP/48aX335dvNoz//4kA&#13;&#10;XfP3PyPTGwZuriOcHNxlnCk5DxmoCQCxnyWQLkoHoQAAAABJRU5ErkJggg==" height="16" preserveAspectRatio="none"/>
<rect x="20" width="88" height="18" y="0" clip-path="url(#clipPath17)" stroke="none"/>
<text fill="rgb(187,187,187)" x="21" xml:space="preserve" y="13" clip-path="url(#clipPath17)" stroke="none">detach(observer)</text>
</g>
<g fill="rgb(73,69,57)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(1,66)" stroke="rgb(73,69,57)">
<rect x="0" width="192" height="20" y="0" clip-path="url(#clipPath7)" stroke="none"/>
</g>
<g fill="rgb(73,69,57)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(3,67)" stroke="rgb(73,69,57)">
<rect x="0" width="20" height="18" y="0" clip-path="url(#clipPath19)" stroke="none"/>
<image x="2" y="1" clip-path="url(#clipPath19)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACAklEQVR42mNgoBAw&#13;&#10;ogt8X7tW/uePD73/v32zAXKFocKvGbk4D7FzCJZzBgc/xGnAp1ULS/99/NDELirG&#13;&#10;wcovwMDIxAQW///vH8Pvjx8Yfrx+9ZOZX6CWLyy+G6aHGaF5fum/T587eZSUWVm4&#13;&#10;uBgYGRFmg9jMHJwMbAKCLD9fvnCpign71r564zGQHNiKD6sWKf59976ZR16BEawR&#13;&#10;aCM2DJIDqQGp/bB2qRLcAIbv39o5hEXYwZb++4sXg9SA1DJ8/dQF0soC9uOXL3as&#13;&#10;4uJgW3Zcusaw/sxFuPN9DXUZNp+/DGf7GOowsPLyMvx49cIG4YK/f0QZ//8H0n8h&#13;&#10;zgWCmfFhDMm2FmDNyGyQGrDaP39FEC4AavoP1fgfJAnEYLH//7CyweqARiFcwMjw&#13;&#10;+v+f3xB//ocowMcGq2X4/w5hAAfXod8fPkBD+z/EfFjoY2GD1DJycB2Fe4GJh6/q&#13;&#10;x7OHAaxcXOweGsoMIAzyq5msFINZuB8K+/+vX6AA/MkkJV8GT0gd6za+r44I/vnz&#13;&#10;xUsXNh4eSFqAhgUy/v/nD8OXR4/+swgJVfHHZ2xFSYntm7Yfqw4L+P7j+VM7YBJm&#13;&#10;YWJlZYAkRlDA/WX4/ekjw7fnT3+yCApX8aXkdePOTHOmyP/48aX335dvNoz//4kA&#13;&#10;XfP3PyPTGwZuriOcHNxlnCk5DxmoCQCxnyWQLkoHoQAAAABJRU5ErkJggg==" height="16" preserveAspectRatio="none"/>
<rect x="20" width="40" height="18" y="0" clip-path="url(#clipPath19)" stroke="none"/>
<text fill="rgb(187,187,187)" x="21" xml:space="preserve" y="13" clip-path="url(#clipPath19)" stroke="none">notify()</text>
</g>
<g fill="rgb(60,63,65)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(1,1)" stroke="rgb(60,63,65)">
<rect x="0" width="192" height="25" y="0" clip-path="url(#clipPath22)" stroke="none"/>
</g>
<g fill="url(#linearGradient3)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(1,1)" stroke="url(#linearGradient3)">
<rect x="0" width="192" height="25" y="0" clip-path="url(#clipPath22)" stroke="none"/>
<rect x="0" y="24" clip-path="url(#clipPath22)" fill="rgb(90,90,90)" width="192" height="25" stroke="none"/>
</g>
<g fill="rgb(187,187,187)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(4,4)" stroke="rgb(187,187,187)">
<image x="2" y="1" clip-path="url(#clipPath24)" width="16" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACKklEQVR42mNgoBAw&#13;&#10;ogssuvhB8cvPX5M+//hj8f8/oyBYEeP/dzycrEd52ViL4vQF7uM0YO7ZV1WvPv+p&#13;&#10;lxTkZBPkZmNgZoJI//33n+H9118Mz99//yXGy9KYbCzWBtPDDGPMBmp+8/Vvq4YU&#13;&#10;PzM3OwvQVkaG/0Dx/2AXMDJwsrEwCPOyMz9698M5PKf89+ZZ3YdB+phAxILLL5Vf&#13;&#10;fP5dryrJx8AItPUfUAwbBsmB1IDULr7ySgWklwVEfPrK0CPGx8kG8tFfoMqf378y&#13;&#10;7FsyjeHWqYNw7+XP3gL3NUjt28+/+oEcX7ABH77/sVYX4Gb49/8/WMmu+RMYpFS1&#13;&#10;GdxTSuAGwORAQICLjeHFh+8WcC/8/vNf6D/Qn3+BakD40bXzDDoO3nA+Ogap/f33&#13;&#10;vxDcCzAJGPj98wdE4X+8KeAv3AVMzIzvgCbCDZLRMmS4cXwfThf8htj2Ee4CHg7m&#13;&#10;o2+//AgQ4uUAm20bV8hwePFEhsNLJsPtS5y2Cc5+9+UHAzcX0wm4AbwcTKUPX333&#13;&#10;4uVkZwMlHnYeAQaXzHoUB//7xwBPVC/fff8lL8ZeCE9I22Z1vwvMKf/3+O0PZz5u&#13;&#10;dlDKgSciZPwHqPnei08MYvwsdQVm4htRUuKuuT2H/TPL/j5+/dUGmGCY2ViYwAn9&#13;&#10;Pzwp/2R48vrzLwkB1roSS4k2nJlp8skXiu+//5306fs/yz///wsyMTL+ZWZkeM/L&#13;&#10;yXxckIOpMNdc4j4DNQEAbyj/ikXNHnwAAAAASUVORK5CYII=" height="16" preserveAspectRatio="none"/>
</g>
<g font-size="11" transform="matrix(1,0,0,1,20,20) translate(4,4)" fill-opacity="0.1961" fill="rgb(0,0,0)" font-family="'Tahoma'" stroke="rgb(0,0,0)" stroke-opacity="0.1961">
<text x="21" xml:space="preserve" y="14" clip-path="url(#clipPath24)" stroke="none">SplSubject</text>
</g>
<g fill="rgb(187,187,187)" font-size="11" font-family="'Tahoma'" transform="matrix(1,0,0,1,20,20) translate(4,4)" stroke="rgb(187,187,187)">
<text x="21" xml:space="preserve" y="13" clip-path="url(#clipPath24)" stroke="none">SplSubject</text>
</g>
<g fill="rgb(96,147,80)" stroke-dasharray="6,2" stroke-miterlimit="1.45" transform="matrix(1,0,0,1,20,20)" stroke-linecap="butt" stroke="rgb(96,147,80)">
<path fill="none" d="M97 136.9512 L97 98.0488" clip-path="url(#clipPath2)"/>
</g>
<g fill="rgb(96,147,80)" stroke-dasharray="6,2" stroke-miterlimit="1.45" transform="matrix(1,0,0,1,20,20)" stroke-linecap="butt" stroke="rgb(96,147,80)">
<path d="M97 87.0488 L91 99.0488 L103 99.0488 Z" clip-path="url(#clipPath2)" stroke="none"/>
</g>
</g>
</svg>