From 2f034de1440182a93de48b5570c02bda4695a37b Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Thu, 5 Nov 2009 17:01:32 +0100 Subject: [PATCH 1/1] Prednaska o tridicich sitich a paralelnim scitani. --- 5-addsort/1_9_deleni_bloku.eps | 3225 ++++++++++++++++++++++++++ 5-addsort/5-addsort.tex | 262 +++ 5-addsort/Makefile | 3 + 5-addsort/blok_scitani.eps | 1673 +++++++++++++ 5-addsort/blok_scitani.svg | 306 +++ 5-addsort/bloky_1bit.eps | 297 +++ 5-addsort/bloky_1bit.svg | 226 ++ 5-addsort/hloupe_scitani.eps | 811 +++++++ 5-addsort/hloupe_scitani.svg | 444 ++++ 5-addsort/sortnet.0 | 65 + 5-addsort/sortnet.1 | 111 + 5-addsort/sortnet.2 | 103 + 5-addsort/sortnet.3 | 105 + 5-addsort/sortnet.4 | 182 ++ 5-addsort/sortnet.5 | 232 ++ 5-addsort/sortnet.6 | 212 ++ 5-addsort/sortnet.7 | 106 + 5-addsort/sortnet.mp | 675 ++++++ 5-addsort/sortnet.mpx | 548 +++++ 5-addsort/tabulka_skladani_bloku.eps | 913 ++++++++ 5-addsort/tabulka_skladani_bloku.svg | 237 ++ 21 files changed, 10736 insertions(+) create mode 100644 5-addsort/1_9_deleni_bloku.eps create mode 100644 5-addsort/5-addsort.tex create mode 100644 5-addsort/Makefile create mode 100644 5-addsort/blok_scitani.eps create mode 100644 5-addsort/blok_scitani.svg create mode 100644 5-addsort/bloky_1bit.eps create mode 100644 5-addsort/bloky_1bit.svg create mode 100644 5-addsort/hloupe_scitani.eps create mode 100644 5-addsort/hloupe_scitani.svg create mode 100644 5-addsort/sortnet.0 create mode 100644 5-addsort/sortnet.1 create mode 100644 5-addsort/sortnet.2 create mode 100644 5-addsort/sortnet.3 create mode 100644 5-addsort/sortnet.4 create mode 100644 5-addsort/sortnet.5 create mode 100644 5-addsort/sortnet.6 create mode 100644 5-addsort/sortnet.7 create mode 100644 5-addsort/sortnet.mp create mode 100644 5-addsort/sortnet.mpx create mode 100644 5-addsort/tabulka_skladani_bloku.eps create mode 100644 5-addsort/tabulka_skladani_bloku.svg diff --git a/5-addsort/1_9_deleni_bloku.eps b/5-addsort/1_9_deleni_bloku.eps new file mode 100644 index 0000000..2c96b1c --- /dev/null +++ b/5-addsort/1_9_deleni_bloku.eps @@ -0,0 +1,3225 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: Mayura Draw, Version 4.3 +%%Title: 1_9_deleni_bloku.ai +%%CreationDate: Mon Oct 29 23:24:27 2007 +%%BoundingBox: -9 -9 276 157 +%%EndComments +%%BeginProlog +%%BeginResource: procset MayuraDraw_ops +%%Version: 4.3 +%%Copyright: (c) 1993-2003 Mayura Software +/PDXDict 100 dict def +PDXDict begin +% width height matrix proc key cache +% definepattern -\> font +/definepattern { %def + 7 dict begin + /FontDict 9 dict def + FontDict begin + /cache exch def + /key exch def + /proc exch cvx def + /mtx exch matrix invertmatrix def + /height exch def + /width exch def + /ctm matrix currentmatrix def + /ptm matrix identmatrix def + /str + (xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx) + def + end + /FontBBox [ %def + 0 0 FontDict /width get + FontDict /height get + ] def + /FontMatrix FontDict /mtx get def + /Encoding StandardEncoding def + /FontType 3 def + /BuildChar { %def + pop begin + FontDict begin + width 0 cache { %ifelse + 0 0 width height setcachedevice + }{ %else + setcharwidth + } ifelse + 0 0 moveto width 0 lineto + width height lineto 0 height lineto + closepath clip newpath + gsave proc grestore + end end + } def + FontDict /key get currentdict definefont + end +} bind def + +% dict patternpath - +% dict matrix patternpath - +/patternpath { %def + dup type /dicttype eq { %ifelse + begin FontDict /ctm get setmatrix + }{ %else + exch begin FontDict /ctm get setmatrix + concat + } ifelse + currentdict setfont + FontDict begin + FontMatrix concat + width 0 dtransform + round width div exch round width div exch + 0 height dtransform + round height div exch + round height div exch + 0 0 transform round exch round exch + ptm astore setmatrix + + pathbbox + height div ceiling height mul 4 1 roll + width div ceiling width mul 4 1 roll + height div floor height mul 4 1 roll + width div floor width mul 4 1 roll + + 2 index sub height div ceiling cvi exch + 3 index sub width div ceiling cvi exch + 4 2 roll moveto + + FontMatrix ptm invertmatrix pop + { %repeat + gsave + ptm concat + dup str length idiv { %repeat + str show + } repeat + dup str length mod str exch + 0 exch getinterval show + grestore + 0 height rmoveto + } repeat + pop + end end +} bind def + +% dict patternfill - +% dict matrix patternfill - +/patternfill { %def + gsave + eoclip patternpath + grestore + newpath +} bind def + +/img { %def + gsave + /imgh exch def + /imgw exch def + concat + imgw imgh 8 + [imgw 0 0 imgh neg 0 imgh] + /colorstr 768 string def + /colorimage where { + pop + { currentfile colorstr readhexstring pop } + false 3 colorimage + }{ + /graystr 256 string def + { + currentfile colorstr readhexstring pop + length 3 idiv + dup 1 sub 0 1 3 -1 roll + { + graystr exch + colorstr 1 index 3 mul get 30 mul + colorstr 2 index 3 mul 1 add get 59 mul + colorstr 3 index 3 mul 2 add get 11 mul + add add 100 idiv + put + } for + graystr 0 3 -1 roll getinterval + } image + } ifelse + grestore +} bind def + +/arrowhead { + gsave + [] 0 setdash + strokeC strokeM strokeY strokeK setcmykcolor + 2 copy moveto + 4 2 roll exch 4 -1 roll exch + sub 3 1 roll sub + exch atan rotate dup scale + arrowtype + dup 0 eq { + -1 2 rlineto 7 -2 rlineto -7 -2 rlineto + closepath fill + } if + dup 1 eq { + 0 3 rlineto 9 -3 rlineto -9 -3 rlineto + closepath fill + } if + dup 2 eq { + -6 -6 rmoveto 6 6 rlineto -6 6 rlineto + -1.4142 -1.4142 rlineto 4.5858 -4.5858 rlineto + -4.5858 -4.5858 rlineto closepath fill + } if + dup 3 eq { + -6 0 rmoveto -1 2 rlineto 7 -2 rlineto -7 -2 rlineto + closepath fill + } if + dup 4 eq { + -9 0 rmoveto 0 3 rlineto 9 -3 rlineto -9 -3 rlineto + closepath fill + } if + dup 5 eq { + currentpoint newpath 3 0 360 arc + closepath fill + } if + dup 6 eq { + 2.5 2.5 rmoveto 0 -5 rlineto -5 0 rlineto 0 5 rlineto + closepath fill + } if + pop + grestore +} bind def + +/setcmykcolor where { %ifelse + pop +}{ %else + /setcmykcolor { + /black exch def /yellow exch def + /magenta exch def /cyan exch def + cyan black add dup 1 gt { pop 1 } if 1 exch sub + magenta black add dup 1 gt { pop 1 } if 1 exch sub + yellow black add dup 1 gt { pop 1 } if 1 exch sub + setrgbcolor + } bind def +} ifelse + +/RE { %def + findfont begin + currentdict dup length dict begin + { %forall + 1 index /FID ne { def } { pop pop } ifelse + } forall + /FontName exch def dup length 0 ne { %if + /Encoding Encoding 256 array copy def + 0 exch { %forall + dup type /nametype eq { %ifelse + Encoding 2 index 2 index put + pop 1 add + }{ %else + exch pop + } ifelse + } forall + } if pop + currentdict dup end end + /FontName get exch definefont pop +} bind def + +/spacecount { %def + 0 exch + ( ) { %loop + search { %ifelse + pop 3 -1 roll 1 add 3 1 roll + }{ pop exit } ifelse + } loop +} bind def + +/WinAnsiEncoding [ + 39/quotesingle 96/grave 130/quotesinglbase/florin/quotedblbase + /ellipsis/dagger/daggerdbl/circumflex/perthousand + /Scaron/guilsinglleft/OE 145/quoteleft/quoteright + /quotedblleft/quotedblright/bullet/endash/emdash + /tilde/trademark/scaron/guilsinglright/oe/dotlessi + 159/Ydieresis 164/currency 166/brokenbar 168/dieresis/copyright + /ordfeminine 172/logicalnot 174/registered/macron/ring + 177/plusminus/twosuperior/threesuperior/acute/mu + 183/periodcentered/cedilla/onesuperior/ordmasculine + 188/onequarter/onehalf/threequarters 192/Agrave/Aacute + /Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla + /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute + /Icircumflex/Idieresis/Eth/Ntilde/Ograve/Oacute + /Ocircumflex/Otilde/Odieresis/multiply/Oslash + /Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn + /germandbls/agrave/aacute/acircumflex/atilde/adieresis + /aring/ae/ccedilla/egrave/eacute/ecircumflex + /edieresis/igrave/iacute/icircumflex/idieresis + /eth/ntilde/ograve/oacute/ocircumflex/otilde + /odieresis/divide/oslash/ugrave/uacute/ucircumflex + /udieresis/yacute/thorn/ydieresis +] def + +/SymbolEncoding [ + 32/space/exclam/universal/numbersign/existential/percent + /ampersand/suchthat/parenleft/parenright/asteriskmath/plus + /comma/minus/period/slash/zero/one/two/three/four/five/six + /seven/eight/nine/colon/semicolon/less/equal/greater/question + /congruent/Alpha/Beta/Chi/Delta/Epsilon/Phi/Gamma/Eta/Iota + /theta1/Kappa/Lambda/Mu/Nu/Omicron/Pi/Theta/Rho/Sigma/Tau + /Upsilon/sigma1/Omega/Xi/Psi/Zeta/bracketleft/therefore + /bracketright/perpendicular/underscore/radicalex/alpha + /beta/chi/delta/epsilon/phi/gamma/eta/iota/phi1/kappa/lambda + /mu/nu/omicron/pi/theta/rho/sigma/tau/upsilon/omega1/omega + /xi/psi/zeta/braceleft/bar/braceright/similar + 161/Upsilon1/minute/lessequal/fraction/infinity/florin/club + /diamond/heart/spade/arrowboth/arrowleft/arrowup/arrowright + /arrowdown/degree/plusminus/second/greaterequal/multiply + /proportional/partialdiff/bullet/divide/notequal/equivalence + /approxequal/ellipsis/arrowvertex/arrowhorizex/carriagereturn + /aleph/Ifraktur/Rfraktur/weierstrass/circlemultiply + /circleplus/emptyset/intersection/union/propersuperset + /reflexsuperset/notsubset/propersubset/reflexsubset/element + /notelement/angle/gradient/registerserif/copyrightserif + /trademarkserif/product/radical/dotmath/logicalnot/logicaland + /logicalor/arrowdblboth/arrowdblleft/arrowdblup/arrowdblright + /arrowdbldown/lozenge/angleleft/registersans/copyrightsans + /trademarksans/summation/parenlefttp/parenleftex/parenleftbt + /bracketlefttp/bracketleftex/bracketleftbt/bracelefttp + /braceleftmid/braceleftbt/braceex + 241/angleright/integral/integraltp/integralex/integralbt + /parenrighttp/parenrightex/parenrightbt/bracketrighttp + /bracketrightex/bracketrightbt/bracerighttp/bracerightmid + /bracerightbt +] def + +/patarray [ +/leftdiagonal /rightdiagonal /crossdiagonal /horizontal +/vertical /crosshatch /fishscale /wave /brick +] def +/arrowtype 0 def +/fillC 0 def /fillM 0 def /fillY 0 def /fillK 0 def +/strokeC 0 def /strokeM 0 def /strokeY 0 def /strokeK 1 def +/pattern -1 def +/mat matrix def +/mat2 matrix def +/nesting 0 def +/deferred /N def +/c /curveto load def +/c2 { pop pop c } bind def +/C /curveto load def +/C2 { pop pop C } bind def +/e { gsave concat 0 0 moveto } bind def +/F { + nesting 0 eq { %ifelse + pattern -1 eq { %ifelse + fillC fillM fillY fillK setcmykcolor eofill + }{ %else + gsave fillC fillM fillY fillK setcmykcolor eofill grestore + 0 0 0 1 setcmykcolor + patarray pattern get findfont patternfill + } ifelse + }{ %else + /deferred /F def + } ifelse +} bind def +/f { closepath F } bind def +/K { /strokeK exch def /strokeY exch def + /strokeM exch def /strokeC exch def } bind def +/k { /fillK exch def /fillY exch def + /fillM exch def /fillC exch def } bind def +/opc { pop } bind def +/Opc { pop } bind def +/L /lineto load def +/L2 { pop pop L } bind def +/m /moveto load def +/m2 { pop pop m } bind def +/n /newpath load def +/N { + nesting 0 eq { %ifelse + newpath + }{ %else + /deferred /N def + } ifelse +} def +/S { + nesting 0 eq { %ifelse + strokeC strokeM strokeY strokeK setcmykcolor stroke + }{ %else + /deferred /S def + } ifelse +} bind def +/s { closepath S } bind def +/Tx { fillC fillM fillY fillK setcmykcolor show + 0 leading neg translate 0 0 moveto } bind def +/T { grestore } bind def +/TX { pop } bind def +/Ts { pop } bind def +/tal { pop } bind def +/tld { pop } bind def +/tbx { pop exch pop sub /jwidth exch def } def +/tpt { %def + fillC fillM fillY fillK setcmykcolor + moveto show +} bind def +/tpj { %def + fillC fillM fillY fillK setcmykcolor + moveto + dup stringwidth pop + 3 -1 roll + exch sub + 1 index spacecount + dup 0 eq { %ifelse + pop pop show + }{ %else + div 0 8#040 4 -1 roll widthshow + } ifelse +} bind def +/u {} def +/U {} def +/*u { /nesting nesting 1 add def } def +/*U { + /nesting nesting 1 sub def + nesting 0 eq { + deferred cvx exec + } if +} def +/w /setlinewidth load def +/d /setdash load def +/B { + nesting 0 eq { %ifelse + gsave F grestore S + }{ %else + /deferred /B def + } ifelse +} bind def +/b { closepath B } bind def +/z { /align exch def pop /leading exch def exch findfont + exch scalefont setfont } bind def +/tfn { exch findfont + exch scalefont setfont } bind def +/Pat { /pattern exch def } bind def +/cm { 6 array astore concat } bind def +/q { mat2 currentmatrix pop } bind def +/Q { mat2 setmatrix } bind def +/Ah { + pop /arrowtype exch def + currentlinewidth 5 1 roll arrowhead +} bind def +/Arc { + mat currentmatrix pop + translate scale 0 0 1 5 -2 roll arc + mat setmatrix +} bind def +/Arc2 { pop pop Arc } bind def +/Bx { + mat currentmatrix pop + concat /y1 exch def /x1 exch def /y2 exch def /x2 exch def + x1 y1 moveto x1 y2 lineto x2 y2 lineto x2 y1 lineto + mat setmatrix +} bind def +/Rr { + mat currentmatrix pop + concat /yrad exch def /xrad exch def + 2 copy gt { exch } if /x2 exch def /x1 exch def + 2 copy gt { exch } if /y2 exch def /y1 exch def + x1 xrad add y2 moveto + matrix currentmatrix x1 xrad add y2 yrad sub translate xrad yrad scale + 0 0 1 90 -180 arc setmatrix + matrix currentmatrix x1 xrad add y1 yrad add translate xrad yrad scale + 0 0 1 180 270 arc setmatrix + matrix currentmatrix x2 xrad sub y1 yrad add translate xrad yrad scale + 0 0 1 270 0 arc setmatrix + matrix currentmatrix x2 xrad sub y2 yrad sub translate xrad yrad scale + 0 0 1 0 90 arc setmatrix + closepath + mat setmatrix +} bind def +/Ov { + mat currentmatrix pop + concat translate scale 1 0 moveto 0 0 1 0 360 arc closepath + mat setmatrix +} bind def +end +%%EndResource +%%EndProlog +%%BeginSetup +%PDX g 3 3 0 0 +PDXDict begin +%%EndSetup +%%Page: 1 1 +%%BeginPageSetup +/_PDX_savepage save def + +15 15 [300 72 div 0 0 300 72 div 0 0] +{ %definepattern + 2 setlinecap + 7.5 0 moveto 15 7.5 lineto + 0 7.5 moveto 7.5 15 lineto + 2 setlinewidth stroke +} bind +/rightdiagonal true definepattern pop + +15 15 [300 72 div 0 0 300 72 div 0 0] +{ %definepattern + 2 setlinecap + 7.5 0 moveto 0 7.5 lineto + 15 7.5 moveto 7.5 15 lineto + 2 setlinewidth stroke +} bind +/leftdiagonal true definepattern pop + +15 15 [300 72 div 0 0 300 72 div 0 0] +{ %definepattern + 2 setlinecap + 0 7.5 moveto 15 7.5 lineto + 2 setlinewidth stroke +} bind +/horizontal true definepattern pop + +15 15 [300 72 div 0 0 300 72 div 0 0] +{ %definepattern + 2 setlinecap + 7.5 0 moveto 7.5 15 lineto + 2 setlinewidth stroke +} bind +/vertical true definepattern pop + +15 15 [300 72 div 0 0 300 72 div 0 0] +{ %definepattern + 2 setlinecap + 0 7.5 moveto 15 7.5 lineto + 7.5 0 moveto 7.5 15 lineto + 2 setlinewidth stroke +} bind +/crosshatch true definepattern pop + +30 30 [300 72 div 0 0 300 72 div 0 0] +{ %definepattern + 2 setlinecap + 0 7.5 moveto 30 7.5 lineto + 0 22.5 moveto 30 22.5 lineto + 7.5 0 moveto 7.5 7.5 lineto + 7.5 22.5 moveto 7.5 30 lineto + 22.5 7.5 moveto 22.5 22.5 lineto + 1 setlinewidth stroke +} bind +/brick true definepattern pop + +30 30 [300 72 div 0 0 300 72 div 0 0] +{ %definepattern + 2 2 scale + 2 setlinecap + 7.5 0 moveto 15 7.5 lineto + 0 7.5 moveto 7.5 15 lineto + 7.5 0 moveto 0 7.5 lineto + 15 7.5 moveto 7.5 15 lineto + 0.5 setlinewidth stroke +} bind +/crossdiagonal true definepattern pop + +30 30 [300 72 div 0 0 300 72 div 0 0] +{ %definepattern + 2 2 scale + 1 setlinecap + 0 7.5 moveto 0 15 7.5 270 360 arc + 7.5 15 moveto 15 15 7.5 180 270 arc + 0 7.5 moveto 7.5 7.5 7.5 180 360 arc + 0.5 setlinewidth stroke +} bind +/fishscale true definepattern pop + +30 30 [300 72 div 0 0 300 72 div 0 0] +{ %definepattern + 1 setlinecap 0.5 setlinewidth + 7.5 0 10.6 135 45 arcn + 22.5 15 10.6 225 315 arc + stroke + 7.5 15 10.6 135 45 arcn + 22.5 30 10.6 225 315 arc + stroke +} bind +/wave true definepattern pop + +newpath 2 setlinecap 0 setlinejoin 2 setmiterlimit +[] 0 setdash +-9 -9 moveto -9 157 lineto 276 157 lineto 276 -9 lineto closepath clip +newpath +%%EndPageSetup +u +1 w +q +1 0 0 1 0 0 cm +111.096 46.7549 m +111.096 147.412 L +Q +S +q +1 0 0 1 0 0 cm +266.179 147.412 m +266.179 46.7549 L +Q +S +q +1 0 0 1 0 0 cm +111.096 46.7549 m +266.179 46.7549 L +Q +S +q +1 0 0 1 0 0 cm +111.096 61.1611 m +266.179 61.1611 L +Q +S +q +1 0 0 1 0 0 cm +111.096 75.5049 m +266.179 75.5049 L +Q +S +q +1 0 0 1 0 0 cm +111.096 89.915 m +266.179 89.915 L +Q +S +q +1 0 0 1 0 0 cm +111.096 104.257 m +266.179 104.257 L +Q +S +q +1 0 0 1 0 0 cm +111.096 133.005 m +266.179 133.005 L +Q +S +q +1 0 0 1 0 0 cm +246.793 147.412 m +246.793 89.915 L +Q +S +q +1 0 0 1 0 0 cm +227.408 147.412 m +227.408 75.5049 L +Q +S +q +1 0 0 1 0 0 cm +208.023 147.412 m +208.023 89.915 L +Q +S +q +1 0 0 1 0 0 cm +188.638 147.412 m +188.638 61.1611 L +Q +S +q +1 0 0 1 0 0 cm +169.252 147.412 m +169.252 89.915 L +Q +S +q +1 0 0 1 0 0 cm +149.866 147.412 m +149.866 75.5049 L +Q +S +q +1 0 0 1 0 0 cm +130.48 147.412 m +130.48 89.915 L +Q +S +U +u +*u +1 1 1 0 k +0.5 w +q +1 0 0 1 0 0 cm +119.922 136.578 m +120.016 137.156 120.215 137.852 120.519 138.664 c +120.882 139.645 121.358 140.618 121.948 141.585 c +122.537 142.552 123.193 143.383 123.915 144.078 c +123.915 144.078 119.634 144.078 119.634 144.078 c +119.634 144.078 119.84 145.055 119.84 145.055 c +119.84 145.055 125.32 145.055 125.32 145.055 c +125.32 145.055 125.121 144.078 125.121 144.078 c +124.192 143.262 123.381 142.209 122.687 140.92 c +121.88 139.432 121.328 137.984 121.031 136.578 c +121.031 136.578 119.922 136.578 119.922 136.578 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +140.605 141.557 m +140.901 141.804 141.197 141.988 141.491 142.112 c +141.786 142.235 142.078 142.297 142.366 142.297 c +143.018 142.297 143.557 142.074 143.981 141.629 c +144.406 141.183 144.619 140.583 144.619 139.829 c +144.619 138.856 144.303 138.022 143.67 137.326 c +143.123 136.729 142.46 136.43 141.679 136.43 c +140.968 136.43 140.376 136.69 139.901 137.212 c +139.427 137.733 139.189 138.477 139.189 139.442 c +139.189 140.306 139.342 141.198 139.646 142.12 c +139.881 142.828 140.171 143.411 140.517 143.87 c +140.862 144.329 141.23 144.666 141.618 144.881 c +142.007 145.096 142.445 145.203 142.934 145.203 c +143.52 145.203 143.998 145.02 144.369 144.655 c +144.74 144.289 144.951 143.766 145.002 143.086 c +145.002 143.086 144.018 142.992 144.018 142.992 c +143.963 143.458 143.831 143.794 143.623 144.001 c +143.414 144.209 143.159 144.313 142.858 144.313 c +142.542 144.313 142.225 144.189 141.904 143.943 c +141.585 143.697 141.309 143.332 141.079 142.85 c +140.849 142.367 140.69 141.936 140.605 141.557 c +Q +f +q +1 0 0 1 0 0 cm +140.236 138.99 m +140.236 138.506 140.386 138.099 140.686 137.769 c +140.987 137.439 141.326 137.273 141.705 137.273 c +141.97 137.273 142.251 137.374 142.547 137.575 c +142.843 137.776 143.095 138.082 143.301 138.492 c +143.508 138.902 143.611 139.311 143.611 139.717 c +143.611 140.24 143.468 140.659 143.182 140.974 c +142.895 141.288 142.549 141.445 142.143 141.445 c +141.675 141.445 141.24 141.216 140.839 140.757 c +140.437 140.298 140.236 139.709 140.236 138.99 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +159.033 139.031 m +159.033 139.031 160.109 139.141 160.109 139.141 c +160.102 138.988 160.098 138.896 160.098 138.865 c +160.098 138.606 160.163 138.346 160.295 138.084 c +160.426 137.821 160.604 137.621 160.828 137.482 c +161.054 137.343 161.291 137.273 161.542 137.273 c +161.871 137.273 162.206 137.387 162.547 137.613 c +162.887 137.84 163.163 138.171 163.374 138.605 c +163.586 139.039 163.691 139.469 163.691 139.895 c +163.691 140.376 163.549 140.761 163.266 141.05 c +162.982 141.34 162.609 141.484 162.146 141.484 c +161.838 141.484 161.545 141.41 161.27 141.261 c +160.993 141.112 160.738 140.89 160.504 140.594 c +160.504 140.594 159.574 140.656 159.574 140.656 c +159.574 140.656 160.871 145.055 160.871 145.055 c +160.871 145.055 165.064 145.055 165.064 145.055 c +165.064 145.055 164.859 144.078 164.859 144.078 c +164.859 144.078 161.596 144.078 161.596 144.078 c +161.596 144.078 160.953 141.895 160.953 141.895 c +161.195 142.07 161.443 142.202 161.699 142.29 c +161.955 142.378 162.219 142.422 162.488 142.422 c +163.145 142.422 163.684 142.205 164.105 141.771 c +164.527 141.337 164.738 140.743 164.738 139.989 c +164.738 139.328 164.594 138.719 164.305 138.162 c +164.016 137.605 163.617 137.177 163.111 136.878 c +162.605 136.579 162.059 136.43 161.473 136.43 c +160.98 136.43 160.544 136.541 160.165 136.764 c +159.785 136.986 159.501 137.293 159.311 137.684 c +159.122 138.074 159.027 138.465 159.027 138.855 c +159.027 138.895 159.029 138.953 159.033 139.031 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +181.795 136.578 m +182.261 138.773 L +178.756 138.773 L +178.982 139.822 L +183.811 145.172 L +184.679 145.172 L +183.52 139.711 L +184.748 139.711 L +184.553 138.773 L +183.322 138.773 L +182.856 136.578 L +181.795 136.578 L +Q +f +q +1 0 0 1 0 0 cm +182.459 139.711 m +183.22 143.296 L +180.006 139.711 L +182.459 139.711 L +Q +f +*U +*u +q +1 0 0 1 0 0 cm +195.541 138.828 m +195.541 138.828 196.572 138.961 196.572 138.961 c +196.65 138.357 196.823 137.925 197.091 137.665 c +197.359 137.404 197.709 137.273 198.144 137.273 c +198.667 137.273 199.119 137.461 199.5 137.836 c +199.882 138.211 200.072 138.642 200.072 139.126 c +200.072 139.548 199.93 139.897 199.645 140.173 c +199.359 140.448 198.977 140.586 198.496 140.586 c +198.441 140.586 198.328 140.578 198.156 140.563 c +198.156 140.563 198.338 141.445 198.338 141.445 c +198.439 141.43 198.537 141.422 198.631 141.422 c +199.236 141.422 199.702 141.569 200.028 141.864 c +200.355 142.159 200.518 142.521 200.518 142.951 c +200.518 143.346 200.384 143.678 200.117 143.947 c +199.85 144.217 199.523 144.352 199.137 144.352 c +198.758 144.352 198.418 144.214 198.115 143.939 c +197.813 143.663 197.619 143.273 197.533 142.77 c +197.533 142.77 196.486 142.98 196.486 142.98 c +196.658 143.688 196.988 144.235 197.477 144.623 c +197.965 145.01 198.543 145.203 199.211 145.203 c +199.914 145.203 200.483 144.99 200.919 144.564 c +201.355 144.139 201.572 143.615 201.572 142.994 c +201.572 142.54 201.454 142.145 201.219 141.807 c +200.982 141.469 200.629 141.189 200.156 140.966 c +200.492 140.767 200.743 140.526 200.909 140.245 c +201.075 139.964 201.158 139.642 201.158 139.278 c +201.158 138.508 200.87 137.841 200.293 137.276 c +199.717 136.712 199.027 136.43 198.227 136.43 c +197.449 136.43 196.82 136.648 196.342 137.083 c +195.862 137.52 195.596 138.101 195.541 138.828 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +215.598 136.578 m +215.707 137.09 215.858 137.52 216.052 137.865 c +216.245 138.211 216.502 138.54 216.822 138.851 c +217.143 139.161 217.759 139.682 218.673 140.412 c +219.227 140.852 219.605 141.179 219.809 141.389 c +220.102 141.694 220.314 141.992 220.447 142.285 c +220.537 142.484 220.582 142.701 220.582 142.935 c +220.582 143.329 220.442 143.664 220.164 143.939 c +219.885 144.214 219.543 144.352 219.138 144.352 c +218.736 144.352 218.385 144.212 218.085 143.933 c +217.784 143.654 217.57 143.206 217.441 142.589 c +217.441 142.589 216.402 142.742 216.402 142.742 c +216.504 143.503 216.799 144.104 217.289 144.544 c +217.779 144.983 218.389 145.203 219.119 145.203 c +219.607 145.203 220.049 145.102 220.445 144.898 c +220.842 144.695 221.139 144.41 221.338 144.043 c +221.537 143.676 221.637 143.297 221.637 142.907 c +221.637 142.336 221.434 141.788 221.027 141.261 c +220.777 140.933 220.043 140.287 218.824 139.323 c +218.301 138.909 217.911 138.569 217.655 138.304 c +217.399 138.039 217.207 137.789 217.078 137.555 c +217.078 137.555 220.918 137.555 220.918 137.555 c +220.918 137.555 220.713 136.578 220.713 136.578 c +220.713 136.578 215.598 136.578 215.598 136.578 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +237.795 136.578 m +237.795 136.578 239.154 143.068 239.154 143.068 c +238.568 142.607 237.744 142.238 236.682 141.961 c +236.682 141.961 236.881 142.922 236.881 142.922 c +237.408 143.132 237.929 143.407 238.442 143.747 c +238.956 144.086 239.342 144.382 239.599 144.636 c +239.754 144.792 239.902 144.981 240.043 145.203 c +240.043 145.203 240.656 145.203 240.656 145.203 c +240.656 145.203 238.856 136.578 238.856 136.578 c +238.856 136.578 237.795 136.578 237.795 136.578 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +255.766 139.395 m +255.766 140.122 255.874 140.86 256.091 141.61 c +256.307 142.36 256.548 142.96 256.814 143.41 c +257.079 143.859 257.353 144.211 257.639 144.465 c +257.924 144.719 258.203 144.905 258.478 145.024 c +258.754 145.144 259.06 145.203 259.395 145.203 c +260.051 145.203 260.598 144.959 261.037 144.471 c +261.476 143.982 261.695 143.277 261.695 142.355 c +261.695 141.405 261.543 140.466 261.238 139.536 c +260.88 138.434 260.38 137.607 259.74 137.057 c +259.248 136.639 258.689 136.43 258.06 136.43 c +257.416 136.43 256.873 136.683 256.43 137.189 c +255.987 137.694 255.766 138.43 255.766 139.395 c +Q +f +q +1 0 0 1 0 0 cm +256.789 139.125 m +256.789 138.598 256.877 138.186 257.053 137.889 c +257.291 137.479 257.644 137.273 258.112 137.273 c +258.522 137.273 258.895 137.459 259.23 137.83 c +259.714 138.354 260.078 139.12 260.321 140.13 c +260.565 141.14 260.688 141.965 260.688 142.605 c +260.688 143.223 260.569 143.668 260.333 143.941 c +260.098 144.215 259.786 144.352 259.399 144.352 c +259.119 144.352 258.856 144.279 258.612 144.135 c +258.368 143.99 258.136 143.742 257.913 143.391 c +257.597 142.895 257.322 142.152 257.088 141.164 c +256.889 140.32 256.789 139.641 256.789 139.125 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +121.473 130.803 m +122.304 130.803 122.953 130.506 123.421 129.912 c +123.979 129.209 124.258 128.043 124.258 126.414 c +124.258 124.788 123.977 123.62 123.415 122.909 c +122.951 122.323 122.304 122.03 121.473 122.03 c +120.638 122.03 119.965 122.351 119.454 122.994 c +118.943 123.637 118.688 124.782 118.688 126.431 c +118.688 128.049 118.968 129.213 119.53 129.924 c +119.994 130.51 120.642 130.803 121.473 130.803 c +Q +f +q +1 0 0 1 0 0 cm +121.473 129.436 m +121.275 129.436 121.099 129.373 120.943 129.246 c +120.788 129.119 120.668 128.891 120.583 128.564 c +120.47 128.138 120.414 127.421 120.414 126.414 c +120.414 125.406 120.464 124.714 120.565 124.337 c +120.666 123.96 120.793 123.71 120.946 123.585 c +121.1 123.46 121.275 123.397 121.473 123.397 c +121.67 123.397 121.847 123.46 122.002 123.587 c +122.157 123.714 122.277 123.941 122.362 124.27 c +122.475 124.691 122.531 125.406 122.531 126.414 c +122.531 127.421 122.481 128.113 122.38 128.49 c +122.279 128.867 122.152 129.119 121.999 129.246 c +121.846 129.373 121.67 129.436 121.473 129.436 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +142.908 122.178 m +142.908 122.178 141.26 122.178 141.26 122.178 c +141.26 122.178 141.26 128.386 141.26 128.386 c +140.659 127.824 139.95 127.408 139.135 127.139 c +139.135 127.139 139.135 128.631 139.135 128.631 c +139.564 128.771 140.031 129.038 140.535 129.431 c +141.039 129.823 141.385 130.28 141.572 130.803 c +141.572 130.803 142.908 130.803 142.908 130.803 c +142.908 130.803 142.908 122.178 142.908 122.178 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +162.918 122.178 m +162.918 122.178 161.27 122.178 161.27 122.178 c +161.27 122.178 161.27 128.386 161.27 128.386 c +160.668 127.824 159.96 127.408 159.145 127.139 c +159.145 127.139 159.145 128.631 159.145 128.631 c +159.574 128.771 160.041 129.038 160.545 129.431 c +161.049 129.823 161.395 130.28 161.582 130.803 c +161.582 130.803 162.918 130.803 162.918 130.803 c +162.918 130.803 162.918 122.178 162.918 122.178 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +182.928 122.178 m +182.928 122.178 181.279 122.178 181.279 122.178 c +181.279 122.178 181.279 128.386 181.279 128.386 c +180.678 127.824 179.97 127.408 179.154 127.139 c +179.154 127.139 179.154 128.631 179.154 128.631 c +179.584 128.771 180.051 129.038 180.555 129.431 c +181.059 129.823 181.404 130.28 181.592 130.803 c +181.592 130.803 182.928 130.803 182.928 130.803 c +182.928 130.803 182.928 122.178 182.928 122.178 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +198.178 130.803 m +199.009 130.803 199.658 130.506 200.126 129.912 c +200.684 129.209 200.963 128.043 200.963 126.414 c +200.963 124.788 200.682 123.62 200.12 122.909 c +199.656 122.323 199.009 122.03 198.178 122.03 c +197.343 122.03 196.67 122.351 196.159 122.994 c +195.648 123.637 195.393 124.782 195.393 126.431 c +195.393 128.049 195.674 129.213 196.235 129.924 c +196.699 130.51 197.347 130.803 198.178 130.803 c +Q +f +q +1 0 0 1 0 0 cm +198.178 129.436 m +197.98 129.436 197.804 129.373 197.648 129.246 c +197.493 129.119 197.373 128.891 197.288 128.564 c +197.176 128.138 197.119 127.421 197.119 126.414 c +197.119 125.406 197.17 124.714 197.27 124.337 c +197.371 123.96 197.498 123.71 197.651 123.585 c +197.805 123.46 197.98 123.397 198.178 123.397 c +198.375 123.397 198.552 123.46 198.707 123.587 c +198.862 123.714 198.982 123.941 199.067 124.27 c +199.18 124.691 199.236 125.406 199.236 126.414 c +199.236 127.421 199.186 128.113 199.085 128.49 c +198.984 128.867 198.857 129.119 198.704 129.246 c +198.551 129.373 198.375 129.436 198.178 129.436 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +219.613 122.178 m +219.613 122.178 217.965 122.178 217.965 122.178 c +217.965 122.178 217.965 128.386 217.965 128.386 c +217.363 127.824 216.655 127.408 215.84 127.139 c +215.84 127.139 215.84 128.631 215.84 128.631 c +216.27 128.771 216.736 129.038 217.24 129.431 c +217.744 129.823 218.09 130.28 218.277 130.803 c +218.277 130.803 219.613 130.803 219.613 130.803 c +219.613 130.803 219.613 122.178 219.613 122.178 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +238.197 130.803 m +239.028 130.803 239.678 130.506 240.145 129.912 c +240.703 129.209 240.982 128.043 240.982 126.414 c +240.982 124.788 240.701 123.62 240.14 122.909 c +239.676 122.323 239.028 122.03 238.197 122.03 c +237.362 122.03 236.689 122.351 236.179 122.994 c +235.668 123.637 235.412 124.782 235.412 126.431 c +235.412 128.049 235.693 129.213 236.255 129.924 c +236.719 130.51 237.366 130.803 238.197 130.803 c +Q +f +q +1 0 0 1 0 0 cm +238.197 129.436 m +238 129.436 237.823 129.373 237.668 129.246 c +237.513 129.119 237.393 128.891 237.308 128.564 c +237.195 128.138 237.139 127.421 237.139 126.414 c +237.139 125.406 237.189 124.714 237.29 124.337 c +237.391 123.96 237.518 123.71 237.671 123.585 c +237.824 123.46 238 123.397 238.197 123.397 c +238.395 123.397 238.571 123.46 238.727 123.587 c +238.882 123.714 239.002 123.941 239.087 124.27 c +239.199 124.691 239.256 125.406 239.256 126.414 c +239.256 127.421 239.205 128.113 239.105 128.49 c +239.004 128.867 238.877 129.119 238.724 129.246 c +238.57 129.373 238.395 129.436 238.197 129.436 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +258.207 130.803 m +259.038 130.803 259.688 130.506 260.155 129.912 c +260.713 129.209 260.992 128.043 260.992 126.414 c +260.992 124.788 260.711 123.62 260.149 122.909 c +259.685 122.323 259.038 122.03 258.207 122.03 c +257.372 122.03 256.699 122.351 256.189 122.994 c +255.678 123.637 255.422 124.782 255.422 126.431 c +255.422 128.049 255.703 129.213 256.265 129.924 c +256.728 130.51 257.376 130.803 258.207 130.803 c +Q +f +q +1 0 0 1 0 0 cm +258.207 129.436 m +258.01 129.436 257.833 129.373 257.678 129.246 c +257.522 129.119 257.402 128.891 257.317 128.564 c +257.205 128.138 257.148 127.421 257.148 126.414 c +257.148 125.406 257.199 124.714 257.3 124.337 c +257.4 123.96 257.527 123.71 257.681 123.585 c +257.834 123.46 258.01 123.397 258.207 123.397 c +258.404 123.397 258.581 123.46 258.736 123.587 c +258.892 123.714 259.012 123.941 259.097 124.27 c +259.209 124.691 259.266 125.406 259.266 126.414 c +259.266 127.421 259.215 128.113 259.114 128.49 c +259.014 128.867 258.887 129.119 258.733 129.246 c +258.58 129.373 258.404 129.436 258.207 129.436 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +121.473 116.403 m +122.304 116.403 122.953 116.106 123.421 115.513 c +123.979 114.809 124.258 113.643 124.258 112.014 c +124.258 110.388 123.977 109.22 123.415 108.509 c +122.951 107.923 122.304 107.63 121.473 107.63 c +120.638 107.63 119.965 107.951 119.454 108.594 c +118.943 109.237 118.688 110.382 118.688 112.031 c +118.688 113.648 118.968 114.813 119.53 115.524 c +119.994 116.11 120.642 116.403 121.473 116.403 c +Q +f +q +1 0 0 1 0 0 cm +121.473 115.036 m +121.275 115.036 121.099 114.973 120.943 114.846 c +120.788 114.719 120.668 114.491 120.583 114.163 c +120.47 113.738 120.414 113.021 120.414 112.014 c +120.414 111.006 120.464 110.314 120.565 109.937 c +120.666 109.561 120.793 109.31 120.946 109.185 c +121.1 109.06 121.275 108.997 121.473 108.997 c +121.67 108.997 121.847 109.061 122.002 109.188 c +122.157 109.314 122.277 109.542 122.362 109.87 c +122.475 110.291 122.531 111.006 122.531 112.014 c +122.531 113.021 122.481 113.713 122.38 114.09 c +122.279 114.467 122.152 114.719 121.999 114.846 c +121.846 114.973 121.67 115.036 121.473 115.036 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +141.482 116.403 m +142.314 116.403 142.963 116.106 143.431 115.513 c +143.988 114.809 144.268 113.643 144.268 112.014 c +144.268 110.388 143.986 109.22 143.425 108.509 c +142.961 107.923 142.314 107.63 141.482 107.63 c +140.648 107.63 139.975 107.951 139.464 108.594 c +138.953 109.237 138.697 110.382 138.697 112.031 c +138.697 113.648 138.978 114.813 139.54 115.524 c +140.004 116.11 140.651 116.403 141.482 116.403 c +Q +f +q +1 0 0 1 0 0 cm +141.482 115.036 m +141.285 115.036 141.108 114.973 140.953 114.846 c +140.798 114.719 140.678 114.491 140.593 114.163 c +140.48 113.738 140.424 113.021 140.424 112.014 c +140.424 111.006 140.474 110.314 140.575 109.937 c +140.676 109.561 140.803 109.31 140.956 109.185 c +141.109 109.06 141.285 108.997 141.482 108.997 c +141.68 108.997 141.856 109.061 142.012 109.188 c +142.167 109.314 142.287 109.542 142.372 109.87 c +142.485 110.291 142.541 111.006 142.541 112.014 c +142.541 113.021 142.491 113.713 142.39 114.09 c +142.289 114.467 142.162 114.719 142.009 114.846 c +141.855 114.973 141.68 115.036 141.482 115.036 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +162.918 107.778 m +162.918 107.778 161.27 107.778 161.27 107.778 c +161.27 107.778 161.27 113.986 161.27 113.986 c +160.668 113.424 159.96 113.008 159.145 112.739 c +159.145 112.739 159.145 114.231 159.145 114.231 c +159.574 114.372 160.041 114.638 160.545 115.03 c +161.049 115.423 161.395 115.88 161.582 116.403 c +161.582 116.403 162.918 116.403 162.918 116.403 c +162.918 116.403 162.918 107.778 162.918 107.778 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +182.928 107.778 m +182.928 107.778 181.279 107.778 181.279 107.778 c +181.279 107.778 181.279 113.986 181.279 113.986 c +180.678 113.424 179.97 113.008 179.154 112.739 c +179.154 112.739 179.154 114.231 179.154 114.231 c +179.584 114.372 180.051 114.638 180.555 115.03 c +181.059 115.423 181.404 115.88 181.592 116.403 c +181.592 116.403 182.928 116.403 182.928 116.403 c +182.928 116.403 182.928 107.778 182.928 107.778 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +199.604 107.778 m +199.604 107.778 197.955 107.778 197.955 107.778 c +197.955 107.778 197.955 113.986 197.955 113.986 c +197.354 113.424 196.645 113.008 195.83 112.739 c +195.83 112.739 195.83 114.231 195.83 114.231 c +196.26 114.372 196.727 114.638 197.23 115.03 c +197.734 115.423 198.08 115.88 198.268 116.403 c +198.268 116.403 199.604 116.403 199.604 116.403 c +199.604 116.403 199.604 107.778 199.604 107.778 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +218.188 116.403 m +219.019 116.403 219.668 116.106 220.136 115.513 c +220.693 114.809 220.973 113.643 220.973 112.014 c +220.973 110.388 220.691 109.22 220.13 108.509 c +219.666 107.923 219.019 107.63 218.188 107.63 c +217.352 107.63 216.68 107.951 216.169 108.594 c +215.658 109.237 215.402 110.382 215.402 112.031 c +215.402 113.648 215.684 114.813 216.245 115.524 c +216.709 116.11 217.356 116.403 218.188 116.403 c +Q +f +q +1 0 0 1 0 0 cm +218.188 115.036 m +217.99 115.036 217.814 114.973 217.658 114.846 c +217.503 114.719 217.383 114.491 217.298 114.163 c +217.186 113.738 217.129 113.021 217.129 112.014 c +217.129 111.006 217.18 110.314 217.28 109.937 c +217.381 109.561 217.508 109.31 217.661 109.185 c +217.814 109.06 217.99 108.997 218.188 108.997 c +218.385 108.997 218.561 109.061 218.717 109.188 c +218.872 109.314 218.992 109.542 219.077 109.87 c +219.189 110.291 219.246 111.006 219.246 112.014 c +219.246 113.021 219.195 113.713 219.095 114.09 c +218.994 114.467 218.867 114.719 218.714 114.846 c +218.561 114.973 218.385 115.036 218.188 115.036 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +239.623 107.778 m +239.623 107.778 237.975 107.778 237.975 107.778 c +237.975 107.778 237.975 113.986 237.975 113.986 c +237.373 113.424 236.665 113.008 235.85 112.739 c +235.85 112.739 235.85 114.231 235.85 114.231 c +236.279 114.372 236.746 114.638 237.25 115.03 c +237.754 115.423 238.1 115.88 238.287 116.403 c +238.287 116.403 239.623 116.403 239.623 116.403 c +239.623 116.403 239.623 107.778 239.623 107.778 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +259.633 107.778 m +259.633 107.778 257.984 107.778 257.984 107.778 c +257.984 107.778 257.984 113.986 257.984 113.986 c +257.383 113.424 256.675 113.008 255.859 112.739 c +255.859 112.739 255.859 114.231 255.859 114.231 c +256.289 114.372 256.756 114.638 257.26 115.03 c +257.764 115.423 258.109 115.88 258.297 116.403 c +258.297 116.403 259.633 116.403 259.633 116.403 c +259.633 116.403 259.633 107.778 259.633 107.778 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +118.68 97.6172 m +118.68 98.6338 118.784 99.4531 118.993 100.074 c +119.201 100.695 119.512 101.173 119.923 101.508 c +120.335 101.843 120.853 102.011 121.477 102.011 c +121.937 102.011 122.341 101.918 122.689 101.732 c +123.038 101.546 123.325 101.278 123.55 100.929 c +123.774 100.578 123.952 100.152 124.08 99.6494 c +124.209 99.1475 124.273 98.4697 124.273 97.6172 c +124.273 96.6084 124.17 95.793 123.963 95.1719 c +123.756 94.5508 123.447 94.0718 123.036 93.7349 c +122.624 93.3979 122.104 93.2295 121.477 93.2295 c +120.649 93.2295 120 93.5254 119.528 94.1172 c +118.962 94.8354 118.68 96.002 118.68 97.6172 c +Q +f +q +1 0 0 1 0 0 cm +119.766 97.6162 m +119.766 96.2021 119.93 95.2617 120.259 94.7959 c +120.588 94.3296 120.994 94.0967 121.477 94.0967 c +121.959 94.0967 122.365 94.3306 122.694 94.7988 c +123.023 95.2666 123.188 96.2061 123.188 97.6162 c +123.188 99.0317 123.023 99.9722 122.695 100.438 c +122.367 100.903 121.956 101.136 121.465 101.136 c +120.982 101.136 120.596 100.931 120.307 100.52 c +119.946 99.9956 119.766 99.0278 119.766 97.6162 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +138.846 97.1357 m +138.846 98.1201 L +144.525 100.526 L +144.525 99.4717 L +140.025 97.624 L +144.525 95.7607 L +144.525 94.7061 L +138.846 97.1357 L +Q +f +*U +*u +q +1 0 0 1 0 0 cm +163.002 93.3779 m +163.002 93.3779 161.947 93.3779 161.947 93.3779 c +161.947 93.3779 161.947 100.104 161.947 100.104 c +161.693 99.8623 161.36 99.6201 160.948 99.3774 c +160.536 99.1348 160.166 98.9531 159.838 98.832 c +159.838 98.832 159.838 99.8525 159.838 99.8525 c +160.428 100.13 160.943 100.466 161.385 100.861 c +161.826 101.256 162.139 101.639 162.322 102.011 c +162.322 102.011 163.002 102.011 163.002 102.011 c +163.002 102.011 163.002 93.3779 163.002 93.3779 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +183.012 93.3779 m +183.012 93.3779 181.957 93.3779 181.957 93.3779 c +181.957 93.3779 181.957 100.104 181.957 100.104 c +181.703 99.8623 181.37 99.6201 180.958 99.3774 c +180.546 99.1348 180.176 98.9531 179.848 98.832 c +179.848 98.832 179.848 99.8525 179.848 99.8525 c +180.438 100.13 180.953 100.466 181.395 100.861 c +181.836 101.256 182.148 101.639 182.332 102.011 c +182.332 102.011 183.012 102.011 183.012 102.011 c +183.012 102.011 183.012 93.3779 183.012 93.3779 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +195.875 97.1357 m +195.875 98.1201 L +201.555 100.526 L +201.555 99.4717 L +197.055 97.624 L +201.555 95.7607 L +201.555 94.7061 L +195.875 97.1357 L +Q +f +*U +*u +q +1 0 0 1 0 0 cm +216.219 97.1357 m +216.219 98.1201 L +221.898 100.526 L +221.898 99.4717 L +217.398 97.624 L +221.898 95.7607 L +221.898 94.7061 L +216.219 97.1357 L +Q +f +*U +*u +q +1 0 0 1 0 0 cm +236.563 97.1357 m +236.563 98.1201 L +242.242 100.526 L +242.242 99.4717 L +237.742 97.624 L +242.242 95.7607 L +242.242 94.7061 L +236.563 97.1357 L +Q +f +*U +*u +q +1 0 0 1 0 0 cm +253.572 97.1357 m +253.572 98.1201 L +259.252 100.526 L +259.252 99.4717 L +254.752 97.624 L +259.252 95.7607 L +259.252 94.7061 L +253.572 97.1357 L +Q +f +*U +*u +q +1 0 0 1 0 0 cm +128.682 83.2178 m +128.682 84.2344 128.786 85.0537 128.995 85.6748 c +129.203 86.2959 129.514 86.7739 129.925 87.1089 c +130.336 87.4438 130.855 87.6113 131.479 87.6113 c +131.939 87.6113 132.343 87.5186 132.691 87.3325 c +133.04 87.147 133.327 86.8789 133.552 86.5293 c +133.776 86.1787 133.954 85.7529 134.082 85.25 c +134.211 84.748 134.275 84.0703 134.275 83.2178 c +134.275 82.209 134.172 81.3936 133.965 80.7725 c +133.758 80.1514 133.449 79.6719 133.038 79.3359 c +132.626 78.998 132.106 78.8301 131.479 78.8301 c +130.651 78.8301 130.002 79.126 129.53 79.7178 c +128.964 80.4355 128.682 81.6025 128.682 83.2178 c +Q +f +q +1 0 0 1 0 0 cm +129.768 83.2168 m +129.768 81.8027 129.932 80.8623 130.261 80.3965 c +130.59 79.9297 130.996 79.6973 131.479 79.6973 c +131.961 79.6973 132.367 79.9316 132.696 80.3994 c +133.025 80.8672 133.189 81.8066 133.189 83.2168 c +133.189 84.6323 133.025 85.5728 132.697 86.0381 c +132.369 86.5034 131.958 86.7363 131.467 86.7363 c +130.984 86.7363 130.598 86.5313 130.309 86.1201 c +129.948 85.5962 129.768 84.6284 129.768 83.2168 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +169.33 78.9785 m +169.33 78.9785 168.275 78.9785 168.275 78.9785 c +168.275 78.9785 168.275 85.7051 168.275 85.7051 c +168.021 85.4629 167.689 85.2207 167.276 84.978 c +166.864 84.7354 166.494 84.5537 166.166 84.4326 c +166.166 84.4326 166.166 85.4531 166.166 85.4531 c +166.756 85.7305 167.271 86.0669 167.713 86.4619 c +168.154 86.8564 168.467 87.2397 168.65 87.6113 c +168.65 87.6113 169.33 87.6113 169.33 87.6113 c +169.33 87.6113 169.33 78.9785 169.33 78.9785 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +205.531 82.7363 m +205.531 83.7207 L +211.211 86.127 L +211.211 85.0723 L +206.711 83.2246 L +211.211 81.3613 L +211.211 80.3066 L +205.531 82.7363 L +Q +f +*U +*u +q +1 0 0 1 0 0 cm +242.545 82.7363 m +242.545 83.7207 L +248.225 86.127 L +248.225 85.0723 L +243.725 83.2246 L +248.225 81.3613 L +248.225 80.3066 L +242.545 82.7363 L +Q +f +*U +*u +q +1 0 0 1 0 0 cm +145.352 68.8174 m +145.352 69.834 145.456 70.6533 145.664 71.2744 c +145.873 71.8955 146.184 72.373 146.595 72.708 c +147.006 73.043 147.524 73.2109 148.148 73.2109 c +148.608 73.2109 149.014 73.1182 149.361 72.9326 c +149.71 72.7461 149.996 72.4785 150.222 72.1289 c +150.446 71.7783 150.623 71.3525 150.752 70.8496 c +150.881 70.3477 150.945 69.6699 150.945 68.8174 c +150.945 67.8086 150.842 66.9932 150.635 66.3721 c +150.428 65.751 150.119 65.2715 149.708 64.9355 c +149.296 64.5977 148.776 64.4297 148.148 64.4297 c +147.321 64.4297 146.672 64.7256 146.2 65.3174 c +145.635 66.0352 145.352 67.2021 145.352 68.8174 c +Q +f +q +1 0 0 1 0 0 cm +146.438 68.8164 m +146.438 67.4023 146.602 66.4619 146.931 65.9961 c +147.26 65.5293 147.666 65.2969 148.148 65.2969 c +148.631 65.2969 149.037 65.5313 149.366 65.999 c +149.695 66.4668 149.859 67.4063 149.859 68.8164 c +149.859 70.2324 149.695 71.1729 149.367 71.6377 c +149.039 72.1035 148.629 72.3359 148.137 72.3359 c +147.654 72.3359 147.268 72.1309 146.979 71.7197 c +146.617 71.1963 146.438 70.2285 146.438 68.8164 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +225.529 68.3359 m +225.529 69.3203 L +231.209 71.7266 L +231.209 70.6719 L +226.709 68.8242 L +231.209 66.9609 L +231.209 65.9063 L +225.529 68.3359 L +Q +f +*U +*u +q +1 0 0 1 0 0 cm +188.693 54.417 m +188.693 55.4336 188.798 56.2529 189.006 56.874 c +189.215 57.4951 189.525 57.9727 189.936 58.3076 c +190.348 58.6426 190.866 58.8105 191.49 58.8105 c +191.95 58.8105 192.355 58.7178 192.703 58.5322 c +193.052 58.3457 193.338 58.0781 193.564 57.7285 c +193.788 57.3779 193.965 56.9521 194.094 56.4492 c +194.223 55.9473 194.287 55.2695 194.287 54.417 c +194.287 53.4082 194.184 52.5928 193.977 51.9717 c +193.77 51.3506 193.461 50.8711 193.05 50.5352 c +192.638 50.1973 192.118 50.0293 191.49 50.0293 c +190.663 50.0293 190.014 50.3252 189.542 50.917 c +188.977 51.6348 188.693 52.8018 188.693 54.417 c +Q +f +q +1 0 0 1 0 0 cm +189.779 54.416 m +189.779 53.002 189.943 52.0615 190.273 51.5957 c +190.602 51.1289 191.008 50.8965 191.49 50.8965 c +191.973 50.8965 192.379 51.1309 192.708 51.5986 c +193.037 52.0664 193.201 53.0059 193.201 54.416 c +193.201 55.832 193.037 56.7725 192.709 57.2373 c +192.381 57.7031 191.971 57.9355 191.479 57.9355 c +190.996 57.9355 190.609 57.7305 190.32 57.3193 c +189.959 56.7959 189.779 55.8281 189.779 54.416 c +Q +f +*U +U +u +*u +q +1 0 0 1 0 0 cm +42.9297 135.599 m +42.9297 135.599 42.9297 144.193 42.9297 144.193 c +42.9297 144.193 46.1689 144.193 46.1689 144.193 c +46.7393 144.193 47.1743 144.165 47.4751 144.111 c +47.897 144.04 48.25 143.906 48.5352 143.709 c +48.8203 143.512 49.0498 143.235 49.2236 142.879 c +49.3975 142.523 49.4844 142.133 49.4844 141.706 c +49.4844 140.976 49.252 140.357 48.7881 139.851 c +48.3232 139.344 47.4844 139.091 46.271 139.091 c +46.271 139.091 44.0703 139.091 44.0703 139.091 c +44.0703 139.091 44.0703 135.599 44.0703 135.599 c +44.0703 135.599 42.9297 135.599 42.9297 135.599 c +Q +f +q +1 0 0 1 0 0 cm +44.0703 140.107 m +44.0703 140.107 46.2881 140.107 46.2881 140.107 c +47.0215 140.107 47.542 140.244 47.8501 140.517 c +48.1582 140.79 48.3125 141.175 48.3125 141.671 c +48.3125 142.031 48.2217 142.338 48.0405 142.594 c +47.8589 142.85 47.6201 143.019 47.3237 143.101 c +47.1323 143.152 46.7793 143.177 46.2646 143.177 c +46.2646 143.177 44.0703 143.177 44.0703 143.177 c +44.0703 143.177 44.0703 140.107 44.0703 140.107 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +50.4023 138.712 m +50.4023 139.865 50.7227 140.72 51.3628 141.274 c +51.8979 141.736 52.5498 141.966 53.3193 141.966 c +54.1743 141.966 54.8735 141.686 55.416 141.125 c +55.959 140.564 56.2305 139.789 56.2305 138.8 c +56.2305 137.999 56.1104 137.369 55.8701 136.91 c +55.6299 136.45 55.2803 136.094 54.8218 135.84 c +54.3628 135.585 53.8623 135.458 53.3193 135.458 c +52.4482 135.458 51.7446 135.738 51.208 136.297 c +50.6709 136.855 50.4023 137.661 50.4023 138.712 c +Q +f +q +1 0 0 1 0 0 cm +51.4883 138.711 m +51.4883 137.914 51.6616 137.317 52.0088 136.921 c +52.356 136.524 52.793 136.326 53.3193 136.326 c +53.8418 136.326 54.2769 136.525 54.624 136.924 c +54.9707 137.322 55.1445 137.93 55.1445 138.747 c +55.1445 139.517 54.9697 140.1 54.6211 140.496 c +54.272 140.893 53.8379 141.091 53.3193 141.091 c +52.793 141.091 52.356 140.894 52.0088 140.499 c +51.6616 140.105 51.4883 139.509 51.4883 138.711 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +59.1309 143.248 m +59.7754 144.24 L +60.9785 144.24 L +59.6543 142.599 L +58.5293 142.599 L +57.2676 144.24 L +58.4707 144.24 L +59.1309 143.248 L +Q +f +q +1 0 0 1 0 0 cm +57.459 135.599 m +57.459 135.599 57.459 141.826 57.459 141.826 c +57.459 141.826 58.4043 141.826 58.4043 141.826 c +58.4043 141.826 58.4043 140.878 58.4043 140.878 c +58.647 141.321 58.8711 141.613 59.0767 141.755 c +59.2822 141.895 59.5083 141.966 59.7554 141.966 c +60.1113 141.966 60.4736 141.852 60.8418 141.626 c +60.8418 141.626 60.4727 140.649 60.4727 140.649 c +60.2158 140.798 59.9585 140.873 59.7012 140.873 c +59.4712 140.873 59.2646 140.803 59.0815 140.665 c +58.8984 140.526 58.7676 140.333 58.6895 140.087 c +58.5723 139.712 58.5137 139.302 58.5137 138.857 c +58.5137 138.857 58.5137 135.599 58.5137 135.599 c +58.5137 135.599 57.459 135.599 57.459 135.599 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +65.5254 136.365 m +65.1328 136.033 64.7563 135.8 64.3955 135.663 c +64.0352 135.527 63.6479 135.458 63.2344 135.458 c +62.5522 135.458 62.0273 135.626 61.6611 135.96 c +61.2944 136.294 61.1113 136.722 61.1113 137.241 c +61.1113 137.546 61.1807 137.825 61.3188 138.077 c +61.4575 138.329 61.6387 138.532 61.8628 138.684 c +62.0869 138.837 62.3398 138.952 62.6201 139.03 c +62.8271 139.085 63.1387 139.138 63.5562 139.189 c +64.4063 139.29 65.0322 139.411 65.4336 139.552 c +65.4375 139.696 65.4395 139.788 65.4395 139.827 c +65.4395 140.256 65.3398 140.559 65.1411 140.734 c +64.8721 140.972 64.4727 141.091 63.9424 141.091 c +63.4473 141.091 63.0815 141.005 62.8457 140.831 c +62.6099 140.658 62.4355 140.352 62.3223 139.912 c +62.3223 139.912 61.291 140.052 61.291 140.052 c +61.3848 140.493 61.5391 140.849 61.7534 141.121 c +61.9683 141.392 62.2783 141.601 62.6846 141.747 c +63.0903 141.893 63.5605 141.966 64.0957 141.966 c +64.6265 141.966 65.0576 141.904 65.3896 141.779 c +65.7212 141.654 65.9653 141.497 66.1211 141.308 c +66.2773 141.118 66.3867 140.879 66.4492 140.59 c +66.4844 140.411 66.502 140.086 66.502 139.617 c +66.502 139.617 66.502 138.21 66.502 138.21 c +66.502 137.229 66.5244 136.608 66.5698 136.348 c +66.6147 136.087 66.7041 135.838 66.8379 135.599 c +66.8379 135.599 65.7363 135.599 65.7363 135.599 c +65.627 135.817 65.5566 136.072 65.5254 136.365 c +Q +f +q +1 0 0 1 0 0 cm +65.4395 138.724 m +65.0566 138.568 64.4829 138.435 63.7178 138.326 c +63.2847 138.263 62.978 138.193 62.7983 138.115 c +62.6191 138.037 62.4805 137.922 62.3828 137.772 c +62.2852 137.622 62.2363 137.455 62.2363 137.271 c +62.2363 136.99 62.3423 136.755 62.5547 136.568 c +62.7671 136.38 63.0781 136.287 63.4873 136.287 c +63.8926 136.287 64.2529 136.376 64.5684 136.554 c +64.8843 136.731 65.1162 136.975 65.2642 137.283 c +65.377 137.521 65.4336 137.873 65.4336 138.337 c +65.4336 138.337 65.4395 138.724 65.4395 138.724 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +72.1758 135.599 m +72.1758 135.599 72.1758 136.384 72.1758 136.384 c +71.7808 135.767 71.2002 135.458 70.4341 135.458 c +69.9375 135.458 69.481 135.595 69.0645 135.869 c +68.6484 136.143 68.3257 136.524 68.0967 137.015 c +67.8682 137.505 67.7539 138.069 67.7539 138.706 c +67.7539 139.328 67.8574 139.892 68.064 140.398 c +68.271 140.904 68.5811 141.292 68.9951 141.561 c +69.4087 141.831 69.8711 141.966 70.3823 141.966 c +70.7568 141.966 71.0908 141.887 71.3833 141.729 c +71.6763 141.57 71.9141 141.363 72.0977 141.109 c +72.0977 141.109 72.0977 144.193 72.0977 144.193 c +72.0977 144.193 73.1523 144.193 73.1523 144.193 c +73.1523 144.193 73.1523 135.599 73.1523 135.599 c +73.1523 135.599 72.1758 135.599 72.1758 135.599 c +Q +f +q +1 0 0 1 0 0 cm +68.8398 138.706 m +68.8398 137.908 69.0078 137.313 69.3438 136.918 c +69.6797 136.523 70.0762 136.326 70.5332 136.326 c +70.9941 136.326 71.3857 136.514 71.708 136.892 c +72.0303 137.269 72.1914 137.844 72.1914 138.618 c +72.1914 139.47 72.0273 140.095 71.6992 140.493 c +71.3711 140.892 70.9668 141.091 70.4863 141.091 c +70.0176 141.091 69.626 140.9 69.3115 140.517 c +68.9971 140.134 68.8398 139.53 68.8398 138.706 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +74.8418 142.599 m +75.6152 144.24 L +77.0059 144.24 L +75.7168 142.599 L +74.8418 142.599 L +Q +f +q +1 0 0 1 0 0 cm +75.1855 135.599 m +75.1855 141.826 L +76.2402 141.826 L +76.2402 135.599 L +75.1855 135.599 L +Q +f +*U +*u +q +1 0 0 1 0 0 cm +82.4551 135.599 m +82.4551 135.599 81.4785 135.599 81.4785 135.599 c +81.4785 135.599 81.4785 144.193 81.4785 144.193 c +81.4785 144.193 82.5332 144.193 82.5332 144.193 c +82.5332 144.193 82.5332 141.128 82.5332 141.128 c +82.9785 141.687 83.5474 141.966 84.2393 141.966 c +84.6221 141.966 84.9844 141.889 85.3262 141.735 c +85.6685 141.58 85.9497 141.363 86.1704 141.084 c +86.3916 140.805 86.5645 140.467 86.6895 140.073 c +86.8145 139.678 86.877 139.256 86.877 138.806 c +86.877 137.739 86.6133 136.915 86.085 136.332 c +85.5576 135.749 84.9238 135.458 84.1851 135.458 c +83.4502 135.458 82.8735 135.765 82.4551 136.378 c +82.4551 136.378 82.4551 135.599 82.4551 135.599 c +Q +f +q +1 0 0 1 0 0 cm +82.4395 138.759 m +82.4395 138.013 82.541 137.473 82.7441 137.141 c +83.0762 136.597 83.5254 136.326 84.0918 136.326 c +84.5527 136.326 84.9512 136.526 85.2871 136.927 c +85.623 137.327 85.791 137.925 85.791 138.718 c +85.791 139.531 85.6299 140.131 85.3076 140.519 c +84.9854 140.905 84.5957 141.099 84.1387 141.099 c +83.6777 141.099 83.2793 140.898 82.9434 140.498 c +82.6074 140.097 82.4395 139.518 82.4395 138.759 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +88.1602 142.982 m +88.1602 144.193 L +89.2148 144.193 L +89.2148 142.982 L +88.1602 142.982 L +Q +f +q +1 0 0 1 0 0 cm +88.1602 135.599 m +88.1602 141.826 L +89.2148 141.826 L +89.2148 135.599 L +88.1602 135.599 L +Q +f +*U +*u +q +1 0 0 1 0 0 cm +93.123 136.539 m +93.123 136.539 93.2793 135.607 93.2793 135.607 c +92.9819 135.544 92.7158 135.513 92.481 135.513 c +92.0977 135.513 91.8003 135.574 91.5889 135.695 c +91.3774 135.816 91.229 135.976 91.1426 136.173 c +91.0566 136.371 91.0137 136.786 91.0137 137.42 c +91.0137 137.42 91.0137 141.005 91.0137 141.005 c +91.0137 141.005 90.2324 141.005 90.2324 141.005 c +90.2324 141.005 90.2324 141.826 90.2324 141.826 c +90.2324 141.826 91.0137 141.826 91.0137 141.826 c +91.0137 141.826 91.0137 143.367 91.0137 143.367 c +91.0137 143.367 92.0684 143.999 92.0684 143.999 c +92.0684 143.999 92.0684 141.826 92.0684 141.826 c +92.0684 141.826 93.123 141.826 93.123 141.826 c +93.123 141.826 93.123 141.005 93.123 141.005 c +93.123 141.005 92.0684 141.005 92.0684 141.005 c +92.0684 141.005 92.0684 137.36 92.0684 137.36 c +92.0684 137.059 92.0869 136.865 92.1235 136.779 c +92.1606 136.693 92.2207 136.624 92.3042 136.574 c +92.3877 136.523 92.5073 136.498 92.6626 136.498 c +92.7793 136.498 92.9326 136.511 93.123 136.539 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +98.2305 135.599 m +98.2305 135.599 98.2305 136.511 98.2305 136.511 c +97.7461 135.81 97.0879 135.458 96.2559 135.458 c +95.8887 135.458 95.5459 135.529 95.2275 135.669 c +94.9092 135.81 94.6729 135.987 94.5186 136.2 c +94.3643 136.413 94.2559 136.674 94.1934 136.983 c +94.1504 137.19 94.1289 137.519 94.1289 137.968 c +94.1289 137.968 94.1289 141.826 94.1289 141.826 c +94.1289 141.826 95.1836 141.826 95.1836 141.826 c +95.1836 141.826 95.1836 138.371 95.1836 138.371 c +95.1836 137.819 95.2051 137.448 95.248 137.256 c +95.3145 136.979 95.4551 136.761 95.6699 136.602 c +95.8853 136.444 96.1509 136.365 96.4678 136.365 c +96.7842 136.365 97.0811 136.446 97.3589 136.608 c +97.6362 136.77 97.833 136.991 97.9482 137.271 c +98.0635 137.55 98.1211 137.956 98.1211 138.488 c +98.1211 138.488 98.1211 141.826 98.1211 141.826 c +98.1211 141.826 99.1758 141.826 99.1758 141.826 c +99.1758 141.826 99.1758 135.599 99.1758 135.599 c +99.1758 135.599 98.2305 135.599 98.2305 135.599 c +Q +f +*U +U +u +*u +q +1 0 0 1 0 0 cm +44.9297 120.079 m +44.9297 120.079 44.9297 128.673 44.9297 128.673 c +44.9297 128.673 48.1689 128.673 48.1689 128.673 c +48.7393 128.673 49.1743 128.645 49.4751 128.591 c +49.897 128.52 50.25 128.387 50.5352 128.189 c +50.8203 127.992 51.0498 127.715 51.2236 127.359 c +51.3975 127.003 51.4844 126.612 51.4844 126.187 c +51.4844 125.456 51.252 124.837 50.7881 124.331 c +50.3232 123.824 49.4844 123.571 48.271 123.571 c +48.271 123.571 46.0703 123.571 46.0703 123.571 c +46.0703 123.571 46.0703 120.079 46.0703 120.079 c +46.0703 120.079 44.9297 120.079 44.9297 120.079 c +Q +f +q +1 0 0 1 0 0 cm +46.0703 124.587 m +46.0703 124.587 48.2881 124.587 48.2881 124.587 c +49.0215 124.587 49.542 124.724 49.8501 124.997 c +50.1582 125.271 50.3125 125.655 50.3125 126.151 c +50.3125 126.511 50.2217 126.818 50.0405 127.074 c +49.8589 127.33 49.6201 127.499 49.3237 127.581 c +49.1323 127.632 48.7793 127.657 48.2646 127.657 c +48.2646 127.657 46.0703 127.657 46.0703 127.657 c +46.0703 127.657 46.0703 124.587 46.0703 124.587 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +52.7852 120.079 m +52.7852 120.079 52.7852 126.306 52.7852 126.306 c +52.7852 126.306 53.7305 126.306 53.7305 126.306 c +53.7305 126.306 53.7305 125.358 53.7305 125.358 c +53.9731 125.801 54.1973 126.094 54.4028 126.234 c +54.6084 126.376 54.8345 126.446 55.0815 126.446 c +55.4375 126.446 55.7998 126.332 56.168 126.105 c +56.168 126.105 55.7988 125.129 55.7988 125.129 c +55.542 125.278 55.2847 125.353 55.0273 125.353 c +54.7974 125.353 54.5908 125.283 54.4077 125.145 c +54.2246 125.006 54.0938 124.813 54.0156 124.567 c +53.8984 124.192 53.8398 123.782 53.8398 123.337 c +53.8398 123.337 53.8398 120.079 53.8398 120.079 c +53.8398 120.079 52.7852 120.079 52.7852 120.079 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +58.519 120.079 m +58.519 120.079 56.1563 126.306 56.1563 126.306 c +56.1563 126.306 57.2695 126.306 57.2695 126.306 c +57.2695 126.306 58.6055 122.577 58.6055 122.577 c +58.75 122.174 58.8828 121.756 59.0039 121.322 c +59.0977 121.65 59.2285 122.045 59.397 122.506 c +59.397 122.506 60.7832 126.306 60.7832 126.306 c +60.7832 126.306 61.8672 126.306 61.8672 126.306 c +61.8672 126.306 59.5049 120.079 59.5049 120.079 c +59.5049 120.079 58.519 120.079 58.519 120.079 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +62.7891 120.079 m +62.7891 120.079 62.7891 126.306 62.7891 126.306 c +62.7891 126.306 63.7344 126.306 63.7344 126.306 c +63.7344 126.306 63.7344 125.421 63.7344 125.421 c +64.1914 126.104 64.8521 126.446 65.7158 126.446 c +66.0908 126.446 66.4355 126.379 66.7505 126.244 c +67.0649 126.109 67.3008 125.932 67.457 125.713 c +67.6133 125.495 67.7227 125.234 67.7852 124.934 c +67.8242 124.738 67.8438 124.396 67.8438 123.908 c +67.8438 123.908 67.8438 120.079 67.8438 120.079 c +67.8438 120.079 66.7891 120.079 66.7891 120.079 c +66.7891 120.079 66.7891 123.867 66.7891 123.867 c +66.7891 124.297 66.748 124.618 66.666 124.831 c +66.584 125.044 66.4385 125.215 66.23 125.342 c +66.021 125.469 65.7759 125.532 65.4951 125.532 c +65.0459 125.532 64.6587 125.39 64.3325 125.104 c +64.0068 124.819 63.8438 124.277 63.8438 123.48 c +63.8438 123.48 63.8438 120.079 63.8438 120.079 c +63.8438 120.079 62.7891 120.079 62.7891 120.079 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +69.4941 127.079 m +70.2676 128.72 L +71.6582 128.72 L +70.3691 127.079 L +69.4941 127.079 L +Q +f +q +1 0 0 1 0 0 cm +69.8379 120.079 m +69.8379 126.306 L +70.8926 126.306 L +70.8926 120.079 L +69.8379 120.079 L +Q +f +*U +*u +q +1 0 0 1 0 0 cm +80.1934 122.36 m +80.1934 122.36 81.2324 122.22 81.2324 122.22 c +81.1191 121.506 80.8291 120.947 80.3618 120.544 c +79.895 120.14 79.3213 119.938 78.6416 119.938 c +77.79 119.938 77.105 120.217 76.5869 120.774 c +76.0693 121.331 75.8105 122.129 75.8105 123.169 c +75.8105 123.841 75.9219 124.43 76.1445 124.934 c +76.3672 125.438 76.7061 125.816 77.1611 126.068 c +77.6162 126.32 78.1113 126.446 78.6465 126.446 c +79.3223 126.446 79.875 126.275 80.3047 125.934 c +80.7344 125.592 81.0098 125.106 81.1309 124.478 c +81.1309 124.478 80.1074 124.321 80.1074 124.321 c +80.0098 124.738 79.8369 125.053 79.5889 125.263 c +79.3408 125.474 79.041 125.579 78.6895 125.579 c +78.1582 125.579 77.7266 125.389 77.3945 125.007 c +77.0625 124.626 76.8965 124.023 76.8965 123.198 c +76.8965 122.361 77.0566 121.754 77.3765 121.374 c +77.6968 120.995 78.1143 120.806 78.6299 120.806 c +79.0439 120.806 79.3892 120.933 79.6665 121.187 c +79.9434 121.441 80.1191 121.832 80.1934 122.36 c +Q +f +q +1 0 0 1 0 0 cm +78.623 127.728 m +79.2676 128.72 L +80.4707 128.72 L +79.1465 127.079 L +78.0215 127.079 L +76.7598 128.72 L +77.9629 128.72 L +78.623 127.728 L +Q +f +*U +*u +q +1 0 0 1 0 0 cm +82.1621 127.079 m +82.9355 128.72 L +84.3262 128.72 L +83.0371 127.079 L +82.1621 127.079 L +Q +f +q +1 0 0 1 0 0 cm +82.5059 120.079 m +82.5059 126.306 L +83.5605 126.306 L +83.5605 120.079 L +82.5059 120.079 L +Q +f +*U +*u +q +1 0 0 1 0 0 cm +85.043 121.938 m +85.043 121.938 86.0898 122.103 86.0898 122.103 c +86.1484 121.684 86.3115 121.363 86.5786 121.14 c +86.8462 120.917 87.2197 120.806 87.7002 120.806 c +88.1841 120.806 88.5435 120.904 88.7773 121.102 c +89.0117 121.299 89.1289 121.531 89.1289 121.797 c +89.1289 122.035 89.0259 122.223 88.8198 122.36 c +88.6758 122.454 88.3174 122.573 87.7441 122.718 c +86.9717 122.913 86.4355 123.082 86.1362 123.225 c +85.8364 123.367 85.6094 123.565 85.4546 123.817 c +85.2998 124.069 85.2227 124.348 85.2227 124.652 c +85.2227 124.93 85.2861 125.187 85.4131 125.423 c +85.54 125.66 85.7129 125.856 85.9316 126.013 c +86.0957 126.134 86.3193 126.236 86.6025 126.32 c +86.8857 126.404 87.1895 126.446 87.5137 126.446 c +88.002 126.446 88.4307 126.376 88.7998 126.235 c +89.1689 126.094 89.4414 125.903 89.6172 125.662 c +89.793 125.421 89.9141 125.1 89.9805 124.696 c +89.9805 124.696 88.9492 124.556 88.9492 124.556 c +88.9023 124.877 88.7666 125.128 88.5425 125.309 c +88.3184 125.489 88.0015 125.579 87.5918 125.579 c +87.1084 125.579 86.7627 125.499 86.5562 125.339 c +86.3496 125.178 86.2461 124.991 86.2461 124.775 c +86.2461 124.639 86.2891 124.516 86.375 124.406 c +86.4604 124.293 86.5952 124.199 86.7783 124.124 c +86.8838 124.085 87.1938 123.995 87.709 123.854 c +88.4536 123.655 88.9736 123.492 89.2686 123.365 c +89.5635 123.238 89.7949 123.053 89.9629 122.811 c +90.1309 122.569 90.2148 122.268 90.2148 121.908 c +90.2148 121.557 90.1123 121.225 89.9072 120.915 c +89.7017 120.604 89.4053 120.363 89.0186 120.193 c +88.6318 120.023 88.1938 119.938 87.7051 119.938 c +86.896 119.938 86.2793 120.106 85.855 120.443 c +85.4307 120.779 85.1602 121.277 85.043 121.938 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +91.4414 120.079 m +91.4414 128.673 L +92.4961 128.673 L +92.4961 120.079 L +91.4414 120.079 L +Q +f +*U +*u +q +1 0 0 1 0 0 cm +93.7402 123.192 m +93.7402 124.346 94.0605 125.199 94.7007 125.754 c +95.2358 126.216 95.8877 126.446 96.6572 126.446 c +97.5122 126.446 98.2114 126.166 98.7539 125.605 c +99.2969 125.044 99.5684 124.269 99.5684 123.28 c +99.5684 122.479 99.4482 121.849 99.208 121.39 c +98.9678 120.93 98.6182 120.574 98.1597 120.319 c +97.7007 120.065 97.2002 119.938 96.6572 119.938 c +95.7861 119.938 95.0825 120.218 94.5459 120.777 c +94.0088 121.336 93.7402 122.141 93.7402 123.192 c +Q +f +q +1 0 0 1 0 0 cm +94.8262 123.191 m +94.8262 122.394 94.9995 121.797 95.3467 121.4 c +95.6938 121.004 96.1309 120.806 96.6572 120.806 c +97.1797 120.806 97.6147 121.005 97.9619 121.403 c +98.3086 121.802 98.4824 122.41 98.4824 123.227 c +98.4824 123.996 98.3076 124.58 97.959 124.977 c +97.6099 125.373 97.1758 125.571 96.6572 125.571 c +96.1309 125.571 95.6938 125.374 95.3467 124.979 c +94.9995 124.585 94.8262 123.988 94.8262 123.191 c +Q +f +*U +U +u +*u +q +1 0 0 1 0 0 cm +39.9297 105.079 m +39.9297 105.079 39.9297 113.673 39.9297 113.673 c +39.9297 113.673 42.8853 113.673 42.8853 113.673 c +43.5527 113.673 44.0615 113.632 44.4131 113.55 c +44.9048 113.437 45.3242 113.231 45.6714 112.934 c +46.124 112.551 46.4624 112.062 46.687 111.466 c +46.9111 110.87 47.0234 110.188 47.0234 109.423 c +47.0234 108.771 46.9473 108.192 46.7949 107.688 c +46.6431 107.184 46.4478 106.767 46.21 106.436 c +45.9717 106.106 45.7114 105.846 45.4287 105.656 c +45.1455 105.467 44.8042 105.323 44.4043 105.226 c +44.0044 105.128 43.5449 105.079 43.0259 105.079 c +43.0259 105.079 39.9297 105.079 39.9297 105.079 c +Q +f +q +1 0 0 1 0 0 cm +41.0703 106.095 m +41.0703 106.095 42.8999 106.095 42.8999 106.095 c +43.4648 106.095 43.9082 106.147 44.2295 106.253 c +44.5508 106.358 44.8071 106.507 44.998 106.698 c +45.2671 106.968 45.4766 107.33 45.6265 107.785 c +45.7764 108.24 45.8516 108.792 45.8516 109.44 c +45.8516 110.339 45.7046 111.029 45.4102 111.512 c +45.1162 111.994 44.7588 112.317 44.3379 112.481 c +44.0337 112.599 43.5449 112.657 42.8706 112.657 c +42.8706 112.657 41.0703 112.657 41.0703 112.657 c +41.0703 112.657 41.0703 106.095 41.0703 106.095 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +48.4473 105.079 m +48.4473 105.079 48.4473 111.306 48.4473 111.306 c +48.4473 111.306 49.3926 111.306 49.3926 111.306 c +49.3926 111.306 49.3926 110.358 49.3926 110.358 c +49.6353 110.801 49.8594 111.094 50.0649 111.234 c +50.2705 111.376 50.4966 111.446 50.7437 111.446 c +51.0996 111.446 51.4619 111.332 51.8301 111.105 c +51.8301 111.105 51.4609 110.129 51.4609 110.129 c +51.2041 110.278 50.9468 110.353 50.6895 110.353 c +50.4595 110.353 50.2529 110.283 50.0698 110.145 c +49.8867 110.006 49.7559 109.813 49.6777 109.567 c +49.5605 109.192 49.502 108.782 49.502 108.337 c +49.502 108.337 49.502 105.079 49.502 105.079 c +49.502 105.079 48.4473 105.079 48.4473 105.079 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +56.5293 105.079 m +56.5293 105.079 56.5293 105.991 56.5293 105.991 c +56.0449 105.29 55.3867 104.938 54.5547 104.938 c +54.1875 104.938 53.8447 105.009 53.5264 105.149 c +53.208 105.29 52.9717 105.467 52.8174 105.68 c +52.6631 105.893 52.5547 106.154 52.4922 106.463 c +52.4492 106.67 52.4277 106.998 52.4277 107.448 c +52.4277 107.448 52.4277 111.306 52.4277 111.306 c +52.4277 111.306 53.4824 111.306 53.4824 111.306 c +53.4824 111.306 53.4824 107.851 53.4824 107.851 c +53.4824 107.299 53.5039 106.928 53.5469 106.736 c +53.6133 106.459 53.7539 106.241 53.9688 106.082 c +54.1841 105.924 54.4497 105.845 54.7666 105.845 c +55.083 105.845 55.3799 105.926 55.6577 106.088 c +55.9351 106.251 56.1318 106.471 56.2471 106.751 c +56.3623 107.03 56.4199 107.436 56.4199 107.968 c +56.4199 107.968 56.4199 111.306 56.4199 111.306 c +56.4199 111.306 57.4746 111.306 57.4746 111.306 c +57.4746 111.306 57.4746 105.079 57.4746 105.079 c +57.4746 105.079 56.5293 105.079 56.5293 105.079 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +59.125 105.079 m +59.125 105.079 59.125 113.673 59.125 113.673 c +59.125 113.673 60.1797 113.673 60.1797 113.673 c +60.1797 113.673 60.1797 110.593 60.1797 110.593 c +60.6719 111.162 61.2935 111.446 62.0439 111.446 c +62.5049 111.446 62.9053 111.355 63.2456 111.174 c +63.5854 110.992 63.8291 110.741 63.9756 110.42 c +64.1221 110.1 64.1953 109.635 64.1953 109.025 c +64.1953 109.025 64.1953 105.079 64.1953 105.079 c +64.1953 105.079 63.1406 105.079 63.1406 105.079 c +63.1406 105.079 63.1406 109.027 63.1406 109.027 c +63.1406 109.555 63.0264 109.939 62.7979 110.179 c +62.5688 110.42 62.2456 110.54 61.8271 110.54 c +61.5146 110.54 61.2202 110.459 60.9448 110.297 c +60.6689 110.134 60.4727 109.914 60.3555 109.637 c +60.2383 109.359 60.1797 108.976 60.1797 108.487 c +60.1797 108.487 60.1797 105.079 60.1797 105.079 c +60.1797 105.079 59.125 105.079 59.125 105.079 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +70.0527 107.087 m +70.0527 107.087 71.1465 106.946 71.1465 106.946 c +70.9746 106.31 70.6563 105.816 70.1914 105.465 c +69.7271 105.114 69.1333 104.938 68.4111 104.938 c +67.501 104.938 66.7798 105.219 66.2466 105.78 c +65.7139 106.341 65.4473 107.127 65.4473 108.14 c +65.4473 109.187 65.7168 110 66.2554 110.579 c +66.7944 111.157 67.4932 111.446 68.3525 111.446 c +69.1841 111.446 69.8638 111.163 70.3906 110.596 c +70.918 110.029 71.1816 109.232 71.1816 108.204 c +71.1816 108.142 71.1797 108.048 71.1758 107.923 c +71.1758 107.923 66.5332 107.923 66.5332 107.923 c +66.5723 107.238 66.7656 106.715 67.1128 106.351 c +67.4604 105.987 67.8936 105.806 68.4131 105.806 c +68.7993 105.806 69.1294 105.907 69.4028 106.111 c +69.6758 106.315 69.8926 106.64 70.0527 107.087 c +Q +f +q +1 0 0 1 0 0 cm +66.5957 108.79 m +66.5957 108.79 70.0645 108.79 70.0645 108.79 c +70.0176 109.314 69.8848 109.707 69.667 109.969 c +69.3311 110.376 68.8965 110.579 68.3623 110.579 c +67.8789 110.579 67.4722 110.417 67.1426 110.092 c +66.813 109.768 66.6309 109.334 66.5957 108.79 c +Q +f +q +1 0 0 1 0 0 cm +67.4785 112.079 m +68.252 113.72 L +69.6426 113.72 L +68.3535 112.079 L +67.4785 112.079 L +Q +f +*U +*u +q +1 0 0 1 0 0 cm +79.8691 107.36 m +79.8691 107.36 80.9082 107.22 80.9082 107.22 c +80.7949 106.506 80.5049 105.947 80.0376 105.544 c +79.5708 105.14 78.9971 104.938 78.3174 104.938 c +77.4658 104.938 76.7808 105.217 76.2627 105.774 c +75.7451 106.331 75.4863 107.129 75.4863 108.169 c +75.4863 108.841 75.5977 109.43 75.8203 109.934 c +76.043 110.438 76.3818 110.816 76.8369 111.068 c +77.292 111.32 77.7871 111.446 78.3223 111.446 c +78.998 111.446 79.5508 111.275 79.9805 110.934 c +80.4102 110.592 80.6855 110.106 80.8066 109.478 c +80.8066 109.478 79.7832 109.321 79.7832 109.321 c +79.6855 109.738 79.5127 110.053 79.2646 110.263 c +79.0166 110.474 78.7168 110.579 78.3652 110.579 c +77.834 110.579 77.4023 110.389 77.0703 110.007 c +76.7383 109.626 76.5723 109.023 76.5723 108.198 c +76.5723 107.361 76.7324 106.754 77.0522 106.374 c +77.3726 105.995 77.79 105.806 78.3057 105.806 c +78.7197 105.806 79.0649 105.933 79.3423 106.187 c +79.6191 106.441 79.7949 106.832 79.8691 107.36 c +Q +f +q +1 0 0 1 0 0 cm +78.2988 112.728 m +78.9434 113.72 L +80.1465 113.72 L +78.8223 112.079 L +77.6973 112.079 L +76.4355 113.72 L +77.6387 113.72 L +78.2988 112.728 L +Q +f +*U +*u +q +1 0 0 1 0 0 cm +81.8379 112.079 m +82.6113 113.72 L +84.002 113.72 L +82.7129 112.079 L +81.8379 112.079 L +Q +f +q +1 0 0 1 0 0 cm +82.1816 105.079 m +82.1816 111.306 L +83.2363 111.306 L +83.2363 105.079 L +82.1816 105.079 L +Q +f +*U +*u +q +1 0 0 1 0 0 cm +84.7188 106.938 m +84.7188 106.938 85.7656 107.103 85.7656 107.103 c +85.8242 106.684 85.9873 106.363 86.2544 106.14 c +86.522 105.917 86.8955 105.806 87.376 105.806 c +87.8599 105.806 88.2192 105.904 88.4531 106.102 c +88.6875 106.299 88.8047 106.531 88.8047 106.797 c +88.8047 107.035 88.7017 107.223 88.4956 107.36 c +88.3516 107.454 87.9932 107.573 87.4199 107.718 c +86.6475 107.913 86.1113 108.082 85.812 108.225 c +85.5122 108.367 85.2852 108.565 85.1304 108.817 c +84.9756 109.069 84.8984 109.348 84.8984 109.652 c +84.8984 109.93 84.9619 110.187 85.0889 110.423 c +85.2158 110.66 85.3887 110.856 85.6074 111.013 c +85.7715 111.134 85.9951 111.236 86.2783 111.32 c +86.5615 111.404 86.8652 111.446 87.1895 111.446 c +87.6777 111.446 88.1064 111.376 88.4756 111.235 c +88.8447 111.094 89.1172 110.903 89.293 110.662 c +89.4688 110.421 89.5898 110.1 89.6563 109.696 c +89.6563 109.696 88.625 109.556 88.625 109.556 c +88.5781 109.877 88.4424 110.128 88.2183 110.309 c +87.9941 110.489 87.6772 110.579 87.2676 110.579 c +86.7842 110.579 86.4385 110.499 86.2319 110.339 c +86.0254 110.178 85.9219 109.991 85.9219 109.775 c +85.9219 109.639 85.9648 109.516 86.0508 109.406 c +86.1362 109.293 86.271 109.199 86.4541 109.124 c +86.5596 109.085 86.8696 108.995 87.3848 108.854 c +88.1294 108.655 88.6494 108.492 88.9443 108.365 c +89.2393 108.238 89.4707 108.053 89.6387 107.811 c +89.8066 107.569 89.8906 107.268 89.8906 106.908 c +89.8906 106.557 89.7881 106.225 89.583 105.915 c +89.3774 105.604 89.0811 105.363 88.6943 105.193 c +88.3076 105.023 87.8696 104.938 87.3809 104.938 c +86.5718 104.938 85.9551 105.106 85.5308 105.443 c +85.1064 105.779 84.8359 106.277 84.7188 106.938 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +91.1172 105.079 m +91.1172 113.673 L +92.1719 113.673 L +92.1719 105.079 L +91.1172 105.079 L +Q +f +*U +*u +q +1 0 0 1 0 0 cm +93.416 108.192 m +93.416 109.346 93.7363 110.199 94.3765 110.754 c +94.9116 111.216 95.5635 111.446 96.333 111.446 c +97.188 111.446 97.8872 111.166 98.4297 110.605 c +98.9727 110.044 99.2441 109.269 99.2441 108.28 c +99.2441 107.479 99.124 106.849 98.8838 106.39 c +98.6436 105.93 98.2939 105.574 97.8354 105.319 c +97.3765 105.065 96.876 104.938 96.333 104.938 c +95.4619 104.938 94.7583 105.218 94.2217 105.777 c +93.6846 106.336 93.416 107.141 93.416 108.192 c +Q +f +q +1 0 0 1 0 0 cm +94.502 108.191 m +94.502 107.394 94.6753 106.797 95.0225 106.4 c +95.3696 106.004 95.8066 105.806 96.333 105.806 c +96.8555 105.806 97.2905 106.005 97.6377 106.403 c +97.9844 106.802 98.1582 107.41 98.1582 108.227 c +98.1582 108.996 97.9834 109.58 97.6348 109.977 c +97.2856 110.373 96.8516 110.571 96.333 110.571 c +95.8066 110.571 95.3696 110.374 95.0225 109.979 c +94.6753 109.585 94.502 108.988 94.502 108.191 c +Q +f +*U +U +u +*u +q +1 0 0 1 0 0 cm +8.21582 71.4131 m +8.21582 71.4131 8.21582 80.0068 8.21582 80.0068 c +8.21582 80.0068 11.4385 80.0068 11.4385 80.0068 c +12.0947 80.0068 12.6211 79.9199 13.0176 79.7461 c +13.4141 79.5713 13.7246 79.3037 13.9492 78.9424 c +14.1738 78.5811 14.2861 78.2021 14.2861 77.8076 c +14.2861 77.4395 14.1865 77.0938 13.9878 76.7695 c +13.7891 76.4443 13.4883 76.1826 13.0869 75.9834 c +13.6055 75.8311 14.0039 75.5713 14.2822 75.2041 c +14.5605 74.8369 14.7002 74.4033 14.7002 73.9033 c +14.7002 73.501 14.6152 73.127 14.4453 72.7813 c +14.2754 72.4355 14.0654 72.1689 13.8154 71.9814 c +13.5654 71.7939 13.2524 71.6523 12.8755 71.5566 c +12.4985 71.4609 12.0371 71.4131 11.4902 71.4131 c +11.4902 71.4131 8.21582 71.4131 8.21582 71.4131 c +Q +f +q +1 0 0 1 0 0 cm +9.35645 76.3975 m +9.35645 76.3975 11.2129 76.3975 11.2129 76.3975 c +11.7168 76.3975 12.0776 76.4307 12.2964 76.4971 c +12.585 76.583 12.8027 76.7256 12.9492 76.9248 c +13.0957 77.123 13.1689 77.373 13.1689 77.6738 c +13.1689 77.959 13.1006 78.21 12.9639 78.4268 c +12.8271 78.6426 12.6318 78.791 12.3784 78.8711 c +12.1245 78.9512 11.6895 78.9912 11.0723 78.9912 c +11.0723 78.9912 9.35645 78.9912 9.35645 78.9912 c +9.35645 78.9912 9.35645 76.3975 9.35645 76.3975 c +Q +f +q +1 0 0 1 0 0 cm +9.35645 72.4287 m +9.35645 72.4287 11.4951 72.4287 11.4951 72.4287 c +11.8623 72.4287 12.1201 72.4424 12.2686 72.4697 c +12.5303 72.5166 12.749 72.5947 12.9248 72.7041 c +13.1006 72.8135 13.2451 72.9727 13.3584 73.1816 c +13.4717 73.3906 13.5283 73.6318 13.5283 73.9053 c +13.5283 74.2256 13.4458 74.5039 13.2813 74.7402 c +13.1167 74.9766 12.8887 75.1426 12.5981 75.2383 c +12.3071 75.334 11.8887 75.3818 11.3418 75.3818 c +11.3418 75.3818 9.35645 75.3818 9.35645 75.3818 c +9.35645 75.3818 9.35645 72.4287 9.35645 72.4287 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +16.1025 71.4131 m +16.1025 80.0068 L +17.1572 80.0068 L +17.1572 71.4131 L +16.1025 71.4131 L +Q +f +*U +*u +q +1 0 0 1 0 0 cm +18.4014 74.5264 m +18.4014 75.6797 18.7217 76.5332 19.3618 77.0889 c +19.897 77.5498 20.5488 77.7803 21.3184 77.7803 c +22.1733 77.7803 22.8726 77.5 23.415 76.9385 c +23.958 76.3779 24.2295 75.6035 24.2295 74.6143 c +24.2295 73.8135 24.1094 73.1826 23.8691 72.7236 c +23.6289 72.2646 23.2793 71.9072 22.8208 71.6533 c +22.3618 71.3994 21.8613 71.2725 21.3184 71.2725 c +20.4473 71.2725 19.7437 71.5518 19.207 72.1104 c +18.6699 72.6699 18.4014 73.4746 18.4014 74.5264 c +Q +f +q +1 0 0 1 0 0 cm +19.4873 74.5254 m +19.4873 73.7285 19.6606 73.1309 20.0078 72.7344 c +20.355 72.3379 20.792 72.1396 21.3184 72.1396 c +21.8408 72.1396 22.2759 72.3389 22.623 72.7373 c +22.9697 73.1357 23.1436 73.7441 23.1436 74.5605 c +23.1436 75.3301 22.9688 75.9131 22.6201 76.3105 c +22.271 76.707 21.8369 76.9053 21.3184 76.9053 c +20.792 76.9053 20.355 76.708 20.0078 76.3135 c +19.6606 75.9189 19.4873 75.3223 19.4873 74.5254 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +25.4736 71.4131 m +25.4736 80.0068 L +26.5283 80.0068 L +26.5283 75.1123 L +29.0234 77.6396 L +30.3877 77.6396 L +28.0127 75.3271 L +30.6299 71.4131 L +29.3291 71.4131 L +27.2646 74.5986 L +26.5283 73.8818 L +26.5283 71.4131 L +25.4736 71.4131 L +Q +f +*U +*u +q +1 0 0 1 0 0 cm +31.4189 69.0186 m +31.4189 69.0186 31.3018 70.0068 31.3018 70.0068 c +31.5322 69.9443 31.7339 69.9131 31.9058 69.9131 c +32.1406 69.9131 32.3281 69.9521 32.4688 70.0303 c +32.6094 70.1084 32.7251 70.2178 32.8149 70.3584 c +32.8813 70.4639 32.9888 70.7256 33.1377 71.1445 c +33.1572 71.2031 33.1885 71.2891 33.2314 71.4023 c +33.2314 71.4023 30.8643 77.6396 30.8643 77.6396 c +30.8643 77.6396 31.9917 77.6396 31.9917 77.6396 c +31.9917 77.6396 33.292 74.041 33.292 74.041 c +33.4609 73.585 33.6118 73.1045 33.7451 72.6016 c +33.8701 73.0791 34.0166 73.5488 34.1851 74.0088 c +34.1851 74.0088 35.5127 77.6396 35.5127 77.6396 c +35.5127 77.6396 36.5674 77.6396 36.5674 77.6396 c +36.5674 77.6396 34.209 71.3047 34.209 71.3047 c +33.9541 70.6221 33.7563 70.1523 33.6157 69.8955 c +33.4277 69.5488 33.2119 69.2939 32.9697 69.1318 c +32.7266 68.9707 32.437 68.8896 32.1001 68.8896 c +31.8965 68.8896 31.6694 68.9326 31.4189 69.0186 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +40.3779 73.2725 m +40.3779 73.2725 41.4248 73.4365 41.4248 73.4365 c +41.4834 73.0176 41.6465 72.6973 41.9136 72.4736 c +42.1812 72.251 42.5547 72.1396 43.0352 72.1396 c +43.519 72.1396 43.8784 72.2383 44.1123 72.4355 c +44.3467 72.6338 44.4639 72.8652 44.4639 73.1309 c +44.4639 73.3691 44.3608 73.5566 44.1548 73.6943 c +44.0107 73.7881 43.6523 73.9072 43.0791 74.0518 c +42.3066 74.2471 41.7705 74.416 41.4712 74.5586 c +41.1714 74.7012 40.9443 74.8984 40.7896 75.1514 c +40.6348 75.4033 40.5576 75.6816 40.5576 75.9863 c +40.5576 76.2637 40.6211 76.5205 40.748 76.7568 c +40.875 76.9932 41.0479 77.1904 41.2666 77.3467 c +41.4307 77.4678 41.6543 77.5703 41.9375 77.6543 c +42.2207 77.7383 42.5244 77.7803 42.8486 77.7803 c +43.3369 77.7803 43.7656 77.71 44.1348 77.5693 c +44.5039 77.4277 44.7764 77.2373 44.9521 76.9961 c +45.1279 76.7559 45.249 76.4336 45.3154 76.0303 c +45.3154 76.0303 44.2842 75.8896 44.2842 75.8896 c +44.2373 76.2109 44.1016 76.4619 43.8774 76.6426 c +43.6533 76.8232 43.3364 76.9131 42.9268 76.9131 c +42.4434 76.9131 42.0977 76.833 41.8911 76.6729 c +41.6846 76.5127 41.5811 76.3242 41.5811 76.1094 c +41.5811 75.9727 41.624 75.8496 41.71 75.7402 c +41.7954 75.626 41.9302 75.5322 42.1133 75.458 c +42.2188 75.4189 42.5288 75.3291 43.0439 75.1885 c +43.7886 74.9893 44.3086 74.8262 44.6035 74.6992 c +44.8984 74.5723 45.1299 74.3877 45.2979 74.1455 c +45.4658 73.9023 45.5498 73.6016 45.5498 73.2422 c +45.5498 72.8906 45.4473 72.5596 45.2422 72.249 c +45.0366 71.9375 44.7402 71.6973 44.3535 71.5273 c +43.9668 71.3574 43.5288 71.2725 43.04 71.2725 c +42.231 71.2725 41.6143 71.4404 41.1899 71.7764 c +40.7656 72.1133 40.4951 72.6113 40.3779 73.2725 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +50.1338 69.0303 m +50.1338 69.0303 50.1338 77.6396 50.1338 77.6396 c +50.1338 77.6396 51.0947 77.6396 51.0947 77.6396 c +51.0947 77.6396 51.0947 76.8291 51.0947 76.8291 c +51.3213 77.1465 51.5776 77.3838 51.8628 77.542 c +52.1484 77.7012 52.4941 77.7803 52.9009 77.7803 c +53.4326 77.7803 53.9019 77.6436 54.3086 77.3701 c +54.7148 77.0967 55.022 76.71 55.2295 76.2119 c +55.4365 75.7139 55.54 75.167 55.54 74.5732 c +55.54 73.9365 55.4258 73.3623 55.1968 72.8525 c +54.9683 72.3428 54.6357 71.9512 54.2002 71.6797 c +53.7637 71.4082 53.3057 71.2725 52.8247 71.2725 c +52.4727 71.2725 52.1572 71.3467 51.8774 71.4951 c +51.5981 71.6436 51.3682 71.8311 51.1885 72.0576 c +51.1885 72.0576 51.1885 69.0303 51.1885 69.0303 c +51.1885 69.0303 50.1338 69.0303 50.1338 69.0303 c +Q +f +q +1 0 0 1 0 0 cm +51.0869 74.4902 m +51.0869 73.6895 51.249 73.0967 51.5728 72.7139 c +51.897 72.3311 52.2891 72.1396 52.75 72.1396 c +53.2188 72.1396 53.6196 72.3379 53.9531 72.7344 c +54.2871 73.1309 54.4541 73.7461 54.4541 74.5781 c +54.4541 75.3711 54.291 75.9658 53.9648 76.3604 c +53.6392 76.7549 53.25 76.9521 52.7969 76.9521 c +52.3477 76.9521 51.9507 76.7422 51.605 76.3223 c +51.2598 75.9014 51.0869 75.291 51.0869 74.4902 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +58.4717 79.0615 m +59.1162 80.0537 L +60.3193 80.0537 L +58.9951 78.4131 L +57.8701 78.4131 L +56.6084 80.0537 L +57.8115 80.0537 L +58.4717 79.0615 L +Q +f +q +1 0 0 1 0 0 cm +56.7998 71.4131 m +56.7998 71.4131 56.7998 77.6396 56.7998 77.6396 c +56.7998 77.6396 57.7451 77.6396 57.7451 77.6396 c +57.7451 77.6396 57.7451 76.6924 57.7451 76.6924 c +57.9878 77.1357 58.2119 77.4277 58.4175 77.5684 c +58.623 77.71 58.8491 77.7803 59.0962 77.7803 c +59.4521 77.7803 59.8145 77.667 60.1826 77.4395 c +60.1826 77.4395 59.8135 76.4629 59.8135 76.4629 c +59.5566 76.6123 59.2993 76.6865 59.042 76.6865 c +58.812 76.6865 58.6055 76.6172 58.4224 76.4785 c +58.2393 76.3398 58.1084 76.1475 58.0303 75.9014 c +57.9131 75.5264 57.8545 75.1162 57.8545 74.6709 c +57.8545 74.6709 57.8545 71.4131 57.8545 71.4131 c +57.8545 71.4131 56.7998 71.4131 56.7998 71.4131 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +65.0576 73.4209 m +65.0576 73.4209 66.1514 73.2803 66.1514 73.2803 c +65.9795 72.6445 65.6611 72.1504 65.1963 71.7998 c +64.7319 71.4482 64.1382 71.2725 63.416 71.2725 c +62.5059 71.2725 61.7847 71.5527 61.2515 72.1143 c +60.7188 72.6748 60.4521 73.4609 60.4521 74.4736 c +60.4521 75.5205 60.7217 76.334 61.2603 76.9121 c +61.7993 77.4912 62.498 77.7803 63.3574 77.7803 c +64.189 77.7803 64.8687 77.4971 65.3955 76.9307 c +65.9229 76.3633 66.1865 75.5664 66.1865 74.5381 c +66.1865 74.4756 66.1846 74.3818 66.1807 74.2568 c +66.1807 74.2568 61.5381 74.2568 61.5381 74.2568 c +61.5771 73.5723 61.7705 73.0488 62.1177 72.6846 c +62.4653 72.3213 62.8984 72.1396 63.418 72.1396 c +63.8042 72.1396 64.1343 72.2412 64.4077 72.4453 c +64.6807 72.6494 64.8975 72.9736 65.0576 73.4209 c +Q +f +q +1 0 0 1 0 0 cm +61.6006 75.124 m +61.6006 75.124 65.0693 75.124 65.0693 75.124 c +65.0225 75.6475 64.8896 76.041 64.6719 76.3027 c +64.3359 76.71 63.9014 76.9131 63.3672 76.9131 c +62.8838 76.9131 62.4771 76.751 62.1475 76.4258 c +61.8179 76.1016 61.6357 75.667 61.6006 75.124 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +67.4775 71.4131 m +67.4775 71.4131 67.4775 77.6396 67.4775 77.6396 c +67.4775 77.6396 68.4229 77.6396 68.4229 77.6396 c +68.4229 77.6396 68.4229 76.7549 68.4229 76.7549 c +68.8799 77.4385 69.5405 77.7803 70.4043 77.7803 c +70.7793 77.7803 71.124 77.7129 71.439 77.5781 c +71.7534 77.4434 71.9893 77.2666 72.1455 77.0479 c +72.3018 76.8281 72.4111 76.5684 72.4736 76.2676 c +72.5127 76.0723 72.5322 75.7305 72.5322 75.2412 c +72.5322 75.2412 72.5322 71.4131 72.5322 71.4131 c +72.5322 71.4131 71.4775 71.4131 71.4775 71.4131 c +71.4775 71.4131 71.4775 75.2012 71.4775 75.2012 c +71.4775 75.6309 71.4365 75.9521 71.3545 76.165 c +71.2725 76.3789 71.127 76.5488 70.9185 76.6758 c +70.7095 76.8027 70.4644 76.8662 70.1836 76.8662 c +69.7344 76.8662 69.3472 76.7236 69.021 76.4385 c +68.6953 76.1523 68.5322 75.6113 68.5322 74.8135 c +68.5322 74.8135 68.5322 71.4131 68.5322 71.4131 c +68.5322 71.4131 67.4775 71.4131 67.4775 71.4131 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +73.7607 74.5264 m +73.7607 75.6797 74.0811 76.5332 74.7212 77.0889 c +75.2563 77.5498 75.9082 77.7803 76.6777 77.7803 c +77.5327 77.7803 78.2319 77.5 78.7744 76.9385 c +79.3174 76.3779 79.5889 75.6035 79.5889 74.6143 c +79.5889 73.8135 79.4688 73.1826 79.2285 72.7236 c +78.9883 72.2646 78.6387 71.9072 78.1802 71.6533 c +77.7212 71.3994 77.2207 71.2725 76.6777 71.2725 c +75.8066 71.2725 75.103 71.5518 74.5664 72.1104 c +74.0293 72.6699 73.7607 73.4746 73.7607 74.5264 c +Q +f +q +1 0 0 1 0 0 cm +74.8467 74.5254 m +74.8467 73.7285 75.02 73.1309 75.3672 72.7344 c +75.7144 72.3379 76.1514 72.1396 76.6777 72.1396 c +77.2002 72.1396 77.6353 72.3389 77.9824 72.7373 c +78.3291 73.1357 78.5029 73.7441 78.5029 74.5605 c +78.5029 75.3301 78.3281 75.9131 77.9795 76.3105 c +77.6304 76.707 77.1963 76.9053 76.6777 76.9053 c +76.1514 76.9053 75.7144 76.708 75.3672 76.3135 c +75.02 75.9189 74.8467 75.3223 74.8467 74.5254 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +80.4033 73.2725 m +80.4033 73.2725 81.4502 73.4365 81.4502 73.4365 c +81.5088 73.0176 81.6719 72.6973 81.939 72.4736 c +82.2065 72.251 82.5801 72.1396 83.0605 72.1396 c +83.5444 72.1396 83.9038 72.2383 84.1377 72.4355 c +84.3721 72.6338 84.4893 72.8652 84.4893 73.1309 c +84.4893 73.3691 84.3862 73.5566 84.1802 73.6943 c +84.0361 73.7881 83.6777 73.9072 83.1045 74.0518 c +82.332 74.2471 81.7959 74.416 81.4966 74.5586 c +81.1968 74.7012 80.9697 74.8984 80.8149 75.1514 c +80.6602 75.4033 80.583 75.6816 80.583 75.9863 c +80.583 76.2637 80.6465 76.5205 80.7734 76.7568 c +80.9004 76.9932 81.0732 77.1904 81.292 77.3467 c +81.4561 77.4678 81.6797 77.5703 81.9629 77.6543 c +82.2461 77.7383 82.5498 77.7803 82.874 77.7803 c +83.3623 77.7803 83.791 77.71 84.1602 77.5693 c +84.5293 77.4277 84.8018 77.2373 84.9775 76.9961 c +85.1533 76.7559 85.2744 76.4336 85.3408 76.0303 c +85.3408 76.0303 84.3096 75.8896 84.3096 75.8896 c +84.2627 76.2109 84.127 76.4619 83.9028 76.6426 c +83.6787 76.8232 83.3618 76.9131 82.9521 76.9131 c +82.4688 76.9131 82.123 76.833 81.9165 76.6729 c +81.71 76.5127 81.6064 76.3242 81.6064 76.1094 c +81.6064 75.9727 81.6494 75.8496 81.7354 75.7402 c +81.8208 75.626 81.9556 75.5322 82.1387 75.458 c +82.2441 75.4189 82.5542 75.3291 83.0693 75.1885 c +83.814 74.9893 84.334 74.8262 84.6289 74.6992 c +84.9238 74.5723 85.1553 74.3877 85.3232 74.1455 c +85.4912 73.9023 85.5752 73.6016 85.5752 73.2422 c +85.5752 72.8906 85.4727 72.5596 85.2676 72.249 c +85.062 71.9375 84.7656 71.6973 84.3789 71.5273 c +83.9922 71.3574 83.5542 71.2725 83.0654 71.2725 c +82.2563 71.2725 81.6396 71.4404 81.2153 71.7764 c +80.791 72.1133 80.5205 72.6113 80.4033 73.2725 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +86.7783 69.0186 m +86.7783 69.0186 86.6611 70.0068 86.6611 70.0068 c +86.8916 69.9443 87.0933 69.9131 87.2651 69.9131 c +87.5 69.9131 87.6875 69.9521 87.8281 70.0303 c +87.9688 70.1084 88.0845 70.2178 88.1743 70.3584 c +88.2407 70.4639 88.3481 70.7256 88.4971 71.1445 c +88.5166 71.2031 88.5479 71.2891 88.5908 71.4023 c +88.5908 71.4023 86.2236 77.6396 86.2236 77.6396 c +86.2236 77.6396 87.3511 77.6396 87.3511 77.6396 c +87.3511 77.6396 88.6514 74.041 88.6514 74.041 c +88.8203 73.585 88.9712 73.1045 89.1045 72.6016 c +89.2295 73.0791 89.376 73.5488 89.5444 74.0088 c +89.5444 74.0088 90.8721 77.6396 90.8721 77.6396 c +90.8721 77.6396 91.9268 77.6396 91.9268 77.6396 c +91.9268 77.6396 89.5684 71.3047 89.5684 71.3047 c +89.3135 70.6221 89.1157 70.1523 88.9751 69.8955 c +88.7871 69.5488 88.5713 69.2939 88.3291 69.1318 c +88.0859 68.9707 87.7964 68.8896 87.4595 68.8896 c +87.2559 68.8896 87.0288 68.9326 86.7783 69.0186 c +Q +f +*U +U +1 w +q +1 0 0 1 0 0 cm +107.75 102.66 m +92.75 102.521 109 74.4102 95.0811 74.4102 c +Q +S +q +1 0 0 1 0 0 cm +95.3198 74.4111 m +110.32 74.2705 94.0698 46.1611 107.989 46.1611 c +Q +S +u +q +1 0 0 1 0 0 cm +110.764 32.0791 m +266.333 32.0791 L +266.333 17.0801 L +110.764 17.0801 L +110.764 32.0791 L +Q +s +q +1 0 0 1 0 0 cm +246.887 32.0791 m +246.887 17.0801 L +Q +S +q +1 0 0 1 0 0 cm +227.441 32.0791 m +227.441 17.0801 L +Q +S +q +1 0 0 1 0 0 cm +207.993 32.0791 m +207.993 17.0801 L +Q +S +q +1 0 0 1 0 0 cm +188.55 32.0791 m +188.55 17.0801 L +Q +S +q +1 0 0 1 0 0 cm +169.104 32.0791 m +169.104 17.0801 L +Q +S +q +1 0 0 1 0 0 cm +149.656 32.0791 m +149.656 17.0801 L +Q +S +q +1 0 0 1 0 0 cm +130.209 32.0791 m +130.209 17.0801 L +Q +S +U +u +*u +0.5 w +q +1 0 0 1 0 0 cm +118.98 29.3711 m +119.812 29.3711 120.461 29.0742 120.929 28.4805 c +121.487 27.7773 121.766 26.6104 121.766 24.9814 c +121.766 23.3564 121.485 22.1875 120.923 21.4766 c +120.459 20.8906 119.812 20.5977 118.98 20.5977 c +118.146 20.5977 117.473 20.9189 116.962 21.5615 c +116.451 22.2041 116.195 23.3506 116.195 24.999 c +116.195 26.6162 116.476 27.7813 117.038 28.4922 c +117.502 29.0781 118.149 29.3711 118.98 29.3711 c +Q +f +q +1 0 0 1 0 0 cm +118.98 28.0039 m +118.783 28.0039 118.606 27.9404 118.451 27.8135 c +118.296 27.6865 118.176 27.459 118.091 27.1309 c +117.978 26.7051 117.922 25.9893 117.922 24.9814 c +117.922 23.9736 117.972 23.2813 118.073 22.9053 c +118.174 22.5283 118.301 22.2773 118.454 22.1523 c +118.607 22.0273 118.783 21.9648 118.98 21.9648 c +119.178 21.9648 119.354 22.0283 119.51 22.1553 c +119.665 22.2822 119.785 22.5098 119.87 22.8379 c +119.983 23.2598 120.039 23.9736 120.039 24.9814 c +120.039 25.9893 119.989 26.6807 119.888 27.0576 c +119.787 27.4346 119.66 27.6865 119.507 27.8135 c +119.354 27.9404 119.178 28.0039 118.98 28.0039 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +140.416 20.7461 m +140.416 20.7461 138.768 20.7461 138.768 20.7461 c +138.768 20.7461 138.768 26.9531 138.768 26.9531 c +138.167 26.3916 137.458 25.9766 136.643 25.707 c +136.643 25.707 136.643 27.1992 136.643 27.1992 c +137.072 27.3398 137.539 27.6055 138.043 27.998 c +138.547 28.3906 138.893 28.8477 139.08 29.3711 c +139.08 29.3711 140.416 29.3711 140.416 29.3711 c +140.416 29.3711 140.416 20.7461 140.416 20.7461 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +160.426 20.7461 m +160.426 20.7461 158.777 20.7461 158.777 20.7461 c +158.777 20.7461 158.777 26.9531 158.777 26.9531 c +158.176 26.3916 157.468 25.9766 156.652 25.707 c +156.652 25.707 156.652 27.1992 156.652 27.1992 c +157.082 27.3398 157.549 27.6055 158.053 27.998 c +158.557 28.3906 158.902 28.8477 159.09 29.3711 c +159.09 29.3711 160.426 29.3711 160.426 29.3711 c +160.426 29.3711 160.426 20.7461 160.426 20.7461 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +180.436 20.7461 m +180.436 20.7461 178.787 20.7461 178.787 20.7461 c +178.787 20.7461 178.787 26.9531 178.787 26.9531 c +178.186 26.3916 177.477 25.9766 176.662 25.707 c +176.662 25.707 176.662 27.1992 176.662 27.1992 c +177.092 27.3398 177.559 27.6055 178.063 27.998 c +178.566 28.3906 178.912 28.8477 179.1 29.3711 c +179.1 29.3711 180.436 29.3711 180.436 29.3711 c +180.436 29.3711 180.436 20.7461 180.436 20.7461 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +199.02 29.3711 m +199.851 29.3711 200.5 29.0742 200.968 28.4805 c +201.525 27.7773 201.805 26.6104 201.805 24.9814 c +201.805 23.3564 201.523 22.1875 200.962 21.4766 c +200.498 20.8906 199.851 20.5977 199.02 20.5977 c +198.185 20.5977 197.512 20.9189 197.001 21.5615 c +196.49 22.2041 196.234 23.3506 196.234 24.999 c +196.234 26.6162 196.516 27.7813 197.077 28.4922 c +197.541 29.0781 198.189 29.3711 199.02 29.3711 c +Q +f +q +1 0 0 1 0 0 cm +199.02 28.0039 m +198.822 28.0039 198.645 27.9404 198.49 27.8135 c +198.335 27.6865 198.215 27.459 198.13 27.1309 c +198.018 26.7051 197.961 25.9893 197.961 24.9814 c +197.961 23.9736 198.012 23.2813 198.112 22.9053 c +198.213 22.5283 198.34 22.2773 198.493 22.1523 c +198.646 22.0273 198.822 21.9648 199.02 21.9648 c +199.217 21.9648 199.394 22.0283 199.549 22.1553 c +199.704 22.2822 199.824 22.5098 199.909 22.8379 c +200.021 23.2598 200.078 23.9736 200.078 24.9814 c +200.078 25.9893 200.027 26.6807 199.927 27.0576 c +199.826 27.4346 199.699 27.6865 199.546 27.8135 c +199.393 27.9404 199.217 28.0039 199.02 28.0039 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +219.029 29.3711 m +219.86 29.3711 220.51 29.0742 220.977 28.4805 c +221.535 27.7773 221.814 26.6104 221.814 24.9814 c +221.814 23.3564 221.533 22.1875 220.972 21.4766 c +220.508 20.8906 219.86 20.5977 219.029 20.5977 c +218.194 20.5977 217.521 20.9189 217.011 21.5615 c +216.5 22.2041 216.244 23.3506 216.244 24.999 c +216.244 26.6162 216.525 27.7813 217.087 28.4922 c +217.551 29.0781 218.198 29.3711 219.029 29.3711 c +Q +f +q +1 0 0 1 0 0 cm +219.029 28.0039 m +218.832 28.0039 218.655 27.9404 218.5 27.8135 c +218.345 27.6865 218.225 27.459 218.14 27.1309 c +218.027 26.7051 217.971 25.9893 217.971 24.9814 c +217.971 23.9736 218.021 23.2813 218.122 22.9053 c +218.223 22.5283 218.35 22.2773 218.503 22.1523 c +218.656 22.0273 218.832 21.9648 219.029 21.9648 c +219.227 21.9648 219.403 22.0283 219.559 22.1553 c +219.714 22.2822 219.834 22.5098 219.919 22.8379 c +220.031 23.2598 220.088 23.9736 220.088 24.9814 c +220.088 25.9893 220.037 26.6807 219.936 27.0576 c +219.836 27.4346 219.709 27.6865 219.556 27.8135 c +219.402 27.9404 219.227 28.0039 219.029 28.0039 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +239.039 29.3711 m +239.87 29.3711 240.52 29.0742 240.987 28.4805 c +241.545 27.7773 241.824 26.6104 241.824 24.9814 c +241.824 23.3564 241.543 22.1875 240.981 21.4766 c +240.518 20.8906 239.87 20.5977 239.039 20.5977 c +238.204 20.5977 237.531 20.9189 237.02 21.5615 c +236.51 22.2041 236.254 23.3506 236.254 24.999 c +236.254 26.6162 236.535 27.7813 237.097 28.4922 c +237.561 29.0781 238.208 29.3711 239.039 29.3711 c +Q +f +q +1 0 0 1 0 0 cm +239.039 28.0039 m +238.842 28.0039 238.665 27.9404 238.51 27.8135 c +238.355 27.6865 238.234 27.459 238.149 27.1309 c +238.037 26.7051 237.98 25.9893 237.98 24.9814 c +237.98 23.9736 238.031 23.2813 238.132 22.9053 c +238.232 22.5283 238.359 22.2773 238.513 22.1523 c +238.666 22.0273 238.842 21.9648 239.039 21.9648 c +239.236 21.9648 239.413 22.0283 239.568 22.1553 c +239.724 22.2822 239.844 22.5098 239.929 22.8379 c +240.041 23.2598 240.098 23.9736 240.098 24.9814 c +240.098 25.9893 240.047 26.6807 239.946 27.0576 c +239.846 27.4346 239.719 27.6865 239.565 27.8135 c +239.412 27.9404 239.236 28.0039 239.039 28.0039 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +255.715 29.3711 m +256.546 29.3711 257.195 29.0742 257.663 28.4805 c +258.221 27.7773 258.5 26.6104 258.5 24.9814 c +258.5 23.3564 258.219 22.1875 257.657 21.4766 c +257.193 20.8906 256.546 20.5977 255.715 20.5977 c +254.88 20.5977 254.207 20.9189 253.696 21.5615 c +253.186 22.2041 252.93 23.3506 252.93 24.999 c +252.93 26.6162 253.211 27.7813 253.773 28.4922 c +254.236 29.0781 254.884 29.3711 255.715 29.3711 c +Q +f +q +1 0 0 1 0 0 cm +255.715 28.0039 m +255.518 28.0039 255.341 27.9404 255.186 27.8135 c +255.03 27.6865 254.91 27.459 254.825 27.1309 c +254.713 26.7051 254.656 25.9893 254.656 24.9814 c +254.656 23.9736 254.707 23.2813 254.808 22.9053 c +254.908 22.5283 255.035 22.2773 255.189 22.1523 c +255.342 22.0273 255.518 21.9648 255.715 21.9648 c +255.912 21.9648 256.089 22.0283 256.244 22.1553 c +256.399 22.2822 256.52 22.5098 256.604 22.8379 c +256.717 23.2598 256.773 23.9736 256.773 24.9814 c +256.773 25.9893 256.723 26.6807 256.622 27.0576 c +256.522 27.4346 256.395 27.6865 256.241 27.8135 c +256.088 27.9404 255.912 28.0039 255.715 28.0039 c +Q +f +*U +U +u +U +u +*u +q +1 0 0 1 0 0 cm +61.9297 21.4131 m +61.9297 21.4131 61.9297 30.0068 61.9297 30.0068 c +61.9297 30.0068 65.1689 30.0068 65.1689 30.0068 c +65.7388 30.0068 66.1743 29.9795 66.4751 29.9248 c +66.897 29.8545 67.2505 29.7207 67.5356 29.5234 c +67.8203 29.3252 68.0498 29.0488 68.2236 28.6934 c +68.3975 28.3379 68.4844 27.9463 68.4844 27.5205 c +68.4844 26.7891 68.2524 26.1709 67.7876 25.665 c +67.3237 25.1582 66.4844 24.9053 65.271 24.9053 c +65.271 24.9053 63.0703 24.9053 63.0703 24.9053 c +63.0703 24.9053 63.0703 21.4131 63.0703 21.4131 c +63.0703 21.4131 61.9297 21.4131 61.9297 21.4131 c +Q +f +q +1 0 0 1 0 0 cm +63.0703 25.9209 m +63.0703 25.9209 65.2881 25.9209 65.2881 25.9209 c +66.021 25.9209 66.542 26.0576 66.8501 26.3311 c +67.1582 26.6045 67.3125 26.9893 67.3125 27.4854 c +67.3125 27.8447 67.2217 28.1523 67.0405 28.4082 c +66.8589 28.6641 66.6201 28.833 66.3237 28.915 c +66.1323 28.9658 65.7793 28.9912 65.2646 28.9912 c +65.2646 28.9912 63.0703 28.9912 63.0703 28.9912 c +63.0703 28.9912 63.0703 25.9209 63.0703 25.9209 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +71.457 29.0615 m +72.1016 30.0537 L +73.3047 30.0537 L +71.9805 28.4131 L +70.8555 28.4131 L +69.5938 30.0537 L +70.7969 30.0537 L +71.457 29.0615 L +Q +f +q +1 0 0 1 0 0 cm +69.7852 21.4131 m +69.7852 21.4131 69.7852 27.6396 69.7852 27.6396 c +69.7852 27.6396 70.7305 27.6396 70.7305 27.6396 c +70.7305 27.6396 70.7305 26.6924 70.7305 26.6924 c +70.9731 27.1357 71.1973 27.4277 71.4028 27.5684 c +71.6084 27.71 71.8345 27.7803 72.0815 27.7803 c +72.4375 27.7803 72.7998 27.667 73.168 27.4395 c +73.168 27.4395 72.7993 26.4629 72.7993 26.4629 c +72.5415 26.6123 72.2847 26.6865 72.0273 26.6865 c +71.7974 26.6865 71.5908 26.6172 71.4077 26.4785 c +71.2246 26.3398 71.0938 26.1475 71.0156 25.9014 c +70.8984 25.5264 70.8398 25.1162 70.8398 24.6709 c +70.8398 24.6709 70.8398 21.4131 70.8398 21.4131 c +70.8398 21.4131 69.7852 21.4131 69.7852 21.4131 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +78.043 23.4209 m +78.043 23.4209 79.1367 23.2803 79.1367 23.2803 c +78.9648 22.6445 78.6465 22.1504 78.1821 21.7988 c +77.7173 21.4482 77.1235 21.2725 76.4014 21.2725 c +75.4912 21.2725 74.77 21.5527 74.2368 22.1133 c +73.7041 22.6748 73.4375 23.4609 73.4375 24.4736 c +73.4375 25.5215 73.707 26.334 74.2456 26.9121 c +74.7847 27.4912 75.4839 27.7803 76.3428 27.7803 c +77.1743 27.7803 77.854 27.4971 78.3813 26.9297 c +78.9082 26.3633 79.1719 25.5664 79.1719 24.5381 c +79.1719 24.4756 79.1699 24.3818 79.166 24.2568 c +79.166 24.2568 74.5234 24.2568 74.5234 24.2568 c +74.5625 23.5723 74.7559 23.0488 75.103 22.6855 c +75.4507 22.3213 75.8838 22.1396 76.4033 22.1396 c +76.7896 22.1396 77.1196 22.2412 77.3931 22.4453 c +77.666 22.6484 77.8828 22.9746 78.043 23.4209 c +Q +f +q +1 0 0 1 0 0 cm +74.5859 25.124 m +74.5859 25.124 78.0547 25.124 78.0547 25.124 c +78.0078 25.6484 77.8755 26.041 77.6567 26.3027 c +77.3218 26.71 76.8867 26.9131 76.3525 26.9131 c +75.8687 26.9131 75.4624 26.751 75.1328 26.4258 c +74.8032 26.1016 74.6211 25.668 74.5859 25.124 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +80.4629 21.4131 m +80.4629 21.4131 80.4629 27.6396 80.4629 27.6396 c +80.4629 27.6396 81.4082 27.6396 81.4082 27.6396 c +81.4082 27.6396 81.4082 26.7549 81.4082 26.7549 c +81.8657 27.4385 82.5259 27.7803 83.3896 27.7803 c +83.7646 27.7803 84.1099 27.7129 84.4243 27.5781 c +84.7388 27.4434 84.9741 27.2666 85.1304 27.0469 c +85.2866 26.8281 85.3965 26.5684 85.459 26.2676 c +85.498 26.0723 85.5176 25.7305 85.5176 25.2412 c +85.5176 25.2412 85.5176 21.4131 85.5176 21.4131 c +85.5176 21.4131 84.4629 21.4131 84.4629 21.4131 c +84.4629 21.4131 84.4629 25.2012 84.4629 25.2012 c +84.4629 25.6309 84.4219 25.9521 84.3398 26.166 c +84.2578 26.3789 84.1123 26.5488 83.9038 26.6758 c +83.6948 26.8027 83.4497 26.8662 83.1689 26.8662 c +82.7197 26.8662 82.3325 26.7236 82.0063 26.4385 c +81.6807 26.1523 81.5176 25.6113 81.5176 24.8145 c +81.5176 24.8145 81.5176 21.4131 81.5176 21.4131 c +81.5176 21.4131 80.4629 21.4131 80.4629 21.4131 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +86.7461 24.5264 m +86.7461 25.6797 87.0664 26.5332 87.7065 27.0889 c +88.2417 27.5498 88.894 27.7803 89.6631 27.7803 c +90.5181 27.7803 91.2173 27.5 91.7603 26.9395 c +92.3027 26.3779 92.5742 25.6035 92.5742 24.6143 c +92.5742 23.8125 92.4541 23.1826 92.2139 22.7236 c +91.9736 22.2646 91.6245 21.9072 91.1655 21.6533 c +90.7065 21.3994 90.2056 21.2725 89.6631 21.2725 c +88.7925 21.2725 88.0884 21.5518 87.5513 22.1113 c +87.0146 22.6699 86.7461 23.4746 86.7461 24.5264 c +Q +f +q +1 0 0 1 0 0 cm +87.832 24.5254 m +87.832 23.7285 88.0054 23.1309 88.3525 22.7344 c +88.6997 22.3379 89.1362 22.1396 89.6631 22.1396 c +90.1855 22.1396 90.6206 22.3389 90.9678 22.7373 c +91.3149 23.1357 91.4883 23.7441 91.4883 24.5605 c +91.4883 25.3301 91.314 25.9141 90.9648 26.3105 c +90.6157 26.707 90.1816 26.9053 89.6631 26.9053 c +89.1362 26.9053 88.6997 26.708 88.3525 26.3135 c +88.0054 25.918 87.832 25.3223 87.832 24.5254 c +Q +f +*U +*u +q +1 0 0 1 0 0 cm +93.3887 23.2725 m +93.3887 23.2725 94.4355 23.4365 94.4355 23.4365 c +94.4941 23.0176 94.6572 22.6973 94.9243 22.4746 c +95.1919 22.251 95.5659 22.1396 96.0459 22.1396 c +96.5298 22.1396 96.8892 22.2383 97.1235 22.4355 c +97.3574 22.6328 97.4746 22.8652 97.4746 23.1309 c +97.4746 23.3691 97.3716 23.5566 97.1655 23.6943 c +97.0215 23.7881 96.6631 23.9072 96.0894 24.0518 c +95.3174 24.2471 94.7813 24.416 94.4819 24.5586 c +94.1821 24.7012 93.9551 24.8984 93.8003 25.1504 c +93.6455 25.4033 93.5684 25.6816 93.5684 25.9863 c +93.5684 26.2637 93.6318 26.5205 93.7588 26.7568 c +93.8857 26.9941 94.0586 27.1904 94.2773 27.3467 c +94.4414 27.4678 94.665 27.5703 94.9482 27.6543 c +95.2314 27.7383 95.5352 27.7803 95.8594 27.7803 c +96.3477 27.7803 96.7764 27.71 97.1455 27.5684 c +97.5146 27.4277 97.7871 27.2373 97.9629 26.9961 c +98.1387 26.7559 98.2598 26.4336 98.3262 26.0303 c +98.3262 26.0303 97.2949 25.8896 97.2949 25.8896 c +97.248 26.2109 97.1128 26.4619 96.8882 26.6426 c +96.6641 26.8232 96.3472 26.9131 95.9375 26.9131 c +95.4536 26.9131 95.1089 26.833 94.9019 26.6729 c +94.6948 26.5117 94.5918 26.3242 94.5918 26.1094 c +94.5918 25.9727 94.6348 25.8496 94.7207 25.7402 c +94.8062 25.627 94.9409 25.5322 95.1245 25.458 c +95.2295 25.4189 95.5396 25.3291 96.0547 25.1885 c +96.7993 24.9893 97.3193 24.8262 97.6143 24.6992 c +97.9092 24.5723 98.1406 24.3877 98.3086 24.1445 c +98.4766 23.9023 98.5605 23.6016 98.5605 23.2422 c +98.5605 22.8906 98.458 22.5596 98.2524 22.248 c +98.0474 21.9375 97.7515 21.6973 97.3643 21.5273 c +96.9771 21.3574 96.5396 21.2725 96.0508 21.2725 c +95.2417 21.2725 94.625 21.4404 94.2007 21.7773 c +93.7769 22.1133 93.5059 22.6113 93.3887 23.2725 c +Q +f +*U +U +%%PageTrailer +_PDX_savepage restore +%%Trailer +end +% showpage +%%EOF diff --git a/5-addsort/5-addsort.tex b/5-addsort/5-addsort.tex new file mode 100644 index 0000000..57f6188 --- /dev/null +++ b/5-addsort/5-addsort.tex @@ -0,0 +1,262 @@ +\input ../lecnotes.tex + +\prednaska{5}{Paralelní sèítání, bitonické tøídìní}{(zapsal: Petr Jankovský)} + +\h{Sèítání binárních èísel} + +Mìjme dvì èísla $x$ a $y$ zapsané ve~dvojkové soustavì. Jejich èíslice nazývejme +jako $x_{n-1}\ldots x_0$ a $y_{n-1}\ldots y_0$, kde $i$-tý øád má váhu $2^i$. Nyní budeme chtít tato èísla +seèíst. + +K tomuto úèelu se~ihned nabízí pou¾ít starý dobrý \uv{¹kolní algoritmus}, který +funguje ve~dvojkové soustavì stejnì dobøe jako v~desítkové. Zkrátka sèítáme èísla +od~prava doleva. V¾dy seèteme pøíslu¹né èíslice pod~sebou a~pøièteme pøenos z~ni¾¹ího +øádu. Tím dostaneme jednu èíslici výsledku a~pøenos do~vy¹¹ího øádu. Formálnì +bychom to mohli zapsat tøeba takto: +$$ +z_i=x_i \oplus y_i \oplus c_i, +$$ +kde $z_i$ je $i$-tá èíslice souètu, $\oplus$ znaèí operaci {\sc xor} (souèet modulo~2) a~$c_i$ je {\I pøenos} +z~$(i-1)$-ního øádu do~$i$-tého. Pøenos pøitom nastane tehdy, pokud se~nám potkají +dvì jednièky pod~sebou, nebo kdy¾ se~vyskytne alespoò jedna jednièka a~k~tomu +pøenos z~ni¾¹ího øádu. Jinými slovy tehdy, kdy¾ ze~tøí xorovaných èíslic jsou alespoò +dvì jednièky: +$$ +\eqalign{ +c_{0} &= 0 \cr +c_{i+1} &= (x_i~\&~y_i)\lor(x_i~\&~c_i)\lor(y_i~\&~c_i).\cr +} +$$ + +Takovéto sèítání sice perfektnì funguje, nicménì je bohu¾el pomìrnì pomalé. +Pokud bychom stavìli hradlovou sí» podle tohoto pøedpisu, byla by slo¾ená z~nìjakých +podsítí (\uv{krabièek}), které budou mít na~vstupu $x_i$, $y_i$ a~$c_i$, jejich výstupem +bude $z_i$ a~$c_{i+1}$. +\figure{hloupe_scitani.eps}{Sèítání ¹kolním algoritmem.}{1.5in} +V¹imìme si, ¾e~ka¾dá krabièka závisí na~výstupu té pøedcházející. V¹echny +krabièky tedy musí le¾et urèitì na~rùzných hladinách. Celkovì bychom museli pou¾ít +$\Theta{(n)}$ hladin a~jeliko¾ je ka¾dá krabièka konsantnì velká, také $\Theta{(n)}$ hradel. To dává +lineární èasovou i~prostorovou slo¾itost, èili oproti sekvenènímu algoritmu jsme si nepomohli. + +Zamysleme se nad tím, jak by se proces sèítání mohl zrychlit. + +\h{Pøenosy v~blocích} +Jediné, co nás pøi sèítání brzdí, jsou pøenosy mezi jednotlivými øády. Ka¾dý øád, +aby~vydal souèet, musí poèkat na~to, a¾~dopoèítají v¹echny pøedcházející øády. +Teprve pak se~toti¾ dozví pøenos. Kdybychom ov¹em pøenosy dokázali spoèítat +nìjakým zpùsobem paralelnì, máme vyhráno. Jakmile známe v¹echny pøenosy, souèet +u¾~zvládneme dopoèítat na~konstantnì mnoho hladin - tedy v~konstantním èase. + +Podívejme se na~libovolný {\I blok} v~na¹em souètu. Tak budeme øíkat èíslùm +$x_j\ldots x_i$ a $y_j\ldots y_i$ v~nìjakém intervalu indexù $\left$. Pøenos $c_{j+1}$ vystupující z~tohoto bloku závisí mimo hodnot sèítancù u¾ pouze na~pøenosu $c_{i}$, který do bloku vstupuje. +\figure{blok_scitani.eps}{Blok souètu.}{3in} +Z tohoto pohledu se mù¾eme na blok také dívat jako na nìjakou funkci, která +dostane jednobitový vstup a vydá jednobitový výstup. To je nám pøíjemné, nebo» +takových funkcí existují jenom ètyøi typy: +\numlist\ndotted +\:$f(x) = 0$, ~~~~(0) +\:$f(x) = 1$, ~~~~(1) +\:$f(x) = x$, ~~~~($<$) +\:$f(x) = \neg{x}$. +\endlist +Jak se za~chvíli uká¾e, poslední pøípad, kdy by~nìjaký blok pøedával opaèný +pøenos, ne¾ do~nìj vstupuje, navíc nikdy nemù¾e nastat. Pojïme si to rozmyslet. +Jednobitové bloky se chovají velice jednodu¹e: + +\figure{bloky_1bit.eps}{Tabulka triviálních bitù.}{1.1in} + +Z prvního bloku evidentnì v¾dy vyleze 0, a»~do~nìj vstoupí jakýkoli pøenos. +Poslední blok naopak sám o~sobì pøenos vytváøí, a»~ji¾ do~nìj vleze jakýkoliv. +Bloky prostøední se chovají stejnì a~to tak, ¾e~samy o~sobì ¾ádný pøenos nevytvoøí, +ale~pokud do~nich nìjaký pøijde, tak~také odejde. + +Mìjme nyní nìjaký vìt¹í blok~$C$ slo¾ený ze~dvou men¹ích podblokù $A$ a~$B$, jejich¾ +chování u¾ známe. Z~toho mù¾eme odvodit, jak se chová celý blok: + +\figure{tabulka_skladani_bloku.eps}{Skládání chování blokù}{1.3in} + +Pokud vy¹¹í blok pøenos pohlcuje, pak a»~se u¾~ni¾¹í blok chová jakkoli, slo¾ení +tìchto blokù musí v¾dy pohlcovat. V~prvním øádku tabulky jsou tudí¾ nuly. Analogicky, +pokud vy¹¹í blok generuje pøenos, tak~ten ni¾¹í na~tom nic nezmìní. V~druhém +øádku tabulky jsou tedy samé jednièky. Zajímavìj¹í pøípad nastává, pokud vy¹¹í blok +kopíruje - tehdy zále¾í èistì na~chování ni¾¹ího bloku. + +V¹imnìme si, ¾e~skládání chování blokù je vlastnì úplnì obyèejné skládání +funkcí. Nyní bychom mohli prohlásit, ¾e~budeme poèítat nad~tøíprvkovou abecedou, +a~¾e~celou tabulku doká¾eme spoèítat jedním jediným hradlem. Pojïmì si v¹ak +rozmyslet, jak~bychom takovouto vìc popsali èistì binárnì. Jak tedy tyto tøi stavy +popisovat pouze nìkolika bity? + +Evidentnì nám k tomuto binárnímu zakódování tøí stavù budou staèit bity dva. +Oznaème si je jako $p_i$ a $q_i$. Tato dvojice mù¾e nábývat hned ètyø mo¾ných hodnot, +kterým pøiøadíme tøi mo¾ná chování bloku. Toto kódování mù¾eme zvolit zcela +libovolnì, ale pokud si ho zvolíme ¹ikovnì, u¹etøime si dále práci pøi kompozici. +Zvolme si tedy kódování takto: + +\itemize\ibull +\:$(1,*) = <$, +\:$(0,0) = 0$, +\:$(0,1) = 1$ +\endlist + +Tomu, ¾e blok kopíruje, odpovídá dvojice $p_i = 1$; $q_i = cokoliv$. V~ostatních +pøípadech bude~$p_i$ nulové a~$q_i$ nám bude øíkat, co je na~výstupu pøíslu¹ného bloku. +Jinými slovy $p_i = 0$ znamená funkce je konstanta, pøièem¾ $q_i$ øíká jaká, $p_i = 1$~znamená +funkce je identita, a»~u¾~je $q_i$ cokoli. + +Pojïme si nyní ukázat, jak bude celé skládání blokù vypadat. Rozmysleme si, +kdy je~$p$ celého dvojbloku jednièkové, tedy kdy celý dvojblok kopíruje. To nastane +tehdy, pokud kopírují obì jeho èásti a tedy $p = p_a~\&~p_b$. Dále $q$ bude rovno jednièce, +pokud $q = (\neg{p_a}~\&~q_a) \lor (p_a~\&~q_b)$. + +Skládání chování blokù lze tedy popsat buï ternárnì -- tabulkou, ale lze to +i~binárnì vý¹e uvedeným pøedpisem. + +Nyní si tedy mù¾eme dopøedu vypoèítat chování bloku velikosti jedna, poté + z~nich skládáním blokù velikosti dva, dál velikosti ètyøi, osm, atd... + +\h{Paralelní sèítání} + +Paralelní algoritmus na~sèítání u¾~zkonstruujeme pomìrnì snadno. Bez újmy +na~obecnosti budeme pøedpokládat, ¾e~poèet bitù vstupních èísel je mocnina dvojky, +jinak si vstup doplníme nulami, co¾ výsedný èas bìhu algoritmu zhor¹í maximálnì +konstanta-krát. + +\algo +\:Spoèteme chování blokù velikosti~1. ($\O(1)$ hladin) +\:Postupnì poèítáme chování blokù velikosti 2, 4, 8, ..., $2^k$. + ($\O(\log n)$ hladin, na~nich¾ se skládají bloky) +\:$c_0 \leftarrow 0$ (pøenos do nejni¾¹ího øádu je v¾dy 0) +\:Urèíme $c_n$ podle $c_0$ a chování (jediného) bloku velikosti~$n$. +\:Postupnì dopoèítáme pøenosy na~hranicích dìlitelných $2^k$ \uv{zahu¹»ováním}: + jakmile víme $c_{2^k}$, mù¾eme dopoèítat $c_{2^k-2^{k-1}}$ podle + chování bloku $\left< 2^k-2^{k-1},2^k\right>$. ($\O(\log n)$ hladin, + na~nich¾ se dosazuje) +\:$\forall i: z_i = x_i \oplus y_i \oplus c_i$. +\endalgo + +\figure{1_9_deleni_bloku.eps}{Výpoèet pøenosu}{8cm} + +Algoritmus pracuje v~èase $\O(\log n)$. Hradel je pou¾ito lineárnì: na~jednotlivých +hladinách kroku~2 poèet hradel exponenciálnì klesá od~$n$ k~1, na~hladinách kroku~5 +exponenciálnì stoupá od~1 k~$n$, tak¾e dohromady se seète na~$\Theta(n)$. + +\h{Tøídìní} + +\s{Definice:} {\I Komparátorová sí»} je kombinaèní obvod, jeho¾ hradla jsou +komparátory. + +\figure{sortnet.0}{Komparátor.}{0.9in} + +Komparátor umí porovnat dvì hodnoty a~rozhodnout, která z~nich je vìt¹í +a~která men¹í. Nevrací v¹ak booleovský výsledek jako bì¾né hradlo, ale má dva +výstupy, pøièem¾ na~jednom vrátí men¹í ze~vstupních hodnot a~na~druhém vìt¹í. + +\>Výstupy komparátorù se nevìtví. + +\s{Pøíklad:} {\sl Bubble sort} + +Obrázek Bubble\_1 ilustruje pou¾ití komparátorù pro tøídìní bubble sortem. +©ipky pøedstavují jednotlivé komparátory. Výpoèet v¹ak je¹tì mù¾eme vylep¹it. + +\twofigures{sortnet.1}{Bubble\_1}{143pt}{sortnet.2}{Bubble\_2}{143pt} + +Sna¾íme se výpoèet co nejvíce paralelizovat (viz obrázek Bubble\_2). +Jak je vidìt, komparátory na sebe nemusejí èekat. Tím mù¾eme výpoèet urychlit a místo èasu $\Theta{(n^2)}$ docílit èasové slo¾itosti $\Theta{(n)}$. V obou pøípadech je zachován kvadratický prostor. + +\medskip +\s{Definice:} Øekneme, ¾e posloupnost $x_0,\dots,x_{n-1} $ je {\I èistì bitonická}, právì tehdy, kdy¾ +pro nìjaké $x_k\in\{1, \dots, n-1\} $ platí, ¾e~v¹echny prvky pøed ním (vèetnì jeho samotného) +tvoøí rostoucí poslopnost, kde¾to prvky stojící za~ním, tvoøí poslopnost klesající. +Formálnì zaspáno musí platit, ¾e: +$$x_0\leq x_1\leq \dots \leq x_k \geq x_{k+1}\geq\dots \geq x_{n-1}.$$ + +\s{Definice:} Posloupnost je {\I bitonická}, právì kdy¾ $\exists~j\in \{1,\dots ,n-1\}$, pro +které je rotace pùvodní posloupnosti o $j$ prvkù (posloupnost +$x_j,x_{(j+1) \bmod n},\dots, x_{(j+n-1) \bmod n}$) èistì bitonická. + +\s{Definice:} {\I Separátor $S_n$} je sí», ve které jsou v¾dy~$i$-tý a~$(i+{n/2})$-tý prvek vstupu +(pro $i=0,\dots, {n/2}-1$) propojeny komparátorem. Minimum pak bude~$i$-tým, +maximum $(i+{n/2})$-ním prvkem výstupu. +\figure{sortnet.3}{$(y_i, y_{i+{n/2}}) = CMP(x_i, x_{i+{n/2}})$} {300pt} + +\s{Lemma:} Pokud vstup separátoru je bitonická posloupnost, pak výstup +$y_0,\dots, y_{n-1}$ je posloupnost, která splòuje: + +(i) $y_0,\dots, y_{n/2 -1}$ a~$y_{n/2},\dots, y_{n-1}$ jsou +bitonické posloupnosti, + +(ii) Pro v¹echna $i,j< {n/2}$ platí $y_i < y_{j + {n/2}}$. + +Separátor nám tedy jednu bitonickou posloupnost na~vstupu rozdìlí na~dvì +bitonické posloupnosti, pøièem¾ navíc ka¾dý prvek první poslopnosti ($y_0,\dots, y_{n/2 -1}$) +je men¹í nebo roven prvkùm druhé posloupnosti. + +\>Ne¾ pøistoupíme k dùkazu lemmatu, uka¾me si, k èemu se nám bude hodit. + + +\s{Definice:} {\I Bitonická tøídièka $B_n$} je obvod sestavený ze separátorù, který dostane-li na vstupu bitonickou posloupnost délky $n$ (BÚNO konstruujeme tøídièku pro $n=2^k$), vydá setøídìnou posloupnost délky $n$. + +\centerline{\epsfbox{sortnet.5}} + +Jak je vidìt, bitonická tøídièka nám libovolnou bitonickou posloupnost délky~$n$ +setøídí na~$\Theta(\log n)$ hladin. + +Nyní se dá odvodit, ¾e pokud umíme tøídit bitonické posloupnosti, umíme setøídit v¹echno. +Vzpomeòme si na~tøídìní sléváním -- Merge sort. To funguje tak, ¾e zaène s~jednoprvkovými posloupnostmi, které jsou evidentnì setøídìné a~poté v¾dy dvì setøídìné posloupnosti slývá do~jedné. Kdybychom nyní umìli paralelnì slévat, mohli bychom vytvoøit i~paralelní Merge sort. Jinými slovy, potøebujeme dvì rostoucí posloupnosti nìjak efektivnì slít do~jedné setøídìné. Uvìdomme si, ¾e to zvládneme jednodu¹e -- staèí druhou z~posloupností obrátit a~\uv{pøilepit} za~první, èím¾ vznikne bitonická posloupnost, kterou poté mù¾eme setøídit na¹í bitonickou tøídièkou. + +\s{Pøíklad:} {\sl Merge sort} + +Bitonická tøídièka se tedy dá pou¾ít ke~slévání setøídìných posloupností. +Uka¾me si, jak s~její pomocí sestavíme souèástky {\I slévaèky} $M_n$: + +Setøídìné posloupnosti $x_0,\dots, x_{n-1}$ a~$y_0,\dots, y_{n-1}$ spojíme do jedné bitonické +posloupnosti $x_0,\dots, x_{n-1},y_{n-1},\dots, y_0$. Z~této posloupnosti vytvoøíme pomocí bitonické tøídièky +$B_{2n}$ setøídìnou posloupnost. Vytvoøíme tedy blok $M_{2n}$, který se ov¹em sestává de~facto pouze z~bloku $B_{2n}$, jeho¾ druhá polovina vstupù je zapojena v~obráceném poøadí. +\figure{sortnet.6}{Slévaèka $M_n$.}{3in} + +Nyní se pokusme odhadnout èasovou slo¾itost. Na¹e slévaèka, bude mít øádovì hloubku $\log n$. +V ka¾dém bloku $M_n$ je navíc ukryta bitonická tøídièka s takté¾ logaritmickou hloubkou. +Celková hloubka tedy bude $\log 2 + \log4 + \dots + \log 2^{2^k} + \dots + \log n$. +Po seètení nakonec dostáváme výslednou èasovou slo¾itost $\Theta (\log^2 n)$. + +Dodejme je¹tì, ¾e existuje i~tøídicí algoritmus, kterému staèí jen ${\O}(\log n)$ hladin. +Jeho multiplikativní konstanta je v¹ak pøíli¹ veliká, tak¾e je v~praxi nepou¾itelný. + + + +\h{Dùkaz Lemmatu:} +(i) Nejprve nahlédneme, ¾e lemma platí, je-li vstupem èistì bitonická +posloupnost. Dále BÚNO pøedpokládejme, ¾e vrchol posloupnosti je v~první polovinì (kdyby +byl vrchol za~polovinou, staèilo by zradlovì obrátit posloupnost s~komparátory a~øe¹ili +bychom stejný problém). Nyní si definujme $k := \min j: x_j > x_{j+n/2}$. (Pokud +by~takové~$k$ neexistovalo, znamenalo by~to, ¾e vstupní posloupnost je monotónní. +Separátor by tedy nic nedìlal a~pouze zkopíroval vstup na~výstup.) Nyní si v¹imìme, +¾e jakmile jednou zaène palatit, ¾e prvek na~levé stranì je men¹í ne¾ na~pravé, bude +nám tato relace platit a¾~do~konce. Oznaème $x_m$ jako maximum vstupní posloupnosti. +Pak~$k$ bude jistì men¹í ne¾~$m$ a~$k+{n/2}$ bude vìt¹í ne¾~$m$. Mezi~$k$ a~$m$ je tedy +vstupní posloupnost neklesající, mezi $k+{n/2}$ a~$n-1$ nerostoucí. + +Do pozice~$k$ tedy separátor bude pouze kopírovat vstup na~výstup, od~pozice~$k$ +dál pak u¾~jen prohazuje. Pro ka¾dé~$i$, $k\leq i\leq {n/2}-1$ se prvky +$x_i$ a~$x_{i+{n/2}}$ prohodí. Úsek mezi~$k$ a~${n/2}-1$ tedy +nahradíme nerostoucí posloupností, první polovina výstupu tedy bude +(dokonce èistì) bitonická. Podobnì úsek $k+{n/2}$ a¾~$n-1$ nahradíme èistì +bitonickou posloupností. Obì poloviny tedy budou bitonické. + +Dostaneme-li na vstupu obecnou bitonickou posloupnost, pøedstavíme si, +¾e je to èistì bitonická posloupnost zrotovaná o~$r$ prvkù (BÚNO +doprava). Zjistíme, ¾e v~komparátorech se porovnávají tyté¾ prvky +jako kdyby zrotovaná nebyla. Výstup se od výstupu èistì bitonické +posloupnosti zrotovaného o~$r$ bude li¹it prohozením úsekù $x_0$ a¾ +$x_{r-1}$ a~$x_{n/2}$ a¾ $x_{{n/2}+r-1}$. Obì výstupní +posloupnosti tedy budou zrotované o~$r$ prvkù, ale na jejich +bitoniènosti se nic nezmìní. + +(ii) Z dùkazu (i) pro èistì bitonickou posloupnost víme, ¾e $y_0\dots y_{n/2-1}$ je èistì bitonická a bude rovna $x_0\dots x_{k-1},x_{k+n/2}\dots x_{n-1}$ pro vhodné $k$ a navíc bude mít maximum v $x_{k-1}$ nebo $x_k+{n/2}$. Mezi tìmito body ov¹em ve vstupní posloupnosti urèitì nele¾el ¾ádný $x_i$ men¹í ne¾ $x_k-1$ nebo $x_k+{n/2}$ (jak je vidìt z obrázku) a posloupnost $x_k \dots x_{k-1+{n/2}}$ je rovna $y_{n/2}\dots y_{n-1}$. Pro obecné bitonické posloupnosti uká¾eme stejnì jako v (i). +\qed + +\medskip +\centerline{\epsfbox{sortnet.7}} + +\bye diff --git a/5-addsort/Makefile b/5-addsort/Makefile new file mode 100644 index 0000000..4f7be80 --- /dev/null +++ b/5-addsort/Makefile @@ -0,0 +1,3 @@ +P=5-addsort + +include ../Makerules diff --git a/5-addsort/blok_scitani.eps b/5-addsort/blok_scitani.eps new file mode 100644 index 0000000..225a323 --- /dev/null +++ b/5-addsort/blok_scitani.eps @@ -0,0 +1,1673 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: inkscape 0.46 +%%Pages: 1 +%%Orientation: Portrait +%%BoundingBox: 79 592 505 727 +%%HiResBoundingBox: 79.471632 592.47642 504.27389 726.62485 +%%EndComments +%%Page: 1 1 +0 842 translate +0.8 -0.8 scale +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +gsave [1 0 0 1 0 0] concat +gsave [1 0 0 1 -304.88268 66.42131] concat +gsave +0 0 0 setrgbcolor +newpath +474.79669 99.649963 moveto +470.44611 105.50446 lineto +475.02228 111.68121 lineto +472.69122 111.68121 lineto +469.18927 106.95465 lineto +465.68732 111.68121 lineto +463.35626 111.68121 lineto +468.02911 105.38629 lineto +463.75372 99.649963 lineto +466.08478 99.649963 lineto +469.27521 103.9361 lineto +472.46564 99.649963 lineto +474.79669 99.649963 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +527.12189 108.9527 moveto +529.38849 108.9527 lineto +529.38849 111.68121 lineto +527.12189 111.68121 lineto +527.12189 108.9527 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +541.1297 108.9527 moveto +543.3963 108.9527 lineto +543.3963 111.68121 lineto +541.1297 111.68121 lineto +541.1297 108.9527 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +555.13751 108.9527 moveto +557.40411 108.9527 lineto +557.40411 111.68121 lineto +555.13751 111.68121 lineto +555.13751 108.9527 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +606.88263 99.649963 moveto +602.53204 105.50446 lineto +607.10822 111.68121 lineto +604.77716 111.68121 lineto +601.27521 106.95465 lineto +597.77325 111.68121 lineto +595.4422 111.68121 lineto +600.11505 105.38629 lineto +595.83966 99.649963 lineto +598.17072 99.649963 lineto +601.36115 103.9361 lineto +604.55157 99.649963 lineto +606.88263 99.649963 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +645.20001 108.9527 moveto +647.46661 108.9527 lineto +647.46661 111.68121 lineto +645.20001 111.68121 lineto +645.20001 108.9527 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +659.20782 108.9527 moveto +661.47443 108.9527 lineto +661.47443 111.68121 lineto +659.20782 111.68121 lineto +659.20782 108.9527 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +673.21564 108.9527 moveto +675.48224 108.9527 lineto +675.48224 111.68121 lineto +673.21564 111.68121 lineto +673.21564 108.9527 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +724.96075 99.649963 moveto +720.61017 105.50446 lineto +725.18634 111.68121 lineto +722.85529 111.68121 lineto +719.35333 106.95465 lineto +715.85138 111.68121 lineto +713.52032 111.68121 lineto +718.19318 105.38629 lineto +713.91779 99.649963 lineto +716.24884 99.649963 lineto +719.43927 103.9361 lineto +722.6297 99.649963 lineto +724.96075 99.649963 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +763.27814 108.9527 moveto +765.54474 108.9527 lineto +765.54474 111.68121 lineto +763.27814 111.68121 lineto +763.27814 108.9527 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +777.28595 108.9527 moveto +779.55255 108.9527 lineto +779.55255 111.68121 lineto +777.28595 111.68121 lineto +777.28595 108.9527 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +791.29376 108.9527 moveto +793.56036 108.9527 lineto +793.56036 111.68121 lineto +791.29376 111.68121 lineto +791.29376 108.9527 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +843.03888 99.649963 moveto +838.68829 105.50446 lineto +843.26447 111.68121 lineto +840.93341 111.68121 lineto +837.43146 106.95465 lineto +833.9295 111.68121 lineto +831.59845 111.68121 lineto +836.2713 105.38629 lineto +831.99591 99.649963 lineto +834.32697 99.649963 lineto +837.5174 103.9361 lineto +840.70782 99.649963 lineto +843.03888 99.649963 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +481.89621 111.52651 moveto +481.89621 114.82729 lineto +480.99777 114.82729 lineto +480.99777 111.55581 lineto +480.99777 111.03823 480.89686 110.65087 480.69504 110.3937 curveto +480.49321 110.13654 480.19048 110.00796 479.78683 110.00796 curveto +479.30181 110.00796 478.91932 110.16258 478.63937 110.47182 curveto +478.35942 110.78107 478.21945 111.20262 478.21945 111.73647 curveto +478.21945 114.82729 lineto +477.31613 114.82729 lineto +477.31613 109.35854 lineto +478.21945 109.35854 lineto +478.21945 110.20815 lineto +478.43429 109.87938 478.68657 109.63361 478.97629 109.47085 curveto +479.26925 109.30809 479.60617 109.22671 479.98703 109.22671 curveto +480.61528 109.22671 481.09054 109.42203 481.41281 109.81264 curveto +481.73507 110.20002 481.8962 110.77131 481.89621 111.52651 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +483.24387 111.68764 moveto +485.8757 111.68764 lineto +485.8757 112.48843 lineto +483.24387 112.48843 lineto +483.24387 111.68764 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +487.6091 113.99722 moveto +489.22043 113.99722 lineto +489.22043 108.43569 lineto +487.4675 108.78725 lineto +487.4675 107.88882 lineto +489.21066 107.53725 lineto +490.19699 107.53725 lineto +490.19699 113.99722 lineto +491.80832 113.99722 lineto +491.80832 114.82729 lineto +487.6091 114.82729 lineto +487.6091 113.99722 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +609.78387 109.35812 moveto +610.68231 109.35812 lineto +610.68231 114.92453 lineto +610.68231 115.62114 610.54885 116.1257 610.28192 116.4382 curveto +610.01825 116.7507 609.59182 116.90695 609.00262 116.90695 curveto +608.66083 116.90695 lineto +608.66083 116.14523 lineto +608.90009 116.14523 lineto +609.24188 116.14523 609.47463 116.06548 609.59833 115.90598 curveto +609.72202 115.74972 609.78387 115.42258 609.78387 114.92453 curveto +609.78387 109.35812 lineto +609.78387 107.22922 moveto +610.68231 107.22922 lineto +610.68231 108.36691 lineto +609.78387 108.36691 lineto +609.78387 107.22922 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +727.94867 109.35812 moveto +728.84711 109.35812 lineto +728.84711 114.82687 lineto +727.94867 114.82687 lineto +727.94867 109.35812 lineto +727.94867 107.22922 moveto +728.84711 107.22922 lineto +728.84711 108.36691 lineto +727.94867 108.36691 lineto +727.94867 107.22922 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +847.78601 108.18625 moveto +847.2782 108.18626 846.89571 108.43691 846.63855 108.9382 curveto +846.38464 109.43625 846.25769 110.18658 846.25769 111.18918 curveto +846.25769 112.18853 846.38464 112.93885 846.63855 113.44016 curveto +846.89571 113.9382 847.2782 114.18723 847.78601 114.18723 curveto +848.29707 114.18723 848.67956 113.9382 848.93347 113.44016 curveto +849.19063 112.93885 849.31921 112.18853 849.31921 111.18918 curveto +849.31921 110.18658 849.19063 109.43625 848.93347 108.9382 curveto +848.67956 108.43691 848.29707 108.18626 847.78601 108.18625 curveto +847.78601 107.405 moveto +848.60306 107.40501 849.22644 107.7289 849.65613 108.37668 curveto +850.08907 109.02122 850.30554 109.95871 850.30554 111.18918 curveto +850.30554 112.41639 850.08907 113.35389 849.65613 114.00168 curveto +849.22644 114.64621 848.60306 114.96848 847.78601 114.96848 curveto +846.96895 114.96848 846.34395 114.64621 845.91101 114.00168 curveto +845.48132 113.35389 845.26648 112.41639 845.26648 111.18918 curveto +845.26648 109.95871 845.48132 109.02122 845.91101 108.37668 curveto +846.34395 107.7289 846.96895 107.40501 847.78601 107.405 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +469.802 162.69087 moveto +469.2434 164.12316 468.69913 165.05773 468.16919 165.49458 curveto +467.63924 165.93143 466.93025 166.14985 466.04224 166.14986 curveto +464.46313 166.14986 lineto +464.46313 164.49556 lineto +465.62329 164.49556 lineto +466.16756 164.49556 466.59008 164.36665 466.89087 164.10884 curveto +467.19165 163.85103 467.52465 163.2423 467.88989 162.28267 curveto +468.24438 161.38033 lineto +463.37817 149.54243 lineto +465.4729 149.54243 lineto +469.23267 158.95259 lineto +472.99243 149.54243 lineto +475.08716 149.54243 lineto +469.802 162.69087 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +527.12231 158.84517 moveto +529.38892 158.84517 lineto +529.38892 161.57368 lineto +527.12231 161.57368 lineto +527.12231 158.84517 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +541.13013 158.84517 moveto +543.39673 158.84517 lineto +543.39673 161.57368 lineto +541.13013 161.57368 lineto +541.13013 158.84517 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +555.13794 158.84517 moveto +557.40454 158.84517 lineto +557.40454 161.57368 lineto +555.13794 161.57368 lineto +555.13794 158.84517 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +601.88794 162.69087 moveto +601.32934 164.12316 600.78507 165.05773 600.25513 165.49458 curveto +599.72517 165.93143 599.01619 166.14985 598.12817 166.14986 curveto +596.54907 166.14986 lineto +596.54907 164.49556 lineto +597.70923 164.49556 lineto +598.2535 164.49556 598.67602 164.36665 598.97681 164.10884 curveto +599.27758 163.85103 599.61059 163.2423 599.97583 162.28267 curveto +600.33032 161.38033 lineto +595.46411 149.54243 lineto +597.55884 149.54243 lineto +601.3186 158.95259 lineto +605.07837 149.54243 lineto +607.1731 149.54243 lineto +601.88794 162.69087 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +645.20044 158.84517 moveto +647.46704 158.84517 lineto +647.46704 161.57368 lineto +645.20044 161.57368 lineto +645.20044 158.84517 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +659.20825 158.84517 moveto +661.47485 158.84517 lineto +661.47485 161.57368 lineto +659.20825 161.57368 lineto +659.20825 158.84517 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +673.21606 158.84517 moveto +675.48267 158.84517 lineto +675.48267 161.57368 lineto +673.21606 161.57368 lineto +673.21606 158.84517 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +719.96606 162.69087 moveto +719.40746 164.12316 718.86319 165.05773 718.33325 165.49458 curveto +717.8033 165.93143 717.09432 166.14985 716.2063 166.14986 curveto +714.6272 166.14986 lineto +714.6272 164.49556 lineto +715.78735 164.49556 lineto +716.33162 164.49556 716.75415 164.36665 717.05493 164.10884 curveto +717.35571 163.85103 717.68872 163.2423 718.05396 162.28267 curveto +718.40845 161.38033 lineto +713.54224 149.54243 lineto +715.63696 149.54243 lineto +719.39673 158.95259 lineto +723.15649 149.54243 lineto +725.25122 149.54243 lineto +719.96606 162.69087 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +763.27856 158.84517 moveto +765.54517 158.84517 lineto +765.54517 161.57368 lineto +763.27856 161.57368 lineto +763.27856 158.84517 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +777.28638 158.84517 moveto +779.55298 158.84517 lineto +779.55298 161.57368 lineto +777.28638 161.57368 lineto +777.28638 158.84517 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +791.29419 158.84517 moveto +793.56079 158.84517 lineto +793.56079 161.57368 lineto +791.29419 161.57368 lineto +791.29419 158.84517 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +838.04419 162.69087 moveto +837.48559 164.12316 836.94132 165.05773 836.41138 165.49458 curveto +835.88142 165.93143 835.17244 166.14985 834.28442 166.14986 curveto +832.70532 166.14986 lineto +832.70532 164.49556 lineto +833.86548 164.49556 lineto +834.40975 164.49556 834.83227 164.36665 835.13306 164.10884 curveto +835.43383 163.85103 835.76684 163.2423 836.13208 162.28267 curveto +836.48657 161.38033 lineto +831.62036 149.54243 lineto +833.71509 149.54243 lineto +837.47485 158.95259 lineto +841.23462 149.54243 lineto +843.32935 149.54243 lineto +838.04419 162.69087 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +483.01569 161.41898 moveto +483.01569 164.71976 lineto +482.11725 164.71976 lineto +482.11725 161.44827 lineto +482.11724 160.9307 482.01633 160.54333 481.81451 160.28616 curveto +481.61269 160.02901 481.30995 159.90043 480.90631 159.90042 curveto +480.42128 159.90043 480.0388 160.05505 479.75885 160.36429 curveto +479.4789 160.67354 479.33893 161.09509 479.33893 161.62894 curveto +479.33893 164.71976 lineto +478.43561 164.71976 lineto +478.43561 159.25101 lineto +479.33893 159.25101 lineto +479.33893 160.10062 lineto +479.55377 159.77185 479.80605 159.52608 480.09576 159.36331 curveto +480.38873 159.20056 480.72564 159.11918 481.10651 159.11917 curveto +481.73476 159.11918 482.21002 159.31449 482.53229 159.70511 curveto +482.85455 160.09248 483.01568 160.66377 483.01569 161.41898 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +484.36334 161.58011 moveto +486.99518 161.58011 lineto +486.99518 162.38089 lineto +484.36334 162.38089 lineto +484.36334 161.58011 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +488.72858 163.88968 moveto +490.3399 163.88968 lineto +490.3399 158.32816 lineto +488.58698 158.67972 lineto +488.58698 157.78128 lineto +490.33014 157.42972 lineto +491.31647 157.42972 lineto +491.31647 163.88968 lineto +492.9278 163.88968 lineto +492.9278 164.71976 lineto +488.72858 164.71976 lineto +488.72858 163.88968 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +610.90338 159.2506 moveto +611.80182 159.2506 lineto +611.80182 164.817 lineto +611.80182 165.51362 611.66835 166.01817 611.40143 166.33067 curveto +611.13776 166.64317 610.71132 166.79942 610.12213 166.79942 curveto +609.78033 166.79942 lineto +609.78033 166.0377 lineto +610.01959 166.0377 lineto +610.36139 166.0377 610.59414 165.95795 610.71783 165.79845 curveto +610.84153 165.6422 610.90338 165.31505 610.90338 164.817 curveto +610.90338 159.2506 lineto +610.90338 157.12169 moveto +611.80182 157.12169 lineto +611.80182 158.25938 lineto +610.90338 158.25938 lineto +610.90338 157.12169 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +729.06818 159.2506 moveto +729.96661 159.2506 lineto +729.96661 164.71935 lineto +729.06818 164.71935 lineto +729.06818 159.2506 lineto +729.06818 157.12169 moveto +729.96661 157.12169 lineto +729.96661 158.25938 lineto +729.06818 158.25938 lineto +729.06818 157.12169 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +848.90552 158.07872 moveto +848.3977 158.07873 848.01522 158.32938 847.75806 158.83067 curveto +847.50415 159.32873 847.3772 160.07905 847.3772 161.08165 curveto +847.3772 162.081 847.50415 162.83133 847.75806 163.33263 curveto +848.01522 163.83067 848.3977 164.0797 848.90552 164.0797 curveto +849.41658 164.0797 849.79907 163.83067 850.05298 163.33263 curveto +850.31014 162.83133 850.43872 162.081 850.43872 161.08165 curveto +850.43872 160.07905 850.31014 159.32873 850.05298 158.83067 curveto +849.79907 158.32938 849.41658 158.07873 848.90552 158.07872 curveto +848.90552 157.29747 moveto +849.72257 157.29748 850.34594 157.62137 850.77563 158.26915 curveto +851.20857 158.91369 851.42504 159.85119 851.42505 161.08165 curveto +851.42504 162.30887 851.20857 163.24636 850.77563 163.89415 curveto +850.34594 164.53868 849.72257 164.86095 848.90552 164.86095 curveto +848.08846 164.86095 847.46346 164.53868 847.03052 163.89415 curveto +846.60083 163.24636 846.38599 162.30887 846.38599 161.08165 curveto +846.38599 159.85119 846.60083 158.91369 847.03052 158.26915 curveto +847.46346 157.62137 848.08846 157.29748 848.90552 157.29747 curveto +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.5 setlinewidth +2 setlinejoin +0 setlinecap +newpath +571.18323 78.409805 moveto +751.21565 78.409805 lineto +751.21565 189.67596 lineto +571.18323 189.67596 lineto +571.18323 78.409805 lineto +closepath +stroke +gsave +0 0 0 setrgbcolor +newpath +439.27972 228.29019 moveto +439.27972 230.13785 lineto +438.72112 229.82992 438.15895 229.60075 437.5932 229.45035 curveto +437.0346 229.29281 436.46884 229.21403 435.89594 229.21402 curveto +434.61403 229.21403 433.61859 229.62223 432.90961 230.43863 curveto +432.20062 231.24788 431.84613 232.38655 431.84613 233.85464 curveto +431.84613 235.32275 432.20062 236.465 432.90961 237.2814 curveto +433.61859 238.09065 434.61403 238.49527 435.89594 238.49527 curveto +436.46884 238.49527 437.0346 238.42008 437.5932 238.26968 curveto +438.15895 238.11213 438.72112 237.87939 439.27972 237.57144 curveto +439.27972 239.39761 lineto +438.72828 239.65543 438.15537 239.84879 437.56097 239.97769 curveto +436.97373 240.1066 436.3471 240.17105 435.68109 240.17105 curveto +433.86924 240.17105 432.42979 239.60172 431.36273 238.46304 curveto +430.29567 237.32437 429.76214 235.78824 429.76215 233.85464 curveto +429.76214 231.89241 430.29925 230.34912 431.37347 229.22476 curveto +432.45485 228.10042 433.93369 227.53825 435.81 227.53824 curveto +436.41871 227.53825 437.01311 227.6027 437.5932 227.7316 curveto +438.17327 227.85335 438.73544 228.03955 439.27972 228.29019 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +570.46332 228.29019 moveto +570.46332 230.13785 lineto +569.90471 229.82992 569.34254 229.60075 568.77679 229.45035 curveto +568.21819 229.29281 567.65244 229.21403 567.07953 229.21402 curveto +565.79762 229.21403 564.80218 229.62223 564.0932 230.43863 curveto +563.38421 231.24788 563.02972 232.38655 563.02972 233.85464 curveto +563.02972 235.32275 563.38421 236.465 564.0932 237.2814 curveto +564.80218 238.09065 565.79762 238.49527 567.07953 238.49527 curveto +567.65244 238.49527 568.21819 238.42008 568.77679 238.26968 curveto +569.34254 238.11213 569.90471 237.87939 570.46332 237.57144 curveto +570.46332 239.39761 lineto +569.91188 239.65543 569.33896 239.84879 568.74457 239.97769 curveto +568.15732 240.1066 567.53069 240.17105 566.86469 240.17105 curveto +565.05283 240.17105 563.61338 239.60172 562.54633 238.46304 curveto +561.47927 237.32437 560.94574 235.78824 560.94574 233.85464 curveto +560.94574 231.89241 561.48285 230.34912 562.55707 229.22476 curveto +563.63844 228.10042 565.11728 227.53825 566.99359 227.53824 curveto +567.60231 227.53825 568.19671 227.6027 568.77679 227.7316 curveto +569.35686 227.85335 569.91904 228.03955 570.46332 228.29019 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +764.68207 228.29019 moveto +764.68207 230.13785 lineto +764.12346 229.82992 763.56129 229.60075 762.99554 229.45035 curveto +762.43694 229.29281 761.87119 229.21403 761.29828 229.21402 curveto +760.01637 229.21403 759.02093 229.62223 758.31195 230.43863 curveto +757.60296 231.24788 757.24847 232.38655 757.24847 233.85464 curveto +757.24847 235.32275 757.60296 236.465 758.31195 237.2814 curveto +759.02093 238.09065 760.01637 238.49527 761.29828 238.49527 curveto +761.87119 238.49527 762.43694 238.42008 762.99554 238.26968 curveto +763.56129 238.11213 764.12346 237.87939 764.68207 237.57144 curveto +764.68207 239.39761 lineto +764.13063 239.65543 763.55771 239.84879 762.96332 239.97769 curveto +762.37607 240.1066 761.74944 240.17105 761.08344 240.17105 curveto +759.27158 240.17105 757.83213 239.60172 756.76508 238.46304 curveto +755.69802 237.32437 755.16449 235.78824 755.16449 233.85464 curveto +755.16449 231.89241 755.7016 230.34912 756.77582 229.22476 curveto +757.85719 228.10042 759.33603 227.53825 761.21234 227.53824 curveto +761.82106 227.53825 762.41546 227.6027 762.99554 227.7316 curveto +763.57561 227.85335 764.13779 228.03955 764.68207 228.29019 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +881.85785 228.29019 moveto +881.85785 230.13785 lineto +881.29925 229.82992 880.73707 229.60075 880.17133 229.45035 curveto +879.61272 229.29281 879.04697 229.21403 878.47406 229.21402 curveto +877.19215 229.21403 876.19671 229.62223 875.48773 230.43863 curveto +874.77874 231.24788 874.42425 232.38655 874.42426 233.85464 curveto +874.42425 235.32275 874.77874 236.465 875.48773 237.2814 curveto +876.19671 238.09065 877.19215 238.49527 878.47406 238.49527 curveto +879.04697 238.49527 879.61272 238.42008 880.17133 238.26968 curveto +880.73707 238.11213 881.29925 237.87939 881.85785 237.57144 curveto +881.85785 239.39761 lineto +881.30641 239.65543 880.73349 239.84879 880.1391 239.97769 curveto +879.55185 240.1066 878.92522 240.17105 878.25922 240.17105 curveto +876.44736 240.17105 875.00791 239.60172 873.94086 238.46304 curveto +872.8738 237.32437 872.34027 235.78824 872.34027 233.85464 curveto +872.34027 231.89241 872.87738 230.34912 873.9516 229.22476 curveto +875.03298 228.10042 876.51182 227.53825 878.38812 227.53824 curveto +878.99684 227.53825 879.59124 227.6027 880.17133 227.7316 curveto +880.75139 227.85335 881.31357 228.03955 881.85785 228.29019 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +899.58246 229.86929 moveto +913.35394 229.86929 lineto +913.35394 231.67398 lineto +899.58246 231.67398 lineto +899.58246 229.86929 lineto +899.58246 234.25211 moveto +913.35394 234.25211 lineto +913.35394 236.07828 lineto +899.58246 236.07828 lineto +899.58246 234.25211 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +929.68207 225.25015 moveto +928.56487 225.25017 927.7234 225.8016 927.15765 226.90445 curveto +926.59906 228.00016 926.31976 229.65088 926.31976 231.8566 curveto +926.31976 234.05517 926.59906 235.70589 927.15765 236.80875 curveto +927.7234 237.90445 928.56487 238.4523 929.68207 238.4523 curveto +930.80641 238.4523 931.64788 237.90445 932.20648 236.80875 curveto +932.77223 235.70589 933.0551 234.05517 933.05511 231.8566 curveto +933.0551 229.65088 932.77223 228.00016 932.20648 226.90445 curveto +931.64788 225.8016 930.80641 225.25017 929.68207 225.25015 curveto +929.68207 223.5314 moveto +931.47959 223.53142 932.851 224.24398 933.79633 225.6691 curveto +934.74879 227.08708 935.22502 229.14958 935.22504 231.8566 curveto +935.22502 234.55647 934.74879 236.61897 933.79633 238.0441 curveto +932.851 239.46207 931.47959 240.17105 929.68207 240.17105 curveto +927.88454 240.17105 926.50954 239.46207 925.55707 238.0441 curveto +924.61175 236.61897 924.1391 234.55647 924.1391 231.8566 curveto +924.1391 229.14958 924.61175 227.08708 925.55707 225.6691 curveto +926.50954 224.24398 927.88454 223.53142 929.68207 223.5314 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +888.00647 236.6245 moveto +887.49865 236.6245 887.11617 236.87515 886.85901 237.37645 curveto +886.6051 237.8745 886.47815 238.62483 886.47815 239.62743 curveto +886.47815 240.62678 886.6051 241.3771 886.85901 241.8784 curveto +887.11617 242.37645 887.49865 242.62547 888.00647 242.62547 curveto +888.51753 242.62547 888.90002 242.37645 889.15393 241.8784 curveto +889.41109 241.3771 889.53967 240.62678 889.53967 239.62743 curveto +889.53967 238.62483 889.41109 237.8745 889.15393 237.37645 curveto +888.90002 236.87515 888.51753 236.6245 888.00647 236.6245 curveto +888.00647 235.84325 moveto +888.82352 235.84325 889.44689 236.16715 889.87659 236.81493 curveto +890.30952 237.45946 890.526 238.39696 890.526 239.62743 curveto +890.526 240.85464 890.30952 241.79214 889.87659 242.43993 curveto +889.44689 243.08446 888.82352 243.40672 888.00647 243.40672 curveto +887.18941 243.40672 886.56441 243.08446 886.13147 242.43993 curveto +885.70178 241.79214 885.48694 240.85464 885.48694 239.62743 curveto +885.48694 238.39696 885.70178 237.45946 886.13147 236.81493 curveto +886.56441 236.16715 887.18941 235.84325 888.00647 235.84325 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +768.51587 237.87952 moveto +769.41431 237.87952 lineto +769.41431 243.34827 lineto +768.51587 243.34827 lineto +768.51587 237.87952 lineto +768.51587 235.75061 moveto +769.41431 235.75061 lineto +769.41431 236.88831 lineto +768.51587 236.88831 lineto +768.51587 235.75061 lineto +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +909.12159 198.03592 moveto +883.61377 237.35636 862.49197 218.54422 842.71488 198.03592 curveto +stroke +gsave [0.55532634 0.57585819 -0.57585819 0.55532634 849.65646 205.23415] concat +gsave +0 0 0 setrgbcolor +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +stroke +grestore +gsave [1 0 0 1 -114.62492 0.00037955193] concat +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +909.12159 198.03592 moveto +883.61377 237.35636 862.49197 218.54422 842.71488 198.03592 curveto +stroke +gsave [0.55532634 0.57585819 -0.57585819 0.55532634 849.65646 205.23415] concat +gsave +0 0 0 setrgbcolor +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +stroke +grestore +grestore +gsave [1 0 0 1 -307.33806 0.00037955193] concat +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +909.12159 198.03592 moveto +883.61377 237.35636 862.49197 218.54422 842.71488 198.03592 curveto +stroke +gsave [0.55532634 0.57585819 -0.57585819 0.55532634 849.65646 205.23415] concat +gsave +0 0 0 setrgbcolor +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +stroke +grestore +grestore +gsave [1 0 0 1 -437.99266 0] concat +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +909.12159 198.03592 moveto +883.61377 237.35636 862.49197 218.54422 842.71488 198.03592 curveto +stroke +gsave [0.55532634 0.57585819 -0.57585819 0.55532634 849.65646 205.23415] concat +gsave +0 0 0 setrgbcolor +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +stroke +grestore +grestore +gsave +0 0 0 setrgbcolor +newpath +574.29688 237.79652 moveto +575.19531 237.79652 lineto +575.19531 243.36293 lineto +575.19531 244.05954 575.06185 244.5641 574.79492 244.8766 curveto +574.53125 245.1891 574.10482 245.34535 573.51562 245.34535 curveto +573.17383 245.34535 lineto +573.17383 244.58363 lineto +573.41309 244.58363 lineto +573.75488 244.58363 573.98763 244.50388 574.11133 244.34438 curveto +574.23503 244.18812 574.29687 243.86098 574.29688 243.36293 curveto +574.29688 237.79652 lineto +574.29688 235.66762 moveto +575.19531 235.66762 lineto +575.19531 236.80531 lineto +574.29688 236.80531 lineto +574.29688 235.66762 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +580.72754 236.99574 moveto +580.72754 239.71547 lineto +583.44727 239.71547 lineto +583.44727 240.54555 lineto +580.72754 240.54555 lineto +580.72754 243.26527 lineto +579.90723 243.26527 lineto +579.90723 240.54555 lineto +577.1875 240.54555 lineto +577.1875 239.71547 lineto +579.90723 239.71547 lineto +579.90723 236.99574 lineto +580.72754 236.99574 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +585.74707 242.4352 moveto +587.3584 242.4352 lineto +587.3584 236.87367 lineto +585.60547 237.22523 lineto +585.60547 236.3268 lineto +587.34863 235.97523 lineto +588.33496 235.97523 lineto +588.33496 242.4352 lineto +589.94629 242.4352 lineto +589.94629 243.26527 lineto +585.74707 243.26527 lineto +585.74707 242.4352 lineto +fill +grestore +grestore +gsave +0 0 0 setrgbcolor +newpath +142.3591 306.3858 moveto +142.3591 309.68658 lineto +141.46066 309.68658 lineto +141.46066 306.4151 lineto +141.46066 305.89753 141.35975 305.51016 141.15793 305.25299 curveto +140.9561 304.99583 140.65337 304.86725 140.24973 304.86725 curveto +139.7647 304.86725 139.38221 305.02188 139.10226 305.33112 curveto +138.82231 305.64036 138.68234 306.06191 138.68234 306.59576 curveto +138.68234 309.68658 lineto +137.77902 309.68658 lineto +137.77902 304.21783 lineto +138.68234 304.21783 lineto +138.68234 305.06744 lineto +138.89718 304.73867 139.14946 304.4929 139.43918 304.33014 curveto +139.73214 304.16738 140.06906 304.086 140.44992 304.086 curveto +141.07817 304.086 141.55343 304.28132 141.8757 304.67194 curveto +142.19796 305.05931 142.35909 305.6306 142.3591 306.3858 curveto +fill +grestore +grestore +showpage +%%EOF diff --git a/5-addsort/blok_scitani.svg b/5-addsort/blok_scitani.svg new file mode 100644 index 0000000..0d3d85b --- /dev/null +++ b/5-addsort/blok_scitani.svg @@ -0,0 +1,306 @@ + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + x . . . x . . . x . . . x + n-1 + j + + i + + 0 + y . . . y . . . y . . . y + n-1 + j + i + 0 + + c c c c = 0 + 0 + i + + + + + j+1 + + n + + + diff --git a/5-addsort/bloky_1bit.eps b/5-addsort/bloky_1bit.eps new file mode 100644 index 0000000..9c9755a --- /dev/null +++ b/5-addsort/bloky_1bit.eps @@ -0,0 +1,297 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: inkscape 0.46 +%%Pages: 1 +%%Orientation: Portrait +%%BoundingBox: 75 620 323 731 +%%HiResBoundingBox: 75.636896 620.55066 322.8265 730.8444 +%%EndComments +%%Page: 1 1 +0 842 translate +0.8 -0.8 scale +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +gsave [1 0 0 1 0 0] concat +0 0 0 setrgbcolor +[] 0 setdash +1.5 setlinewidth +2 setlinejoin +0 setlinecap +newpath +95.29612 139.55669 moveto +144.29274 139.55669 lineto +144.29274 231.15907 lineto +95.29612 231.15907 lineto +95.29612 139.55669 lineto +closepath +stroke +0 0 0 setrgbcolor +[] 0 setdash +1.5 setlinewidth +2 setlinejoin +0 setlinecap +newpath +182.10628 139.55681 moveto +231.1029 139.55681 lineto +231.1029 231.15919 lineto +182.10628 231.15919 lineto +182.10628 139.55681 lineto +closepath +stroke +0 0 0 setrgbcolor +[] 0 setdash +1.5 setlinewidth +2 setlinejoin +0 setlinecap +newpath +268.05011 139.55681 moveto +317.04673 139.55681 lineto +317.04673 231.15919 lineto +268.05011 231.15919 lineto +268.05011 139.55681 lineto +closepath +stroke +0 0 0 setrgbcolor +[] 0 setdash +1.5 setlinewidth +2 setlinejoin +0 setlinecap +newpath +353.7865 139.55681 moveto +402.78312 139.55681 lineto +402.78312 231.15919 lineto +353.7865 231.15919 lineto +353.7865 139.55681 lineto +closepath +stroke +gsave +0 0 0 setrgbcolor +newpath +119.80247 147.68111 moveto +117.77121 147.68113 116.24127 148.68374 115.21263 150.68892 curveto +114.197 152.68113 113.68919 155.68243 113.68919 159.69283 curveto +113.68919 163.69023 114.197 166.69153 115.21263 168.69673 curveto +116.24127 170.68892 117.77121 171.68502 119.80247 171.68501 curveto +121.84673 171.68502 123.37668 170.68892 124.39232 168.69673 curveto +125.42095 166.69153 125.93527 163.69023 125.93529 159.69283 curveto +125.93527 155.68243 125.42095 152.68113 124.39232 150.68892 curveto +123.37668 148.68374 121.84673 147.68113 119.80247 147.68111 curveto +119.80247 144.55611 moveto +123.07069 144.55614 125.56418 145.85171 127.28294 148.44283 curveto +129.01469 151.02097 129.88058 154.77097 129.8806 159.69283 curveto +129.88058 164.60169 129.01469 168.35169 127.28294 170.94283 curveto +125.56418 173.52095 123.07069 174.81001 119.80247 174.81001 curveto +116.53424 174.81001 114.03424 173.52095 112.30247 170.94283 curveto +110.58372 168.35169 109.72435 164.60169 109.72435 159.69283 curveto +109.72435 154.77097 110.58372 151.02097 112.30247 148.44283 curveto +114.03424 145.85171 116.53424 144.55614 119.80247 144.55611 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +119.80247 197.68111 moveto +117.77121 197.68113 116.24127 198.68374 115.21263 200.68892 curveto +114.197 202.68113 113.68919 205.68243 113.68919 209.69283 curveto +113.68919 213.69023 114.197 216.69153 115.21263 218.69673 curveto +116.24127 220.68892 117.77121 221.68502 119.80247 221.68501 curveto +121.84673 221.68502 123.37668 220.68892 124.39232 218.69673 curveto +125.42095 216.69153 125.93527 213.69023 125.93529 209.69283 curveto +125.93527 205.68243 125.42095 202.68113 124.39232 200.68892 curveto +123.37668 198.68374 121.84673 197.68113 119.80247 197.68111 curveto +119.80247 194.55611 moveto +123.07069 194.55614 125.56418 195.85171 127.28294 198.44283 curveto +129.01469 201.02097 129.88058 204.77097 129.8806 209.69283 curveto +129.88058 214.60169 129.01469 218.35169 127.28294 220.94283 curveto +125.56418 223.52095 123.07069 224.81001 119.80247 224.81001 curveto +116.53424 224.81001 114.03424 223.52095 112.30247 220.94283 curveto +110.58372 218.35169 109.72435 214.60169 109.72435 209.69283 curveto +109.72435 204.77097 110.58372 201.02097 112.30247 198.44283 curveto +114.03424 195.85171 116.53424 194.55614 119.80247 194.55611 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +207.64552 148.24768 moveto +205.61426 148.24771 204.08432 149.25031 203.05568 151.25549 curveto +202.04005 153.2477 201.53224 156.249 201.53224 160.2594 curveto +201.53224 164.25681 202.04005 167.2581 203.05568 169.26331 curveto +204.08432 171.2555 205.61426 172.25159 207.64552 172.25159 curveto +209.68978 172.25159 211.21973 171.2555 212.23537 169.26331 curveto +213.26399 167.2581 213.77832 164.25681 213.77834 160.2594 curveto +213.77832 156.249 213.26399 153.2477 212.23537 151.25549 curveto +211.21973 149.25031 209.68978 148.24771 207.64552 148.24768 curveto +207.64552 145.12268 moveto +210.91374 145.12271 213.40722 146.41828 215.12599 149.0094 curveto +216.85774 151.58755 217.72363 155.33754 217.72365 160.2594 curveto +217.72363 165.16826 216.85774 168.91826 215.12599 171.5094 curveto +213.40722 174.08753 210.91374 175.37659 207.64552 175.37659 curveto +204.37728 175.37659 201.87729 174.08753 200.14552 171.5094 curveto +198.42677 168.91826 197.5674 165.16826 197.5674 160.2594 curveto +197.5674 155.33754 198.42677 151.58755 200.14552 149.0094 curveto +201.87729 146.41828 204.37728 145.12271 207.64552 145.12268 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +199.89162 221.48987 moveto +206.33693 221.48987 lineto +206.33693 199.24377 lineto +199.32521 200.65002 lineto +199.32521 197.05627 lineto +206.29787 195.65002 lineto +210.24318 195.65002 lineto +210.24318 221.48987 lineto +216.68849 221.48987 lineto +216.68849 224.81018 lineto +199.89162 224.81018 lineto +199.89162 221.48987 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +285.30054 170.92346 moveto +291.74585 170.92346 lineto +291.74585 148.67737 lineto +284.73413 150.08362 lineto +284.73413 146.48987 lineto +291.70679 145.08362 lineto +295.6521 145.08362 lineto +295.6521 170.92346 lineto +302.09741 170.92346 lineto +302.09741 174.24377 lineto +285.30054 174.24377 lineto +285.30054 170.92346 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +293.05444 197.68127 moveto +291.02318 197.6813 289.49324 198.6839 288.4646 200.68909 curveto +287.44897 202.6813 286.94116 205.6826 286.94116 209.69299 curveto +286.94116 213.6904 287.44897 216.6917 288.4646 218.6969 curveto +289.49324 220.68909 291.02318 221.68518 293.05444 221.68518 curveto +295.0987 221.68518 296.62865 220.68909 297.64429 218.6969 curveto +298.67291 216.6917 299.18724 213.6904 299.18726 209.69299 curveto +299.18724 205.6826 298.67291 202.6813 297.64429 200.68909 curveto +296.62865 198.6839 295.0987 197.6813 293.05444 197.68127 curveto +293.05444 194.55627 moveto +296.32266 194.5563 298.81614 195.85188 300.53491 198.44299 curveto +302.26666 201.02114 303.13255 204.77114 303.13257 209.69299 curveto +303.13255 214.60186 302.26666 218.35185 300.53491 220.94299 curveto +298.81614 223.52112 296.32266 224.81018 293.05444 224.81018 curveto +289.7862 224.81018 287.28621 223.52112 285.55444 220.94299 curveto +283.83569 218.35185 282.97632 214.60186 282.97632 209.69299 curveto +282.97632 204.77114 283.83569 201.02114 285.55444 198.44299 curveto +287.28621 195.85188 289.7862 194.5563 293.05444 194.55627 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +371.30179 170.92346 moveto +377.7471 170.92346 lineto +377.7471 148.67737 lineto +370.73538 150.08362 lineto +370.73538 146.48987 lineto +377.70804 145.08362 lineto +381.65335 145.08362 lineto +381.65335 170.92346 lineto +388.09866 170.92346 lineto +388.09866 174.24377 lineto +371.30179 174.24377 lineto +371.30179 170.92346 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +371.30179 220.92346 moveto +377.7471 220.92346 lineto +377.7471 198.67737 lineto +370.73538 200.08362 lineto +370.73538 196.48987 lineto +377.70804 195.08362 lineto +381.65335 195.08362 lineto +381.65335 220.92346 lineto +388.09866 220.92346 lineto +388.09866 224.24377 lineto +371.30179 224.24377 lineto +371.30179 220.92346 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +119.80212 249.54495 moveto +117.77086 249.54498 116.24092 250.54758 115.21228 252.55276 curveto +114.19665 254.54497 113.68884 257.54627 113.68884 261.55667 curveto +113.68884 265.55408 114.19665 268.55538 115.21228 270.56058 curveto +116.24092 272.55277 117.77086 273.54886 119.80212 273.54886 curveto +121.84638 273.54886 123.37633 272.55277 124.39197 270.56058 curveto +125.4206 268.55538 125.93492 265.55408 125.93494 261.55667 curveto +125.93492 257.54627 125.4206 254.54497 124.39197 252.55276 curveto +123.37633 250.54758 121.84638 249.54498 119.80212 249.54495 curveto +119.80212 246.41995 moveto +123.07034 246.41998 125.56382 247.71555 127.28259 250.30667 curveto +129.01434 252.88482 129.88023 256.63482 129.88025 261.55667 curveto +129.88023 266.46553 129.01434 270.21553 127.28259 272.80667 curveto +125.56382 275.3848 123.07034 276.67386 119.80212 276.67386 curveto +116.53389 276.67386 114.03389 275.3848 112.30212 272.80667 curveto +110.58337 270.21553 109.724 266.46553 109.724 261.55667 curveto +109.724 256.63482 110.58337 252.88482 112.30212 250.30667 curveto +114.03389 247.71555 116.53389 246.41998 119.80212 246.41995 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +220.20763 256.42029 moveto +200.05138 263.58826 lineto +220.20763 270.71716 lineto +220.20763 274.27185 lineto +195.16856 265.18982 lineto +195.16856 261.94763 lineto +220.20763 252.8656 lineto +220.20763 256.42029 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +305.61664 256.42029 moveto +285.46039 263.58826 lineto +305.61664 270.71716 lineto +305.61664 274.27185 lineto +280.57758 265.18982 lineto +280.57758 261.94763 lineto +305.61664 252.8656 lineto +305.61664 256.42029 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +373.0592 272.78748 moveto +379.50452 272.78748 lineto +379.50452 250.54138 lineto +372.4928 251.94763 lineto +372.4928 248.35388 lineto +379.46545 246.94763 lineto +383.41077 246.94763 lineto +383.41077 272.78748 lineto +389.85608 272.78748 lineto +389.85608 276.10779 lineto +373.0592 276.10779 lineto +373.0592 272.78748 lineto +fill +grestore +grestore +showpage +%%EOF diff --git a/5-addsort/bloky_1bit.svg b/5-addsort/bloky_1bit.svg new file mode 100644 index 0000000..01f6a11 --- /dev/null +++ b/5-addsort/bloky_1bit.svg @@ -0,0 +1,226 @@ + + + + + + + + + + + image/svg+xml + + + + + + + + + + 00 + 01 + 10 + 11 + 0 + < + < + 1 + + + diff --git a/5-addsort/hloupe_scitani.eps b/5-addsort/hloupe_scitani.eps new file mode 100644 index 0000000..c941a35 --- /dev/null +++ b/5-addsort/hloupe_scitani.eps @@ -0,0 +1,811 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: inkscape 0.46 +%%Pages: 1 +%%Orientation: Portrait +%%BoundingBox: 133 478 460 768 +%%HiResBoundingBox: 133.97793 478.49599 459.571 767.02268 +%%EndComments +%%Page: 1 1 +0 842 translate +0.8 -0.8 scale +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +gsave [1 0 0 1 0 0] concat +0 0 0 setrgbcolor +[] 0 setdash +1.5 setlinewidth +2 setlinejoin +0 setlinecap +newpath +405.71429 135.21933 moveto +528.57143 135.21933 lineto +528.57143 258.07647 lineto +405.71429 258.07647 lineto +405.71429 135.21933 lineto +closepath +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +489.0389 94.083838 moveto +489.0389 168.64392 lineto +stroke +gsave [-4.8984254e-17 -0.8 0.8 -4.8984254e-17 489.0389 158.64392] concat +gsave +0 0 0 setrgbcolor +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +stroke +grestore +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +445.039 94.084108 moveto +445.039 168.64418 lineto +stroke +gsave [-4.8984254e-17 -0.8 0.8 -4.8984254e-17 445.039 158.64418] concat +gsave +0 0 0 setrgbcolor +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +stroke +grestore +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +573.96375 202.75507 moveto +499.40367 202.75507 lineto +stroke +gsave [0.8 -9.7968508e-17 9.7968508e-17 0.8 509.40367 202.75507] concat +gsave +0 0 0 setrgbcolor +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +stroke +grestore +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +489.039 237.7674 moveto +489.039 312.32748 lineto +stroke +gsave [-4.8984254e-17 -0.8 0.8 -4.8984254e-17 489.039 302.32748] concat +gsave +0 0 0 setrgbcolor +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +stroke +grestore +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +445.3895 237.42335 moveto +445.039 311.37969 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +445.25508 311.10792 moveto +370.695 311.10792 lineto +stroke +gsave [0.8 -9.7968508e-17 9.7968508e-17 0.8 380.695 311.10792] concat +gsave +0 0 0 setrgbcolor +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +stroke +grestore +gsave [1 0 0 1 -14 -6] concat +gsave +0 0 0 setrgbcolor +newpath +474.79669 99.649963 moveto +470.44611 105.50446 lineto +475.02228 111.68121 lineto +472.69122 111.68121 lineto +469.18927 106.95465 lineto +465.68732 111.68121 lineto +463.35626 111.68121 lineto +468.02911 105.38629 lineto +463.75372 99.649963 lineto +466.08478 99.649963 lineto +469.27521 103.9361 lineto +472.46564 99.649963 lineto +474.79669 99.649963 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +479.58664 108.18667 moveto +479.07882 108.18668 478.69634 108.43733 478.43918 108.93862 curveto +478.18527 109.43667 478.05832 110.187 478.05832 111.1896 curveto +478.05832 112.18895 478.18527 112.93927 478.43918 113.44057 curveto +478.69634 113.93862 479.07882 114.18765 479.58664 114.18764 curveto +480.0977 114.18765 480.48019 113.93862 480.7341 113.44057 curveto +480.99126 112.93927 481.11984 112.18895 481.11984 111.1896 curveto +481.11984 110.187 480.99126 109.43667 480.7341 108.93862 curveto +480.48019 108.43733 480.0977 108.18668 479.58664 108.18667 curveto +479.58664 107.40542 moveto +480.40369 107.40543 481.02706 107.72932 481.45676 108.3771 curveto +481.88969 109.02164 482.10616 109.95913 482.10617 111.1896 curveto +482.10616 112.41681 481.88969 113.35431 481.45676 114.0021 curveto +481.02706 114.64663 480.40369 114.96889 479.58664 114.96889 curveto +478.76958 114.96889 478.14458 114.64663 477.71164 114.0021 curveto +477.28195 113.35431 477.06711 112.41681 477.06711 111.1896 curveto +477.06711 109.95913 477.28195 109.02164 477.71164 108.3771 curveto +478.14458 107.72932 478.76958 107.40543 479.58664 107.40542 curveto +fill +grestore +grestore +gsave [1 0 0 1 28.845452 -5.9997123] concat +gsave +0 0 0 setrgbcolor +newpath +471.80157 112.7984 moveto +471.24297 114.23069 470.6987 115.16526 470.16876 115.60211 curveto +469.63881 116.03896 468.92983 116.25738 468.04181 116.25739 curveto +466.46271 116.25739 lineto +466.46271 114.60309 lineto +467.62286 114.60309 lineto +468.16713 114.60309 468.58966 114.47418 468.89044 114.21637 curveto +469.19122 113.95855 469.52423 113.34983 469.88947 112.3902 curveto +470.24396 111.48785 lineto +465.37775 99.649963 lineto +467.47247 99.649963 lineto +471.23224 109.06012 lineto +474.992 99.649963 lineto +477.08673 99.649963 lineto +471.80157 112.7984 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +481.58664 108.18667 moveto +481.07882 108.18668 480.69634 108.43733 480.43918 108.93862 curveto +480.18527 109.43667 480.05832 110.187 480.05832 111.1896 curveto +480.05832 112.18895 480.18527 112.93927 480.43918 113.44057 curveto +480.69634 113.93862 481.07882 114.18765 481.58664 114.18764 curveto +482.0977 114.18765 482.48019 113.93862 482.7341 113.44057 curveto +482.99126 112.93927 483.11984 112.18895 483.11984 111.1896 curveto +483.11984 110.187 482.99126 109.43667 482.7341 108.93862 curveto +482.48019 108.43733 482.0977 108.18668 481.58664 108.18667 curveto +481.58664 107.40542 moveto +482.40369 107.40543 483.02706 107.72932 483.45676 108.3771 curveto +483.88969 109.02164 484.10616 109.95913 484.10617 111.1896 curveto +484.10616 112.41681 483.88969 113.35431 483.45676 114.0021 curveto +483.02706 114.64663 482.40369 114.96889 481.58664 114.96889 curveto +480.76958 114.96889 480.14458 114.64663 479.71164 114.0021 curveto +479.28195 113.35431 479.06711 112.41681 479.06711 111.1896 curveto +479.06711 109.95913 479.28195 109.02164 479.71164 108.3771 curveto +480.14458 107.72932 480.76958 107.40543 481.58664 107.40542 curveto +fill +grestore +grestore +gsave [1 0 0 1 28.845452 -7.9997123] concat +gsave [1 0 0 1 61.326273 92.372071] concat +gsave +0 0 0 setrgbcolor +newpath +473.45392 100.11188 moveto +473.45392 101.95953 lineto +472.89531 101.6516 472.33314 101.42243 471.7674 101.27203 curveto +471.20879 101.11449 470.64304 101.03572 470.07013 101.03571 curveto +468.78822 101.03572 467.79278 101.44392 467.0838 102.26031 curveto +466.37481 103.06957 466.02032 104.20824 466.02032 105.67633 curveto +466.02032 107.14443 466.37481 108.28669 467.0838 109.10309 curveto +467.79278 109.91233 468.78822 110.31696 470.07013 110.31696 curveto +470.64304 110.31696 471.20879 110.24176 471.7674 110.09137 curveto +472.33314 109.93382 472.89531 109.70107 473.45392 109.39313 curveto +473.45392 111.2193 lineto +472.90248 111.47711 472.32956 111.67047 471.73517 111.79938 curveto +471.14792 111.92828 470.52129 111.99274 469.85529 111.99274 curveto +468.04343 111.99274 466.60398 111.4234 465.53693 110.28473 curveto +464.46987 109.14606 463.93634 107.60993 463.93634 105.67633 curveto +463.93634 103.7141 464.47345 102.17081 465.54767 101.04645 curveto +466.62904 99.922111 468.10788 99.359937 469.98419 99.359924 curveto +470.59291 99.359937 471.18731 99.42439 471.7674 99.553284 curveto +472.34746 99.67504 472.90964 99.861238 473.45392 100.11188 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +479.58664 108.18667 moveto +479.07882 108.18668 478.69634 108.43733 478.43918 108.93862 curveto +478.18527 109.43667 478.05832 110.187 478.05832 111.1896 curveto +478.05832 112.18895 478.18527 112.93927 478.43918 113.44057 curveto +478.69634 113.93862 479.07882 114.18765 479.58664 114.18764 curveto +480.0977 114.18765 480.48019 113.93862 480.7341 113.44057 curveto +480.99126 112.93927 481.11984 112.18895 481.11984 111.1896 curveto +481.11984 110.187 480.99126 109.43667 480.7341 108.93862 curveto +480.48019 108.43733 480.0977 108.18668 479.58664 108.18667 curveto +479.58664 107.40542 moveto +480.40369 107.40543 481.02706 107.72932 481.45676 108.3771 curveto +481.88969 109.02164 482.10616 109.95913 482.10617 111.1896 curveto +482.10616 112.41681 481.88969 113.35431 481.45676 114.0021 curveto +481.02706 114.64663 480.40369 114.96889 479.58664 114.96889 curveto +478.76958 114.96889 478.14458 114.64663 477.71164 114.0021 curveto +477.28195 113.35431 477.06711 112.41681 477.06711 111.1896 curveto +477.06711 109.95913 477.28195 109.02164 477.71164 108.3771 curveto +478.14458 107.72932 478.76958 107.40543 479.58664 107.40542 curveto +fill +grestore +grestore +grestore +gsave [1 0 0 1 37.94657 200.05842] concat +gsave +0 0 0 setrgbcolor +newpath +463.93634 99.649963 moveto +473.32501 99.649963 lineto +473.32501 101.45465 lineto +465.89142 110.10211 lineto +473.32501 110.10211 lineto +473.32501 111.68121 lineto +463.66779 111.68121 lineto +463.66779 109.87653 lineto +471.10138 101.22906 lineto +463.93634 101.22906 lineto +463.93634 99.649963 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +479.58664 108.18667 moveto +479.07882 108.18668 478.69634 108.43733 478.43918 108.93862 curveto +478.18527 109.43667 478.05832 110.187 478.05832 111.1896 curveto +478.05832 112.18895 478.18527 112.93927 478.43918 113.44057 curveto +478.69634 113.93862 479.07882 114.18765 479.58664 114.18764 curveto +480.0977 114.18765 480.48019 113.93862 480.7341 113.44057 curveto +480.99126 112.93927 481.11984 112.18895 481.11984 111.1896 curveto +481.11984 110.187 480.99126 109.43667 480.7341 108.93862 curveto +480.48019 108.43733 480.0977 108.18668 479.58664 108.18667 curveto +479.58664 107.40542 moveto +480.40369 107.40543 481.02706 107.72932 481.45676 108.3771 curveto +481.88969 109.02164 482.10616 109.95913 482.10617 111.1896 curveto +482.10616 112.41681 481.88969 113.35431 481.45676 114.0021 curveto +481.02706 114.64663 480.40369 114.96889 479.58664 114.96889 curveto +478.76958 114.96889 478.14458 114.64663 477.71164 114.0021 curveto +477.28195 113.35431 477.06711 112.41681 477.06711 111.1896 curveto +477.06711 109.95913 477.28195 109.02164 477.71164 108.3771 curveto +478.14458 107.72932 478.76958 107.40543 479.58664 107.40542 curveto +fill +grestore +grestore +gsave [1 0 0 1 -62.548718 193.45172] concat +gsave +0 0 0 setrgbcolor +newpath +473.45392 100.11188 moveto +473.45392 101.95953 lineto +472.89531 101.6516 472.33314 101.42243 471.7674 101.27203 curveto +471.20879 101.11449 470.64304 101.03572 470.07013 101.03571 curveto +468.78822 101.03572 467.79278 101.44392 467.0838 102.26031 curveto +466.37481 103.06957 466.02032 104.20824 466.02032 105.67633 curveto +466.02032 107.14443 466.37481 108.28669 467.0838 109.10309 curveto +467.79278 109.91233 468.78822 110.31696 470.07013 110.31696 curveto +470.64304 110.31696 471.20879 110.24176 471.7674 110.09137 curveto +472.33314 109.93382 472.89531 109.70107 473.45392 109.39313 curveto +473.45392 111.2193 lineto +472.90248 111.47711 472.32956 111.67047 471.73517 111.79938 curveto +471.14792 111.92828 470.52129 111.99274 469.85529 111.99274 curveto +468.04343 111.99274 466.60398 111.4234 465.53693 110.28473 curveto +464.46987 109.14606 463.93634 107.60993 463.93634 105.67633 curveto +463.93634 103.7141 464.47345 102.17081 465.54767 101.04645 curveto +466.62904 99.922111 468.10788 99.359937 469.98419 99.359924 curveto +470.59291 99.359937 471.18731 99.42439 471.7674 99.553284 curveto +472.34746 99.67504 472.90964 99.861238 473.45392 100.11188 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +477.64816 113.99722 moveto +479.25949 113.99722 lineto +479.25949 108.43569 lineto +477.50656 108.78725 lineto +477.50656 107.88882 lineto +479.24973 107.53725 lineto +480.23605 107.53725 lineto +480.23605 113.99722 lineto +481.84738 113.99722 lineto +481.84738 114.82729 lineto +477.64816 114.82729 lineto +477.64816 113.99722 lineto +fill +grestore +grestore +gsave [1 0 0 1 110.84545 -107.99971] concat +0 0 0 setrgbcolor +[] 0 setdash +1.5 setlinewidth +2 setlinejoin +0 setlinecap +newpath +160.17401 381.8533 moveto +283.03115 381.8533 lineto +283.03115 504.71044 lineto +160.17401 504.71044 lineto +160.17401 381.8533 lineto +closepath +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +243.49861 340.71782 moveto +243.49861 415.2779 lineto +stroke +gsave [-4.8984254e-17 -0.8 0.8 -4.8984254e-17 243.49861 405.2779] concat +gsave +0 0 0 setrgbcolor +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +stroke +grestore +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +199.49871 340.71808 moveto +199.49871 415.27816 lineto +stroke +gsave [-4.8984254e-17 -0.8 0.8 -4.8984254e-17 199.49871 405.27816] concat +gsave +0 0 0 setrgbcolor +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +stroke +grestore +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +243.49871 484.40138 moveto +243.49871 558.96146 lineto +stroke +gsave [-4.8984254e-17 -0.8 0.8 -4.8984254e-17 243.49871 548.96146] concat +gsave +0 0 0 setrgbcolor +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +stroke +grestore +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +199.84921 484.05733 moveto +199.49871 558.01367 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +199.71479 557.7419 moveto +125.15471 557.7419 lineto +stroke +gsave [0.8 -9.7968508e-17 9.7968508e-17 0.8 135.15471 557.7419] concat +gsave +0 0 0 setrgbcolor +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +eofill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.25 setlinewidth +0 setlinejoin +0 setlinecap +newpath +0 0 moveto +5 -5 lineto +-12.5 0 lineto +5 5 lineto +0 0 lineto +closepath +stroke +grestore +gsave [1 0 0 1 -259.54029 240.63398] concat +gsave +0 0 0 setrgbcolor +newpath +474.79669 99.649963 moveto +470.44611 105.50446 lineto +475.02228 111.68121 lineto +472.69122 111.68121 lineto +469.18927 106.95465 lineto +465.68732 111.68121 lineto +463.35626 111.68121 lineto +468.02911 105.38629 lineto +463.75372 99.649963 lineto +466.08478 99.649963 lineto +469.27521 103.9361 lineto +472.46564 99.649963 lineto +474.79669 99.649963 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +477.64816 113.99722 moveto +479.25949 113.99722 lineto +479.25949 108.43569 lineto +477.50656 108.78725 lineto +477.50656 107.88882 lineto +479.24973 107.53725 lineto +480.23605 107.53725 lineto +480.23605 113.99722 lineto +481.84738 113.99722 lineto +481.84738 114.82729 lineto +477.64816 114.82729 lineto +477.64816 113.99722 lineto +fill +grestore +grestore +gsave [1 0 0 1 -216.69484 240.63427] concat +gsave +0 0 0 setrgbcolor +newpath +471.80157 112.7984 moveto +471.24297 114.23069 470.6987 115.16526 470.16876 115.60211 curveto +469.63881 116.03896 468.92983 116.25738 468.04181 116.25739 curveto +466.46271 116.25739 lineto +466.46271 114.60309 lineto +467.62286 114.60309 lineto +468.16713 114.60309 468.58966 114.47418 468.89044 114.21637 curveto +469.19122 113.95855 469.52423 113.34983 469.88947 112.3902 curveto +470.24396 111.48785 lineto +465.37775 99.649963 lineto +467.47247 99.649963 lineto +471.23224 109.06012 lineto +474.992 99.649963 lineto +477.08673 99.649963 lineto +471.80157 112.7984 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +479.64816 113.99722 moveto +481.25949 113.99722 lineto +481.25949 108.43569 lineto +479.50656 108.78725 lineto +479.50656 107.88882 lineto +481.24973 107.53725 lineto +482.23605 107.53725 lineto +482.23605 113.99722 lineto +483.84738 113.99722 lineto +483.84738 114.82729 lineto +479.64816 114.82729 lineto +479.64816 113.99722 lineto +fill +grestore +grestore +gsave [1 0 0 1 -207.59372 446.6924] concat +gsave +0 0 0 setrgbcolor +newpath +463.93634 99.649963 moveto +473.32501 99.649963 lineto +473.32501 101.45465 lineto +465.89142 110.10211 lineto +473.32501 110.10211 lineto +473.32501 111.68121 lineto +463.66779 111.68121 lineto +463.66779 109.87653 lineto +471.10138 101.22906 lineto +463.93634 101.22906 lineto +463.93634 99.649963 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +477.64816 113.99722 moveto +479.25949 113.99722 lineto +479.25949 108.43569 lineto +477.50656 108.78725 lineto +477.50656 107.88882 lineto +479.24973 107.53725 lineto +480.23605 107.53725 lineto +480.23605 113.99722 lineto +481.84738 113.99722 lineto +481.84738 114.82729 lineto +477.64816 114.82729 lineto +477.64816 113.99722 lineto +fill +grestore +grestore +gsave [1 0 0 1 -308.08901 440.0857] concat +gsave +0 0 0 setrgbcolor +newpath +473.45392 100.11188 moveto +473.45392 101.95953 lineto +472.89531 101.6516 472.33314 101.42243 471.7674 101.27203 curveto +471.20879 101.11449 470.64304 101.03572 470.07013 101.03571 curveto +468.78822 101.03572 467.79278 101.44392 467.0838 102.26031 curveto +466.37481 103.06957 466.02032 104.20824 466.02032 105.67633 curveto +466.02032 107.14443 466.37481 108.28669 467.0838 109.10309 curveto +467.79278 109.91233 468.78822 110.31696 470.07013 110.31696 curveto +470.64304 110.31696 471.20879 110.24176 471.7674 110.09137 curveto +472.33314 109.93382 472.89531 109.70107 473.45392 109.39313 curveto +473.45392 111.2193 lineto +472.90248 111.47711 472.32956 111.67047 471.73517 111.79938 curveto +471.14792 111.92828 470.52129 111.99274 469.85529 111.99274 curveto +468.04343 111.99274 466.60398 111.4234 465.53693 110.28473 curveto +464.46987 109.14606 463.93634 107.60993 463.93634 105.67633 curveto +463.93634 103.7141 464.47345 102.17081 465.54767 101.04645 curveto +466.62904 99.922111 468.10788 99.359937 469.98419 99.359924 curveto +470.59291 99.359937 471.18731 99.42439 471.7674 99.553284 curveto +472.34746 99.67504 472.90964 99.861238 473.45392 100.11188 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +478.32687 113.99722 moveto +481.76926 113.99722 lineto +481.76926 114.82729 lineto +477.14035 114.82729 lineto +477.14035 113.99722 lineto +477.5147 113.60985 478.02414 113.09064 478.66867 112.4396 curveto +479.31645 111.7853 479.72335 111.36376 479.88937 111.17495 curveto +480.20513 110.82014 480.42485 110.52066 480.54855 110.27651 curveto +480.6755 110.02912 480.73898 109.78661 480.73898 109.54897 curveto +480.73898 109.16161 480.60226 108.84585 480.32883 108.60171 curveto +480.05864 108.35757 479.70545 108.2355 479.26926 108.2355 curveto +478.96001 108.2355 478.63286 108.28921 478.28781 108.39663 curveto +477.94601 108.50406 477.5798 108.66682 477.18918 108.88491 curveto +477.18918 107.88882 lineto +477.58631 107.72932 477.95741 107.60888 478.30246 107.52749 curveto +478.64751 107.44612 478.96326 107.40543 479.24973 107.40542 curveto +480.00493 107.40543 480.60714 107.59423 481.05637 107.97182 curveto +481.50558 108.34944 481.73019 108.85399 481.73019 109.4855 curveto +481.73019 109.78498 481.67322 110.06981 481.5593 110.33999 curveto +481.44861 110.60692 481.24516 110.92267 480.94894 111.28725 curveto +480.86756 111.38166 480.60877 111.6551 480.17258 112.10757 curveto +479.73638 112.55679 479.12114 113.18667 478.32687 113.99722 curveto +fill +grestore +grestore +grestore +gsave [1 0 0 1 28.845452 -5.9997123] concat +grestore +gsave [1 0 0 1 25.195064 -35.202817] concat +gsave +0 0 0 setrgbcolor +newpath +142.27734 482.75278 moveto +146.39844 482.75278 lineto +146.39844 487.71372 lineto +142.27734 487.71372 lineto +142.27734 482.75278 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +167.74609 482.75278 moveto +171.86719 482.75278 lineto +171.86719 487.71372 lineto +167.74609 487.71372 lineto +167.74609 482.75278 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +193.21484 482.75278 moveto +197.33594 482.75278 lineto +197.33594 487.71372 lineto +193.21484 487.71372 lineto +193.21484 482.75278 lineto +fill +grestore +grestore +grestore +showpage +%%EOF diff --git a/5-addsort/hloupe_scitani.svg b/5-addsort/hloupe_scitani.svg new file mode 100644 index 0000000..9fa94d6 --- /dev/null +++ b/5-addsort/hloupe_scitani.svg @@ -0,0 +1,444 @@ + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + x + 0 + + + y + 0 + + + + c + 0 + + + + z + 0 + + + c + 1 + + + + + + + + + + + x + 1 + + + y + 1 + + + z + 1 + + + c + 2 + + + . . . . . . . . + diff --git a/5-addsort/sortnet.0 b/5-addsort/sortnet.0 new file mode 100644 index 0000000..a2087ec --- /dev/null +++ b/5-addsort/sortnet.0 @@ -0,0 +1,65 @@ +%!PS +%%BoundingBox: -1 19 60 100 +%%Creator: MetaPost +%%CreationDate: 2008.01.20:2138 +%%Pages: 1 +%*Font: cmr10 9.96265 9.96265 61:c08c01 +%%EndProlog +%%Page: 1 1 + 0 0.3985 dtransform truncate idtransform setlinewidth pop [] 0 setdash + 1 setlinecap 1 setlinejoin 10 setmiterlimit +newpath 0 39.68497 moveto +19.84248 39.68497 lineto +39.68497 39.68497 lineto +59.52745 39.68497 lineto +59.52745 79.36993 lineto +39.68497 79.36993 lineto +19.84248 79.36993 lineto +0 79.36993 lineto +0 39.68497 lineto stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 19.84248 39.68497 moveto +19.84248 19.84248 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 18.69446 22.61398 moveto +19.84248 19.84248 lineto +20.99051 22.61398 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 39.68497 39.68497 moveto +39.68497 19.84248 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 38.53694 22.61398 moveto +39.68497 19.84248 lineto +40.833 22.61398 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 19.84248 99.21242 moveto +19.84248 79.36993 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 18.69446 82.14143 moveto +19.84248 79.36993 lineto +20.99051 82.14143 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 39.68497 99.21242 moveto +39.68497 79.36993 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 38.53694 82.14143 moveto +39.68497 79.36993 lineto +40.833 82.14143 lineto + closepath +gsave fill grestore stroke +17.35184 67.90173 moveto +(a) cmr10 9.96265 fshow +36.91756 67.90173 moveto +(b) cmr10 9.96265 fshow +11.54022 42.68497 moveto +(min) cmr10 9.96265 fshow +30.41417 42.68497 moveto +(max) cmr10 9.96265 fshow +showpage +%%EOF diff --git a/5-addsort/sortnet.1 b/5-addsort/sortnet.1 new file mode 100644 index 0000000..5ec51d9 --- /dev/null +++ b/5-addsort/sortnet.1 @@ -0,0 +1,111 @@ +%!PS +%%BoundingBox: -15 -1 128 166 +%%Creator: MetaPost +%%CreationDate: 2008.01.20:2138 +%%Pages: 1 +%*Font: cmr10 9.96265 9.96265 31:f80000000000000001 +%%EndProlog +%%Page: 1 1 + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth + [] 0 setdash 1 setlinecap 1 setlinejoin 10 setmiterlimit +newpath 0 0 moveto +0 155.90523 lineto stroke +newpath 28.3464 0 moveto +28.3464 155.90523 lineto stroke +newpath 56.69281 0 moveto +56.69281 155.90523 lineto stroke +newpath 85.03922 0 moveto +85.03922 155.90523 lineto stroke +newpath 113.38562 0 moveto +113.38562 155.90523 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 0 14.1732 moveto +28.3464 14.1732 lineto stroke +newpath 25.57474 13.02512 moveto +28.3464 14.1732 lineto +25.57474 15.32129 lineto + closepath +gsave fill grestore stroke +newpath 0 42.5196 moveto +28.3464 42.5196 lineto stroke +newpath 25.57474 41.37152 moveto +28.3464 42.5196 lineto +25.57474 43.6677 lineto + closepath +gsave fill grestore stroke +newpath 0 85.03922 moveto +28.3464 85.03922 lineto stroke +newpath 25.57474 83.89113 moveto +28.3464 85.03922 lineto +25.57474 86.1873 lineto + closepath +gsave fill grestore stroke +newpath 0 141.73203 moveto +28.3464 141.73203 lineto stroke +newpath 25.57474 140.58394 moveto +28.3464 141.73203 lineto +25.57474 142.88011 lineto + closepath +gsave fill grestore stroke +newpath 28.3464 28.3464 moveto +56.69281 28.3464 lineto stroke +newpath 53.92114 27.19832 moveto +56.69281 28.3464 lineto +53.92114 29.49449 lineto + closepath +gsave fill grestore stroke +newpath 28.3464 70.86601 moveto +56.69281 70.86601 lineto stroke +newpath 53.92114 69.71793 moveto +56.69281 70.86601 lineto +53.92114 72.0141 lineto + closepath +gsave fill grestore stroke +newpath 28.3464 127.55882 moveto +56.69281 127.55882 lineto stroke +newpath 53.92114 126.41074 moveto +56.69281 127.55882 lineto +53.92114 128.70691 lineto + closepath +gsave fill grestore stroke +newpath 56.69281 56.69281 moveto +85.03922 56.69281 lineto stroke +newpath 82.26755 55.54472 moveto +85.03922 56.69281 lineto +82.26755 57.8409 lineto + closepath +gsave fill grestore stroke +newpath 56.69281 113.38562 moveto +85.03922 113.38562 lineto stroke +newpath 82.26755 112.23753 moveto +85.03922 113.38562 lineto +82.26755 114.5337 lineto + closepath +gsave fill grestore stroke +newpath 85.03922 99.21242 moveto +113.38562 99.21242 lineto stroke +newpath 110.61395 98.06433 moveto +113.38562 99.21242 lineto +110.61395 100.3605 lineto + closepath +gsave fill grestore stroke + 0 0.69739 dtransform truncate idtransform setlinewidth pop + [0 3.49998 ] 1.74998 setdash +newpath -14.1732 21.25981 moveto +127.55882 21.25981 lineto stroke +newpath -14.1732 49.60622 moveto +127.55882 49.60622 lineto stroke +newpath -14.1732 92.12582 moveto +127.55882 92.12582 lineto stroke +-5.1197 158.90523 moveto +(x1) cmr10 9.96265 fshow +23.2267 158.90523 moveto +(x2) cmr10 9.96265 fshow +51.5731 158.90523 moveto +(x3) cmr10 9.96265 fshow +79.91951 158.90523 moveto +(x4) cmr10 9.96265 fshow +108.26591 158.90523 moveto +(x5) cmr10 9.96265 fshow +showpage +%%EOF diff --git a/5-addsort/sortnet.2 b/5-addsort/sortnet.2 new file mode 100644 index 0000000..25656e7 --- /dev/null +++ b/5-addsort/sortnet.2 @@ -0,0 +1,103 @@ +%!PS +%%BoundingBox: -6 42 119 166 +%%Creator: MetaPost +%%CreationDate: 2008.01.20:2138 +%%Pages: 1 +%*Font: cmr10 9.96265 9.96265 31:f80000000000000001 +%%EndProlog +%%Page: 1 1 + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth + [] 0 setdash 1 setlinecap 1 setlinejoin 10 setmiterlimit +newpath 0 42.5196 moveto +0 155.90523 lineto stroke +newpath 28.3464 42.5196 moveto +28.3464 155.90523 lineto stroke +newpath 56.69281 42.5196 moveto +56.69281 155.90523 lineto stroke +newpath 85.03922 42.5196 moveto +85.03922 155.90523 lineto stroke +newpath 113.38562 42.5196 moveto +113.38562 155.90523 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 0 56.69281 moveto +28.3464 56.69281 lineto stroke +newpath 25.57474 55.54472 moveto +28.3464 56.69281 lineto +25.57474 57.8409 lineto + closepath +gsave fill grestore stroke +newpath 0 85.03922 moveto +28.3464 85.03922 lineto stroke +newpath 25.57474 83.89113 moveto +28.3464 85.03922 lineto +25.57474 86.1873 lineto + closepath +gsave fill grestore stroke +newpath 0 113.38562 moveto +28.3464 113.38562 lineto stroke +newpath 25.57474 112.23753 moveto +28.3464 113.38562 lineto +25.57474 114.5337 lineto + closepath +gsave fill grestore stroke +newpath 0 141.73203 moveto +28.3464 141.73203 lineto stroke +newpath 25.57474 140.58394 moveto +28.3464 141.73203 lineto +25.57474 142.88011 lineto + closepath +gsave fill grestore stroke +newpath 28.3464 70.86601 moveto +56.69281 70.86601 lineto stroke +newpath 53.92114 69.71793 moveto +56.69281 70.86601 lineto +53.92114 72.0141 lineto + closepath +gsave fill grestore stroke +newpath 28.3464 99.21242 moveto +56.69281 99.21242 lineto stroke +newpath 53.92114 98.06433 moveto +56.69281 99.21242 lineto +53.92114 100.3605 lineto + closepath +gsave fill grestore stroke +newpath 28.3464 127.55882 moveto +56.69281 127.55882 lineto stroke +newpath 53.92114 126.41074 moveto +56.69281 127.55882 lineto +53.92114 128.70691 lineto + closepath +gsave fill grestore stroke +newpath 56.69281 85.03922 moveto +85.03922 85.03922 lineto stroke +newpath 82.26755 83.89113 moveto +85.03922 85.03922 lineto +82.26755 86.1873 lineto + closepath +gsave fill grestore stroke +newpath 56.69281 113.38562 moveto +85.03922 113.38562 lineto stroke +newpath 82.26755 112.23753 moveto +85.03922 113.38562 lineto +82.26755 114.5337 lineto + closepath +gsave fill grestore stroke +newpath 85.03922 99.21242 moveto +113.38562 99.21242 lineto stroke +newpath 110.61395 98.06433 moveto +113.38562 99.21242 lineto +110.61395 100.3605 lineto + closepath +gsave fill grestore stroke +-5.1197 158.90523 moveto +(x1) cmr10 9.96265 fshow +23.2267 158.90523 moveto +(x2) cmr10 9.96265 fshow +51.5731 158.90523 moveto +(x3) cmr10 9.96265 fshow +79.91951 158.90523 moveto +(x4) cmr10 9.96265 fshow +108.26591 158.90523 moveto +(x5) cmr10 9.96265 fshow +showpage +%%EOF diff --git a/5-addsort/sortnet.3 b/5-addsort/sortnet.3 new file mode 100644 index 0000000..e30c8cd --- /dev/null +++ b/5-addsort/sortnet.3 @@ -0,0 +1,105 @@ +%!PS +%%BoundingBox: -6 -1 266 95 +%%Creator: MetaPost +%%CreationDate: 2008.01.20:2138 +%%Pages: 1 +%*Font: cmmi10 9.96265 9.96265 3a:8000000000000002 +%*Font: cmr7 6.97385 6.97385 30:e +%*Font: cmmi7 6.97385 6.97385 6e:8 +%*Font: cmsy7 6.97385 6.97385 00:8 +%%EndProlog +%%Page: 1 1 + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth + [] 0 setdash 1 setlinecap 1 setlinejoin 10 setmiterlimit +newpath 0 0 moveto +0 85.03922 lineto stroke +newpath 28.3464 0 moveto +28.3464 85.03922 lineto stroke +newpath 56.69281 0 moveto +56.69281 85.03922 lineto stroke +newpath 85.03922 0 moveto +85.03922 85.03922 lineto stroke +newpath 113.38562 0 moveto +113.38562 85.03922 lineto stroke +newpath 141.73203 0 moveto +141.73203 85.03922 lineto stroke +newpath 170.07843 0 moveto +170.07843 85.03922 lineto stroke +newpath 198.42484 0 moveto +198.42484 85.03922 lineto stroke +newpath 226.77124 0 moveto +226.77124 85.03922 lineto stroke +newpath 255.11765 0 moveto +255.11765 85.03922 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 0 70.86601 moveto +141.73203 70.86601 lineto stroke +newpath 138.96078 69.7181 moveto +141.73203 70.86601 lineto +138.96078 72.01393 lineto + closepath +gsave fill grestore stroke +newpath 28.3464 56.69281 moveto +170.07843 56.69281 lineto stroke +newpath 167.30719 55.54489 moveto +170.07843 56.69281 lineto +167.30719 57.84073 lineto + closepath +gsave fill grestore stroke +newpath 56.69281 42.5196 moveto +198.42484 42.5196 lineto stroke +newpath 195.6536 41.37169 moveto +198.42484 42.5196 lineto +195.6536 43.66753 lineto + closepath +gsave fill grestore stroke +newpath 85.03922 28.3464 moveto +226.77124 28.3464 lineto stroke +newpath 224 27.19849 moveto +226.77124 28.3464 lineto +224 29.49432 lineto + closepath +gsave fill grestore stroke +newpath 113.38562 14.1732 moveto +255.11765 14.1732 lineto stroke +newpath 252.3464 13.02528 moveto +255.11765 14.1732 lineto +252.3464 15.32112 lineto + closepath +gsave fill grestore stroke +-5.08165 89.53363 moveto +(x) cmmi10 9.96265 fshow +0.61224 88.03923 moveto +(0) cmr7 6.97385 fshow +23.26476 89.53363 moveto +(x) cmmi10 9.96265 fshow +28.95865 88.03923 moveto +(1) cmr7 6.97385 fshow +51.61116 89.53363 moveto +(x) cmmi10 9.96265 fshow +57.30505 88.03923 moveto +(2) cmr7 6.97385 fshow +135.09032 88.03922 moveto +(:) cmmi10 9.96265 fshow +139.51811 88.03922 moveto +(:) cmmi10 9.96265 fshow +143.94592 88.03922 moveto +(:) cmmi10 9.96265 fshow +216.11383 90.36383 moveto +(x) cmmi10 9.96265 fshow +221.80772 88.86943 moveto +(n) cmmi7 6.97385 fshow +226.73264 88.86943 moveto +(\000) cmsy7 6.97385 fshow +232.95923 88.86943 moveto +(2) cmr7 6.97385 fshow +244.46024 90.36383 moveto +(x) cmmi10 9.96265 fshow +250.15413 88.86943 moveto +(n) cmmi7 6.97385 fshow +255.07904 88.86943 moveto +(\000) cmsy7 6.97385 fshow +261.30563 88.86943 moveto +(1) cmr7 6.97385 fshow +showpage +%%EOF diff --git a/5-addsort/sortnet.4 b/5-addsort/sortnet.4 new file mode 100644 index 0000000..e6ad3e1 --- /dev/null +++ b/5-addsort/sortnet.4 @@ -0,0 +1,182 @@ +%!PS +%%BoundingBox: -1 -1 213 100 +%%Creator: MetaPost +%%CreationDate: 2008.01.20:2138 +%%Pages: 1 +%%EndProlog +%%Page: 1 1 + 0 0.3985 dtransform truncate idtransform setlinewidth pop [] 0 setdash + 1 setlinejoin 10 setmiterlimit +newpath 0 14.1732 moveto +212.59804 14.1732 lineto +212.59804 28.3464 lineto +0 28.3464 lineto + closepath stroke +newpath 0 42.5196 moveto +99.21242 42.5196 lineto +99.21242 56.69281 lineto +0 56.69281 lineto + closepath stroke +newpath 113.38562 42.5196 moveto +212.59804 42.5196 lineto +212.59804 56.69281 lineto +113.38562 56.69281 lineto + closepath stroke +newpath 0 70.86601 moveto +42.5196 70.86601 lineto +42.5196 85.03922 lineto +0 85.03922 lineto + closepath stroke +newpath 56.69281 70.86601 moveto +99.21242 70.86601 lineto +99.21242 85.03922 lineto +56.69281 85.03922 lineto + closepath stroke +newpath 113.38562 70.86601 moveto +155.90523 70.86601 lineto +155.90523 85.03922 lineto +113.38562 85.03922 lineto + closepath stroke +newpath 170.07843 70.86601 moveto +212.59804 70.86601 lineto +212.59804 85.03922 lineto +170.07843 85.03922 lineto + closepath stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth + 1 setlinecap +newpath 14.1732 99.21242 moveto +14.1732 85.03922 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 13.02512 87.81088 moveto +14.1732 85.03922 lineto +15.32129 87.81088 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 28.3464 99.21242 moveto +28.3464 85.03922 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 27.19832 87.81088 moveto +28.3464 85.03922 lineto +29.49449 87.81088 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 70.86601 99.21242 moveto +70.86601 85.03922 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 69.71793 87.81088 moveto +70.86601 85.03922 lineto +72.0141 87.81088 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 85.03922 99.21242 moveto +85.03922 85.03922 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 83.89113 87.81088 moveto +85.03922 85.03922 lineto +86.1873 87.81088 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 127.55882 99.21242 moveto +127.55882 85.03922 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 126.41074 87.81088 moveto +127.55882 85.03922 lineto +128.70691 87.81088 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 141.73203 99.21242 moveto +141.73203 85.03922 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 140.58394 87.81088 moveto +141.73203 85.03922 lineto +142.88011 87.81088 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 184.25163 99.21242 moveto +184.25163 85.03922 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 183.10355 87.81088 moveto +184.25163 85.03922 lineto +185.39972 87.81088 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 198.42484 99.21242 moveto +198.42484 85.03922 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 197.27675 87.81088 moveto +198.42484 85.03922 lineto +199.57292 87.81088 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 21.25981 70.86601 moveto +21.25981 56.69281 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 20.11172 59.46448 moveto +21.25981 56.69281 lineto +22.4079 59.46448 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 77.95262 70.86601 moveto +77.95262 56.69281 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 76.80453 59.46448 moveto +77.95262 56.69281 lineto +79.10071 59.46448 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 134.64543 70.86601 moveto +134.64543 56.69281 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 133.49734 59.46448 moveto +134.64543 56.69281 lineto +135.79352 59.46448 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 191.33824 70.86601 moveto +191.33824 56.69281 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 190.19016 59.46448 moveto +191.33824 56.69281 lineto +192.48633 59.46448 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 49.60622 42.5196 moveto +49.60622 28.3464 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 48.45813 31.11807 moveto +49.60622 28.3464 lineto +50.7543 31.11807 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 162.99184 42.5196 moveto +162.99184 28.3464 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 161.84375 31.11807 moveto +162.99184 28.3464 lineto +164.13992 31.11807 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 106.29903 14.1732 moveto +106.29903 0 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 105.15094 2.77167 moveto +106.29903 0 lineto +107.44711 2.77167 lineto + closepath +gsave fill grestore stroke +showpage +%%EOF diff --git a/5-addsort/sortnet.5 b/5-addsort/sortnet.5 new file mode 100644 index 0000000..6877616 --- /dev/null +++ b/5-addsort/sortnet.5 @@ -0,0 +1,232 @@ +%!PS +%%BoundingBox: -1 -5 213 114 +%%Creator: MetaPost +%%CreationDate: 2008.01.20:2138 +%%Pages: 1 +%*Font: cmr10 9.96265 9.96265 10:98000000000020000000585328 +%*Font: cmmi10 9.96265 9.96265 42:800040000008 +%*Font: cmmi7 6.97385 6.97385 6e:8 +%*Font: cmmi5 4.98132 4.98132 6e:8 +%*Font: cmr5 4.98132 4.98132 32:a +%%EndProlog +%%Page: 1 1 + 0 0.3985 dtransform truncate idtransform setlinewidth pop [] 0 setdash + 1 setlinejoin 10 setmiterlimit +newpath 0 99.21242 moveto +212.59804 99.21242 lineto +212.59804 85.03922 lineto +0 85.03922 lineto + closepath stroke +newpath 0 70.86601 moveto +99.21242 70.86601 lineto +99.21242 56.69281 lineto +0 56.69281 lineto + closepath stroke +newpath 113.38562 70.86601 moveto +212.59804 70.86601 lineto +212.59804 56.69281 lineto +113.38562 56.69281 lineto + closepath stroke +newpath 0 42.5196 moveto +42.5196 42.5196 lineto +42.5196 28.3464 lineto +0 28.3464 lineto + closepath stroke +newpath 56.69281 42.5196 moveto +99.21242 42.5196 lineto +99.21242 28.3464 lineto +56.69281 28.3464 lineto + closepath stroke +newpath 113.38562 42.5196 moveto +155.90523 42.5196 lineto +155.90523 28.3464 lineto +113.38562 28.3464 lineto + closepath stroke +newpath 170.07843 42.5196 moveto +212.59804 42.5196 lineto +212.59804 28.3464 lineto +170.07843 28.3464 lineto + closepath stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth + 1 setlinecap +newpath 106.29903 113.38562 moveto +106.29903 99.21242 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 105.15094 101.98409 moveto +106.29903 99.21242 lineto +107.44711 101.98409 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 21.25981 56.69281 moveto +21.25981 42.5196 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 20.11172 45.29128 moveto +21.25981 42.5196 lineto +22.4079 45.29128 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 77.95262 56.69281 moveto +77.95262 42.5196 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 76.80453 45.29128 moveto +77.95262 42.5196 lineto +79.10071 45.29128 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 134.64543 56.69281 moveto +134.64543 42.5196 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 133.49734 45.29128 moveto +134.64543 42.5196 lineto +135.79352 45.29128 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 191.33824 56.69281 moveto +191.33824 42.5196 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 190.19016 45.29128 moveto +191.33824 42.5196 lineto +192.48633 45.29128 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 49.60622 85.03922 moveto +49.60622 70.86601 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 48.45813 73.63768 moveto +49.60622 70.86601 lineto +50.7543 73.63768 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 162.99184 85.03922 moveto +162.99184 70.86601 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 161.84375 73.63768 moveto +162.99184 70.86601 lineto +164.13992 73.63768 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 21.25981 28.3464 moveto +21.25981 14.1732 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 20.11172 16.94487 moveto +21.25981 14.1732 lineto +22.4079 16.94487 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 77.95262 28.3464 moveto +77.95262 14.1732 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 76.80453 16.94487 moveto +77.95262 14.1732 lineto +79.10071 16.94487 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 134.64543 28.3464 moveto +134.64543 14.1732 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 133.49734 16.94487 moveto +134.64543 14.1732 lineto +135.79352 16.94487 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 191.33824 28.3464 moveto +191.33824 14.1732 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 190.19016 16.94487 moveto +191.33824 14.1732 lineto +192.48633 16.94487 lineto + closepath +gsave fill grestore stroke +98.21913 106.99612 moveto +(n) cmmi10 9.96265 fshow +100.53302 89.40462 moveto +(S) cmmi10 9.96265 fshow +106.64201 87.91022 moveto +(n) cmmi7 6.97385 fshow +42.91336 61.05821 moveto +(S) cmmi10 9.96265 fshow +50.21786 62.24112 moveto +(n) cmmi5 4.98132 fshow + 0 setlinecap +newpath 50.21786 61.30731 moveto +54.60545 61.30731 lineto stroke +50.71666 57.16331 moveto +(2) cmr5 4.98132 fshow +156.29898 61.05821 moveto +(S) cmmi10 9.96265 fshow +163.60349 62.24112 moveto +(n) cmmi5 4.98132 fshow +newpath 163.60349 61.30731 moveto +167.99107 61.30731 lineto stroke +164.10228 57.16331 moveto +(2) cmr5 4.98132 fshow +14.56696 32.7118 moveto +(S) cmmi10 9.96265 fshow +21.87146 33.89471 moveto +(n) cmmi5 4.98132 fshow +newpath 21.87146 32.9609 moveto +26.25905 32.9609 lineto stroke +22.37025 28.81691 moveto +(4) cmr5 4.98132 fshow +71.25977 32.7118 moveto +(S) cmmi10 9.96265 fshow +78.56427 33.89471 moveto +(n) cmmi5 4.98132 fshow +newpath 78.56427 32.9609 moveto +82.95186 32.9609 lineto stroke +79.06306 28.81691 moveto +(4) cmr5 4.98132 fshow +127.95258 32.7118 moveto +(S) cmmi10 9.96265 fshow +135.25708 33.89471 moveto +(n) cmmi5 4.98132 fshow +newpath 135.25708 32.9609 moveto +139.64467 32.9609 lineto stroke +135.75587 28.81691 moveto +(4) cmr5 4.98132 fshow +184.64539 32.7118 moveto +(S) cmmi10 9.96265 fshow +191.94989 33.89471 moveto +(n) cmmi5 4.98132 fshow +newpath 191.94989 32.9609 moveto +196.33748 32.9609 lineto stroke +192.44868 28.81691 moveto +(4) cmr5 4.98132 fshow +59.69281 -2.71205 moveto +(Bitonic) cmr10 9.96265 fshow +90.82611 -2.71205 moveto +(k\023) cmr10 9.96265 fshow +96.08421 -2.71205 moveto +(a) cmr10 9.96265 fshow +104.38641 -2.71205 moveto +(t) cmr10 9.96265 fshow +107.72112 -2.71205 moveto +(\024) cmr10 9.96265 fshow +108.2608 -2.71205 moveto +(r) cmr10 9.96265 fshow +111.05591 -2.71205 moveto +(\023) cmr10 9.96265 fshow +112.16281 -2.71205 moveto +(\020di) cmr10 9.96265 fshow +122.9557 -2.71205 moveto +(\024) cmr10 9.96265 fshow +123.23251 -2.71205 moveto +(ck) cmr10 9.96265 fshow +132.36491 -2.71205 moveto +(a) cmr10 9.96265 fshow +140.66711 -2.71205 moveto +(B) cmmi10 9.96265 fshow +148.2239 -4.20645 moveto +(n) cmmi7 6.97385 fshow +showpage +%%EOF diff --git a/5-addsort/sortnet.6 b/5-addsort/sortnet.6 new file mode 100644 index 0000000..61b14d5 --- /dev/null +++ b/5-addsort/sortnet.6 @@ -0,0 +1,212 @@ +%!PS +%%BoundingBox: -1 -1 213 100 +%%Creator: MetaPost +%%CreationDate: 2008.01.20:2138 +%%Pages: 1 +%*Font: cmmi10 9.96265 9.96265 4d:8 +%*Font: cmr7 6.97385 6.97385 32:a2 +%%EndProlog +%%Page: 1 1 + 0 0.3985 dtransform truncate idtransform setlinewidth pop [] 0 setdash + 1 setlinejoin 10 setmiterlimit +newpath 0 14.1732 moveto +212.59804 14.1732 lineto +212.59804 28.3464 lineto +0 28.3464 lineto + closepath stroke +newpath 0 42.5196 moveto +99.21242 42.5196 lineto +99.21242 56.69281 lineto +0 56.69281 lineto + closepath stroke +newpath 113.38562 42.5196 moveto +212.59804 42.5196 lineto +212.59804 56.69281 lineto +113.38562 56.69281 lineto + closepath stroke +newpath 0 70.86601 moveto +42.5196 70.86601 lineto +42.5196 85.03922 lineto +0 85.03922 lineto + closepath stroke +newpath 56.69281 70.86601 moveto +99.21242 70.86601 lineto +99.21242 85.03922 lineto +56.69281 85.03922 lineto + closepath stroke +newpath 113.38562 70.86601 moveto +155.90523 70.86601 lineto +155.90523 85.03922 lineto +113.38562 85.03922 lineto + closepath stroke +newpath 170.07843 70.86601 moveto +212.59804 70.86601 lineto +212.59804 85.03922 lineto +170.07843 85.03922 lineto + closepath stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth + 1 setlinecap +newpath 14.1732 99.21242 moveto +14.1732 85.03922 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 13.02512 87.81088 moveto +14.1732 85.03922 lineto +15.32129 87.81088 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 28.3464 99.21242 moveto +28.3464 85.03922 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 27.19832 87.81088 moveto +28.3464 85.03922 lineto +29.49449 87.81088 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 70.86601 99.21242 moveto +70.86601 85.03922 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 69.71793 87.81088 moveto +70.86601 85.03922 lineto +72.0141 87.81088 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 85.03922 99.21242 moveto +85.03922 85.03922 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 83.89113 87.81088 moveto +85.03922 85.03922 lineto +86.1873 87.81088 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 127.55882 99.21242 moveto +127.55882 85.03922 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 126.41074 87.81088 moveto +127.55882 85.03922 lineto +128.70691 87.81088 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 141.73203 99.21242 moveto +141.73203 85.03922 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 140.58394 87.81088 moveto +141.73203 85.03922 lineto +142.88011 87.81088 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 184.25163 99.21242 moveto +184.25163 85.03922 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 183.10355 87.81088 moveto +184.25163 85.03922 lineto +185.39972 87.81088 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 198.42484 99.21242 moveto +198.42484 85.03922 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 197.27675 87.81088 moveto +198.42484 85.03922 lineto +199.57292 87.81088 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 21.25981 70.86601 moveto +21.25981 56.69281 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 20.11172 59.46448 moveto +21.25981 56.69281 lineto +22.4079 59.46448 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 77.95262 70.86601 moveto +77.95262 56.69281 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 76.80453 59.46448 moveto +77.95262 56.69281 lineto +79.10071 59.46448 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 134.64543 70.86601 moveto +134.64543 56.69281 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 133.49734 59.46448 moveto +134.64543 56.69281 lineto +135.79352 59.46448 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 191.33824 70.86601 moveto +191.33824 56.69281 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 190.19016 59.46448 moveto +191.33824 56.69281 lineto +192.48633 59.46448 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 49.60622 42.5196 moveto +49.60622 28.3464 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 48.45813 31.11807 moveto +49.60622 28.3464 lineto +50.7543 31.11807 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 162.99184 42.5196 moveto +162.99184 28.3464 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 161.84375 31.11807 moveto +162.99184 28.3464 lineto +164.13992 31.11807 lineto + closepath +gsave fill grestore stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth +newpath 106.29903 14.1732 moveto +106.29903 0 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop +newpath 105.15094 2.77167 moveto +106.29903 0 lineto +107.44711 2.77167 lineto + closepath +gsave fill grestore stroke +99.23177 18.66762 moveto +(M) cmmi10 9.96265 fshow +108.89697 17.17322 moveto +(8) cmr7 6.97385 fshow +42.53896 47.01402 moveto +(M) cmmi10 9.96265 fshow +52.20416 45.51962 moveto +(4) cmr7 6.97385 fshow +155.92458 47.01402 moveto +(M) cmmi10 9.96265 fshow +165.58978 45.51962 moveto +(4) cmr7 6.97385 fshow +14.19255 75.36043 moveto +(M) cmmi10 9.96265 fshow +23.85776 73.86603 moveto +(2) cmr7 6.97385 fshow +70.88536 75.36043 moveto +(M) cmmi10 9.96265 fshow +80.55057 73.86603 moveto +(2) cmr7 6.97385 fshow +127.57817 75.36043 moveto +(M) cmmi10 9.96265 fshow +137.24338 73.86603 moveto +(2) cmr7 6.97385 fshow +184.27098 75.36043 moveto +(M) cmmi10 9.96265 fshow +193.93619 73.86603 moveto +(2) cmr7 6.97385 fshow +showpage +%%EOF diff --git a/5-addsort/sortnet.7 b/5-addsort/sortnet.7 new file mode 100644 index 0000000..94619ca --- /dev/null +++ b/5-addsort/sortnet.7 @@ -0,0 +1,106 @@ +%!PS +%%BoundingBox: 9 5 191 130 +%%Creator: MetaPost +%%CreationDate: 2008.01.20:2138 +%%Pages: 1 +%*Font: cmr10 9.96265 9.96265 13:80000086000000000002247de1 +%*Font: cmmi10 9.96265 9.96265 6b:9 +%*Font: cmr7 6.97385 6.97385 32:8 +%*Font: cmmi7 6.97385 6.97385 6e:8 +%*Font: cmsy10 9.96265 9.96265 00:8 +%%EndProlog +%%Page: 1 1 + 0 0.3985 dtransform truncate idtransform setlinewidth pop [] 0 setdash + 1 setlinecap 1 setlinejoin 10 setmiterlimit +newpath 19.84248 119.0549 moveto +19.84248 39.68497 lineto +178.58235 39.68497 lineto +178.58235 119.0549 lineto stroke +newpath 19.84248 59.52745 moveto +69.4487 119.0549 lineto +178.58235 79.36993 lineto stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth + [3 3 ] 0 setdash +newpath 99.21242 19.84248 moveto +99.21242 128.97615 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop + [0 3.49998 ] 1.74998 setdash +newpath 130.36052 96.9054 moveto +148.81863 119.0549 lineto stroke +newpath 148.81863 119.0549 moveto +178.58235 108.23186 lineto stroke +newpath 50.99059 96.9054 moveto +99.21242 79.36993 lineto stroke + 0.3985 0 dtransform exch truncate exch idtransform pop setlinewidth + [3 3 ] 0 setdash +newpath 50.99059 96.9054 moveto +50.99059 39.68497 lineto stroke +newpath 130.36052 96.9054 moveto +130.36052 39.68497 lineto stroke + 0 0.3985 dtransform truncate idtransform setlinewidth pop + [0 3.49998 ] 1.74998 setdash +newpath 9.92125 9.92125 moveto +29.76373 9.92125 lineto stroke +newpath 52.48499 96.9054 moveto +52.48499 97.30173 52.32755 97.68184 52.04729 97.9621 curveto +51.76703 98.24236 51.38692 98.3998 50.99059 98.3998 curveto +50.59425 98.3998 50.21414 98.24236 49.93388 97.9621 curveto +49.65363 97.68184 49.49619 97.30173 49.49619 96.9054 curveto +49.49619 96.50906 49.65363 96.12895 49.93388 95.8487 curveto +50.21414 95.56844 50.59425 95.411 50.99059 95.411 curveto +51.38692 95.411 51.76703 95.56844 52.04729 95.8487 curveto +52.32755 96.12895 52.48499 96.50906 52.48499 96.9054 curveto closepath fill +newpath 131.85492 96.9054 moveto +131.85492 97.30173 131.69748 97.68184 131.41722 97.9621 curveto +131.13696 98.24236 130.75685 98.3998 130.36052 98.3998 curveto +129.96419 98.3998 129.58408 98.24236 129.30382 97.9621 curveto +129.02356 97.68184 128.86612 97.30173 128.86612 96.9054 curveto +128.86612 96.50906 129.02356 96.12895 129.30382 95.8487 curveto +129.58408 95.56844 129.96419 95.411 130.36052 95.411 curveto +130.75685 95.411 131.13696 95.56844 131.41722 95.8487 curveto +131.69748 96.12895 131.85492 96.50906 131.85492 96.9054 curveto closepath fill +17.35184 28.21677 moveto +(0) cmr10 9.96265 fshow +48.24048 29.76646 moveto +(k) cmmi10 9.96265 fshow +73.83423 33.03938 moveto +(n) cmmi7 6.97385 fshow + [] 0 setdash 0 setlinecap +newpath 73.83423 31.60748 moveto +78.75914 31.60748 lineto stroke +74.31104 25.68127 moveto +(2) cmr7 6.97385 fshow +82.16853 29.11678 moveto +(\000) cmsy10 9.96265 fshow +92.13113 29.11678 moveto +(1) cmr10 9.96265 fshow +117.86421 28.21677 moveto +(k) cmmi10 9.96265 fshow +125.57831 28.21677 moveto +(+) cmr10 9.96265 fshow +136.7364 32.13937 moveto +(n) cmmi7 6.97385 fshow +newpath 136.7364 30.70747 moveto +141.66132 30.70747 lineto stroke +137.21321 24.78127 moveto +(2) cmr7 6.97385 fshow +167.0135 28.21677 moveto +(n) cmmi10 9.96265 fshow +175.2073 28.21677 moveto +(\000) cmsy10 9.96265 fshow +185.1699 28.21677 moveto +(1) cmr10 9.96265 fshow +32.76373 7.43059 moveto +(p) cmr10 9.96265 fshow +38.57533 7.43059 moveto +(osloupnost) cmr10 9.96265 fshow +87.94583 7.43059 moveto +(prohozen\023) cmr10 9.96265 fshow +127.27063 7.43059 moveto +(a) cmr10 9.96265 fshow +135.57283 7.43059 moveto +(separ\023) cmr10 9.96265 fshow +158.34863 7.43059 moveto +(atorem) cmr10 9.96265 fshow +showpage +%%EOF diff --git a/5-addsort/sortnet.mp b/5-addsort/sortnet.mp new file mode 100644 index 0000000..081f9f4 --- /dev/null +++ b/5-addsort/sortnet.mp @@ -0,0 +1,675 @@ +%defaultfont:="csr12"; +%verbatimtex \input twelvecs etex +u:=1 ; +ahlength:=u*3; + +beginfig(0); +v:=u*7mm; + +z12=(1v,1v); +z13=(2v,1v); +z21=(0v,2v); +z22=(1v,2v); +z23=(2v,2v); +z24=(3v,2v); +z31=(0v,4v); +z32=(1v,4v); +z33=(2v,4v); +z34=(3v,4v); +z42=(1v,5v); +z43=(2v,5v); + +pickup pencircle scaled 0.4pt; +draw(z21--z22--z23--z24--z34--z33--z32--z31--z21); +drawarrow(z22--z12); +drawarrow(z23--z13); +drawarrow(z42--z32); +drawarrow(z43--z33); + +label.bot(btex \strut a etex,z32); +label.bot(btex \strut b etex,z33); +label.top(btex min etex,z22); +label.top(btex max etex,z23); + + +endfig; + +beginfig(1); +v:=u*5mm; +z10=(0v,0v); +z20=(2v,0v); +z30=(4v,0v); +z40=(6v,0v); +z50=(8v,0v); + +z11=(0v,1v); +z12=(0v,2v); +z13=(0v,3v); +z14=(0v,4v); +z15=(0v,5v); +z16=(0v,6v); +z17=(0v,7v); +z18=(0v,8v); +z19=(0v,9v); +z110=(0v,10v); + +z21=(2v,1v); +z22=(2v,2v); +z23=(2v,3v); +z24=(2v,4v); +z25=(2v,5v); +z26=(2v,6v); +z27=(2v,7v); +z28=(2v,8v); +z29=(2v,9v); +z210=(2v,10v); + +z31=(4v,1v); +z32=(4v,2v); +z33=(4v,3v); +z34=(4v,4v); +z35=(4v,5v); +z36=(4v,6v); +z37=(4v,7v); +z38=(4v,8v); +z39=(4v,9v); +z310=(4v,10v); + +z41=(6v,1v); +z42=(6v,2v); +z43=(6v,3v); +z44=(6v,4v); +z45=(6v,5v); +z46=(6v,6v); +z47=(6v,7v); +z48=(6v,8v); +z49=(6v,9v); +z410=(6v,10v); + +z51=(8v,1v); +z52=(8v,2v); +z53=(8v,3v); +z54=(8v,4v); +z55=(8v,5v); +z56=(8v,6v); +z57=(8v,7v); +z58=(8v,8v); +z59=(8v,9v); +z510=(8v,10v); + +z111=(0v,11v); +z211=(2v,11v); +z311=(4v,11v); +z411=(6v,11v); +z511=(8v,11v); + +z1015=(-1v,1.5v); +z1615=(9v,1.5v); +z1035=(-1v,3.5v); +z1635=(9v,3.5v); +z1065=(-1v,6.5v); +z1665=(9v,6.5v); + +pickup pencircle scaled 0.4pt; +draw(z10--z111); +draw(z20--z211); +draw(z30--z311); +draw(z40--z411); +draw(z50--z511); +drawarrow(z11--z21); +drawarrow(z13--z23); +drawarrow(z16--z26); +drawarrow(z110--z210); +drawarrow(z22--z32); +drawarrow(z25--z35); +drawarrow(z29--z39); +drawarrow(z34--z44); +drawarrow(z38--z48); +drawarrow(z47--z57); + +pickup pencircle scaled 0.7pt; +draw(z1015--z1615) dashed withdots scaled 0.7; +draw(z1035--z1635) dashed withdots scaled 0.7; +draw(z1065--z1665) dashed withdots scaled 0.7; + +label.top(btex x1 etex,z111); +label.top(btex x2 etex,z211); +label.top(btex x3 etex,z311); +label.top(btex x4 etex,z411); +label.top(btex x5 etex,z511); + +endfig; + +beginfig(2); +v:=u*5mm; +z13=(0v,3v); +z23=(2v,3v); +z33=(4v,3v); +z43=(6v,3v); +z53=(8v,3v); + +z14=(0v,4v); +z15=(0v,5v); +z16=(0v,6v); +z17=(0v,7v); +z18=(0v,8v); +z19=(0v,9v); +z110=(0v,10v); + +z24=(2v,4v); +z25=(2v,5v); +z26=(2v,6v); +z27=(2v,7v); +z28=(2v,8v); +z29=(2v,9v); +z210=(2v,10v); + +z34=(4v,4v); +z35=(4v,5v); +z36=(4v,6v); +z37=(4v,7v); +z38=(4v,8v); +z39=(4v,9v); +z310=(4v,10v); + +z44=(6v,4v); +z45=(6v,5v); +z46=(6v,6v); +z47=(6v,7v); +z48=(6v,8v); +z49=(6v,9v); +z410=(6v,10v); + +z54=(8v,4v); +z55=(8v,5v); +z56=(8v,6v); +z57=(8v,7v); +z58=(8v,8v); +z59=(8v,9v); +z510=(8v,10v); + +z111=(0v,11v); +z211=(2v,11v); +z311=(4v,11v); +z411=(6v,11v); +z511=(8v,11v); + +pickup pencircle scaled 0.4pt; +draw(z13--z111); +draw(z23--z211); +draw(z33--z311); +draw(z43--z411); +draw(z53--z511); +drawarrow(z14--z24); +drawarrow(z16--z26); +drawarrow(z18--z28); +drawarrow(z110--z210); +drawarrow(z25--z35); +drawarrow(z27--z37); +drawarrow(z29--z39); +drawarrow(z36--z46); +drawarrow(z38--z48); +drawarrow(z47--z57); + +label.top(btex x1 etex,z111); +label.top(btex x2 etex,z211); +label.top(btex x3 etex,z311); +label.top(btex x4 etex,z411); +label.top(btex x5 etex,z511); + +endfig; + + +beginfig(3); +v:=u*5mm; + +z10=(0v,0v); +z15=(0v,5v); +z16=(0v,6v); + +z20=(2v,0v); +z24=(2v,4v); +z26=(2v,6v); + +z30=(4v,0v); +z33=(4v,3v); +z36=(4v,6v); + +z40=(6v,0v); +z42=(6v,2v); +z46=(6v,6v); + +z50=(8v,0v); +z51=(8v,1v); +z56=(8v,6v); + +z60=(10v,0v); +z65=(10v,5v); +z66=(10v,6v); + +z70=(12v,0v); +z74=(12v,4v); +z76=(12v,6v); + +z80=(14v,0v); +z83=(14v,3v); +z86=(14v,6v); + +z90=(16v,0v); +z92=(16v,2v); +z96=(16v,6v); + +z100=(18v,0v); +z101=(18v,1v); +z106=(18v,6v); + +z110=(20v,0v); +z116=(20v,6v); + + +pickup pencircle scaled 0.4pt; +draw(z10--z16); +draw(z20--z26); +draw(z30--z36); +draw(z40--z46); +draw(z50--z56); +draw(z60--z66); +draw(z70--z76); +draw(z80--z86); +draw(z90--z96); +draw(z100--z106); +drawarrow(z15--z65); +drawarrow(z24--z74); +drawarrow(z33--z83); +drawarrow(z42--z92); +drawarrow(z51--z101); + +label.top(btex $x_0$ etex,z16); +label.top(btex $x_1$ etex,z26); +label.top(btex $x_2$ etex,z36); +label.top(btex \dots etex,z66); +label.top(btex $x_{n-2}$ etex,z96); +label.top(btex $x_{n-1}$ etex,z106); + +endfig; + + + +beginfig(4); +v:=u*5mm; + +z1075=(7.5v,0v); + +z10=(0v,1v); +z175=(7.5v,1v); +z115=(15v,1v); + +z20=(0v,2v); +z235=(3.5v,2v); +z211=(11.5v,2v); +z215=(15v,2v); + +z30=(0v,3v); +z335=(3.5v,3v); +z37=(7v,3v); +z38=(8v,3v); +z311=(11.5v,3v); +z315=(15v,3v); + +z40=(0v,4v); +z415=(1.5v,4v); +z455=(5.5v,4v); +z47=(7v,4v); +z48=(8v,4v); +z495=(9.5v,4v); +z413=(13.5v,4v); +z416=(15v,4v); + +z50=(0v,5v); +z515=(1.5v,5v); +z53=(3v,5v); +z54=(4v,5v); +z555=(5.5v,5v); +z57=(7v,5v); +z58=(8v,5v); +z595=(9.5v,5v); +z511=(11v,5v); +z512=(12v,5v); +z513=(13.5v,5v); +z516=(15v,5v); + +z60=(0v,6v); +z61=(1v,6v); +z62=(2v,6v); +z63=(3v,6v); +z64=(4v,6v); +z65=(5v,6v); +z66=(6v,6v); +z67=(7v,6v); +z68=(8v,6v); +z69=(9v,6v); +z610=(10v,6v); +z611=(11v,6v); +z612=(12v,6v); +z613=(13v,6v); +z614=(14v,6v); +z615=(15v,6v); + +z71=(1v,7v); +z72=(2v,7v); +z75=(5v,7v); +z76=(6v,7v); +z79=(9v,7v); +z710=(10v,7v); +z713=(13v,7v); +z714=(14v,7v); + + + + +pickup pencircle scaled 0.4pt; +draw(z10--z115--z215--z20--cycle); +draw(z30--z37--z47--z40--cycle); +draw(z38--z315--z416--z48--cycle); +draw(z50--z53--z63--z60--cycle); +draw(z54--z57--z67--z64--cycle); +draw(z58--z511--z611--z68--cycle); +draw(z512--z516--z615--z612--cycle); +drawarrow(z71--z61); +drawarrow(z72--z62); +drawarrow(z75--z65); +drawarrow(z76--z66); +drawarrow(z79--z69); +drawarrow(z710--z610); +drawarrow(z713--z613); +drawarrow(z714--z614); +drawarrow(z515--z415); +drawarrow(z555--z455); +drawarrow(z595--z495); +drawarrow(z513--z413); +drawarrow(z335--z235); +drawarrow(z311--z211); +drawarrow(z175--z1075); + +endfig; + + +beginfig(5); +v:=u*5mm; + +z075=(7.5v,8v); + +z10=(0v,7v); +z175=(7.5v,7v); +z115=(15v,7v); + +z20=(0v,6v); +z235=(3.5v,6v); +z211=(11.5v,6v); +z215=(15v,6v); + +z30=(0v,5v); +z335=(3.5v,5v); +z37=(7v,5v); +z38=(8v,5v); +z311=(11.5v,5v); +z315=(15v,5v); + +z40=(0v,4v); +z415=(1.5v,4v); +z455=(5.5v,4v); +z47=(7v,4v); +z48=(8v,4v); +z495=(9.5v,4v); +z413=(13.5v,4v); +z416=(15v,4v); + +z50=(0v,3v); +z515=(1.5v,3v); +z53=(3v,3v); +z54=(4v,3v); +z555=(5.5v,3v); +z57=(7v,3v); +z58=(8v,3v); +z595=(9.5v,3v); +z511=(11v,3v); +z512=(12v,3v); +z513=(13.5v,3v); +z516=(15v,3v); + +z60=(0v,2v); +z61=(1v,2v); +z62=(2v,2v); +z63=(3v,2v); +z64=(4v,2v); +z65=(5v,2v); +z66=(6v,2v); +z67=(7v,2v); +z68=(8v,2v); +z69=(9v,2v); +z610=(10v,2v); +z611=(11v,2v); +z612=(12v,2v); +z613=(13v,2v); +z614=(14v,2v); +z615=(15v,2v); + +% ve skutecnosti dle znaceni +% by melo byt z6* ale uz +% obsazeno +z815=(1.5v,2v); +z855=(5.5v,2v); +z895=(9.5v,2v); +z813=(13.5v,2v); + +z715=(1.5v,1v); +z755=(5.5v,1v); +z795=(9.5v,1v); +z713=(13.5v,1v); + +z9=(4v,0v); + +pickup pencircle scaled 0.4pt; +draw(z10--z115--z215--z20--cycle); +draw(z30--z37--z47--z40--cycle); +draw(z38--z315--z416--z48--cycle); +draw(z50--z53--z63--z60--cycle); +draw(z54--z57--z67--z64--cycle); +draw(z58--z511--z611--z68--cycle); +draw(z512--z516--z615--z612--cycle); +drawarrow(z075--z175); +drawarrow(z415--z515); +drawarrow(z455--z555); +drawarrow(z495--z595); +drawarrow(z413--z513); +drawarrow(z235--z335); +drawarrow(z211--z311); +drawarrow(z815--z715); +drawarrow(z855--z755); +drawarrow(z895--z795); +drawarrow(z813--z713); + +label.llft(btex $n$ etex,z075); +label.bot(btex $S_n$ etex,z175); +label.bot(btex $S_{n\over 2}$ etex,z335); +label.bot(btex $S_{n\over 2}$ etex,z311); +label.bot(btex $S_{n\over 4}$ etex,z515); +label.bot(btex $S_{n\over 4}$ etex,z555); +label.bot(btex $S_{n\over 4}$ etex,z595); +label.bot(btex $S_{n\over 4}$ etex,z513); +label.rt(btex Bitonick\'a t\v r\'\i di\v cka $B_{n}$ etex,z9); + +endfig; + + + +beginfig(6); +v:=u*5mm; + +z1075=(7.5v,0v); + +z10=(0v,1v); +z175=(7.5v,1v); +z115=(15v,1v); + +z20=(0v,2v); +z235=(3.5v,2v); +z211=(11.5v,2v); +z215=(15v,2v); + +z30=(0v,3v); +z335=(3.5v,3v); +z37=(7v,3v); +z38=(8v,3v); +z311=(11.5v,3v); +z315=(15v,3v); + +z40=(0v,4v); +z415=(1.5v,4v); +z455=(5.5v,4v); +z47=(7v,4v); +z48=(8v,4v); +z495=(9.5v,4v); +z413=(13.5v,4v); +z416=(15v,4v); + +z50=(0v,5v); +z515=(1.5v,5v); +z53=(3v,5v); +z54=(4v,5v); +z555=(5.5v,5v); +z57=(7v,5v); +z58=(8v,5v); +z595=(9.5v,5v); +z511=(11v,5v); +z512=(12v,5v); +z513=(13.5v,5v); +z516=(15v,5v); + +z60=(0v,6v); +z61=(1v,6v); +z62=(2v,6v); +z63=(3v,6v); +z64=(4v,6v); +z65=(5v,6v); +z66=(6v,6v); +z67=(7v,6v); +z68=(8v,6v); +z69=(9v,6v); +z610=(10v,6v); +z611=(11v,6v); +z612=(12v,6v); +z613=(13v,6v); +z614=(14v,6v); +z615=(15v,6v); + +z71=(1v,7v); +z72=(2v,7v); +z75=(5v,7v); +z76=(6v,7v); +z79=(9v,7v); +z710=(10v,7v); +z713=(13v,7v); +z714=(14v,7v); + + + + +pickup pencircle scaled 0.4pt; +draw(z10--z115--z215--z20--cycle); +draw(z30--z37--z47--z40--cycle); +draw(z38--z315--z416--z48--cycle); +draw(z50--z53--z63--z60--cycle); +draw(z54--z57--z67--z64--cycle); +draw(z58--z511--z611--z68--cycle); +draw(z512--z516--z615--z612--cycle); +drawarrow(z71--z61); +drawarrow(z72--z62); +drawarrow(z75--z65); +drawarrow(z76--z66); +drawarrow(z79--z69); +drawarrow(z710--z610); +drawarrow(z713--z613); +drawarrow(z714--z614); +drawarrow(z515--z415); +drawarrow(z555--z455); +drawarrow(z595--z495); +drawarrow(z513--z413); +drawarrow(z335--z235); +drawarrow(z311--z211); +drawarrow(z175--z1075); + +label.top(btex $M_8$ etex,z175); +label.top(btex $M_4$ etex,z335); +label.top(btex $M_4$ etex,z311); +label.top(btex $M_2$ etex,z515); +label.top(btex $M_2$ etex,z555); +label.top(btex $M_2$ etex,z595); +label.top(btex $M_2$ etex,z513); + +endfig; + + +beginfig(7); +v:=u*7mm; + +z12=(1v,2v); +z13=(1v,3v); +z16=(1v,6v); +z356=(3.5v,6v); +z40=(5v,1v); +z42=(5v,2v); +z47=(5v,6.5v); +z72=(9v,2v); +z74=(9v,4v); +z76=(9v,6v); + +z100=(0.5v,0.5v); +z101=(1.5v,0.5v); + +z0=whatever[z13,z356]; +z1=whatever[z356,z74]; +z1=z0+4v*right; +z2=whatever[z12,z72]; +z2=z0+whatever*down; +z3=whatever[z12,z72]; +z3=z1+whatever*down; +z4=z356+4v*right; +z5=whatever[z72,z76]; +z5=whatever[z4,z1+4v*right]; +z6=whatever[z40,z47]; +z6=z74+4v*left; + + +pickup pencircle scaled 0.4pt; +draw(z16--z12--z72--z76); +draw(z13--z356--z74); +draw(z40--z47) dashed evenly; +draw(z1--z4) dashed withdots scaled 0.7; +draw(z4--z5) dashed withdots scaled 0.7; +draw(z0--z6) dashed withdots scaled 0.7; +draw(z0--z2) dashed evenly; +draw(z1--z3) dashed evenly; + +draw(z100--z101) dashed withdots scaled 0.7; + +pickup pencircle scaled 3pt; +drawdot(z0); +drawdot(z1); + +label.bot(btex \strut 0 etex,z12); +label.bot(btex $k$ etex,z2); +label.llft(btex \strut ${n\over 2} - 1$ etex,z42); +label.bot(btex \strut $k+{n\over 2}$ etex,z3); +label.bot(btex \strut $n-1$ etex,z72); +label.rt(btex posloupnost prohozen\'a separ\'atorem etex,z101); + +endfig; + + + + + + + +end; diff --git a/5-addsort/sortnet.mpx b/5-addsort/sortnet.mpx new file mode 100644 index 0000000..9814d6d --- /dev/null +++ b/5-addsort/sortnet.mpx @@ -0,0 +1,548 @@ +% Written by DVItoMP, Version 0.64/color (Web2C 7.5.4) +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n0="cmr10"; +_s("a",_n0,1.00000,0.0000,0.0000,); +setbounds _p to (0,-3.4869)--(4.9813,-3.4869)-- + (4.9813,8.4682)--(0,8.4682)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n0="cmr10"; +_s("b",_n0,1.00000,0.0000,0.0000,); +setbounds _p to (0,-3.4869)--(5.5348,-3.4869)-- + (5.5348,8.4682)--(0,8.4682)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n0="cmr10"; +_s("min",_n0,1.00000,0.0000,0.0000,); +setbounds _p to (0,0.0000)--(16.6045,0.0000)-- + (16.6045,6.6536)--(0,6.6536)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n0="cmr10"; +_s("max",_n0,1.00000,0.0000,0.0000,); +setbounds _p to (0,0.0000)--(18.5416,0.0000)-- + (18.5416,4.2895)--(0,4.2895)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n0="cmr10"; +_s("x1",_n0,1.00000,0.0000,0.0000,); +setbounds _p to (0,0.0000)--(10.2394,0.0000)-- + (10.2394,6.4204)--(0,6.4204)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n0="cmr10"; +_s("x2",_n0,1.00000,0.0000,0.0000,); +setbounds _p to (0,0.0000)--(10.2394,0.0000)-- + (10.2394,6.4204)--(0,6.4204)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n0="cmr10"; +_s("x3",_n0,1.00000,0.0000,0.0000,); +setbounds _p to (0,0.0000)--(10.2394,0.0000)-- + (10.2394,6.4204)--(0,6.4204)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n0="cmr10"; +_s("x4",_n0,1.00000,0.0000,0.0000,); +setbounds _p to (0,0.0000)--(10.2394,0.0000)-- + (10.2394,6.4204)--(0,6.4204)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n0="cmr10"; +_s("x5",_n0,1.00000,0.0000,0.0000,); +setbounds _p to (0,0.0000)--(10.2394,0.0000)-- + (10.2394,6.4204)--(0,6.4204)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n0="cmr10"; +_s("x1",_n0,1.00000,0.0000,0.0000,); +setbounds _p to (0,0.0000)--(10.2394,0.0000)-- + (10.2394,6.4204)--(0,6.4204)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n0="cmr10"; +_s("x2",_n0,1.00000,0.0000,0.0000,); +setbounds _p to (0,0.0000)--(10.2394,0.0000)-- + (10.2394,6.4204)--(0,6.4204)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n0="cmr10"; +_s("x3",_n0,1.00000,0.0000,0.0000,); +setbounds _p to (0,0.0000)--(10.2394,0.0000)-- + (10.2394,6.4204)--(0,6.4204)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n0="cmr10"; +_s("x4",_n0,1.00000,0.0000,0.0000,); +setbounds _p to (0,0.0000)--(10.2394,0.0000)-- + (10.2394,6.4204)--(0,6.4204)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n0="cmr10"; +_s("x5",_n0,1.00000,0.0000,0.0000,); +setbounds _p to (0,0.0000)--(10.2394,0.0000)-- + (10.2394,6.4204)--(0,6.4204)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n1="cmmi10"; +_s("x",_n1,1.00000,0.0000,0.0000,); +_n2="cmr7"; +_s("0",_n2,1.00000,5.6939,-1.4944,); +setbounds _p to (0,-1.4944)--(10.1633,-1.4944)-- + (10.1633,4.2895)--(0,4.2895)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n1="cmmi10"; +_s("x",_n1,1.00000,0.0000,0.0000,); +_n2="cmr7"; +_s("1",_n2,1.00000,5.6939,-1.4944,); +setbounds _p to (0,-1.4944)--(10.1633,-1.4944)-- + (10.1633,4.2895)--(0,4.2895)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n1="cmmi10"; +_s("x",_n1,1.00000,0.0000,0.0000,); +_n2="cmr7"; +_s("2",_n2,1.00000,5.6939,-1.4944,); +setbounds _p to (0,-1.4944)--(10.1633,-1.4944)-- + (10.1633,4.2895)--(0,4.2895)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n1="cmmi10"; +_s(":",_n1,1.00000,0.0000,0.0000,); +_s(":",_n1,1.00000,4.4278,0.0000,); +_s(":",_n1,1.00000,8.8556,0.0000,); +setbounds _p to (0,0.0000)--(13.2834,0.0000)-- + (13.2834,1.0516)--(0,1.0516)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n1="cmmi10"; +_s("x",_n1,1.00000,0.0000,0.0000,); +_n3="cmmi7"; +_s("n",_n3,1.00000,5.6939,-1.4944,); +_n4="cmsy7"; +_s(char0,_n4,1.00000,10.6188,-1.4944,); +_n2="cmr7"; +_s("2",_n2,1.00000,16.8454,-1.4944,); +setbounds _p to (0,-2.3246)--(21.3148,-2.3246)-- + (21.3148,4.2895)--(0,4.2895)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n1="cmmi10"; +_s("x",_n1,1.00000,0.0000,0.0000,); +_n3="cmmi7"; +_s("n",_n3,1.00000,5.6939,-1.4944,); +_n4="cmsy7"; +_s(char0,_n4,1.00000,10.6188,-1.4944,); +_n2="cmr7"; +_s("1",_n2,1.00000,16.8454,-1.4944,); +setbounds _p to (0,-2.3246)--(21.3148,-2.3246)-- + (21.3148,4.2895)--(0,4.2895)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n1="cmmi10"; +_s("n",_n1,1.00000,0.0000,0.0000,); +setbounds _p to (0,0.0000)--(5.9799,0.0000)-- + (5.9799,4.2895)--(0,4.2895)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n1="cmmi10"; +_s("S",_n1,1.00000,0.0000,0.0000,); +_n3="cmmi7"; +_s("n",_n3,1.00000,6.1090,-1.4944,); +setbounds _p to (0,-1.4944)--(11.5320,-1.4944)-- + (11.5320,6.8078)--(0,6.8078)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n1="cmmi10"; +_s("S",_n1,1.00000,0.0000,0.0000,); +_n5="cmmi5"; +_s("n",_n5,1.00000,7.3045,1.1829,); +interim linecap:=0; +vardef _r(expr _a,_w)(text _t) = + addto _p doublepath _a withpen pencircle scaled _w _t enddef; +_r((7.3045,0.2491)..(11.6921,0.2491), 0.3985,); +_n6="cmr5"; +_s("2",_n6,1.00000,7.8033,-3.8949,); +setbounds _p to (0,-3.8949)--(13.3857,-3.8949)-- + (13.3857,6.8078)--(0,6.8078)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n1="cmmi10"; +_s("S",_n1,1.00000,0.0000,0.0000,); +_n5="cmmi5"; +_s("n",_n5,1.00000,7.3045,1.1829,); +interim linecap:=0; +vardef _r(expr _a,_w)(text _t) = + addto _p doublepath _a withpen pencircle scaled _w _t enddef; +_r((7.3045,0.2491)..(11.6921,0.2491), 0.3985,); +_n6="cmr5"; +_s("2",_n6,1.00000,7.8033,-3.8949,); +setbounds _p to (0,-3.8949)--(13.3857,-3.8949)-- + (13.3857,6.8078)--(0,6.8078)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n1="cmmi10"; +_s("S",_n1,1.00000,0.0000,0.0000,); +_n5="cmmi5"; +_s("n",_n5,1.00000,7.3045,1.1829,); +interim linecap:=0; +vardef _r(expr _a,_w)(text _t) = + addto _p doublepath _a withpen pencircle scaled _w _t enddef; +_r((7.3045,0.2491)..(11.6921,0.2491), 0.3985,); +_n6="cmr5"; +_s("4",_n6,1.00000,7.8033,-3.8949,); +setbounds _p to (0,-3.8949)--(13.3857,-3.8949)-- + (13.3857,6.8078)--(0,6.8078)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n1="cmmi10"; +_s("S",_n1,1.00000,0.0000,0.0000,); +_n5="cmmi5"; +_s("n",_n5,1.00000,7.3045,1.1829,); +interim linecap:=0; +vardef _r(expr _a,_w)(text _t) = + addto _p doublepath _a withpen pencircle scaled _w _t enddef; +_r((7.3045,0.2491)..(11.6921,0.2491), 0.3985,); +_n6="cmr5"; +_s("4",_n6,1.00000,7.8033,-3.8949,); +setbounds _p to (0,-3.8949)--(13.3857,-3.8949)-- + (13.3857,6.8078)--(0,6.8078)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n1="cmmi10"; +_s("S",_n1,1.00000,0.0000,0.0000,); +_n5="cmmi5"; +_s("n",_n5,1.00000,7.3045,1.1829,); +interim linecap:=0; +vardef _r(expr _a,_w)(text _t) = + addto _p doublepath _a withpen pencircle scaled _w _t enddef; +_r((7.3045,0.2491)..(11.6921,0.2491), 0.3985,); +_n6="cmr5"; +_s("4",_n6,1.00000,7.8033,-3.8949,); +setbounds _p to (0,-3.8949)--(13.3857,-3.8949)-- + (13.3857,6.8078)--(0,6.8078)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n1="cmmi10"; +_s("S",_n1,1.00000,0.0000,0.0000,); +_n5="cmmi5"; +_s("n",_n5,1.00000,7.3045,1.1829,); +interim linecap:=0; +vardef _r(expr _a,_w)(text _t) = + addto _p doublepath _a withpen pencircle scaled _w _t enddef; +_r((7.3045,0.2491)..(11.6921,0.2491), 0.3985,); +_n6="cmr5"; +_s("4",_n6,1.00000,7.8033,-3.8949,); +setbounds _p to (0,-3.8949)--(13.3857,-3.8949)-- + (13.3857,6.8078)--(0,6.8078)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n0="cmr10"; +_s("Bitonic",_n0,1.00000,0.0000,0.0000,); +_s("k"&char19,_n0,1.00000,31.1333,0.0000,); +_s("a",_n0,1.00000,36.3914,0.0000,); +_s("t",_n0,1.00000,44.6936,0.0000,); +_s(char20,_n0,1.00000,48.0283,0.0000,); +_s("r",_n0,1.00000,48.5680,0.0000,); +_s(char19,_n0,1.00000,51.3631,0.0000,); +_s(char16&"di",_n0,1.00000,52.4700,0.0000,); +_s(char20,_n0,1.00000,63.2629,0.0000,); +_s("ck",_n0,1.00000,63.5397,0.0000,); +_s("a",_n0,1.00000,72.6721,0.0000,); +_n1="cmmi10"; +_s("B",_n1,1.00000,80.9743,0.0000,); +_n3="cmmi7"; +_s("n",_n3,1.00000,88.5311,-1.4944,); +setbounds _p to (0,-1.4944)--(93.9541,-1.4944)-- + (93.9541,6.9185)--(0,6.9185)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n1="cmmi10"; +_s("M",_n1,1.00000,0.0000,0.0000,); +_n2="cmr7"; +_s("8",_n2,1.00000,9.6652,-1.4944,); +setbounds _p to (0,-1.4944)--(14.1345,-1.4944)-- + (14.1345,6.8078)--(0,6.8078)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n1="cmmi10"; +_s("M",_n1,1.00000,0.0000,0.0000,); +_n2="cmr7"; +_s("4",_n2,1.00000,9.6652,-1.4944,); +setbounds _p to (0,-1.4944)--(14.1345,-1.4944)-- + (14.1345,6.8078)--(0,6.8078)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n1="cmmi10"; +_s("M",_n1,1.00000,0.0000,0.0000,); +_n2="cmr7"; +_s("4",_n2,1.00000,9.6652,-1.4944,); +setbounds _p to (0,-1.4944)--(14.1345,-1.4944)-- + (14.1345,6.8078)--(0,6.8078)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n1="cmmi10"; +_s("M",_n1,1.00000,0.0000,0.0000,); +_n2="cmr7"; +_s("2",_n2,1.00000,9.6652,-1.4944,); +setbounds _p to (0,-1.4944)--(14.1345,-1.4944)-- + (14.1345,6.8078)--(0,6.8078)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n1="cmmi10"; +_s("M",_n1,1.00000,0.0000,0.0000,); +_n2="cmr7"; +_s("2",_n2,1.00000,9.6652,-1.4944,); +setbounds _p to (0,-1.4944)--(14.1345,-1.4944)-- + (14.1345,6.8078)--(0,6.8078)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n1="cmmi10"; +_s("M",_n1,1.00000,0.0000,0.0000,); +_n2="cmr7"; +_s("2",_n2,1.00000,9.6652,-1.4944,); +setbounds _p to (0,-1.4944)--(14.1345,-1.4944)-- + (14.1345,6.8078)--(0,6.8078)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n1="cmmi10"; +_s("M",_n1,1.00000,0.0000,0.0000,); +_n2="cmr7"; +_s("2",_n2,1.00000,9.6652,-1.4944,); +setbounds _p to (0,-1.4944)--(14.1345,-1.4944)-- + (14.1345,6.8078)--(0,6.8078)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n0="cmr10"; +_s("0",_n0,1.00000,0.0000,0.0000,); +setbounds _p to (0,-3.4869)--(4.9813,-3.4869)-- + (4.9813,8.4682)--(0,8.4682)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n1="cmmi10"; +_s("k",_n1,1.00000,0.0000,0.0000,); +setbounds _p to (0,0.0000)--(5.5002,0.0000)-- + (5.5002,6.9185)--(0,6.9185)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n3="cmmi7"; +_s("n",_n3,1.00000,1.1955,3.9226,); +interim linecap:=0; +vardef _r(expr _a,_w)(text _t) = + addto _p doublepath _a withpen pencircle scaled _w _t enddef; +_r((1.1955,2.4907)..(6.1204,2.4907), 0.3985,); +_n2="cmr7"; +_s("2",_n2,1.00000,1.6723,-3.4355,); +_n7="cmsy10"; +_s(char0,_n7,1.00000,9.5298,0.0000,); +_n0="cmr10"; +_s("1",_n0,1.00000,19.4924,0.0000,); +setbounds _p to (0,-3.4869)--(24.4737,-3.4869)-- + (24.4737,8.4682)--(0,8.4682)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n1="cmmi10"; +_s("k",_n1,1.00000,0.0000,0.0000,); +_n0="cmr10"; +_s("+",_n0,1.00000,7.7141,0.0000,); +_n3="cmmi7"; +_s("n",_n3,1.00000,18.8722,3.9226,); +interim linecap:=0; +vardef _r(expr _a,_w)(text _t) = + addto _p doublepath _a withpen pencircle scaled _w _t enddef; +_r((18.8722,2.4907)..(23.7971,2.4907), 0.3985,); +_n2="cmr7"; +_s("2",_n2,1.00000,19.3490,-3.4355,); +setbounds _p to (0,-3.4869)--(24.9926,-3.4869)-- + (24.9926,8.4682)--(0,8.4682)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n1="cmmi10"; +_s("n",_n1,1.00000,0.0000,0.0000,); +_n7="cmsy10"; +_s(char0,_n7,1.00000,8.1938,0.0000,); +_n0="cmr10"; +_s("1",_n0,1.00000,18.1564,0.0000,); +setbounds _p to (0,-3.4869)--(23.1377,-3.4869)-- + (23.1377,8.4682)--(0,8.4682)--cycle; +_p endgroup +mpxbreak +begingroup save _p,_r,_s,_n; picture _p; _p=nullpicture; +string _n[]; +vardef _s(expr _t,_f,_m,_x,_y)(text _c)= + addto _p also _t infont _f scaled _m shifted (_x,_y) _c; enddef; +_n0="cmr10"; +_s("p",_n0,1.00000,0.0000,0.0000,); +_s("osloupnost",_n0,1.00000,5.8116,0.0000,); +_s("prohozen"&char19,_n0,1.00000,55.1821,0.0000,); +_s("a",_n0,1.00000,94.5069,0.0000,); +_s("separ"&char19,_n0,1.00000,102.8091,0.0000,); +_s("atorem",_n0,1.00000,125.5849,0.0000,); +setbounds _p to (0,-1.9372)--(156.0540,-1.9372)-- + (156.0540,6.9185)--(0,6.9185)--cycle; +_p endgroup +mpxbreak diff --git a/5-addsort/tabulka_skladani_bloku.eps b/5-addsort/tabulka_skladani_bloku.eps new file mode 100644 index 0000000..4b15ea3 --- /dev/null +++ b/5-addsort/tabulka_skladani_bloku.eps @@ -0,0 +1,913 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: inkscape 0.46 +%%Pages: 1 +%%Orientation: Portrait +%%BoundingBox: 93 480 396 802 +%%HiResBoundingBox: 93.31944 480.99023 395.41877 801.6559 +%%EndComments +%%Page: 1 1 +0 842 translate +0.8 -0.8 scale +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +gsave [1 0 0 1 0 0] concat +gsave [1 0 0 1 66 48] concat +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +202.87891 212.71071 moveto +202.8789 209.32531 203.22396 206.60396 203.91406 204.54665 curveto +204.61718 202.47636 205.65234 200.88131 207.01953 199.76149 curveto +208.39973 198.64173 210.1315 198.08184 212.21484 198.08181 curveto +213.75129 198.08184 215.09894 198.39434 216.25781 199.01931 curveto +217.41665 199.63131 218.37368 200.52324 219.12891 201.69509 curveto +219.8841 202.85397 220.47654 204.27324 220.90625 205.9529 curveto +221.33592 207.61959 221.55076 209.87219 221.55078 212.71071 curveto +221.55076 216.0701 221.20571 218.78494 220.51562 220.85524 curveto +219.8255 222.91254 218.79035 224.50759 217.41016 225.6404 curveto +216.04295 226.76019 214.31118 227.32009 212.21484 227.32009 curveto +209.45442 227.32009 207.28645 226.33051 205.71094 224.35134 curveto +203.82291 221.96853 202.8789 218.08833 202.87891 212.71071 curveto +206.49219 212.71071 moveto +206.49218 217.41124 207.03906 220.54275 208.13281 222.10524 curveto +209.23958 223.65473 210.60025 224.42947 212.21484 224.42946 curveto +213.82941 224.42947 215.18358 223.64822 216.27734 222.08571 curveto +217.3841 220.52322 217.93748 217.39822 217.9375 212.71071 curveto +217.93748 207.99719 217.3841 204.86568 216.27734 203.31618 curveto +215.18358 201.76673 213.81639 200.99199 212.17578 200.99196 curveto +210.56119 200.99199 209.27213 201.67558 208.30859 203.04274 curveto +207.09765 204.78756 206.49218 208.01021 206.49219 212.71071 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +293.85547 226.83181 moveto +290.33984 226.83181 lineto +290.33984 204.42946 lineto +289.49348 205.23678 288.3802 206.04407 287 206.85134 curveto +285.63281 207.65865 284.40234 208.26412 283.30859 208.66774 curveto +283.30859 205.26931 lineto +285.27473 204.34485 286.99348 203.22506 288.46484 201.90993 curveto +289.93619 200.59485 290.97785 199.31881 291.58984 198.08181 curveto +293.85547 198.08181 lineto +293.85547 226.83181 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +358.875 214.31228 moveto +358.875 211.03103 lineto +377.83984 203.02321 lineto +377.83984 206.51931 lineto +362.80078 212.69118 lineto +377.83984 218.92165 lineto +377.83984 222.41774 lineto +358.875 214.31228 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +125.22266 262.71071 moveto +125.22265 259.32531 125.56771 256.60396 126.25781 254.54665 curveto +126.96093 252.47636 127.99609 250.88131 129.36328 249.76149 curveto +130.74348 248.64173 132.47525 248.08184 134.55859 248.08181 curveto +136.09504 248.08184 137.44269 248.39434 138.60156 249.01931 curveto +139.7604 249.63131 140.71743 250.52324 141.47266 251.69509 curveto +142.22785 252.85397 142.82029 254.27324 143.25 255.9529 curveto +143.67967 257.61959 143.89451 259.87219 143.89453 262.71071 curveto +143.89451 266.0701 143.54946 268.78494 142.85938 270.85524 curveto +142.16925 272.91254 141.1341 274.50759 139.75391 275.6404 curveto +138.3867 276.76019 136.65493 277.32009 134.55859 277.32009 curveto +131.79817 277.32009 129.6302 276.33051 128.05469 274.35134 curveto +126.16666 271.96853 125.22265 268.08833 125.22266 262.71071 curveto +128.83594 262.71071 moveto +128.83593 267.41124 129.38281 270.54275 130.47656 272.10524 curveto +131.58333 273.65473 132.944 274.42947 134.55859 274.42946 curveto +136.17316 274.42947 137.52733 273.64822 138.62109 272.08571 curveto +139.72785 270.52322 140.28123 267.39822 140.28125 262.71071 curveto +140.28123 257.99719 139.72785 254.86568 138.62109 253.31618 curveto +137.52733 251.76673 136.16014 250.99199 134.51953 250.99196 curveto +132.90494 250.99199 131.61588 251.67558 130.65234 253.04274 curveto +129.4414 254.78756 128.83593 258.01021 128.83594 262.71071 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +202.95703 262.71071 moveto +202.95703 259.32531 203.30208 256.60396 203.99219 254.54665 curveto +204.69531 252.47636 205.73046 250.88131 207.09766 249.76149 curveto +208.47786 248.64173 210.20963 248.08184 212.29297 248.08181 curveto +213.82941 248.08184 215.17707 248.39434 216.33594 249.01931 curveto +217.49478 249.63131 218.45181 250.52324 219.20703 251.69509 curveto +219.96222 252.85397 220.55467 254.27324 220.98438 255.9529 curveto +221.41404 257.61959 221.62889 259.87219 221.62891 262.71071 curveto +221.62889 266.0701 221.28383 268.78494 220.59375 270.85524 curveto +219.90363 272.91254 218.86847 274.50759 217.48828 275.6404 curveto +216.12108 276.76019 214.38931 277.32009 212.29297 277.32009 curveto +209.53254 277.32009 207.36458 276.33051 205.78906 274.35134 curveto +203.90104 271.96853 202.95703 268.08833 202.95703 262.71071 curveto +206.57031 262.71071 moveto +206.57031 267.41124 207.11718 270.54275 208.21094 272.10524 curveto +209.3177 273.65473 210.67838 274.42947 212.29297 274.42946 curveto +213.90754 274.42947 215.2617 273.64822 216.35547 272.08571 curveto +217.46222 270.52322 218.01561 267.39822 218.01562 262.71071 curveto +218.01561 257.99719 217.46222 254.86568 216.35547 253.31618 curveto +215.2617 251.76673 213.89452 250.99199 212.25391 250.99196 curveto +210.63931 250.99199 209.35025 251.67558 208.38672 253.04274 curveto +207.17578 254.78756 206.57031 258.01021 206.57031 262.71071 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +280.69141 262.71071 moveto +280.6914 259.32531 281.03646 256.60396 281.72656 254.54665 curveto +282.42968 252.47636 283.46484 250.88131 284.83203 249.76149 curveto +286.21223 248.64173 287.944 248.08184 290.02734 248.08181 curveto +291.56379 248.08184 292.91144 248.39434 294.07031 249.01931 curveto +295.22915 249.63131 296.18618 250.52324 296.94141 251.69509 curveto +297.6966 252.85397 298.28904 254.27324 298.71875 255.9529 curveto +299.14842 257.61959 299.36326 259.87219 299.36328 262.71071 curveto +299.36326 266.0701 299.01821 268.78494 298.32812 270.85524 curveto +297.638 272.91254 296.60285 274.50759 295.22266 275.6404 curveto +293.85545 276.76019 292.12368 277.32009 290.02734 277.32009 curveto +287.26692 277.32009 285.09895 276.33051 283.52344 274.35134 curveto +281.63541 271.96853 280.6914 268.08833 280.69141 262.71071 curveto +284.30469 262.71071 moveto +284.30468 267.41124 284.85156 270.54275 285.94531 272.10524 curveto +287.05208 273.65473 288.41275 274.42947 290.02734 274.42946 curveto +291.64191 274.42947 292.99608 273.64822 294.08984 272.08571 curveto +295.1966 270.52322 295.74998 267.39822 295.75 262.71071 curveto +295.74998 257.99719 295.1966 254.86568 294.08984 253.31618 curveto +292.99608 251.76673 291.62889 250.99199 289.98828 250.99196 curveto +288.37369 250.99199 287.08463 251.67558 286.12109 253.04274 curveto +284.91015 254.78756 284.30468 258.01021 284.30469 262.71071 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +358.42578 262.71071 moveto +358.42578 259.32531 358.77083 256.60396 359.46094 254.54665 curveto +360.16406 252.47636 361.19921 250.88131 362.56641 249.76149 curveto +363.94661 248.64173 365.67838 248.08184 367.76172 248.08181 curveto +369.29816 248.08184 370.64582 248.39434 371.80469 249.01931 curveto +372.96353 249.63131 373.92056 250.52324 374.67578 251.69509 curveto +375.43097 252.85397 376.02342 254.27324 376.45312 255.9529 curveto +376.88279 257.61959 377.09764 259.87219 377.09766 262.71071 curveto +377.09764 266.0701 376.75258 268.78494 376.0625 270.85524 curveto +375.37238 272.91254 374.33722 274.50759 372.95703 275.6404 curveto +371.58983 276.76019 369.85806 277.32009 367.76172 277.32009 curveto +365.00129 277.32009 362.83333 276.33051 361.25781 274.35134 curveto +359.36979 271.96853 358.42578 268.08833 358.42578 262.71071 curveto +362.03906 262.71071 moveto +362.03906 267.41124 362.58593 270.54275 363.67969 272.10524 curveto +364.78645 273.65473 366.14713 274.42947 367.76172 274.42946 curveto +369.37629 274.42947 370.73045 273.64822 371.82422 272.08571 curveto +372.93097 270.52322 373.48436 267.39822 373.48438 262.71071 curveto +373.48436 257.99719 372.93097 254.86568 371.82422 253.31618 curveto +370.73045 251.76673 369.36327 250.99199 367.72266 250.99196 curveto +366.10806 250.99199 364.819 251.67558 363.85547 253.04274 curveto +362.64453 254.78756 362.03906 258.01021 362.03906 262.71071 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +138.46484 326.83181 moveto +134.94922 326.83181 lineto +134.94922 304.42946 lineto +134.10285 305.23678 132.98957 306.04407 131.60938 306.85134 curveto +130.24218 307.65865 129.01171 308.26412 127.91797 308.66774 curveto +127.91797 305.26931 lineto +129.88411 304.34485 131.60286 303.22506 133.07422 301.90993 curveto +134.54556 300.59485 135.58723 299.31881 136.19922 298.08181 curveto +138.46484 298.08181 lineto +138.46484 326.83181 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +216.19922 326.83181 moveto +212.68359 326.83181 lineto +212.68359 304.42946 lineto +211.83723 305.23678 210.72395 306.04407 209.34375 306.85134 curveto +207.97656 307.65865 206.74609 308.26412 205.65234 308.66774 curveto +205.65234 305.26931 lineto +207.61848 304.34485 209.33723 303.22506 210.80859 301.90993 curveto +212.27994 300.59485 213.3216 299.31881 213.93359 298.08181 curveto +216.19922 298.08181 lineto +216.19922 326.83181 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +293.93359 326.83181 moveto +290.41797 326.83181 lineto +290.41797 304.42946 lineto +289.5716 305.23678 288.45832 306.04407 287.07812 306.85134 curveto +285.71093 307.65865 284.48046 308.26412 283.38672 308.66774 curveto +283.38672 305.26931 lineto +285.35286 304.34485 287.07161 303.22506 288.54297 301.90993 curveto +290.01431 300.59485 291.05598 299.31881 291.66797 298.08181 curveto +293.93359 298.08181 lineto +293.93359 326.83181 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +371.66797 326.83181 moveto +368.15234 326.83181 lineto +368.15234 304.42946 lineto +367.30598 305.23678 366.1927 306.04407 364.8125 306.85134 curveto +363.44531 307.65865 362.21484 308.26412 361.12109 308.66774 curveto +361.12109 305.26931 lineto +363.08723 304.34485 364.80598 303.22506 366.27734 301.90993 curveto +367.74869 300.59485 368.79035 299.31881 369.40234 298.08181 curveto +371.66797 298.08181 lineto +371.66797 326.83181 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +125.75 364.31228 moveto +125.75 361.03103 lineto +144.71484 353.02321 lineto +144.71484 356.51931 lineto +129.67578 362.69118 lineto +144.71484 368.92165 lineto +144.71484 372.41774 lineto +125.75 364.31228 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +204.05078 362.71071 moveto +204.05078 359.32531 204.39583 356.60396 205.08594 354.54665 curveto +205.78906 352.47636 206.82421 350.88131 208.19141 349.76149 curveto +209.57161 348.64173 211.30338 348.08184 213.38672 348.08181 curveto +214.92316 348.08184 216.27082 348.39434 217.42969 349.01931 curveto +218.58853 349.63131 219.54556 350.52324 220.30078 351.69509 curveto +221.05597 352.85397 221.64842 354.27324 222.07812 355.9529 curveto +222.50779 357.61959 222.72264 359.87219 222.72266 362.71071 curveto +222.72264 366.0701 222.37758 368.78494 221.6875 370.85524 curveto +220.99738 372.91254 219.96222 374.50759 218.58203 375.6404 curveto +217.21483 376.76019 215.48306 377.32009 213.38672 377.32009 curveto +210.62629 377.32009 208.45833 376.33051 206.88281 374.35134 curveto +204.99479 371.96853 204.05078 368.08833 204.05078 362.71071 curveto +207.66406 362.71071 moveto +207.66406 367.41124 208.21093 370.54275 209.30469 372.10524 curveto +210.41145 373.65473 211.77213 374.42947 213.38672 374.42946 curveto +215.00129 374.42947 216.35545 373.64822 217.44922 372.08571 curveto +218.55597 370.52322 219.10936 367.39822 219.10938 362.71071 curveto +219.10936 357.99719 218.55597 354.86568 217.44922 353.31618 curveto +216.35545 351.76673 214.98827 350.99199 213.34766 350.99196 curveto +211.73306 350.99199 210.444 351.67558 209.48047 353.04274 curveto +208.26953 354.78756 207.66406 358.01021 207.66406 362.71071 curveto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +295.02734 376.83181 moveto +291.51172 376.83181 lineto +291.51172 354.42946 lineto +290.66535 355.23678 289.55207 356.04407 288.17188 356.85134 curveto +286.80468 357.65865 285.57421 358.26412 284.48047 358.66774 curveto +284.48047 355.26931 lineto +286.44661 354.34485 288.16536 353.22506 289.63672 351.90993 curveto +291.10806 350.59485 292.14973 349.31881 292.76172 348.08181 curveto +295.02734 348.08181 lineto +295.02734 376.83181 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +360.04688 364.31228 moveto +360.04688 361.03103 lineto +379.01172 353.02321 lineto +379.01172 356.51931 lineto +363.97266 362.69118 lineto +379.01172 368.92165 lineto +379.01172 372.41774 lineto +360.04688 364.31228 lineto +fill +grestore +grestore +0 0 0 setrgbcolor +[] 0 setdash +1 setlinewidth +0 setlinejoin +0 setlinecap +newpath +240.6836 226.94418 moveto +240.6836 450.6244 lineto +stroke +0 0 0 setrgbcolor +[] 0 setdash +1.0000001 setlinewidth +0 setlinejoin +0 setlinecap +newpath +172.48815 285.9408 moveto +475.25555 285.9408 lineto +stroke +gsave [0.5554683 0 0 1.8002828 0 0] concat +gsave +0 0 0 setrgbcolor +newpath +277.21404 197.90007 moveto +279.30938 197.84567 281.01015 197.28782 282.31634 196.22652 curveto +283.64974 195.13805 284.53414 193.65498 284.96954 191.77731 curveto +285.40493 189.89969 285.63623 186.68865 285.66346 182.14416 curveto +285.69066 177.59975 285.77229 174.6064 285.90837 173.1641 curveto +286.15327 170.87832 286.60227 169.04149 287.25537 167.65361 curveto +287.93567 166.26584 288.76564 165.16375 289.7453 164.34732 curveto +290.72493 163.5038 291.97669 162.86431 293.50059 162.42886 curveto +294.53464 162.15679 296.2218 162.02073 298.56208 162.02067 curveto +300.84791 162.02067 lineto +300.84791 168.42916 lineto +299.58254 168.42916 lineto +296.75244 168.42922 294.87479 168.94625 293.9496 169.98027 curveto +293.02436 170.98717 292.56175 173.2594 292.56177 176.79694 curveto +292.56175 183.9266 292.41209 188.43023 292.11277 190.30784 curveto +291.62293 193.21959 290.77935 195.4646 289.58203 197.04288 curveto +288.41188 198.62122 286.56145 200.02265 284.03072 201.24718 curveto +287.02406 202.49897 289.18743 204.41743 290.52085 207.00258 curveto +291.88145 209.56055 292.56175 213.76484 292.56177 219.61548 curveto +292.56175 224.92187 292.61618 228.07849 292.72504 229.08535 curveto +292.94272 230.93578 293.48697 232.22836 294.35778 232.9631 curveto +295.25577 233.69782 296.99735 234.06519 299.58254 234.0652 curveto +300.84791 234.0652 lineto +300.84791 240.47369 lineto +298.56208 240.47369 lineto +295.89525 240.47368 293.96318 240.25598 292.76586 239.8206 curveto +291.02426 239.1947 289.58201 238.17424 288.43911 236.75922 curveto +287.29618 235.37138 286.54784 233.60258 286.1941 231.45282 curveto +285.86754 229.30304 285.69066 225.77906 285.66346 220.88085 curveto +285.63623 215.98264 285.40493 212.59472 284.96954 210.71706 curveto +284.53414 208.83942 283.64974 207.35636 282.31634 206.26785 curveto +281.01015 205.17938 279.30938 204.60792 277.21404 204.55348 curveto +277.21404 197.90007 lineto +fill +grestore +grestore +gsave [0 0.5176729 -1.9317218 0 0 0] concat +gsave +0 0 0 setrgbcolor +newpath +423.3999 -188.79749 moveto +425.64822 -188.85586 427.47316 -189.45444 428.87473 -190.59324 curveto +430.30547 -191.76117 431.25444 -193.35252 431.72163 -195.36728 curveto +432.18881 -197.38198 432.437 -200.82747 432.46621 -205.70375 curveto +432.4954 -210.57995 432.583 -213.79184 432.729 -215.33944 curveto +432.99178 -217.79211 433.47357 -219.76304 434.17436 -221.25225 curveto +434.90432 -222.74134 435.79489 -223.9239 436.84607 -224.79994 curveto +437.89722 -225.70505 439.24038 -226.39122 440.87554 -226.85847 curveto +441.98508 -227.1504 443.79542 -227.29639 446.30657 -227.29646 curveto +448.75929 -227.29646 lineto +448.75929 -220.42008 lineto +447.40153 -220.42008 lineto +444.36481 -220.42002 442.35007 -219.86524 441.35733 -218.75573 curveto +440.36454 -217.67531 439.86815 -215.23719 439.86817 -211.44137 curveto +439.86815 -203.79117 439.70756 -198.95873 439.38639 -196.94403 curveto +438.86079 -193.8197 437.95562 -191.41078 436.67088 -189.71726 curveto +435.4153 -188.02369 433.42977 -186.51994 430.71427 -185.20601 curveto +433.92615 -183.86283 436.24747 -181.8043 437.67824 -179.03041 curveto +439.13818 -176.28568 439.86815 -171.77443 439.86817 -165.49664 curveto +439.86815 -159.80282 439.92655 -156.41574 440.04337 -155.33537 curveto +440.27694 -153.34984 440.86092 -151.96288 441.79531 -151.1745 curveto +442.75886 -150.38614 444.6276 -149.99195 447.40153 -149.99194 curveto +448.75929 -149.99194 lineto +448.75929 -143.11556 lineto +446.30657 -143.11556 lineto +443.44504 -143.11558 441.3719 -143.34917 440.08717 -143.81633 curveto +438.21841 -144.48793 436.67086 -145.58289 435.44452 -147.10123 curveto +434.21814 -148.5904 433.41517 -150.48833 433.03559 -152.79505 curveto +432.68519 -155.10178 432.4954 -158.88305 432.46621 -164.13888 curveto +432.437 -169.39471 432.18881 -173.02999 431.72163 -175.04473 curveto +431.25444 -177.05945 430.30547 -178.6508 428.87473 -179.81878 curveto +427.47316 -180.98672 425.64822 -181.5999 423.3999 -181.65832 curveto +423.3999 -188.79749 lineto +fill +grestore +grestore +gsave +0 0 0 setrgbcolor +newpath +116.6493 375.42725 moveto +127.64539 346.79443 lineto +131.72742 346.79443 lineto +143.44617 375.42725 lineto +139.12977 375.42725 lineto +135.78992 366.75537 lineto +123.81727 366.75537 lineto +120.67274 375.42725 lineto +116.6493 375.42725 lineto +124.91102 363.66943 moveto +134.61805 363.66943 lineto +131.62977 355.73975 lineto +130.7183 353.33091 130.04121 351.35175 129.59852 349.80225 curveto +129.23392 351.63821 128.7196 353.46112 128.05555 355.271 curveto +124.91102 363.66943 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +347.16019 211.327 moveto +347.16019 182.69418 lineto +357.90237 182.69418 lineto +360.08986 182.69421 361.84116 182.98718 363.15628 183.57309 curveto +364.48439 184.14603 365.51954 185.03796 366.26175 186.24887 curveto +367.01693 187.44681 367.39454 188.70332 367.39456 190.0184 curveto +367.39454 191.24238 367.06251 192.39472 366.39847 193.47543 curveto +365.73438 194.55618 364.73178 195.42857 363.39066 196.09262 curveto +365.12241 196.60045 366.45053 197.46633 367.37503 198.69028 curveto +368.31251 199.91425 368.78126 201.35956 368.78128 203.02621 curveto +368.78126 204.36737 368.4948 205.61737 367.92191 206.77621 curveto +367.36199 207.92205 366.66537 208.80747 365.83206 209.43246 curveto +364.99871 210.05747 363.95053 210.53273 362.68753 210.85825 curveto +361.43751 211.17075 359.90106 211.327 358.07816 211.327 curveto +347.16019 211.327 lineto +350.94925 194.72543 moveto +357.14066 194.72543 lineto +358.82033 194.72545 360.02475 194.61477 360.75394 194.3934 curveto +361.71746 194.10696 362.44012 193.6317 362.92191 192.96762 curveto +363.41668 192.30358 363.66407 191.47024 363.66409 190.46762 curveto +363.66407 189.51712 363.43621 188.68379 362.9805 187.96762 curveto +362.52475 187.23848 361.87371 186.74369 361.02737 186.48325 curveto +360.181 186.20983 358.72918 186.07311 356.67191 186.07309 curveto +350.94925 186.07309 lineto +350.94925 194.72543 lineto +350.94925 207.94809 moveto +358.07816 207.94809 lineto +359.3021 207.94809 360.16147 207.90252 360.65628 207.81137 curveto +361.52866 207.65512 362.25782 207.39471 362.84378 207.03012 curveto +363.4297 206.66554 363.91147 206.1382 364.28909 205.44809 curveto +364.66668 204.74497 364.85548 203.93768 364.8555 203.02621 curveto +364.85548 201.95852 364.58204 201.03404 364.03519 200.25278 curveto +363.48829 199.45852 362.72657 198.90513 361.75003 198.59262 curveto +360.78647 198.26711 359.39324 198.10435 357.57034 198.10434 curveto +350.94925 198.10434 lineto +350.94925 207.94809 lineto +fill +grestore +gsave [1 0 0 1 66 36] concat +gsave [1 0 0 1 10.651439 -19.17259] concat +0 0 0 setrgbcolor +[] 0 setdash +1.5 setlinewidth +2 setlinejoin +0 setlinecap +newpath +91.602379 48.99662 moveto +255.63454 48.99662 lineto +255.63454 125.68698 lineto +91.602379 125.68698 lineto +91.602379 48.99662 lineto +closepath +stroke +0 0 0 setrgbcolor +[] 0 setdash +1.5 setlinewidth +2 setlinejoin +0 setlinecap +newpath +273.74197 48.996822 moveto +371.73521 48.996822 lineto +371.73521 125.68718 lineto +273.74197 125.68718 lineto +273.74197 48.996822 lineto +closepath +stroke +grestore +gsave +0 0 0 setrgbcolor +newpath +171.41545 82.746193 moveto +182.41154 54.11338 lineto +186.49358 54.11338 lineto +198.21233 82.746193 lineto +193.89592 82.746193 lineto +190.55608 74.074318 lineto +178.58342 74.074318 lineto +175.43889 82.746193 lineto +171.41545 82.746193 lineto +179.67717 70.98838 moveto +189.3842 70.98838 lineto +186.39592 63.058693 lineto +185.48445 60.649861 184.80736 58.670696 184.36467 57.121193 curveto +184.00007 58.957154 183.48575 60.780069 182.8217 62.589943 curveto +179.67717 70.98838 lineto +fill +grestore +gsave +0 0 0 setrgbcolor +newpath +324.73264 82.746185 moveto +324.73264 54.113373 lineto +335.47482 54.113373 lineto +337.66231 54.113401 339.41361 54.40637 340.72873 54.992279 curveto +342.05683 55.565223 343.09199 56.457149 343.8342 57.66806 curveto +344.58938 58.866001 344.96699 60.12251 344.96701 61.437592 curveto +344.96699 62.66157 344.63496 63.813913 343.97092 64.894623 curveto +343.30683 65.975369 342.30423 66.847764 340.9631 67.51181 curveto +342.69485 68.019638 344.02298 68.885522 344.94748 70.109467 curveto +345.88496 71.333436 346.3537 72.778747 346.35373 74.445404 curveto +346.3537 75.786557 346.06725 77.036556 345.49435 78.195404 curveto +344.93444 79.341241 344.23782 80.226657 343.40451 80.851654 curveto +342.57116 81.476655 341.52298 81.951915 340.25998 82.277435 curveto +339.00996 82.589935 337.47351 82.746185 335.6506 82.746185 curveto +324.73264 82.746185 lineto +328.5217 66.144623 moveto +334.7131 66.144623 lineto +336.39278 66.144639 337.5972 66.033962 338.32639 65.812592 curveto +339.28991 65.52615 340.01257 65.05089 340.49435 64.38681 curveto +340.98913 63.722767 341.23652 62.889434 341.23654 61.88681 curveto +341.23652 60.936311 341.00866 60.102979 340.55295 59.38681 curveto +340.0972 58.657668 339.44616 58.162877 338.59982 57.902435 curveto +337.75345 57.629023 336.30163 57.492304 334.24435 57.492279 curveto +328.5217 57.492279 lineto +328.5217 66.144623 lineto +328.5217 79.367279 moveto +335.6506 79.367279 lineto +336.87455 79.367282 337.73392 79.32171 338.22873 79.23056 curveto +339.10111 79.074314 339.83027 78.813898 340.41623 78.44931 curveto +341.00215 78.084732 341.48392 77.557388 341.86154 76.867279 curveto +342.23913 76.164161 342.42793 75.35687 342.42795 74.445404 curveto +342.42793 73.377705 342.15449 72.453227 341.60764 71.671967 curveto +341.06074 70.877708 340.29902 70.324323 339.32248 70.01181 curveto +338.35892 69.686303 336.96569 69.523542 335.14279 69.523529 curveto +328.5217 69.523529 lineto +328.5217 79.367279 lineto +fill +grestore +0 0 0 setrgbcolor +[] 0 setdash +1.5 setlinewidth +2 setlinejoin +0 setlinecap +newpath +91.472092 15.042303 moveto +391.84267 15.042303 lineto +391.84267 121.55669 lineto +91.472092 121.55669 lineto +91.472092 15.042303 lineto +closepath +stroke +gsave +0 0 0 setrgbcolor +newpath +424.48441 72.218842 moveto +428.27347 73.175873 lineto +427.47917 76.287858 426.04688 78.664158 423.97659 80.304779 curveto +421.91928 81.932384 419.39975 82.746185 416.418 82.746185 curveto +413.33205 82.746185 410.81903 82.121185 408.87894 80.871185 curveto +406.95185 79.608167 405.48049 77.785252 404.46487 75.402435 curveto +403.46227 73.019632 402.96097 70.461041 402.96097 67.726654 curveto +402.96097 64.744901 403.52737 62.147247 404.66019 59.933685 curveto +405.80602 57.707147 407.42711 56.020951 409.52347 54.875092 curveto +411.63283 53.716266 413.95054 53.136839 416.47659 53.13681 curveto +419.34116 53.136839 421.75001 53.866005 423.70316 55.32431 curveto +425.65626 56.782669 427.01693 58.833448 427.78519 61.476654 curveto +424.05472 62.35556 lineto +423.39063 60.272249 422.42709 58.755323 421.16409 57.804779 curveto +419.90105 56.854284 418.31251 56.379024 416.39847 56.378998 curveto +414.19793 56.379024 412.35549 56.906367 410.87112 57.961029 curveto +409.39976 59.01574 408.36461 60.435009 407.76566 62.218842 curveto +407.16669 63.989693 406.86721 65.819118 406.86722 67.707123 curveto +406.86721 70.142031 407.21877 72.270935 407.92191 74.093842 curveto +408.63804 75.903744 409.74481 77.257909 411.24222 78.156342 curveto +412.7396 79.054782 414.36069 79.504001 416.1055 79.503998 curveto +418.22788 79.504001 420.02475 78.892022 421.49612 77.66806 curveto +422.96746 76.444108 423.96355 74.627703 424.48441 72.218842 curveto +fill +grestore +grestore +grestore +showpage +%%EOF diff --git a/5-addsort/tabulka_skladani_bloku.svg b/5-addsort/tabulka_skladani_bloku.svg new file mode 100644 index 0000000..26a80a9 --- /dev/null +++ b/5-addsort/tabulka_skladani_bloku.svg @@ -0,0 +1,237 @@ + + + + + + + + + + + image/svg+xml + + + + + + + 0 1 <0 0 0 01 1 1 1< 0 1 < + + { + { + A + B + + + + + + A + B + + C + + + -- 2.39.2